diff --git a/core/scripts/ccip/ccip-send/main.go b/core/scripts/ccip/ccip-send/main.go new file mode 100644 index 0000000000..c12cbe20b4 --- /dev/null +++ b/core/scripts/ccip/ccip-send/main.go @@ -0,0 +1 @@ +package ccip_send diff --git a/integration-tests/actions/ccip_helpers.go b/integration-tests/actions/ccip_helpers.go index eb261f5dcc..1194bc8e2e 100644 --- a/integration-tests/actions/ccip_helpers.go +++ b/integration-tests/actions/ccip_helpers.go @@ -80,7 +80,7 @@ var ( return fmt.Sprintf("%s-ethereum-geth", name) } // ApprovedAmountToRouter is the default amount which gets approved for router so that it can transfer token and use the fee token for fee payment - ApprovedAmountToRouter = new(big.Int).Mul(big.NewInt(1e18), big.NewInt(200)) + ApprovedAmountToRouter = new(big.Int).Mul(big.NewInt(1e18), big.NewInt(1)) ApprovedFeeAmountToRouter = new(big.Int).Mul(big.NewInt(int64(GasFeeMultiplier)), big.NewInt(1e5)) GasFeeMultiplier uint64 = 12e17 LinkToUSD = big.NewInt(6e18) @@ -467,14 +467,18 @@ func (sourceCCIP *SourceCCIPModule) DeployContracts(lane *laneconfig.LaneConfig) return errors.WithStack(err) } - err = sourceCCIP.Common.ApproveTokens() - if err != nil { - return err - } + + err = sourceCCIP.Common.ApproveTokens() + if err != nil { + return err + } + + + sourceCCIP.LoadContracts(lane) // update transfer amount array length to be equal to the number of tokens // each index in TransferAmount array corresponds to the amount to be transferred for the token at the same index in BridgeTokens array - if len(sourceCCIP.TransferAmount) != len(sourceCCIP.Common.BridgeTokens) { + if len(sourceCCIP.TransferAmount) != len(sourceCCIP.Common.BridgeTokens) && len(sourceCCIP.TransferAmount) > 0 { sourceCCIP.TransferAmount = sourceCCIP.TransferAmount[:len(sourceCCIP.Common.BridgeTokens)] } sourceChainSelector, err := chainselectors.SelectorFromChainId(sourceCCIP.Common.ChainClient.GetChainID().Uint64()) @@ -674,23 +678,24 @@ func (sourceCCIP *SourceCCIPModule) UpdateBalance( totalFee *big.Int, balances *BalanceSheet, ) { - for i, token := range sourceCCIP.Common.BridgeTokens { - name := fmt.Sprintf("BridgeToken-%s-Address-%s", token.Address(), sourceCCIP.Sender.Hex()) - balances.Update(name, BalanceItem{ - Address: sourceCCIP.Sender, - Getter: GetterForLinkToken(token.BalanceOf, sourceCCIP.Sender.Hex()), - AmtToSub: bigmath.Mul(big.NewInt(noOfReq), sourceCCIP.TransferAmount[i]), - }) - } - for i, pool := range sourceCCIP.Common.BridgeTokenPools { - name := fmt.Sprintf("BridgeToken-%s-TokenPool-%s", sourceCCIP.Common.BridgeTokens[i].Address(), pool.Address()) - balances.Update(name, BalanceItem{ - Address: pool.EthAddress, - Getter: GetterForLinkToken(sourceCCIP.Common.BridgeTokens[i].BalanceOf, pool.Address()), - AmtToAdd: bigmath.Mul(big.NewInt(noOfReq), sourceCCIP.TransferAmount[i]), - }) + if len(sourceCCIP.TransferAmount) > 0 { + for i, token := range sourceCCIP.Common.BridgeTokens { + name := fmt.Sprintf("BridgeToken-%s-Address-%s", token.Address(), sourceCCIP.Sender.Hex()) + balances.Update(name, BalanceItem{ + Address: sourceCCIP.Sender, + Getter: GetterForLinkToken(token.BalanceOf, sourceCCIP.Sender.Hex()), + AmtToSub: bigmath.Mul(big.NewInt(noOfReq), sourceCCIP.TransferAmount[i]), + }) + } + for i, pool := range sourceCCIP.Common.BridgeTokenPools { + name := fmt.Sprintf("BridgeToken-%s-TokenPool-%s", sourceCCIP.Common.BridgeTokens[i].Address(), pool.Address()) + balances.Update(name, BalanceItem{ + Address: pool.EthAddress, + Getter: GetterForLinkToken(sourceCCIP.Common.BridgeTokens[i].BalanceOf, pool.Address()), + AmtToAdd: bigmath.Mul(big.NewInt(noOfReq), sourceCCIP.TransferAmount[i]), + }) + } } - if sourceCCIP.Common.FeeToken.Address() != common.HexToAddress("0x0").String() { name := fmt.Sprintf("FeeToken-%s-Address-%s", sourceCCIP.Common.FeeToken.Address(), sourceCCIP.Sender.Hex()) balances.Update(name, BalanceItem{ @@ -817,7 +822,7 @@ func (sourceCCIP *SourceCCIPModule) SendRequest( FeeToken: feeToken, ExtraArgs: extraArgsV1, } - log.Info().Interface("ge msg details", msg).Msg("ccip message to be sent") + log.Info().Interface("msg details", msg).Msg("ccip message to be sent") fee, err := sourceCCIP.Common.Router.GetFee(destChainSelector, msg) if err != nil { reason, _ := blockchain.RPCErrorFromError(err) @@ -1138,21 +1143,23 @@ func (destCCIP *DestCCIPModule) UpdateBalance( noOfReq int64, balance *BalanceSheet, ) { - for i, token := range destCCIP.Common.BridgeTokens { - name := fmt.Sprintf("BridgeToken-%s-Address-%s", token.Address(), destCCIP.ReceiverDapp.Address()) - balance.Update(name, BalanceItem{ - Address: destCCIP.ReceiverDapp.EthAddress, - Getter: GetterForLinkToken(token.BalanceOf, destCCIP.ReceiverDapp.Address()), - AmtToAdd: bigmath.Mul(big.NewInt(noOfReq), transferAmount[i]), - }) - } - for i, pool := range destCCIP.Common.BridgeTokenPools { - name := fmt.Sprintf("BridgeToken-%s-TokenPool-%s", destCCIP.Common.BridgeTokens[i].Address(), pool.Address()) - balance.Update(name, BalanceItem{ - Address: pool.EthAddress, - Getter: GetterForLinkToken(destCCIP.Common.BridgeTokens[i].BalanceOf, pool.Address()), - AmtToSub: bigmath.Mul(big.NewInt(noOfReq), transferAmount[i]), - }) + if len(transferAmount) > 0 { + for i, token := range destCCIP.Common.BridgeTokens { + name := fmt.Sprintf("BridgeToken-%s-Address-%s", token.Address(), destCCIP.ReceiverDapp.Address()) + balance.Update(name, BalanceItem{ + Address: destCCIP.ReceiverDapp.EthAddress, + Getter: GetterForLinkToken(token.BalanceOf, destCCIP.ReceiverDapp.Address()), + AmtToAdd: bigmath.Mul(big.NewInt(noOfReq), transferAmount[i]), + }) + } + for i, pool := range destCCIP.Common.BridgeTokenPools { + name := fmt.Sprintf("BridgeToken-%s-TokenPool-%s", destCCIP.Common.BridgeTokens[i].Address(), pool.Address()) + balance.Update(name, BalanceItem{ + Address: pool.EthAddress, + Getter: GetterForLinkToken(destCCIP.Common.BridgeTokens[i].BalanceOf, pool.Address()), + AmtToSub: bigmath.Mul(big.NewInt(noOfReq), transferAmount[i]), + }) + } } if destCCIP.Common.FeeToken.Address() != common.HexToAddress("0x0").String() { name := fmt.Sprintf("FeeToken-%s-OffRamp-%s", destCCIP.Common.FeeToken.Address(), destCCIP.OffRamp.Address()) @@ -1198,12 +1205,16 @@ func (destCCIP *DestCCIPModule) AssertEventExecutionStateChanged( if err != nil { lggr.Warn().Msg("Failed to get receipt for ExecStateChanged event") } + var gasUsed uint64 + if receipt != nil { + gasUsed = receipt.GasUsed + } if abihelpers.MessageExecutionState(e.State) == abihelpers.ExecutionStateSuccess { reports.UpdatePhaseStats(reqNo, seqNum, testreporters.ExecStateChanged, receivedAt.Sub(timeNow), testreporters.Success, testreporters.TransactionStats{ TxHash: vLogs.TxHash.Hex(), - GasUsed: receipt.GasUsed, + GasUsed: gasUsed, }) return nil } else { @@ -1263,9 +1274,13 @@ func (destCCIP *DestCCIPModule) AssertEventReportAccepted( if err != nil { lggr.Warn().Msg("Failed to get receipt for ReportAccepted event") } + var gasUsed uint64 + if receipt != nil { + gasUsed = receipt.GasUsed + } reports.UpdatePhaseStats(reqNo, seqNum, testreporters.Commit, totalTime, testreporters.Success, testreporters.TransactionStats{ - GasUsed: receipt.GasUsed, + GasUsed: gasUsed, TxHash: reportAccepted.Raw.TxHash.String(), CommitRoot: fmt.Sprintf("%x", reportAccepted.Report.MerkleRoot), }) @@ -1312,9 +1327,13 @@ func (destCCIP *DestCCIPModule) AssertReportBlessed( if err != nil { lggr.Fatal().Err(err).Msg("Failed to get receipt for ReportBlessed event") } + var gasUsed uint64 + if receipt != nil { + gasUsed = receipt.GasUsed + } reports.UpdatePhaseStats(reqNo, seqNum, testreporters.ReportBlessed, receivedAt.Sub(prevEventAt), testreporters.Success, testreporters.TransactionStats{ - GasUsed: receipt.GasUsed, + GasUsed: gasUsed, TxHash: vLogs.TxHash.String(), CommitRoot: fmt.Sprintf("%x", CommitReport.MerkleRoot), }) @@ -1432,6 +1451,7 @@ type CCIPLane struct { SrcNetworkLaneCfg *laneconfig.LaneConfig DstNetworkLaneCfg *laneconfig.LaneConfig Subscriptions []event.Subscription + SkipValidation bool } func (lane *CCIPLane) UpdateLaneConfig() { @@ -1581,11 +1601,17 @@ func (lane *CCIPLane) ValidateRequests() { } // Asserting balances reliably work only for simulated private chains. The testnet contract balances might get updated by other transactions // verify the fee amount is deducted from sender, added to receiver token balances and - lane.Source.UpdateBalance(int64(lane.NumberOfReq), lane.TotalFee, lane.Balance) - lane.Dest.UpdateBalance(lane.Source.TransferAmount, int64(lane.NumberOfReq), lane.Balance) + if len(lane.Source.TransferAmount) > 0 { + lane.Source.UpdateBalance(int64(lane.NumberOfReq), lane.TotalFee, lane.Balance) + lane.Dest.UpdateBalance(lane.Source.TransferAmount, int64(lane.NumberOfReq), lane.Balance) + } } func (lane *CCIPLane) ValidateRequestByTxHash(txHash string, txConfirmattion time.Time, reqNo int64) error { + if lane.SkipValidation { + lane.Logger.Info().Msg("Skipping validation") + return nil + } msgLog, ccipSendReqGenAt, err := lane.Source.AssertEventCCIPSendRequested( lane.Logger, reqNo, txHash, lane.ValidationTimeout, txConfirmattion, lane.Reports) if err != nil || msgLog == nil { @@ -1777,10 +1803,12 @@ func (lane *CCIPLane) DeployNewCCIPLane( } lane.UpdateLaneConfig() - // start event watchers - err = lane.StartEventWatchers() - if err != nil { - return errors.WithStack(err) + if !lane.SkipValidation { + // start event watchers + err = lane.StartEventWatchers() + if err != nil { + return errors.WithStack(err) + } } // if lane is being set up for already configured CL nodes and contracts // no further action is necessary diff --git a/integration-tests/ccip-tests/testconfig/override/test-config.env b/integration-tests/ccip-tests/testconfig/override/test-config.env new file mode 100644 index 0000000000..21d02160fe --- /dev/null +++ b/integration-tests/ccip-tests/testconfig/override/test-config.env @@ -0,0 +1,21 @@ + +export BASE64_TEST_CONFIG_OVERRIDE=W0NDSVBdCltDQ0lQLkRlcGxveW1lbnRzXQpEYXRhID0gIiIiCnsKICAibGFuZV9jb25maWdzIjogewogICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweGQxNDgzOEE2OEU4QUZCQWRFNWVmYjQxMWQ1ODcxZWEwMDExQUZkMjgiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHhmZDA2NEExOGYzQkYyNDljZjFmODdGQzIwM0U5MEQ4ZjY1MGYyZDYzIgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHg0MDk1MkU3ZjA3MkQxOTdBZjY4MTk0QzkwMjFEZTM1RTE4QWY3MUFlIgogICAgICBdLAogICAgICAiYXJtIjogIjB4QTc2M0E2NWY3Njk3YkUxRDlBODkwYzJBRDAwNjM4NkFkMGExNmZjQiIsCiAgICAgICJyb3V0ZXIiOiAiMHg5NDE1MUNkNDY3ZmYyMzEyYkMyZTA5ODBENEFlM0VFM0ZiOGY4OGFjIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4YWEwMDkwQWI3OTQ0NjQ4QzdkM0E5NTBmNzE0YjZBQ0QzMzM4Nzc0QiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDMyZDVENTk3ODkwNWQ5YzZjMkQ0QzQxN0YwRTA2RmU3NjhhNEZCNWEiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ0QWRlRDA0Q2E3N0FEOTVDOEY3NDIzNzcxMzQ4YjEzZjU1MzljNTEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDE3MTgKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ2MjY2NTVlRjYxRkVENjdiMzdjQzQ3NGQ3NkU5NTY1ZmNDOGYwZDkiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDc2NjEKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg4RjIyZkNkNjA3NDA5NjkyQUFDZDZmNWUwMjBCQ2Y0YzVCMkJlMzUyIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgxOTkyMTc4NThCN2ZlM0JDN0IyYjRjNTdjOUI1QzdlM2M0RGUyMDI3IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg1YTYyMzlDNjhhNzFmNDBCZGQzYzAzQ2VCOTE5MUYzZGFiRTAwMjlkIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhlQ2ZhNWU5MTRDM2Q0NDliNEE5QjQ2MjJEYzA5N0ZGNTBFNjA0RDUyIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHgwYjlkNUQ5MTM2ODU1ZjZGRWMzYzA5OTNmZUU2RTlDRThhMjk3ODQ2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4NTQyNTg5MDI5OGFlZDYwMTU5NWE3MEFCODE1Yzk2NzExYTMxQmM2NSIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4YjJkOEI4OEM0YjIzZDBEODY4MThiYzk3ODNFNkI1MDhhNzc3MWI4NCIKICAgICAgXSwKICAgICAgImFybSI6ICIweEQ0QTUxZEMwRjVDNjgwQThBMThlQTRFYzNBMmYyNUM2ZGI5NDI0QjciLAogICAgICAicm91dGVyIjogIjB4YTYyZTY4NWFERkY0NWYzOGVDOTQzNzg1MTNEMTI4RjE2ODk2NEU5OSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweGRiZUExYTEwQUM2YTJCNzI5YkYxMjhhRTkyODFFZDQyMGRiRTcxMTMiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHhkMDBhZTA4NDAzQjliYmI5MTI0YkIzMDVDMDkwNThFMzJDMzlBNDhjIiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4QWI5ZjIzMTdDMzY3ZjE5NTg1OTNGNzg5OTNDMjZDZEE1NEUzM2MwOSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NjczOAogICAgICAgIH0sCiAgICAgICAgIkJTQyBUZXN0bmV0IjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg5MDAwNjQ0MjgwNjJhNGFCRGRhM2Q1ZjJFMEQ1ZDMzQ2E1Yjg3NzBjIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDI3NTY3NDg0CiAgICAgICAgfSwKICAgICAgICAiQmFzZSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDg4RGJiQmE1OTA0ZTgwZUM2YjM0MWM4YzIyZGM5NTUzNEUzMjc0RDEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMjc1NjczMzUKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweEIxZjhBMGE0M2MyNDY1ZDdiYmY4NjY0YmZGQWQzOWY2ZmI3RmVkMjIiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMjc1NjY1MzUKICAgICAgICB9LAogICAgICAgICJQb2x5Z29uIE11bWJhaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4ZTc0RThEM2VBNEJDQWZFODVjZDUzZGE1NjhmOTQ0NmI5ZEE5Y0JCYSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NzYxNgogICAgICAgIH0sCiAgICAgICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4N0U0MDFjMzk3NjgwNzNiM0ZEQzdjRDE1QTQ0RTI4OTE0NTE1OGQxMyIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2Njk5NQogICAgICAgIH0KICAgICAgfSwKICAgICAgImRlc3RfY29udHJhY3RzIjogewogICAgICAgICJBcmJpdHJ1bSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg2Nzc4NDg4YTZmM0QwNjdBODFkQ0ZlMWI3MjBBYTdDODUxQ0Q3ZDhhIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg3Mzc0ZkZFMTFkNThCOTY5MmNlNTcwMzhFYjFjYzg5RDc0NTA4RDk0IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJCU0MgVGVzdG5ldCI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweGI2RGI4NGJDNDk2MjQ1RDQzNjRBNGNmMzQwQkNjMUIxQTk4NzhFZjYiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweERFQjIzY0NBM2M1NEM5MTdiMWYyNTVERDVFMUJmOTQxOTVENzg2QzIiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIkJhc2UgR29lcmxpIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MDk1MjBDOGVlRjhhQThlNTdkOWQ2MzkxMzA0QjY5YzM1MzEwM0I3NiIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MTYzMEFGQzA4QjlhODNBODJDODZGZjMyYTU4MTc4MzdhNDMyODU3OCIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiT3B0aW1pc20gR29lcmxpIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4QTI2ODY5RDZEM2VGNDAwNDg0ODg1QzAyOUNCMzNhYWZhOEY5NzhERSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4YjM5QzNhYzc2OEIyZUNBMDg2MzZlODIyN0EyNDIwNTQ0NDk4OTI5YiIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiUG9seWdvbiBNdW1iYWkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhmQ0ZlQTc3MDcxMTk3ZWZkMTM0N2VCNjgwOTQ1MmI4Y0JEN0I1OWYzIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg3RDEwM0U5MjAzRGRDRmU0OTNjOWYyOEQxQkE5NTg1NTZkMGU0QTdGIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJTZXBvbGlhIFRlc3RuZXQiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhFODE2YzZhQzBkZTQzNzVlQzY1ZTRhMzgzMEQwNzIwNTNERTgzZTFhIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg0NDZiN0NlQUQxZDBDNDg3YUQ4RWIyYjhGODZjMDhjOWUxNDJkZTE1IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQlNDIFRlc3RuZXQiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHg4NGI5QjkxMDUyN0FkNUMwM0E5Q2E4MzE5MDlFMjFlMjM2RUE3YjA2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4ODRiOUI5MTA1MjdBZDVDMDNBOUNhODMxOTA5RTIxZTIzNkVBN2IwNiIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4MjIzRjljQzU4MzcwMTM5MTk5QjUyNWU4RTUxQjE4MTI5QjY0ODQ2NiIKICAgICAgXSwKICAgICAgImFybSI6ICIweGJCRjUzNEQ4OWQ5NjQwZTM4ODZkYjI1RkUxZmZFNjAzRmUxNjBENzUiLAogICAgICAicm91dGVyIjogIjB4OUNkQTViNzdlQTIzNDU5ZUJhZjJlMzA5MmM1NzBhNkI1NjA1ODUwQSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweDkyMTM5NjdhNDdGQzNGMTVBMTZBMGI4MTMyMDhlOENjYjYzRGJiYTYiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHhhZTEzZDk4OWRhQzJmMGRFYkZmNDYwYUMxMTJhODM3Qzg5QkFhN2NkIiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHgwRDUyYzI0NzJEQzZmMzdGQmVFNTk1NTJiMTE2NWRlYWZlM2I5YTRCIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDM0OTQ1MDc2CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MDM5YWQ4Qjc2RWZjMjlGMWIyMzNkMDRCNDEzYTBEQ0FDQmU3RTkwMSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MEFBMTEwMjg2MmI1YWE3MUNGMzY4NTk2REI3NDA1MjFEYmI5RjU2NSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIkJhc2UgR29lcmxpIjogewogICAgICAiaXNfbW9ja19hcm0iOiB0cnVlLAogICAgICAiZmVlX3Rva2VuIjogIjB4RDg4NkUyMjg2RmQxMDczZGY4MjQ2MmVhMTgyMjExOTYwMEFmODBiNiIsCiAgICAgICJicmlkZ2VfdG9rZW5zIjogWwogICAgICAgICIweEYxNzU1MjBDNTI0MThkZkUxOUM4MDk4MDcxYTI1MmRhNDhDZDFDMTkiCiAgICAgIF0sCiAgICAgICJicmlkZ2VfdG9rZW5zX3Bvb2xzIjogWwogICAgICAgICIweDE0RDY2ZTUzMjk5MTc0QjhFZjExN2QzMzI4NUUxYzgxNEVENjUyZEUiCiAgICAgIF0sCiAgICAgICJhcm0iOiAiMHgyN0I4ODJjMzkzMTUxQUREOTEwRjM1NTc4NDlBRjBiYjA5YzdkNUE2IiwKICAgICAgInJvdXRlciI6ICIweDhBZWQ1MzE1NjM1NjhkZGU5RkY0MzdkODZjNjViNjM3NTM1YTVEQTMiLAogICAgICAicHJpY2VfcmVnaXN0cnkiOiAiMHg2RTUzMkY4NkNENTcyMUE5NzZmMTU1NjBBYTA2ODM1MjFjRmFCN2U3IiwKICAgICAgIndyYXBwZWRfbmF0aXZlIjogIjB4NDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNiIsCiAgICAgICJzcmNfY29udHJhY3RzIjogewogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4NDMzMTY1ZjE5MkY3NjY1RThmMENEN0EzNUY3OTMzMGZENDNEYTBENiIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxMjE2OTUzMQogICAgICAgIH0KICAgICAgfSwKICAgICAgImRlc3RfY29udHJhY3RzIjogewogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDA0Y2I5MWYxNGNmYzkwRTRhYjNmMTA4MjMxRTE5MURlQzIzM2VjODIiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweERlRDc5OUFiREI5ZmRlRWUwZkE3MzhCYkNFRjU2NTk5NkExNjlBMEUiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHhkYzJDQzcxMGU0Mjg1NzY3MkU3OTA3Q0Y0NzRhNjlCNjNCOTMwODlmIiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4ZTA1NjA2MTc0YmFjNEE2MzY0QjMxYmQwZUNBNGJmNGREMzY4ZjhDNiIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4YzAzQmM1NDE4NzA2OWUyMmZCNzhmM2ZjRTJkN0I1ZENlM2Y2ZUNFQSIKICAgICAgXSwKICAgICAgImFybSI6ICIweEMxYjliY2RDNmJFOWY0RDYyMjQ2NzJGMThmQzQ2ZmYzMzBGNDg3ZTEiLAogICAgICAicm91dGVyIjogIjB4REREZjk3OEZkODYxM0RiZDA2RTgwN2EzOWJjYTVjZTQzODNEM0ZmNSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweDg5MTQzYTRBQzJhQjM0NzJiNDE2ODdGRGQ3QTU4ZWZGYkEzNDYxREEiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHg0MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2IiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4NjY3NGZiZjNBNjY0OGQ0NTBGZDlGYUJlYzUwOGZCYjcwMDlCOGI1YSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxNzA1Mjc5NwogICAgICAgIH0sCiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHhCMGIxRjZCMjVEQzJlZDc3MDk1MTYxQjczNDRhQWI1ZDZGOUNmNWE4IiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDE3MDUxMzY0CiAgICAgICAgfSwKICAgICAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHgxMTUyRDI0NThCRWY3MzYwMTFFMEMxNzYyM2U4ZDAyODg3N0RlYzVlIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDE3MDUyMTA3CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDAyOTIyMjAyMmY0NDQ4ODdmM2QxMUQxOTgyMDAzQjZDYTczQkRiMTgiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDg5ZjcyNjQ4OTk4MjBGYWNCMzFkM0JhMDgyNjQwMmJkODg3NUFGMzIiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4NzgyMTEwODQyMTIxNEExYjQyOTRFMWNBNzcyODI2ZGM3MzEwQzdmOSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MTQ3ZjIwQ2M3RTU0ODQ0ZWIyZTRlN0VjQTQ5MzNEOTc0NTE3NjVDOSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4OWFhRDg5ODRGRjUxOTc1ZEQyNjUxMkI0NTdlQTgxNTNkMjE1MzAyYyIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4OEJBMjczY0U4RDA3QjZkMTBmQUNCMjE5YjJkOGM5NTFlRjJlMjU1YSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIlBvbHlnb24gTXVtYmFpIjogewogICAgICAiaXNfbW9ja19hcm0iOiB0cnVlLAogICAgICAiZmVlX3Rva2VuIjogIjB4MzI2Qzk3N0U2ZWZjODRFNTEyYkI5QzMwZjc2RTMwYzE2MGVEMDZGQiIsCiAgICAgICJicmlkZ2VfdG9rZW5zIjogbnVsbCwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBudWxsLAogICAgICAiYXJtIjogIjB4ODY2ZmFCOTJFMDRiQUU1RURhMjM4QTljYkZmMWU1NkUwOTUwOEFkZSIsCiAgICAgICJyb3V0ZXIiOiAiMHg0NzlBNmZGOWEyMzM1MTgwRDkyMzA2RDc2NzU0YkJCRGNBNzUxYkYwIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4RDg4NkUyMjg2RmQxMDczZGY4MjQ2MmVhMTgyMjExOTYwMEFmODBiNiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDljM0M5MjgzRDNlNDQ4NTQ2OTdDZDIyRDNGYWEyNDBDZmIwMzI4ODkiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDUxMTU4Q2E0MzlmZUE5RTgwOUJjMDYzQ2ZBNjcwMTc0N2IwNTI1NGUiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNDIxOTIwODYKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhEODRBMTZkZDQyMzVBRUJDQTk1MTVkYzNjYjVjRDE2NjVmNzRjQjJlIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgzNzAwNGMxMjQ1YTJENTU0MTM3N2U4N2NBMjk2OTk0OTJhNDExNEQ1IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAiaXNfbW9ja19hcm0iOiB0cnVlLAogICAgICAiZmVlX3Rva2VuIjogIjB4Nzc5ODc3QTdCMEQ5RTg2MDMxNjlEZGJENzgzNmU0NzhiNDYyNDc4OSIsCiAgICAgICJicmlkZ2VfdG9rZW5zIjogWwogICAgICAgICIweDc3OTg3N0E3QjBEOUU4NjAzMTY5RGRiRDc4MzZlNDc4YjQ2MjQ3ODkiLAogICAgICAgICIweDREMkQ1Q0FFZDMzMTVEM2M3ZTVlZTBlNDI3NmY2MjBBRTMyN0JlQkIiCiAgICAgIF0sCiAgICAgICJicmlkZ2VfdG9rZW5zX3Bvb2xzIjogWwogICAgICAgICIweDBkODU4RDY5NjA0NjRlMjcyMTAyNUI4YTQ3MTgwNUNhMzhhNzI1MDUiLAogICAgICAgICIweDI5MjFmQ2EwZkUyNUQ4MTA4OTVBNTg5MzFERDEwQTRDQ2M4NGZmM0YiCiAgICAgIF0sCiAgICAgICJhcm0iOiAiMHg5OTEyYTczODkzODJmZjU1Zjg1QTI5QzkzNzhCMzhGN0I5OTJjNGFFIiwKICAgICAgInJvdXRlciI6ICIweDFFMUYzZDhBYzdEZjY1ZkNjRmNjNTJkYkYwMzkyOWNFRTk1NDMwYWMiLAogICAgICAicHJpY2VfcmVnaXN0cnkiOiAiMHg0MzU4ZTgxZjg4YkIyNzIyMjc3OWMxQkM4NTAwM0ExMUExYzY2ZjZGIiwKICAgICAgIndyYXBwZWRfbmF0aXZlIjogIjB4MDk3RDkwYzlkM0UwQjUwQ2E2MGUxYWU0NUY2QTgxMDEwZjlGQjUzNCIsCiAgICAgICJzcmNfY29udHJhY3RzIjogewogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4YTdDQjVkMkYyNDMyYjUxRjA1YjM0NURmYTY4MDZCOTAwNzY3QjYzOCIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiA0NjU5ODE0CiAgICAgICAgfSwKICAgICAgICAiT3B0aW1pc20gR29lcmxpIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg2NWM3NUQ3ZmU1MTY2Nzc5NDlkQmM3ZmU3QzRCNEZBNTk3NUY1NTFCIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDQ2NTk4NDQKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHgxZDQ1ODEyODQ3MDM3NjlhQ2EyNzhjYWEzMDI3MkM3YmE5NTQ4Y2VGIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhDZkFGZDlkQWRkRThCMGQwMDAwYTQzNzJFNzExNjU2MjQzMGM0Y2M2IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhFZjQyMTY5OUUyNDAwNzFjMzE0ZDU3MDk0MTJjOEMwRDBjZTRlODc5IiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg1OURjM0FiM0NBOTA5OGQyNmNiMkU1MDdEZWRFOTAxNDZiZWE0OTY0IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9Cn0KIiIiCgpbQ0NJUC5Hcm91cHNdCltDQ0lQLkdyb3Vwcy5zbW9rZV0KTmV0d29ya1BhaXJzID0gWydBVkFMQU5DSEVfRlVKSSxPUFRJTUlTTV9HT0VSTEknLCAnQVZBTEFOQ0hFX0ZVSkksQVJCSVRSVU1fR09FUkxJJywgJ0FWQUxBTkNIRV9GVUpJLEJBU0VfR09FUkxJJ10KQmlEaXJlY3Rpb25hbExhbmUgPSBmYWxzZQpQaGFzZVRpbWVvdXQgPSAnMjBtJwpMb2NhbENsdXN0ZXIgPSBmYWxzZQpFeGlzdGluZ0RlcGxveW1lbnQgPSB0cnVlCk11bHRpY2FsbEluT25lVHggPSB0cnVlCk5vT2ZTZW5kc0luTXVsdGljYWxsID0gMTAKTm9PZlRva2Vuc1BlckNoYWluID0gMQpOb09mVG9rZW5zSW5Nc2cgPSAx +export TEST_BASE64_TEST_CONFIG_OVERRIDE=W0NDSVBdCltDQ0lQLkRlcGxveW1lbnRzXQpEYXRhID0gIiIiCnsKICAibGFuZV9jb25maWdzIjogewogICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweGQxNDgzOEE2OEU4QUZCQWRFNWVmYjQxMWQ1ODcxZWEwMDExQUZkMjgiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHhmZDA2NEExOGYzQkYyNDljZjFmODdGQzIwM0U5MEQ4ZjY1MGYyZDYzIgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHg0MDk1MkU3ZjA3MkQxOTdBZjY4MTk0QzkwMjFEZTM1RTE4QWY3MUFlIgogICAgICBdLAogICAgICAiYXJtIjogIjB4QTc2M0E2NWY3Njk3YkUxRDlBODkwYzJBRDAwNjM4NkFkMGExNmZjQiIsCiAgICAgICJyb3V0ZXIiOiAiMHg5NDE1MUNkNDY3ZmYyMzEyYkMyZTA5ODBENEFlM0VFM0ZiOGY4OGFjIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4YWEwMDkwQWI3OTQ0NjQ4QzdkM0E5NTBmNzE0YjZBQ0QzMzM4Nzc0QiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDMyZDVENTk3ODkwNWQ5YzZjMkQ0QzQxN0YwRTA2RmU3NjhhNEZCNWEiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ0QWRlRDA0Q2E3N0FEOTVDOEY3NDIzNzcxMzQ4YjEzZjU1MzljNTEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDE3MTgKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ2MjY2NTVlRjYxRkVENjdiMzdjQzQ3NGQ3NkU5NTY1ZmNDOGYwZDkiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDc2NjEKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg4RjIyZkNkNjA3NDA5NjkyQUFDZDZmNWUwMjBCQ2Y0YzVCMkJlMzUyIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgxOTkyMTc4NThCN2ZlM0JDN0IyYjRjNTdjOUI1QzdlM2M0RGUyMDI3IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg1YTYyMzlDNjhhNzFmNDBCZGQzYzAzQ2VCOTE5MUYzZGFiRTAwMjlkIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhlQ2ZhNWU5MTRDM2Q0NDliNEE5QjQ2MjJEYzA5N0ZGNTBFNjA0RDUyIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHgwYjlkNUQ5MTM2ODU1ZjZGRWMzYzA5OTNmZUU2RTlDRThhMjk3ODQ2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4NTQyNTg5MDI5OGFlZDYwMTU5NWE3MEFCODE1Yzk2NzExYTMxQmM2NSIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4YjJkOEI4OEM0YjIzZDBEODY4MThiYzk3ODNFNkI1MDhhNzc3MWI4NCIKICAgICAgXSwKICAgICAgImFybSI6ICIweEQ0QTUxZEMwRjVDNjgwQThBMThlQTRFYzNBMmYyNUM2ZGI5NDI0QjciLAogICAgICAicm91dGVyIjogIjB4YTYyZTY4NWFERkY0NWYzOGVDOTQzNzg1MTNEMTI4RjE2ODk2NEU5OSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweGRiZUExYTEwQUM2YTJCNzI5YkYxMjhhRTkyODFFZDQyMGRiRTcxMTMiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHhkMDBhZTA4NDAzQjliYmI5MTI0YkIzMDVDMDkwNThFMzJDMzlBNDhjIiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4QWI5ZjIzMTdDMzY3ZjE5NTg1OTNGNzg5OTNDMjZDZEE1NEUzM2MwOSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NjczOAogICAgICAgIH0sCiAgICAgICAgIkJTQyBUZXN0bmV0IjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg5MDAwNjQ0MjgwNjJhNGFCRGRhM2Q1ZjJFMEQ1ZDMzQ2E1Yjg3NzBjIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDI3NTY3NDg0CiAgICAgICAgfSwKICAgICAgICAiQmFzZSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDg4RGJiQmE1OTA0ZTgwZUM2YjM0MWM4YzIyZGM5NTUzNEUzMjc0RDEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMjc1NjczMzUKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweEIxZjhBMGE0M2MyNDY1ZDdiYmY4NjY0YmZGQWQzOWY2ZmI3RmVkMjIiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMjc1NjY1MzUKICAgICAgICB9LAogICAgICAgICJQb2x5Z29uIE11bWJhaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4ZTc0RThEM2VBNEJDQWZFODVjZDUzZGE1NjhmOTQ0NmI5ZEE5Y0JCYSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NzYxNgogICAgICAgIH0sCiAgICAgICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4N0U0MDFjMzk3NjgwNzNiM0ZEQzdjRDE1QTQ0RTI4OTE0NTE1OGQxMyIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2Njk5NQogICAgICAgIH0KICAgICAgfSwKICAgICAgImRlc3RfY29udHJhY3RzIjogewogICAgICAgICJBcmJpdHJ1bSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg2Nzc4NDg4YTZmM0QwNjdBODFkQ0ZlMWI3MjBBYTdDODUxQ0Q3ZDhhIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg3Mzc0ZkZFMTFkNThCOTY5MmNlNTcwMzhFYjFjYzg5RDc0NTA4RDk0IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJCU0MgVGVzdG5ldCI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweGI2RGI4NGJDNDk2MjQ1RDQzNjRBNGNmMzQwQkNjMUIxQTk4NzhFZjYiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweERFQjIzY0NBM2M1NEM5MTdiMWYyNTVERDVFMUJmOTQxOTVENzg2QzIiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIkJhc2UgR29lcmxpIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MDk1MjBDOGVlRjhhQThlNTdkOWQ2MzkxMzA0QjY5YzM1MzEwM0I3NiIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MTYzMEFGQzA4QjlhODNBODJDODZGZjMyYTU4MTc4MzdhNDMyODU3OCIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiT3B0aW1pc20gR29lcmxpIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4QTI2ODY5RDZEM2VGNDAwNDg0ODg1QzAyOUNCMzNhYWZhOEY5NzhERSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4YjM5QzNhYzc2OEIyZUNBMDg2MzZlODIyN0EyNDIwNTQ0NDk4OTI5YiIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiUG9seWdvbiBNdW1iYWkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhmQ0ZlQTc3MDcxMTk3ZWZkMTM0N2VCNjgwOTQ1MmI4Y0JEN0I1OWYzIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg3RDEwM0U5MjAzRGRDRmU0OTNjOWYyOEQxQkE5NTg1NTZkMGU0QTdGIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJTZXBvbGlhIFRlc3RuZXQiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhFODE2YzZhQzBkZTQzNzVlQzY1ZTRhMzgzMEQwNzIwNTNERTgzZTFhIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg0NDZiN0NlQUQxZDBDNDg3YUQ4RWIyYjhGODZjMDhjOWUxNDJkZTE1IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQlNDIFRlc3RuZXQiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHg4NGI5QjkxMDUyN0FkNUMwM0E5Q2E4MzE5MDlFMjFlMjM2RUE3YjA2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4ODRiOUI5MTA1MjdBZDVDMDNBOUNhODMxOTA5RTIxZTIzNkVBN2IwNiIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4MjIzRjljQzU4MzcwMTM5MTk5QjUyNWU4RTUxQjE4MTI5QjY0ODQ2NiIKICAgICAgXSwKICAgICAgImFybSI6ICIweGJCRjUzNEQ4OWQ5NjQwZTM4ODZkYjI1RkUxZmZFNjAzRmUxNjBENzUiLAogICAgICAicm91dGVyIjogIjB4OUNkQTViNzdlQTIzNDU5ZUJhZjJlMzA5MmM1NzBhNkI1NjA1ODUwQSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweDkyMTM5NjdhNDdGQzNGMTVBMTZBMGI4MTMyMDhlOENjYjYzRGJiYTYiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHhhZTEzZDk4OWRhQzJmMGRFYkZmNDYwYUMxMTJhODM3Qzg5QkFhN2NkIiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHgwRDUyYzI0NzJEQzZmMzdGQmVFNTk1NTJiMTE2NWRlYWZlM2I5YTRCIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDM0OTQ1MDc2CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MDM5YWQ4Qjc2RWZjMjlGMWIyMzNkMDRCNDEzYTBEQ0FDQmU3RTkwMSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MEFBMTEwMjg2MmI1YWE3MUNGMzY4NTk2REI3NDA1MjFEYmI5RjU2NSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIkJhc2UgR29lcmxpIjogewogICAgICAiaXNfbW9ja19hcm0iOiB0cnVlLAogICAgICAiZmVlX3Rva2VuIjogIjB4RDg4NkUyMjg2RmQxMDczZGY4MjQ2MmVhMTgyMjExOTYwMEFmODBiNiIsCiAgICAgICJicmlkZ2VfdG9rZW5zIjogWwogICAgICAgICIweEYxNzU1MjBDNTI0MThkZkUxOUM4MDk4MDcxYTI1MmRhNDhDZDFDMTkiCiAgICAgIF0sCiAgICAgICJicmlkZ2VfdG9rZW5zX3Bvb2xzIjogWwogICAgICAgICIweDE0RDY2ZTUzMjk5MTc0QjhFZjExN2QzMzI4NUUxYzgxNEVENjUyZEUiCiAgICAgIF0sCiAgICAgICJhcm0iOiAiMHgyN0I4ODJjMzkzMTUxQUREOTEwRjM1NTc4NDlBRjBiYjA5YzdkNUE2IiwKICAgICAgInJvdXRlciI6ICIweDhBZWQ1MzE1NjM1NjhkZGU5RkY0MzdkODZjNjViNjM3NTM1YTVEQTMiLAogICAgICAicHJpY2VfcmVnaXN0cnkiOiAiMHg2RTUzMkY4NkNENTcyMUE5NzZmMTU1NjBBYTA2ODM1MjFjRmFCN2U3IiwKICAgICAgIndyYXBwZWRfbmF0aXZlIjogIjB4NDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNiIsCiAgICAgICJzcmNfY29udHJhY3RzIjogewogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4NDMzMTY1ZjE5MkY3NjY1RThmMENEN0EzNUY3OTMzMGZENDNEYTBENiIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxMjE2OTUzMQogICAgICAgIH0KICAgICAgfSwKICAgICAgImRlc3RfY29udHJhY3RzIjogewogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDA0Y2I5MWYxNGNmYzkwRTRhYjNmMTA4MjMxRTE5MURlQzIzM2VjODIiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweERlRDc5OUFiREI5ZmRlRWUwZkE3MzhCYkNFRjU2NTk5NkExNjlBMEUiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHhkYzJDQzcxMGU0Mjg1NzY3MkU3OTA3Q0Y0NzRhNjlCNjNCOTMwODlmIiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4ZTA1NjA2MTc0YmFjNEE2MzY0QjMxYmQwZUNBNGJmNGREMzY4ZjhDNiIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4YzAzQmM1NDE4NzA2OWUyMmZCNzhmM2ZjRTJkN0I1ZENlM2Y2ZUNFQSIKICAgICAgXSwKICAgICAgImFybSI6ICIweEMxYjliY2RDNmJFOWY0RDYyMjQ2NzJGMThmQzQ2ZmYzMzBGNDg3ZTEiLAogICAgICAicm91dGVyIjogIjB4REREZjk3OEZkODYxM0RiZDA2RTgwN2EzOWJjYTVjZTQzODNEM0ZmNSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweDg5MTQzYTRBQzJhQjM0NzJiNDE2ODdGRGQ3QTU4ZWZGYkEzNDYxREEiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHg0MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2IiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4NjY3NGZiZjNBNjY0OGQ0NTBGZDlGYUJlYzUwOGZCYjcwMDlCOGI1YSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxNzA1Mjc5NwogICAgICAgIH0sCiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHhCMGIxRjZCMjVEQzJlZDc3MDk1MTYxQjczNDRhQWI1ZDZGOUNmNWE4IiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDE3MDUxMzY0CiAgICAgICAgfSwKICAgICAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHgxMTUyRDI0NThCRWY3MzYwMTFFMEMxNzYyM2U4ZDAyODg3N0RlYzVlIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDE3MDUyMTA3CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDAyOTIyMjAyMmY0NDQ4ODdmM2QxMUQxOTgyMDAzQjZDYTczQkRiMTgiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDg5ZjcyNjQ4OTk4MjBGYWNCMzFkM0JhMDgyNjQwMmJkODg3NUFGMzIiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4NzgyMTEwODQyMTIxNEExYjQyOTRFMWNBNzcyODI2ZGM3MzEwQzdmOSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MTQ3ZjIwQ2M3RTU0ODQ0ZWIyZTRlN0VjQTQ5MzNEOTc0NTE3NjVDOSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4OWFhRDg5ODRGRjUxOTc1ZEQyNjUxMkI0NTdlQTgxNTNkMjE1MzAyYyIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4OEJBMjczY0U4RDA3QjZkMTBmQUNCMjE5YjJkOGM5NTFlRjJlMjU1YSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIlBvbHlnb24gTXVtYmFpIjogewogICAgICAiaXNfbW9ja19hcm0iOiB0cnVlLAogICAgICAiZmVlX3Rva2VuIjogIjB4MzI2Qzk3N0U2ZWZjODRFNTEyYkI5QzMwZjc2RTMwYzE2MGVEMDZGQiIsCiAgICAgICJicmlkZ2VfdG9rZW5zIjogbnVsbCwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBudWxsLAogICAgICAiYXJtIjogIjB4ODY2ZmFCOTJFMDRiQUU1RURhMjM4QTljYkZmMWU1NkUwOTUwOEFkZSIsCiAgICAgICJyb3V0ZXIiOiAiMHg0NzlBNmZGOWEyMzM1MTgwRDkyMzA2RDc2NzU0YkJCRGNBNzUxYkYwIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4RDg4NkUyMjg2RmQxMDczZGY4MjQ2MmVhMTgyMjExOTYwMEFmODBiNiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDljM0M5MjgzRDNlNDQ4NTQ2OTdDZDIyRDNGYWEyNDBDZmIwMzI4ODkiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDUxMTU4Q2E0MzlmZUE5RTgwOUJjMDYzQ2ZBNjcwMTc0N2IwNTI1NGUiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNDIxOTIwODYKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhEODRBMTZkZDQyMzVBRUJDQTk1MTVkYzNjYjVjRDE2NjVmNzRjQjJlIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgzNzAwNGMxMjQ1YTJENTU0MTM3N2U4N2NBMjk2OTk0OTJhNDExNEQ1IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAiaXNfbW9ja19hcm0iOiB0cnVlLAogICAgICAiZmVlX3Rva2VuIjogIjB4Nzc5ODc3QTdCMEQ5RTg2MDMxNjlEZGJENzgzNmU0NzhiNDYyNDc4OSIsCiAgICAgICJicmlkZ2VfdG9rZW5zIjogWwogICAgICAgICIweDc3OTg3N0E3QjBEOUU4NjAzMTY5RGRiRDc4MzZlNDc4YjQ2MjQ3ODkiLAogICAgICAgICIweDREMkQ1Q0FFZDMzMTVEM2M3ZTVlZTBlNDI3NmY2MjBBRTMyN0JlQkIiCiAgICAgIF0sCiAgICAgICJicmlkZ2VfdG9rZW5zX3Bvb2xzIjogWwogICAgICAgICIweDBkODU4RDY5NjA0NjRlMjcyMTAyNUI4YTQ3MTgwNUNhMzhhNzI1MDUiLAogICAgICAgICIweDI5MjFmQ2EwZkUyNUQ4MTA4OTVBNTg5MzFERDEwQTRDQ2M4NGZmM0YiCiAgICAgIF0sCiAgICAgICJhcm0iOiAiMHg5OTEyYTczODkzODJmZjU1Zjg1QTI5QzkzNzhCMzhGN0I5OTJjNGFFIiwKICAgICAgInJvdXRlciI6ICIweDFFMUYzZDhBYzdEZjY1ZkNjRmNjNTJkYkYwMzkyOWNFRTk1NDMwYWMiLAogICAgICAicHJpY2VfcmVnaXN0cnkiOiAiMHg0MzU4ZTgxZjg4YkIyNzIyMjc3OWMxQkM4NTAwM0ExMUExYzY2ZjZGIiwKICAgICAgIndyYXBwZWRfbmF0aXZlIjogIjB4MDk3RDkwYzlkM0UwQjUwQ2E2MGUxYWU0NUY2QTgxMDEwZjlGQjUzNCIsCiAgICAgICJzcmNfY29udHJhY3RzIjogewogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4YTdDQjVkMkYyNDMyYjUxRjA1YjM0NURmYTY4MDZCOTAwNzY3QjYzOCIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiA0NjU5ODE0CiAgICAgICAgfSwKICAgICAgICAiT3B0aW1pc20gR29lcmxpIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg2NWM3NUQ3ZmU1MTY2Nzc5NDlkQmM3ZmU3QzRCNEZBNTk3NUY1NTFCIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDQ2NTk4NDQKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHgxZDQ1ODEyODQ3MDM3NjlhQ2EyNzhjYWEzMDI3MkM3YmE5NTQ4Y2VGIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhDZkFGZDlkQWRkRThCMGQwMDAwYTQzNzJFNzExNjU2MjQzMGM0Y2M2IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhFZjQyMTY5OUUyNDAwNzFjMzE0ZDU3MDk0MTJjOEMwRDBjZTRlODc5IiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg1OURjM0FiM0NBOTA5OGQyNmNiMkU1MDdEZWRFOTAxNDZiZWE0OTY0IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9Cn0KIiIiCgpbQ0NJUC5Hcm91cHNdCltDQ0lQLkdyb3Vwcy5zbW9rZV0KTmV0d29ya1BhaXJzID0gWydBVkFMQU5DSEVfRlVKSSxPUFRJTUlTTV9HT0VSTEknLCAnQVZBTEFOQ0hFX0ZVSkksQVJCSVRSVU1fR09FUkxJJywgJ0FWQUxBTkNIRV9GVUpJLEJBU0VfR09FUkxJJ10KQmlEaXJlY3Rpb25hbExhbmUgPSBmYWxzZQpQaGFzZVRpbWVvdXQgPSAnMjBtJwpMb2NhbENsdXN0ZXIgPSBmYWxzZQpFeGlzdGluZ0RlcGxveW1lbnQgPSB0cnVlCk11bHRpY2FsbEluT25lVHggPSB0cnVlCk5vT2ZTZW5kc0luTXVsdGljYWxsID0gMTAKTm9PZlRva2Vuc1BlckNoYWluID0gMQpOb09mVG9rZW5zSW5Nc2cgPSAx + +export BASE64_TEST_CONFIG_OVERRIDE=W0NDSVBdCltDQ0lQLkRlcGxveW1lbnRzXQpEYXRhID0gIiIiCnsKICAibGFuZV9jb25maWdzIjogewogICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweGQxNDgzOEE2OEU4QUZCQWRFNWVmYjQxMWQ1ODcxZWEwMDExQUZkMjgiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHhmZDA2NEExOGYzQkYyNDljZjFmODdGQzIwM0U5MEQ4ZjY1MGYyZDYzIgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHg0MDk1MkU3ZjA3MkQxOTdBZjY4MTk0QzkwMjFEZTM1RTE4QWY3MUFlIgogICAgICBdLAogICAgICAiYXJtIjogIjB4QTc2M0E2NWY3Njk3YkUxRDlBODkwYzJBRDAwNjM4NkFkMGExNmZjQiIsCiAgICAgICJyb3V0ZXIiOiAiMHg5NDE1MUNkNDY3ZmYyMzEyYkMyZTA5ODBENEFlM0VFM0ZiOGY4OGFjIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4YWEwMDkwQWI3OTQ0NjQ4QzdkM0E5NTBmNzE0YjZBQ0QzMzM4Nzc0QiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDMyZDVENTk3ODkwNWQ5YzZjMkQ0QzQxN0YwRTA2RmU3NjhhNEZCNWEiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ0QWRlRDA0Q2E3N0FEOTVDOEY3NDIzNzcxMzQ4YjEzZjU1MzljNTEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDE3MTgKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ2MjY2NTVlRjYxRkVENjdiMzdjQzQ3NGQ3NkU5NTY1ZmNDOGYwZDkiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDc2NjEKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg4RjIyZkNkNjA3NDA5NjkyQUFDZDZmNWUwMjBCQ2Y0YzVCMkJlMzUyIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgxOTkyMTc4NThCN2ZlM0JDN0IyYjRjNTdjOUI1QzdlM2M0RGUyMDI3IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg1YTYyMzlDNjhhNzFmNDBCZGQzYzAzQ2VCOTE5MUYzZGFiRTAwMjlkIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhlQ2ZhNWU5MTRDM2Q0NDliNEE5QjQ2MjJEYzA5N0ZGNTBFNjA0RDUyIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHgwYjlkNUQ5MTM2ODU1ZjZGRWMzYzA5OTNmZUU2RTlDRThhMjk3ODQ2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4NTQyNTg5MDI5OGFlZDYwMTU5NWE3MEFCODE1Yzk2NzExYTMxQmM2NSIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4YjJkOEI4OEM0YjIzZDBEODY4MThiYzk3ODNFNkI1MDhhNzc3MWI4NCIKICAgICAgXSwKICAgICAgImFybSI6ICIweEQ0QTUxZEMwRjVDNjgwQThBMThlQTRFYzNBMmYyNUM2ZGI5NDI0QjciLAogICAgICAicm91dGVyIjogIjB4YTYyZTY4NWFERkY0NWYzOGVDOTQzNzg1MTNEMTI4RjE2ODk2NEU5OSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweGRiZUExYTEwQUM2YTJCNzI5YkYxMjhhRTkyODFFZDQyMGRiRTcxMTMiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHhkMDBhZTA4NDAzQjliYmI5MTI0YkIzMDVDMDkwNThFMzJDMzlBNDhjIiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4QWI5ZjIzMTdDMzY3ZjE5NTg1OTNGNzg5OTNDMjZDZEE1NEUzM2MwOSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NjczOAogICAgICAgIH0sCiAgICAgICAgIkJTQyBUZXN0bmV0IjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg5MDAwNjQ0MjgwNjJhNGFCRGRhM2Q1ZjJFMEQ1ZDMzQ2E1Yjg3NzBjIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDI3NTY3NDg0CiAgICAgICAgfSwKICAgICAgICAiQmFzZSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDg4RGJiQmE1OTA0ZTgwZUM2YjM0MWM4YzIyZGM5NTUzNEUzMjc0RDEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMjc1NjczMzUKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweEIxZjhBMGE0M2MyNDY1ZDdiYmY4NjY0YmZGQWQzOWY2ZmI3RmVkMjIiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMjc1NjY1MzUKICAgICAgICB9LAogICAgICAgICJQb2x5Z29uIE11bWJhaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4ZTc0RThEM2VBNEJDQWZFODVjZDUzZGE1NjhmOTQ0NmI5ZEE5Y0JCYSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NzYxNgogICAgICAgIH0sCiAgICAgICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4N0U0MDFjMzk3NjgwNzNiM0ZEQzdjRDE1QTQ0RTI4OTE0NTE1OGQxMyIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2Njk5NQogICAgICAgIH0KICAgICAgfSwKICAgICAgImRlc3RfY29udHJhY3RzIjogewogICAgICAgICJBcmJpdHJ1bSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg2Nzc4NDg4YTZmM0QwNjdBODFkQ0ZlMWI3MjBBYTdDODUxQ0Q3ZDhhIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg3Mzc0ZkZFMTFkNThCOTY5MmNlNTcwMzhFYjFjYzg5RDc0NTA4RDk0IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJCU0MgVGVzdG5ldCI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweGI2RGI4NGJDNDk2MjQ1RDQzNjRBNGNmMzQwQkNjMUIxQTk4NzhFZjYiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweERFQjIzY0NBM2M1NEM5MTdiMWYyNTVERDVFMUJmOTQxOTVENzg2QzIiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIkJhc2UgR29lcmxpIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MDk1MjBDOGVlRjhhQThlNTdkOWQ2MzkxMzA0QjY5YzM1MzEwM0I3NiIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MTYzMEFGQzA4QjlhODNBODJDODZGZjMyYTU4MTc4MzdhNDMyODU3OCIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiT3B0aW1pc20gR29lcmxpIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4QTI2ODY5RDZEM2VGNDAwNDg0ODg1QzAyOUNCMzNhYWZhOEY5NzhERSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4YjM5QzNhYzc2OEIyZUNBMDg2MzZlODIyN0EyNDIwNTQ0NDk4OTI5YiIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiUG9seWdvbiBNdW1iYWkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhmQ0ZlQTc3MDcxMTk3ZWZkMTM0N2VCNjgwOTQ1MmI4Y0JEN0I1OWYzIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg3RDEwM0U5MjAzRGRDRmU0OTNjOWYyOEQxQkE5NTg1NTZkMGU0QTdGIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJTZXBvbGlhIFRlc3RuZXQiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhFODE2YzZhQzBkZTQzNzVlQzY1ZTRhMzgzMEQwNzIwNTNERTgzZTFhIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg0NDZiN0NlQUQxZDBDNDg3YUQ4RWIyYjhGODZjMDhjOWUxNDJkZTE1IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQlNDIFRlc3RuZXQiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHg4NGI5QjkxMDUyN0FkNUMwM0E5Q2E4MzE5MDlFMjFlMjM2RUE3YjA2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4ODRiOUI5MTA1MjdBZDVDMDNBOUNhODMxOTA5RTIxZTIzNkVBN2IwNiIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4MjIzRjljQzU4MzcwMTM5MTk5QjUyNWU4RTUxQjE4MTI5QjY0ODQ2NiIKICAgICAgXSwKICAgICAgImFybSI6ICIweGJCRjUzNEQ4OWQ5NjQwZTM4ODZkYjI1RkUxZmZFNjAzRmUxNjBENzUiLAogICAgICAicm91dGVyIjogIjB4OUNkQTViNzdlQTIzNDU5ZUJhZjJlMzA5MmM1NzBhNkI1NjA1ODUwQSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweDkyMTM5NjdhNDdGQzNGMTVBMTZBMGI4MTMyMDhlOENjYjYzRGJiYTYiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHhhZTEzZDk4OWRhQzJmMGRFYkZmNDYwYUMxMTJhODM3Qzg5QkFhN2NkIiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHgwRDUyYzI0NzJEQzZmMzdGQmVFNTk1NTJiMTE2NWRlYWZlM2I5YTRCIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDM0OTQ1MDc2CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MDM5YWQ4Qjc2RWZjMjlGMWIyMzNkMDRCNDEzYTBEQ0FDQmU3RTkwMSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MEFBMTEwMjg2MmI1YWE3MUNGMzY4NTk2REI3NDA1MjFEYmI5RjU2NSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIkJhc2UgR29lcmxpIjogewogICAgICAiaXNfbW9ja19hcm0iOiB0cnVlLAogICAgICAiZmVlX3Rva2VuIjogIjB4RDg4NkUyMjg2RmQxMDczZGY4MjQ2MmVhMTgyMjExOTYwMEFmODBiNiIsCiAgICAgICJicmlkZ2VfdG9rZW5zIjogWwogICAgICAgICIweEYxNzU1MjBDNTI0MThkZkUxOUM4MDk4MDcxYTI1MmRhNDhDZDFDMTkiCiAgICAgIF0sCiAgICAgICJicmlkZ2VfdG9rZW5zX3Bvb2xzIjogWwogICAgICAgICIweDE0RDY2ZTUzMjk5MTc0QjhFZjExN2QzMzI4NUUxYzgxNEVENjUyZEUiCiAgICAgIF0sCiAgICAgICJhcm0iOiAiMHgyN0I4ODJjMzkzMTUxQUREOTEwRjM1NTc4NDlBRjBiYjA5YzdkNUE2IiwKICAgICAgInJvdXRlciI6ICIweDhBZWQ1MzE1NjM1NjhkZGU5RkY0MzdkODZjNjViNjM3NTM1YTVEQTMiLAogICAgICAicHJpY2VfcmVnaXN0cnkiOiAiMHg2RTUzMkY4NkNENTcyMUE5NzZmMTU1NjBBYTA2ODM1MjFjRmFCN2U3IiwKICAgICAgIndyYXBwZWRfbmF0aXZlIjogIjB4NDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNiIsCiAgICAgICJzcmNfY29udHJhY3RzIjogewogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4NDMzMTY1ZjE5MkY3NjY1RThmMENEN0EzNUY3OTMzMGZENDNEYTBENiIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxMjE2OTUzMQogICAgICAgIH0KICAgICAgfSwKICAgICAgImRlc3RfY29udHJhY3RzIjogewogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDA0Y2I5MWYxNGNmYzkwRTRhYjNmMTA4MjMxRTE5MURlQzIzM2VjODIiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweERlRDc5OUFiREI5ZmRlRWUwZkE3MzhCYkNFRjU2NTk5NkExNjlBMEUiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHhkYzJDQzcxMGU0Mjg1NzY3MkU3OTA3Q0Y0NzRhNjlCNjNCOTMwODlmIiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4ZTA1NjA2MTc0YmFjNEE2MzY0QjMxYmQwZUNBNGJmNGREMzY4ZjhDNiIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4YzAzQmM1NDE4NzA2OWUyMmZCNzhmM2ZjRTJkN0I1ZENlM2Y2ZUNFQSIKICAgICAgXSwKICAgICAgImFybSI6ICIweEMxYjliY2RDNmJFOWY0RDYyMjQ2NzJGMThmQzQ2ZmYzMzBGNDg3ZTEiLAogICAgICAicm91dGVyIjogIjB4REREZjk3OEZkODYxM0RiZDA2RTgwN2EzOWJjYTVjZTQzODNEM0ZmNSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweDg5MTQzYTRBQzJhQjM0NzJiNDE2ODdGRGQ3QTU4ZWZGYkEzNDYxREEiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHg0MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2IiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4NjY3NGZiZjNBNjY0OGQ0NTBGZDlGYUJlYzUwOGZCYjcwMDlCOGI1YSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxNzA1Mjc5NwogICAgICAgIH0sCiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHhCMGIxRjZCMjVEQzJlZDc3MDk1MTYxQjczNDRhQWI1ZDZGOUNmNWE4IiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDE3MDUxMzY0CiAgICAgICAgfSwKICAgICAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHgxMTUyRDI0NThCRWY3MzYwMTFFMEMxNzYyM2U4ZDAyODg3N0RlYzVlIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDE3MDUyMTA3CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDAyOTIyMjAyMmY0NDQ4ODdmM2QxMUQxOTgyMDAzQjZDYTczQkRiMTgiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDg5ZjcyNjQ4OTk4MjBGYWNCMzFkM0JhMDgyNjQwMmJkODg3NUFGMzIiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4NzgyMTEwODQyMTIxNEExYjQyOTRFMWNBNzcyODI2ZGM3MzEwQzdmOSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MTQ3ZjIwQ2M3RTU0ODQ0ZWIyZTRlN0VjQTQ5MzNEOTc0NTE3NjVDOSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4OWFhRDg5ODRGRjUxOTc1ZEQyNjUxMkI0NTdlQTgxNTNkMjE1MzAyYyIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4OEJBMjczY0U4RDA3QjZkMTBmQUNCMjE5YjJkOGM5NTFlRjJlMjU1YSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIlBvbHlnb24gTXVtYmFpIjogewogICAgICAiaXNfbW9ja19hcm0iOiB0cnVlLAogICAgICAiZmVlX3Rva2VuIjogIjB4MzI2Qzk3N0U2ZWZjODRFNTEyYkI5QzMwZjc2RTMwYzE2MGVEMDZGQiIsCiAgICAgICJicmlkZ2VfdG9rZW5zIjogbnVsbCwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBudWxsLAogICAgICAiYXJtIjogIjB4ODY2ZmFCOTJFMDRiQUU1RURhMjM4QTljYkZmMWU1NkUwOTUwOEFkZSIsCiAgICAgICJyb3V0ZXIiOiAiMHg0NzlBNmZGOWEyMzM1MTgwRDkyMzA2RDc2NzU0YkJCRGNBNzUxYkYwIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4RDg4NkUyMjg2RmQxMDczZGY4MjQ2MmVhMTgyMjExOTYwMEFmODBiNiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDljM0M5MjgzRDNlNDQ4NTQ2OTdDZDIyRDNGYWEyNDBDZmIwMzI4ODkiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDUxMTU4Q2E0MzlmZUE5RTgwOUJjMDYzQ2ZBNjcwMTc0N2IwNTI1NGUiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNDIxOTIwODYKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhEODRBMTZkZDQyMzVBRUJDQTk1MTVkYzNjYjVjRDE2NjVmNzRjQjJlIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgzNzAwNGMxMjQ1YTJENTU0MTM3N2U4N2NBMjk2OTk0OTJhNDExNEQ1IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAiaXNfbW9ja19hcm0iOiB0cnVlLAogICAgICAiZmVlX3Rva2VuIjogIjB4Nzc5ODc3QTdCMEQ5RTg2MDMxNjlEZGJENzgzNmU0NzhiNDYyNDc4OSIsCiAgICAgICJicmlkZ2VfdG9rZW5zIjogWwogICAgICAgICIweDc3OTg3N0E3QjBEOUU4NjAzMTY5RGRiRDc4MzZlNDc4YjQ2MjQ3ODkiLAogICAgICAgICIweDREMkQ1Q0FFZDMzMTVEM2M3ZTVlZTBlNDI3NmY2MjBBRTMyN0JlQkIiCiAgICAgIF0sCiAgICAgICJicmlkZ2VfdG9rZW5zX3Bvb2xzIjogWwogICAgICAgICIweDBkODU4RDY5NjA0NjRlMjcyMTAyNUI4YTQ3MTgwNUNhMzhhNzI1MDUiLAogICAgICAgICIweDI5MjFmQ2EwZkUyNUQ4MTA4OTVBNTg5MzFERDEwQTRDQ2M4NGZmM0YiCiAgICAgIF0sCiAgICAgICJhcm0iOiAiMHg5OTEyYTczODkzODJmZjU1Zjg1QTI5QzkzNzhCMzhGN0I5OTJjNGFFIiwKICAgICAgInJvdXRlciI6ICIweDFFMUYzZDhBYzdEZjY1ZkNjRmNjNTJkYkYwMzkyOWNFRTk1NDMwYWMiLAogICAgICAicHJpY2VfcmVnaXN0cnkiOiAiMHg0MzU4ZTgxZjg4YkIyNzIyMjc3OWMxQkM4NTAwM0ExMUExYzY2ZjZGIiwKICAgICAgIndyYXBwZWRfbmF0aXZlIjogIjB4MDk3RDkwYzlkM0UwQjUwQ2E2MGUxYWU0NUY2QTgxMDEwZjlGQjUzNCIsCiAgICAgICJzcmNfY29udHJhY3RzIjogewogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4YTdDQjVkMkYyNDMyYjUxRjA1YjM0NURmYTY4MDZCOTAwNzY3QjYzOCIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiA0NjU5ODE0CiAgICAgICAgfSwKICAgICAgICAiT3B0aW1pc20gR29lcmxpIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg2NWM3NUQ3ZmU1MTY2Nzc5NDlkQmM3ZmU3QzRCNEZBNTk3NUY1NTFCIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDQ2NTk4NDQKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHgxZDQ1ODEyODQ3MDM3NjlhQ2EyNzhjYWEzMDI3MkM3YmE5NTQ4Y2VGIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhDZkFGZDlkQWRkRThCMGQwMDAwYTQzNzJFNzExNjU2MjQzMGM0Y2M2IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhFZjQyMTY5OUUyNDAwNzFjMzE0ZDU3MDk0MTJjOEMwRDBjZTRlODc5IiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg1OURjM0FiM0NBOTA5OGQyNmNiMkU1MDdEZWRFOTAxNDZiZWE0OTY0IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9Cn0KIiIiCgpbQ0NJUC5Hcm91cHNdCltDQ0lQLkdyb3Vwcy5zbW9rZV0KTmV0d29ya1BhaXJzID0gWydBVkFMQU5DSEVfRlVKSSxPUFRJTUlTTV9HT0VSTEknLCAnQVZBTEFOQ0hFX0ZVSkksQVJCSVRSVU1fR09FUkxJJywgJ0FWQUxBTkNIRV9GVUpJLEJBU0VfR09FUkxJJ10KQmlEaXJlY3Rpb25hbExhbmUgPSBmYWxzZQpQaGFzZVRpbWVvdXQgPSAnMjBtJwpMb2NhbENsdXN0ZXIgPSBmYWxzZQpFeGlzdGluZ0RlcGxveW1lbnQgPSB0cnVlCk11bHRpY2FsbEluT25lVHggPSB0cnVlCk5vT2ZTZW5kc0luTXVsdGljYWxsID0gMTAKTm9PZlRva2Vuc1BlckNoYWluID0gMQpOb09mVG9rZW5zSW5Nc2cgPSAx +export TEST_BASE64_TEST_CONFIG_OVERRIDE=W0NDSVBdCltDQ0lQLkRlcGxveW1lbnRzXQpEYXRhID0gIiIiCnsKICAibGFuZV9jb25maWdzIjogewogICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweGQxNDgzOEE2OEU4QUZCQWRFNWVmYjQxMWQ1ODcxZWEwMDExQUZkMjgiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHhmZDA2NEExOGYzQkYyNDljZjFmODdGQzIwM0U5MEQ4ZjY1MGYyZDYzIgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHg0MDk1MkU3ZjA3MkQxOTdBZjY4MTk0QzkwMjFEZTM1RTE4QWY3MUFlIgogICAgICBdLAogICAgICAiYXJtIjogIjB4QTc2M0E2NWY3Njk3YkUxRDlBODkwYzJBRDAwNjM4NkFkMGExNmZjQiIsCiAgICAgICJyb3V0ZXIiOiAiMHg5NDE1MUNkNDY3ZmYyMzEyYkMyZTA5ODBENEFlM0VFM0ZiOGY4OGFjIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4YWEwMDkwQWI3OTQ0NjQ4QzdkM0E5NTBmNzE0YjZBQ0QzMzM4Nzc0QiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDMyZDVENTk3ODkwNWQ5YzZjMkQ0QzQxN0YwRTA2RmU3NjhhNEZCNWEiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ0QWRlRDA0Q2E3N0FEOTVDOEY3NDIzNzcxMzQ4YjEzZjU1MzljNTEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDE3MTgKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ2MjY2NTVlRjYxRkVENjdiMzdjQzQ3NGQ3NkU5NTY1ZmNDOGYwZDkiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDc2NjEKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg4RjIyZkNkNjA3NDA5NjkyQUFDZDZmNWUwMjBCQ2Y0YzVCMkJlMzUyIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgxOTkyMTc4NThCN2ZlM0JDN0IyYjRjNTdjOUI1QzdlM2M0RGUyMDI3IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg1YTYyMzlDNjhhNzFmNDBCZGQzYzAzQ2VCOTE5MUYzZGFiRTAwMjlkIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhlQ2ZhNWU5MTRDM2Q0NDliNEE5QjQ2MjJEYzA5N0ZGNTBFNjA0RDUyIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHgwYjlkNUQ5MTM2ODU1ZjZGRWMzYzA5OTNmZUU2RTlDRThhMjk3ODQ2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4NTQyNTg5MDI5OGFlZDYwMTU5NWE3MEFCODE1Yzk2NzExYTMxQmM2NSIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4YjJkOEI4OEM0YjIzZDBEODY4MThiYzk3ODNFNkI1MDhhNzc3MWI4NCIKICAgICAgXSwKICAgICAgImFybSI6ICIweEQ0QTUxZEMwRjVDNjgwQThBMThlQTRFYzNBMmYyNUM2ZGI5NDI0QjciLAogICAgICAicm91dGVyIjogIjB4YTYyZTY4NWFERkY0NWYzOGVDOTQzNzg1MTNEMTI4RjE2ODk2NEU5OSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweGRiZUExYTEwQUM2YTJCNzI5YkYxMjhhRTkyODFFZDQyMGRiRTcxMTMiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHhkMDBhZTA4NDAzQjliYmI5MTI0YkIzMDVDMDkwNThFMzJDMzlBNDhjIiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4QWI5ZjIzMTdDMzY3ZjE5NTg1OTNGNzg5OTNDMjZDZEE1NEUzM2MwOSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NjczOAogICAgICAgIH0sCiAgICAgICAgIkJTQyBUZXN0bmV0IjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg5MDAwNjQ0MjgwNjJhNGFCRGRhM2Q1ZjJFMEQ1ZDMzQ2E1Yjg3NzBjIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDI3NTY3NDg0CiAgICAgICAgfSwKICAgICAgICAiQmFzZSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDg4RGJiQmE1OTA0ZTgwZUM2YjM0MWM4YzIyZGM5NTUzNEUzMjc0RDEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMjc1NjczMzUKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweEIxZjhBMGE0M2MyNDY1ZDdiYmY4NjY0YmZGQWQzOWY2ZmI3RmVkMjIiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMjc1NjY1MzUKICAgICAgICB9LAogICAgICAgICJQb2x5Z29uIE11bWJhaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4ZTc0RThEM2VBNEJDQWZFODVjZDUzZGE1NjhmOTQ0NmI5ZEE5Y0JCYSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NzYxNgogICAgICAgIH0sCiAgICAgICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4N0U0MDFjMzk3NjgwNzNiM0ZEQzdjRDE1QTQ0RTI4OTE0NTE1OGQxMyIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2Njk5NQogICAgICAgIH0KICAgICAgfSwKICAgICAgImRlc3RfY29udHJhY3RzIjogewogICAgICAgICJBcmJpdHJ1bSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg2Nzc4NDg4YTZmM0QwNjdBODFkQ0ZlMWI3MjBBYTdDODUxQ0Q3ZDhhIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg3Mzc0ZkZFMTFkNThCOTY5MmNlNTcwMzhFYjFjYzg5RDc0NTA4RDk0IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJCU0MgVGVzdG5ldCI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweGI2RGI4NGJDNDk2MjQ1RDQzNjRBNGNmMzQwQkNjMUIxQTk4NzhFZjYiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweERFQjIzY0NBM2M1NEM5MTdiMWYyNTVERDVFMUJmOTQxOTVENzg2QzIiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIkJhc2UgR29lcmxpIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MDk1MjBDOGVlRjhhQThlNTdkOWQ2MzkxMzA0QjY5YzM1MzEwM0I3NiIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MTYzMEFGQzA4QjlhODNBODJDODZGZjMyYTU4MTc4MzdhNDMyODU3OCIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiT3B0aW1pc20gR29lcmxpIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4QTI2ODY5RDZEM2VGNDAwNDg0ODg1QzAyOUNCMzNhYWZhOEY5NzhERSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4YjM5QzNhYzc2OEIyZUNBMDg2MzZlODIyN0EyNDIwNTQ0NDk4OTI5YiIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiUG9seWdvbiBNdW1iYWkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhmQ0ZlQTc3MDcxMTk3ZWZkMTM0N2VCNjgwOTQ1MmI4Y0JEN0I1OWYzIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg3RDEwM0U5MjAzRGRDRmU0OTNjOWYyOEQxQkE5NTg1NTZkMGU0QTdGIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJTZXBvbGlhIFRlc3RuZXQiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhFODE2YzZhQzBkZTQzNzVlQzY1ZTRhMzgzMEQwNzIwNTNERTgzZTFhIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg0NDZiN0NlQUQxZDBDNDg3YUQ4RWIyYjhGODZjMDhjOWUxNDJkZTE1IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQlNDIFRlc3RuZXQiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHg4NGI5QjkxMDUyN0FkNUMwM0E5Q2E4MzE5MDlFMjFlMjM2RUE3YjA2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4ODRiOUI5MTA1MjdBZDVDMDNBOUNhODMxOTA5RTIxZTIzNkVBN2IwNiIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4MjIzRjljQzU4MzcwMTM5MTk5QjUyNWU4RTUxQjE4MTI5QjY0ODQ2NiIKICAgICAgXSwKICAgICAgImFybSI6ICIweGJCRjUzNEQ4OWQ5NjQwZTM4ODZkYjI1RkUxZmZFNjAzRmUxNjBENzUiLAogICAgICAicm91dGVyIjogIjB4OUNkQTViNzdlQTIzNDU5ZUJhZjJlMzA5MmM1NzBhNkI1NjA1ODUwQSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweDkyMTM5NjdhNDdGQzNGMTVBMTZBMGI4MTMyMDhlOENjYjYzRGJiYTYiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHhhZTEzZDk4OWRhQzJmMGRFYkZmNDYwYUMxMTJhODM3Qzg5QkFhN2NkIiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHgwRDUyYzI0NzJEQzZmMzdGQmVFNTk1NTJiMTE2NWRlYWZlM2I5YTRCIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDM0OTQ1MDc2CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MDM5YWQ4Qjc2RWZjMjlGMWIyMzNkMDRCNDEzYTBEQ0FDQmU3RTkwMSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MEFBMTEwMjg2MmI1YWE3MUNGMzY4NTk2REI3NDA1MjFEYmI5RjU2NSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIkJhc2UgR29lcmxpIjogewogICAgICAiaXNfbW9ja19hcm0iOiB0cnVlLAogICAgICAiZmVlX3Rva2VuIjogIjB4RDg4NkUyMjg2RmQxMDczZGY4MjQ2MmVhMTgyMjExOTYwMEFmODBiNiIsCiAgICAgICJicmlkZ2VfdG9rZW5zIjogWwogICAgICAgICIweEYxNzU1MjBDNTI0MThkZkUxOUM4MDk4MDcxYTI1MmRhNDhDZDFDMTkiCiAgICAgIF0sCiAgICAgICJicmlkZ2VfdG9rZW5zX3Bvb2xzIjogWwogICAgICAgICIweDE0RDY2ZTUzMjk5MTc0QjhFZjExN2QzMzI4NUUxYzgxNEVENjUyZEUiCiAgICAgIF0sCiAgICAgICJhcm0iOiAiMHgyN0I4ODJjMzkzMTUxQUREOTEwRjM1NTc4NDlBRjBiYjA5YzdkNUE2IiwKICAgICAgInJvdXRlciI6ICIweDhBZWQ1MzE1NjM1NjhkZGU5RkY0MzdkODZjNjViNjM3NTM1YTVEQTMiLAogICAgICAicHJpY2VfcmVnaXN0cnkiOiAiMHg2RTUzMkY4NkNENTcyMUE5NzZmMTU1NjBBYTA2ODM1MjFjRmFCN2U3IiwKICAgICAgIndyYXBwZWRfbmF0aXZlIjogIjB4NDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNiIsCiAgICAgICJzcmNfY29udHJhY3RzIjogewogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4NDMzMTY1ZjE5MkY3NjY1RThmMENEN0EzNUY3OTMzMGZENDNEYTBENiIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxMjE2OTUzMQogICAgICAgIH0KICAgICAgfSwKICAgICAgImRlc3RfY29udHJhY3RzIjogewogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDA0Y2I5MWYxNGNmYzkwRTRhYjNmMTA4MjMxRTE5MURlQzIzM2VjODIiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweERlRDc5OUFiREI5ZmRlRWUwZkE3MzhCYkNFRjU2NTk5NkExNjlBMEUiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHhkYzJDQzcxMGU0Mjg1NzY3MkU3OTA3Q0Y0NzRhNjlCNjNCOTMwODlmIiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4ZTA1NjA2MTc0YmFjNEE2MzY0QjMxYmQwZUNBNGJmNGREMzY4ZjhDNiIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4YzAzQmM1NDE4NzA2OWUyMmZCNzhmM2ZjRTJkN0I1ZENlM2Y2ZUNFQSIKICAgICAgXSwKICAgICAgImFybSI6ICIweEMxYjliY2RDNmJFOWY0RDYyMjQ2NzJGMThmQzQ2ZmYzMzBGNDg3ZTEiLAogICAgICAicm91dGVyIjogIjB4REREZjk3OEZkODYxM0RiZDA2RTgwN2EzOWJjYTVjZTQzODNEM0ZmNSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweDg5MTQzYTRBQzJhQjM0NzJiNDE2ODdGRGQ3QTU4ZWZGYkEzNDYxREEiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHg0MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2IiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4NjY3NGZiZjNBNjY0OGQ0NTBGZDlGYUJlYzUwOGZCYjcwMDlCOGI1YSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxNzA1Mjc5NwogICAgICAgIH0sCiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHhCMGIxRjZCMjVEQzJlZDc3MDk1MTYxQjczNDRhQWI1ZDZGOUNmNWE4IiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDE3MDUxMzY0CiAgICAgICAgfSwKICAgICAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHgxMTUyRDI0NThCRWY3MzYwMTFFMEMxNzYyM2U4ZDAyODg3N0RlYzVlIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDE3MDUyMTA3CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDAyOTIyMjAyMmY0NDQ4ODdmM2QxMUQxOTgyMDAzQjZDYTczQkRiMTgiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDg5ZjcyNjQ4OTk4MjBGYWNCMzFkM0JhMDgyNjQwMmJkODg3NUFGMzIiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4NzgyMTEwODQyMTIxNEExYjQyOTRFMWNBNzcyODI2ZGM3MzEwQzdmOSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MTQ3ZjIwQ2M3RTU0ODQ0ZWIyZTRlN0VjQTQ5MzNEOTc0NTE3NjVDOSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4OWFhRDg5ODRGRjUxOTc1ZEQyNjUxMkI0NTdlQTgxNTNkMjE1MzAyYyIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4OEJBMjczY0U4RDA3QjZkMTBmQUNCMjE5YjJkOGM5NTFlRjJlMjU1YSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIlBvbHlnb24gTXVtYmFpIjogewogICAgICAiaXNfbW9ja19hcm0iOiB0cnVlLAogICAgICAiZmVlX3Rva2VuIjogIjB4MzI2Qzk3N0U2ZWZjODRFNTEyYkI5QzMwZjc2RTMwYzE2MGVEMDZGQiIsCiAgICAgICJicmlkZ2VfdG9rZW5zIjogbnVsbCwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBudWxsLAogICAgICAiYXJtIjogIjB4ODY2ZmFCOTJFMDRiQUU1RURhMjM4QTljYkZmMWU1NkUwOTUwOEFkZSIsCiAgICAgICJyb3V0ZXIiOiAiMHg0NzlBNmZGOWEyMzM1MTgwRDkyMzA2RDc2NzU0YkJCRGNBNzUxYkYwIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4RDg4NkUyMjg2RmQxMDczZGY4MjQ2MmVhMTgyMjExOTYwMEFmODBiNiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDljM0M5MjgzRDNlNDQ4NTQ2OTdDZDIyRDNGYWEyNDBDZmIwMzI4ODkiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDUxMTU4Q2E0MzlmZUE5RTgwOUJjMDYzQ2ZBNjcwMTc0N2IwNTI1NGUiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNDIxOTIwODYKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhEODRBMTZkZDQyMzVBRUJDQTk1MTVkYzNjYjVjRDE2NjVmNzRjQjJlIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgzNzAwNGMxMjQ1YTJENTU0MTM3N2U4N2NBMjk2OTk0OTJhNDExNEQ1IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAiaXNfbW9ja19hcm0iOiB0cnVlLAogICAgICAiZmVlX3Rva2VuIjogIjB4Nzc5ODc3QTdCMEQ5RTg2MDMxNjlEZGJENzgzNmU0NzhiNDYyNDc4OSIsCiAgICAgICJicmlkZ2VfdG9rZW5zIjogWwogICAgICAgICIweDc3OTg3N0E3QjBEOUU4NjAzMTY5RGRiRDc4MzZlNDc4YjQ2MjQ3ODkiLAogICAgICAgICIweDREMkQ1Q0FFZDMzMTVEM2M3ZTVlZTBlNDI3NmY2MjBBRTMyN0JlQkIiCiAgICAgIF0sCiAgICAgICJicmlkZ2VfdG9rZW5zX3Bvb2xzIjogWwogICAgICAgICIweDBkODU4RDY5NjA0NjRlMjcyMTAyNUI4YTQ3MTgwNUNhMzhhNzI1MDUiLAogICAgICAgICIweDI5MjFmQ2EwZkUyNUQ4MTA4OTVBNTg5MzFERDEwQTRDQ2M4NGZmM0YiCiAgICAgIF0sCiAgICAgICJhcm0iOiAiMHg5OTEyYTczODkzODJmZjU1Zjg1QTI5QzkzNzhCMzhGN0I5OTJjNGFFIiwKICAgICAgInJvdXRlciI6ICIweDFFMUYzZDhBYzdEZjY1ZkNjRmNjNTJkYkYwMzkyOWNFRTk1NDMwYWMiLAogICAgICAicHJpY2VfcmVnaXN0cnkiOiAiMHg0MzU4ZTgxZjg4YkIyNzIyMjc3OWMxQkM4NTAwM0ExMUExYzY2ZjZGIiwKICAgICAgIndyYXBwZWRfbmF0aXZlIjogIjB4MDk3RDkwYzlkM0UwQjUwQ2E2MGUxYWU0NUY2QTgxMDEwZjlGQjUzNCIsCiAgICAgICJzcmNfY29udHJhY3RzIjogewogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4YTdDQjVkMkYyNDMyYjUxRjA1YjM0NURmYTY4MDZCOTAwNzY3QjYzOCIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiA0NjU5ODE0CiAgICAgICAgfSwKICAgICAgICAiT3B0aW1pc20gR29lcmxpIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg2NWM3NUQ3ZmU1MTY2Nzc5NDlkQmM3ZmU3QzRCNEZBNTk3NUY1NTFCIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDQ2NTk4NDQKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHgxZDQ1ODEyODQ3MDM3NjlhQ2EyNzhjYWEzMDI3MkM3YmE5NTQ4Y2VGIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhDZkFGZDlkQWRkRThCMGQwMDAwYTQzNzJFNzExNjU2MjQzMGM0Y2M2IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhFZjQyMTY5OUUyNDAwNzFjMzE0ZDU3MDk0MTJjOEMwRDBjZTRlODc5IiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg1OURjM0FiM0NBOTA5OGQyNmNiMkU1MDdEZWRFOTAxNDZiZWE0OTY0IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9Cn0KIiIiCgpbQ0NJUC5Hcm91cHNdCltDQ0lQLkdyb3Vwcy5zbW9rZV0KTmV0d29ya1BhaXJzID0gWydBVkFMQU5DSEVfRlVKSSxPUFRJTUlTTV9HT0VSTEknLCAnQVZBTEFOQ0hFX0ZVSkksQVJCSVRSVU1fR09FUkxJJywgJ0FWQUxBTkNIRV9GVUpJLEJBU0VfR09FUkxJJ10KQmlEaXJlY3Rpb25hbExhbmUgPSBmYWxzZQpQaGFzZVRpbWVvdXQgPSAnMjBtJwpMb2NhbENsdXN0ZXIgPSBmYWxzZQpFeGlzdGluZ0RlcGxveW1lbnQgPSB0cnVlCk11bHRpY2FsbEluT25lVHggPSB0cnVlCk5vT2ZTZW5kc0luTXVsdGljYWxsID0gMTAKTm9PZlRva2Vuc1BlckNoYWluID0gMQpOb09mVG9rZW5zSW5Nc2cgPSAx + +export BASE64_TEST_CONFIG_OVERRIDE=W0NDSVBdCltDQ0lQLkRlcGxveW1lbnRzXQpEYXRhID0gIiIiCnsKICAibGFuZV9jb25maWdzIjogewogICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweGQxNDgzOEE2OEU4QUZCQWRFNWVmYjQxMWQ1ODcxZWEwMDExQUZkMjgiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHhmZDA2NEExOGYzQkYyNDljZjFmODdGQzIwM0U5MEQ4ZjY1MGYyZDYzIgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHg0MDk1MkU3ZjA3MkQxOTdBZjY4MTk0QzkwMjFEZTM1RTE4QWY3MUFlIgogICAgICBdLAogICAgICAiYXJtIjogIjB4QTc2M0E2NWY3Njk3YkUxRDlBODkwYzJBRDAwNjM4NkFkMGExNmZjQiIsCiAgICAgICJyb3V0ZXIiOiAiMHg5NDE1MUNkNDY3ZmYyMzEyYkMyZTA5ODBENEFlM0VFM0ZiOGY4OGFjIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4YWEwMDkwQWI3OTQ0NjQ4QzdkM0E5NTBmNzE0YjZBQ0QzMzM4Nzc0QiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDMyZDVENTk3ODkwNWQ5YzZjMkQ0QzQxN0YwRTA2RmU3NjhhNEZCNWEiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ0QWRlRDA0Q2E3N0FEOTVDOEY3NDIzNzcxMzQ4YjEzZjU1MzljNTEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDE3MTgKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ2MjY2NTVlRjYxRkVENjdiMzdjQzQ3NGQ3NkU5NTY1ZmNDOGYwZDkiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDc2NjEKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg4RjIyZkNkNjA3NDA5NjkyQUFDZDZmNWUwMjBCQ2Y0YzVCMkJlMzUyIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgxOTkyMTc4NThCN2ZlM0JDN0IyYjRjNTdjOUI1QzdlM2M0RGUyMDI3IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg1YTYyMzlDNjhhNzFmNDBCZGQzYzAzQ2VCOTE5MUYzZGFiRTAwMjlkIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhlQ2ZhNWU5MTRDM2Q0NDliNEE5QjQ2MjJEYzA5N0ZGNTBFNjA0RDUyIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHgwYjlkNUQ5MTM2ODU1ZjZGRWMzYzA5OTNmZUU2RTlDRThhMjk3ODQ2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4NTQyNTg5MDI5OGFlZDYwMTU5NWE3MEFCODE1Yzk2NzExYTMxQmM2NSIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4YjJkOEI4OEM0YjIzZDBEODY4MThiYzk3ODNFNkI1MDhhNzc3MWI4NCIKICAgICAgXSwKICAgICAgImFybSI6ICIweEQ0QTUxZEMwRjVDNjgwQThBMThlQTRFYzNBMmYyNUM2ZGI5NDI0QjciLAogICAgICAicm91dGVyIjogIjB4YTYyZTY4NWFERkY0NWYzOGVDOTQzNzg1MTNEMTI4RjE2ODk2NEU5OSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweGRiZUExYTEwQUM2YTJCNzI5YkYxMjhhRTkyODFFZDQyMGRiRTcxMTMiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHhkMDBhZTA4NDAzQjliYmI5MTI0YkIzMDVDMDkwNThFMzJDMzlBNDhjIiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4QWI5ZjIzMTdDMzY3ZjE5NTg1OTNGNzg5OTNDMjZDZEE1NEUzM2MwOSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NjczOAogICAgICAgIH0sCiAgICAgICAgIkJTQyBUZXN0bmV0IjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg5MDAwNjQ0MjgwNjJhNGFCRGRhM2Q1ZjJFMEQ1ZDMzQ2E1Yjg3NzBjIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDI3NTY3NDg0CiAgICAgICAgfSwKICAgICAgICAiQmFzZSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDg4RGJiQmE1OTA0ZTgwZUM2YjM0MWM4YzIyZGM5NTUzNEUzMjc0RDEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMjc1NjczMzUKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweEIxZjhBMGE0M2MyNDY1ZDdiYmY4NjY0YmZGQWQzOWY2ZmI3RmVkMjIiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMjc1NjY1MzUKICAgICAgICB9LAogICAgICAgICJQb2x5Z29uIE11bWJhaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4ZTc0RThEM2VBNEJDQWZFODVjZDUzZGE1NjhmOTQ0NmI5ZEE5Y0JCYSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NzYxNgogICAgICAgIH0sCiAgICAgICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4N0U0MDFjMzk3NjgwNzNiM0ZEQzdjRDE1QTQ0RTI4OTE0NTE1OGQxMyIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2Njk5NQogICAgICAgIH0KICAgICAgfSwKICAgICAgImRlc3RfY29udHJhY3RzIjogewogICAgICAgICJBcmJpdHJ1bSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg2Nzc4NDg4YTZmM0QwNjdBODFkQ0ZlMWI3MjBBYTdDODUxQ0Q3ZDhhIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg3Mzc0ZkZFMTFkNThCOTY5MmNlNTcwMzhFYjFjYzg5RDc0NTA4RDk0IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJCU0MgVGVzdG5ldCI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweGI2RGI4NGJDNDk2MjQ1RDQzNjRBNGNmMzQwQkNjMUIxQTk4NzhFZjYiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweERFQjIzY0NBM2M1NEM5MTdiMWYyNTVERDVFMUJmOTQxOTVENzg2QzIiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIkJhc2UgR29lcmxpIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MDk1MjBDOGVlRjhhQThlNTdkOWQ2MzkxMzA0QjY5YzM1MzEwM0I3NiIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MTYzMEFGQzA4QjlhODNBODJDODZGZjMyYTU4MTc4MzdhNDMyODU3OCIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiT3B0aW1pc20gR29lcmxpIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4QTI2ODY5RDZEM2VGNDAwNDg0ODg1QzAyOUNCMzNhYWZhOEY5NzhERSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4YjM5QzNhYzc2OEIyZUNBMDg2MzZlODIyN0EyNDIwNTQ0NDk4OTI5YiIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiUG9seWdvbiBNdW1iYWkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhmQ0ZlQTc3MDcxMTk3ZWZkMTM0N2VCNjgwOTQ1MmI4Y0JEN0I1OWYzIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg3RDEwM0U5MjAzRGRDRmU0OTNjOWYyOEQxQkE5NTg1NTZkMGU0QTdGIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJTZXBvbGlhIFRlc3RuZXQiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhFODE2YzZhQzBkZTQzNzVlQzY1ZTRhMzgzMEQwNzIwNTNERTgzZTFhIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg0NDZiN0NlQUQxZDBDNDg3YUQ4RWIyYjhGODZjMDhjOWUxNDJkZTE1IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQlNDIFRlc3RuZXQiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHg4NGI5QjkxMDUyN0FkNUMwM0E5Q2E4MzE5MDlFMjFlMjM2RUE3YjA2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4ODRiOUI5MTA1MjdBZDVDMDNBOUNhODMxOTA5RTIxZTIzNkVBN2IwNiIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4MjIzRjljQzU4MzcwMTM5MTk5QjUyNWU4RTUxQjE4MTI5QjY0ODQ2NiIKICAgICAgXSwKICAgICAgImFybSI6ICIweGJCRjUzNEQ4OWQ5NjQwZTM4ODZkYjI1RkUxZmZFNjAzRmUxNjBENzUiLAogICAgICAicm91dGVyIjogIjB4OUNkQTViNzdlQTIzNDU5ZUJhZjJlMzA5MmM1NzBhNkI1NjA1ODUwQSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweDkyMTM5NjdhNDdGQzNGMTVBMTZBMGI4MTMyMDhlOENjYjYzRGJiYTYiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHhhZTEzZDk4OWRhQzJmMGRFYkZmNDYwYUMxMTJhODM3Qzg5QkFhN2NkIiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHgwRDUyYzI0NzJEQzZmMzdGQmVFNTk1NTJiMTE2NWRlYWZlM2I5YTRCIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDM0OTQ1MDc2CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MDM5YWQ4Qjc2RWZjMjlGMWIyMzNkMDRCNDEzYTBEQ0FDQmU3RTkwMSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MEFBMTEwMjg2MmI1YWE3MUNGMzY4NTk2REI3NDA1MjFEYmI5RjU2NSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIkJhc2UgR29lcmxpIjogewogICAgICAiaXNfbW9ja19hcm0iOiB0cnVlLAogICAgICAiZmVlX3Rva2VuIjogIjB4RDg4NkUyMjg2RmQxMDczZGY4MjQ2MmVhMTgyMjExOTYwMEFmODBiNiIsCiAgICAgICJicmlkZ2VfdG9rZW5zIjogWwogICAgICAgICIweEYxNzU1MjBDNTI0MThkZkUxOUM4MDk4MDcxYTI1MmRhNDhDZDFDMTkiCiAgICAgIF0sCiAgICAgICJicmlkZ2VfdG9rZW5zX3Bvb2xzIjogWwogICAgICAgICIweDE0RDY2ZTUzMjk5MTc0QjhFZjExN2QzMzI4NUUxYzgxNEVENjUyZEUiCiAgICAgIF0sCiAgICAgICJhcm0iOiAiMHgyN0I4ODJjMzkzMTUxQUREOTEwRjM1NTc4NDlBRjBiYjA5YzdkNUE2IiwKICAgICAgInJvdXRlciI6ICIweDhBZWQ1MzE1NjM1NjhkZGU5RkY0MzdkODZjNjViNjM3NTM1YTVEQTMiLAogICAgICAicHJpY2VfcmVnaXN0cnkiOiAiMHg2RTUzMkY4NkNENTcyMUE5NzZmMTU1NjBBYTA2ODM1MjFjRmFCN2U3IiwKICAgICAgIndyYXBwZWRfbmF0aXZlIjogIjB4NDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNiIsCiAgICAgICJzcmNfY29udHJhY3RzIjogewogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4NDMzMTY1ZjE5MkY3NjY1RThmMENEN0EzNUY3OTMzMGZENDNEYTBENiIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxMjE2OTUzMQogICAgICAgIH0KICAgICAgfSwKICAgICAgImRlc3RfY29udHJhY3RzIjogewogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDA0Y2I5MWYxNGNmYzkwRTRhYjNmMTA4MjMxRTE5MURlQzIzM2VjODIiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweERlRDc5OUFiREI5ZmRlRWUwZkE3MzhCYkNFRjU2NTk5NkExNjlBMEUiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHhkYzJDQzcxMGU0Mjg1NzY3MkU3OTA3Q0Y0NzRhNjlCNjNCOTMwODlmIiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4ZTA1NjA2MTc0YmFjNEE2MzY0QjMxYmQwZUNBNGJmNGREMzY4ZjhDNiIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4YzAzQmM1NDE4NzA2OWUyMmZCNzhmM2ZjRTJkN0I1ZENlM2Y2ZUNFQSIKICAgICAgXSwKICAgICAgImFybSI6ICIweEMxYjliY2RDNmJFOWY0RDYyMjQ2NzJGMThmQzQ2ZmYzMzBGNDg3ZTEiLAogICAgICAicm91dGVyIjogIjB4REREZjk3OEZkODYxM0RiZDA2RTgwN2EzOWJjYTVjZTQzODNEM0ZmNSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweDg5MTQzYTRBQzJhQjM0NzJiNDE2ODdGRGQ3QTU4ZWZGYkEzNDYxREEiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHg0MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2IiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4NjY3NGZiZjNBNjY0OGQ0NTBGZDlGYUJlYzUwOGZCYjcwMDlCOGI1YSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxNzA1Mjc5NwogICAgICAgIH0sCiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHhCMGIxRjZCMjVEQzJlZDc3MDk1MTYxQjczNDRhQWI1ZDZGOUNmNWE4IiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDE3MDUxMzY0CiAgICAgICAgfSwKICAgICAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHgxMTUyRDI0NThCRWY3MzYwMTFFMEMxNzYyM2U4ZDAyODg3N0RlYzVlIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDE3MDUyMTA3CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDAyOTIyMjAyMmY0NDQ4ODdmM2QxMUQxOTgyMDAzQjZDYTczQkRiMTgiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDg5ZjcyNjQ4OTk4MjBGYWNCMzFkM0JhMDgyNjQwMmJkODg3NUFGMzIiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4NzgyMTEwODQyMTIxNEExYjQyOTRFMWNBNzcyODI2ZGM3MzEwQzdmOSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MTQ3ZjIwQ2M3RTU0ODQ0ZWIyZTRlN0VjQTQ5MzNEOTc0NTE3NjVDOSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4OWFhRDg5ODRGRjUxOTc1ZEQyNjUxMkI0NTdlQTgxNTNkMjE1MzAyYyIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4OEJBMjczY0U4RDA3QjZkMTBmQUNCMjE5YjJkOGM5NTFlRjJlMjU1YSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIlBvbHlnb24gTXVtYmFpIjogewogICAgICAiaXNfbW9ja19hcm0iOiB0cnVlLAogICAgICAiZmVlX3Rva2VuIjogIjB4MzI2Qzk3N0U2ZWZjODRFNTEyYkI5QzMwZjc2RTMwYzE2MGVEMDZGQiIsCiAgICAgICJicmlkZ2VfdG9rZW5zIjogbnVsbCwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBudWxsLAogICAgICAiYXJtIjogIjB4ODY2ZmFCOTJFMDRiQUU1RURhMjM4QTljYkZmMWU1NkUwOTUwOEFkZSIsCiAgICAgICJyb3V0ZXIiOiAiMHg0NzlBNmZGOWEyMzM1MTgwRDkyMzA2RDc2NzU0YkJCRGNBNzUxYkYwIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4RDg4NkUyMjg2RmQxMDczZGY4MjQ2MmVhMTgyMjExOTYwMEFmODBiNiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDljM0M5MjgzRDNlNDQ4NTQ2OTdDZDIyRDNGYWEyNDBDZmIwMzI4ODkiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDUxMTU4Q2E0MzlmZUE5RTgwOUJjMDYzQ2ZBNjcwMTc0N2IwNTI1NGUiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNDIxOTIwODYKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhEODRBMTZkZDQyMzVBRUJDQTk1MTVkYzNjYjVjRDE2NjVmNzRjQjJlIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgzNzAwNGMxMjQ1YTJENTU0MTM3N2U4N2NBMjk2OTk0OTJhNDExNEQ1IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAiaXNfbW9ja19hcm0iOiB0cnVlLAogICAgICAiZmVlX3Rva2VuIjogIjB4Nzc5ODc3QTdCMEQ5RTg2MDMxNjlEZGJENzgzNmU0NzhiNDYyNDc4OSIsCiAgICAgICJicmlkZ2VfdG9rZW5zIjogWwogICAgICAgICIweDc3OTg3N0E3QjBEOUU4NjAzMTY5RGRiRDc4MzZlNDc4YjQ2MjQ3ODkiLAogICAgICAgICIweDREMkQ1Q0FFZDMzMTVEM2M3ZTVlZTBlNDI3NmY2MjBBRTMyN0JlQkIiCiAgICAgIF0sCiAgICAgICJicmlkZ2VfdG9rZW5zX3Bvb2xzIjogWwogICAgICAgICIweDBkODU4RDY5NjA0NjRlMjcyMTAyNUI4YTQ3MTgwNUNhMzhhNzI1MDUiLAogICAgICAgICIweDI5MjFmQ2EwZkUyNUQ4MTA4OTVBNTg5MzFERDEwQTRDQ2M4NGZmM0YiCiAgICAgIF0sCiAgICAgICJhcm0iOiAiMHg5OTEyYTczODkzODJmZjU1Zjg1QTI5QzkzNzhCMzhGN0I5OTJjNGFFIiwKICAgICAgInJvdXRlciI6ICIweDFFMUYzZDhBYzdEZjY1ZkNjRmNjNTJkYkYwMzkyOWNFRTk1NDMwYWMiLAogICAgICAicHJpY2VfcmVnaXN0cnkiOiAiMHg0MzU4ZTgxZjg4YkIyNzIyMjc3OWMxQkM4NTAwM0ExMUExYzY2ZjZGIiwKICAgICAgIndyYXBwZWRfbmF0aXZlIjogIjB4MDk3RDkwYzlkM0UwQjUwQ2E2MGUxYWU0NUY2QTgxMDEwZjlGQjUzNCIsCiAgICAgICJzcmNfY29udHJhY3RzIjogewogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4YTdDQjVkMkYyNDMyYjUxRjA1YjM0NURmYTY4MDZCOTAwNzY3QjYzOCIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiA0NjU5ODE0CiAgICAgICAgfSwKICAgICAgICAiT3B0aW1pc20gR29lcmxpIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg2NWM3NUQ3ZmU1MTY2Nzc5NDlkQmM3ZmU3QzRCNEZBNTk3NUY1NTFCIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDQ2NTk4NDQKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHgxZDQ1ODEyODQ3MDM3NjlhQ2EyNzhjYWEzMDI3MkM3YmE5NTQ4Y2VGIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhDZkFGZDlkQWRkRThCMGQwMDAwYTQzNzJFNzExNjU2MjQzMGM0Y2M2IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhFZjQyMTY5OUUyNDAwNzFjMzE0ZDU3MDk0MTJjOEMwRDBjZTRlODc5IiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg1OURjM0FiM0NBOTA5OGQyNmNiMkU1MDdEZWRFOTAxNDZiZWE0OTY0IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9Cn0KIiIiCgpbQ0NJUC5Hcm91cHNdCltDQ0lQLkdyb3Vwcy5zbW9rZV0KTmV0d29ya1BhaXJzID0gWydBVkFMQU5DSEVfRlVKSSxPUFRJTUlTTV9HT0VSTEknLCAnQVZBTEFOQ0hFX0ZVSkksQVJCSVRSVU1fR09FUkxJJywgJ0FWQUxBTkNIRV9GVUpJLEJBU0VfR09FUkxJJ10KQmlEaXJlY3Rpb25hbExhbmUgPSBmYWxzZQpQaGFzZVRpbWVvdXQgPSAnMjBtJwpMb2NhbENsdXN0ZXIgPSBmYWxzZQpFeGlzdGluZ0RlcGxveW1lbnQgPSB0cnVlCk11bHRpY2FsbEluT25lVHggPSB0cnVlCk5vT2ZTZW5kc0luTXVsdGljYWxsID0gMTAKTm9PZlRva2Vuc1BlckNoYWluID0gMQpOb09mVG9rZW5zSW5Nc2cgPSAx +export TEST_BASE64_TEST_CONFIG_OVERRIDE=W0NDSVBdCltDQ0lQLkRlcGxveW1lbnRzXQpEYXRhID0gIiIiCnsKICAibGFuZV9jb25maWdzIjogewogICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweGQxNDgzOEE2OEU4QUZCQWRFNWVmYjQxMWQ1ODcxZWEwMDExQUZkMjgiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHhmZDA2NEExOGYzQkYyNDljZjFmODdGQzIwM0U5MEQ4ZjY1MGYyZDYzIgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHg0MDk1MkU3ZjA3MkQxOTdBZjY4MTk0QzkwMjFEZTM1RTE4QWY3MUFlIgogICAgICBdLAogICAgICAiYXJtIjogIjB4QTc2M0E2NWY3Njk3YkUxRDlBODkwYzJBRDAwNjM4NkFkMGExNmZjQiIsCiAgICAgICJyb3V0ZXIiOiAiMHg5NDE1MUNkNDY3ZmYyMzEyYkMyZTA5ODBENEFlM0VFM0ZiOGY4OGFjIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4YWEwMDkwQWI3OTQ0NjQ4QzdkM0E5NTBmNzE0YjZBQ0QzMzM4Nzc0QiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDMyZDVENTk3ODkwNWQ5YzZjMkQ0QzQxN0YwRTA2RmU3NjhhNEZCNWEiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ0QWRlRDA0Q2E3N0FEOTVDOEY3NDIzNzcxMzQ4YjEzZjU1MzljNTEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDE3MTgKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ2MjY2NTVlRjYxRkVENjdiMzdjQzQ3NGQ3NkU5NTY1ZmNDOGYwZDkiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDc2NjEKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg4RjIyZkNkNjA3NDA5NjkyQUFDZDZmNWUwMjBCQ2Y0YzVCMkJlMzUyIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgxOTkyMTc4NThCN2ZlM0JDN0IyYjRjNTdjOUI1QzdlM2M0RGUyMDI3IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg1YTYyMzlDNjhhNzFmNDBCZGQzYzAzQ2VCOTE5MUYzZGFiRTAwMjlkIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhlQ2ZhNWU5MTRDM2Q0NDliNEE5QjQ2MjJEYzA5N0ZGNTBFNjA0RDUyIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHgwYjlkNUQ5MTM2ODU1ZjZGRWMzYzA5OTNmZUU2RTlDRThhMjk3ODQ2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4NTQyNTg5MDI5OGFlZDYwMTU5NWE3MEFCODE1Yzk2NzExYTMxQmM2NSIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4YjJkOEI4OEM0YjIzZDBEODY4MThiYzk3ODNFNkI1MDhhNzc3MWI4NCIKICAgICAgXSwKICAgICAgImFybSI6ICIweEQ0QTUxZEMwRjVDNjgwQThBMThlQTRFYzNBMmYyNUM2ZGI5NDI0QjciLAogICAgICAicm91dGVyIjogIjB4YTYyZTY4NWFERkY0NWYzOGVDOTQzNzg1MTNEMTI4RjE2ODk2NEU5OSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweGRiZUExYTEwQUM2YTJCNzI5YkYxMjhhRTkyODFFZDQyMGRiRTcxMTMiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHhkMDBhZTA4NDAzQjliYmI5MTI0YkIzMDVDMDkwNThFMzJDMzlBNDhjIiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4QWI5ZjIzMTdDMzY3ZjE5NTg1OTNGNzg5OTNDMjZDZEE1NEUzM2MwOSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NjczOAogICAgICAgIH0sCiAgICAgICAgIkJTQyBUZXN0bmV0IjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg5MDAwNjQ0MjgwNjJhNGFCRGRhM2Q1ZjJFMEQ1ZDMzQ2E1Yjg3NzBjIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDI3NTY3NDg0CiAgICAgICAgfSwKICAgICAgICAiQmFzZSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDg4RGJiQmE1OTA0ZTgwZUM2YjM0MWM4YzIyZGM5NTUzNEUzMjc0RDEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMjc1NjczMzUKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweEIxZjhBMGE0M2MyNDY1ZDdiYmY4NjY0YmZGQWQzOWY2ZmI3RmVkMjIiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMjc1NjY1MzUKICAgICAgICB9LAogICAgICAgICJQb2x5Z29uIE11bWJhaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4ZTc0RThEM2VBNEJDQWZFODVjZDUzZGE1NjhmOTQ0NmI5ZEE5Y0JCYSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NzYxNgogICAgICAgIH0sCiAgICAgICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4N0U0MDFjMzk3NjgwNzNiM0ZEQzdjRDE1QTQ0RTI4OTE0NTE1OGQxMyIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2Njk5NQogICAgICAgIH0KICAgICAgfSwKICAgICAgImRlc3RfY29udHJhY3RzIjogewogICAgICAgICJBcmJpdHJ1bSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg2Nzc4NDg4YTZmM0QwNjdBODFkQ0ZlMWI3MjBBYTdDODUxQ0Q3ZDhhIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg3Mzc0ZkZFMTFkNThCOTY5MmNlNTcwMzhFYjFjYzg5RDc0NTA4RDk0IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJCU0MgVGVzdG5ldCI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweGI2RGI4NGJDNDk2MjQ1RDQzNjRBNGNmMzQwQkNjMUIxQTk4NzhFZjYiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweERFQjIzY0NBM2M1NEM5MTdiMWYyNTVERDVFMUJmOTQxOTVENzg2QzIiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIkJhc2UgR29lcmxpIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MDk1MjBDOGVlRjhhQThlNTdkOWQ2MzkxMzA0QjY5YzM1MzEwM0I3NiIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MTYzMEFGQzA4QjlhODNBODJDODZGZjMyYTU4MTc4MzdhNDMyODU3OCIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiT3B0aW1pc20gR29lcmxpIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4QTI2ODY5RDZEM2VGNDAwNDg0ODg1QzAyOUNCMzNhYWZhOEY5NzhERSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4YjM5QzNhYzc2OEIyZUNBMDg2MzZlODIyN0EyNDIwNTQ0NDk4OTI5YiIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiUG9seWdvbiBNdW1iYWkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhmQ0ZlQTc3MDcxMTk3ZWZkMTM0N2VCNjgwOTQ1MmI4Y0JEN0I1OWYzIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg3RDEwM0U5MjAzRGRDRmU0OTNjOWYyOEQxQkE5NTg1NTZkMGU0QTdGIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJTZXBvbGlhIFRlc3RuZXQiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhFODE2YzZhQzBkZTQzNzVlQzY1ZTRhMzgzMEQwNzIwNTNERTgzZTFhIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg0NDZiN0NlQUQxZDBDNDg3YUQ4RWIyYjhGODZjMDhjOWUxNDJkZTE1IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQlNDIFRlc3RuZXQiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHg4NGI5QjkxMDUyN0FkNUMwM0E5Q2E4MzE5MDlFMjFlMjM2RUE3YjA2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4ODRiOUI5MTA1MjdBZDVDMDNBOUNhODMxOTA5RTIxZTIzNkVBN2IwNiIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4MjIzRjljQzU4MzcwMTM5MTk5QjUyNWU4RTUxQjE4MTI5QjY0ODQ2NiIKICAgICAgXSwKICAgICAgImFybSI6ICIweGJCRjUzNEQ4OWQ5NjQwZTM4ODZkYjI1RkUxZmZFNjAzRmUxNjBENzUiLAogICAgICAicm91dGVyIjogIjB4OUNkQTViNzdlQTIzNDU5ZUJhZjJlMzA5MmM1NzBhNkI1NjA1ODUwQSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweDkyMTM5NjdhNDdGQzNGMTVBMTZBMGI4MTMyMDhlOENjYjYzRGJiYTYiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHhhZTEzZDk4OWRhQzJmMGRFYkZmNDYwYUMxMTJhODM3Qzg5QkFhN2NkIiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHgwRDUyYzI0NzJEQzZmMzdGQmVFNTk1NTJiMTE2NWRlYWZlM2I5YTRCIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDM0OTQ1MDc2CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MDM5YWQ4Qjc2RWZjMjlGMWIyMzNkMDRCNDEzYTBEQ0FDQmU3RTkwMSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MEFBMTEwMjg2MmI1YWE3MUNGMzY4NTk2REI3NDA1MjFEYmI5RjU2NSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIkJhc2UgR29lcmxpIjogewogICAgICAiaXNfbW9ja19hcm0iOiB0cnVlLAogICAgICAiZmVlX3Rva2VuIjogIjB4RDg4NkUyMjg2RmQxMDczZGY4MjQ2MmVhMTgyMjExOTYwMEFmODBiNiIsCiAgICAgICJicmlkZ2VfdG9rZW5zIjogWwogICAgICAgICIweEYxNzU1MjBDNTI0MThkZkUxOUM4MDk4MDcxYTI1MmRhNDhDZDFDMTkiCiAgICAgIF0sCiAgICAgICJicmlkZ2VfdG9rZW5zX3Bvb2xzIjogWwogICAgICAgICIweDE0RDY2ZTUzMjk5MTc0QjhFZjExN2QzMzI4NUUxYzgxNEVENjUyZEUiCiAgICAgIF0sCiAgICAgICJhcm0iOiAiMHgyN0I4ODJjMzkzMTUxQUREOTEwRjM1NTc4NDlBRjBiYjA5YzdkNUE2IiwKICAgICAgInJvdXRlciI6ICIweDhBZWQ1MzE1NjM1NjhkZGU5RkY0MzdkODZjNjViNjM3NTM1YTVEQTMiLAogICAgICAicHJpY2VfcmVnaXN0cnkiOiAiMHg2RTUzMkY4NkNENTcyMUE5NzZmMTU1NjBBYTA2ODM1MjFjRmFCN2U3IiwKICAgICAgIndyYXBwZWRfbmF0aXZlIjogIjB4NDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNiIsCiAgICAgICJzcmNfY29udHJhY3RzIjogewogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4NDMzMTY1ZjE5MkY3NjY1RThmMENEN0EzNUY3OTMzMGZENDNEYTBENiIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxMjE2OTUzMQogICAgICAgIH0KICAgICAgfSwKICAgICAgImRlc3RfY29udHJhY3RzIjogewogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDA0Y2I5MWYxNGNmYzkwRTRhYjNmMTA4MjMxRTE5MURlQzIzM2VjODIiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweERlRDc5OUFiREI5ZmRlRWUwZkE3MzhCYkNFRjU2NTk5NkExNjlBMEUiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHhkYzJDQzcxMGU0Mjg1NzY3MkU3OTA3Q0Y0NzRhNjlCNjNCOTMwODlmIiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4ZTA1NjA2MTc0YmFjNEE2MzY0QjMxYmQwZUNBNGJmNGREMzY4ZjhDNiIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4YzAzQmM1NDE4NzA2OWUyMmZCNzhmM2ZjRTJkN0I1ZENlM2Y2ZUNFQSIKICAgICAgXSwKICAgICAgImFybSI6ICIweEMxYjliY2RDNmJFOWY0RDYyMjQ2NzJGMThmQzQ2ZmYzMzBGNDg3ZTEiLAogICAgICAicm91dGVyIjogIjB4REREZjk3OEZkODYxM0RiZDA2RTgwN2EzOWJjYTVjZTQzODNEM0ZmNSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweDg5MTQzYTRBQzJhQjM0NzJiNDE2ODdGRGQ3QTU4ZWZGYkEzNDYxREEiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHg0MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2IiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4NjY3NGZiZjNBNjY0OGQ0NTBGZDlGYUJlYzUwOGZCYjcwMDlCOGI1YSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxNzA1Mjc5NwogICAgICAgIH0sCiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHhCMGIxRjZCMjVEQzJlZDc3MDk1MTYxQjczNDRhQWI1ZDZGOUNmNWE4IiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDE3MDUxMzY0CiAgICAgICAgfSwKICAgICAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHgxMTUyRDI0NThCRWY3MzYwMTFFMEMxNzYyM2U4ZDAyODg3N0RlYzVlIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDE3MDUyMTA3CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDAyOTIyMjAyMmY0NDQ4ODdmM2QxMUQxOTgyMDAzQjZDYTczQkRiMTgiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDg5ZjcyNjQ4OTk4MjBGYWNCMzFkM0JhMDgyNjQwMmJkODg3NUFGMzIiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4NzgyMTEwODQyMTIxNEExYjQyOTRFMWNBNzcyODI2ZGM3MzEwQzdmOSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MTQ3ZjIwQ2M3RTU0ODQ0ZWIyZTRlN0VjQTQ5MzNEOTc0NTE3NjVDOSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4OWFhRDg5ODRGRjUxOTc1ZEQyNjUxMkI0NTdlQTgxNTNkMjE1MzAyYyIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4OEJBMjczY0U4RDA3QjZkMTBmQUNCMjE5YjJkOGM5NTFlRjJlMjU1YSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIlBvbHlnb24gTXVtYmFpIjogewogICAgICAiaXNfbW9ja19hcm0iOiB0cnVlLAogICAgICAiZmVlX3Rva2VuIjogIjB4MzI2Qzk3N0U2ZWZjODRFNTEyYkI5QzMwZjc2RTMwYzE2MGVEMDZGQiIsCiAgICAgICJicmlkZ2VfdG9rZW5zIjogbnVsbCwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBudWxsLAogICAgICAiYXJtIjogIjB4ODY2ZmFCOTJFMDRiQUU1RURhMjM4QTljYkZmMWU1NkUwOTUwOEFkZSIsCiAgICAgICJyb3V0ZXIiOiAiMHg0NzlBNmZGOWEyMzM1MTgwRDkyMzA2RDc2NzU0YkJCRGNBNzUxYkYwIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4RDg4NkUyMjg2RmQxMDczZGY4MjQ2MmVhMTgyMjExOTYwMEFmODBiNiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDljM0M5MjgzRDNlNDQ4NTQ2OTdDZDIyRDNGYWEyNDBDZmIwMzI4ODkiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDUxMTU4Q2E0MzlmZUE5RTgwOUJjMDYzQ2ZBNjcwMTc0N2IwNTI1NGUiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNDIxOTIwODYKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhEODRBMTZkZDQyMzVBRUJDQTk1MTVkYzNjYjVjRDE2NjVmNzRjQjJlIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgzNzAwNGMxMjQ1YTJENTU0MTM3N2U4N2NBMjk2OTk0OTJhNDExNEQ1IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAiaXNfbW9ja19hcm0iOiB0cnVlLAogICAgICAiZmVlX3Rva2VuIjogIjB4Nzc5ODc3QTdCMEQ5RTg2MDMxNjlEZGJENzgzNmU0NzhiNDYyNDc4OSIsCiAgICAgICJicmlkZ2VfdG9rZW5zIjogWwogICAgICAgICIweDc3OTg3N0E3QjBEOUU4NjAzMTY5RGRiRDc4MzZlNDc4YjQ2MjQ3ODkiLAogICAgICAgICIweDREMkQ1Q0FFZDMzMTVEM2M3ZTVlZTBlNDI3NmY2MjBBRTMyN0JlQkIiCiAgICAgIF0sCiAgICAgICJicmlkZ2VfdG9rZW5zX3Bvb2xzIjogWwogICAgICAgICIweDBkODU4RDY5NjA0NjRlMjcyMTAyNUI4YTQ3MTgwNUNhMzhhNzI1MDUiLAogICAgICAgICIweDI5MjFmQ2EwZkUyNUQ4MTA4OTVBNTg5MzFERDEwQTRDQ2M4NGZmM0YiCiAgICAgIF0sCiAgICAgICJhcm0iOiAiMHg5OTEyYTczODkzODJmZjU1Zjg1QTI5QzkzNzhCMzhGN0I5OTJjNGFFIiwKICAgICAgInJvdXRlciI6ICIweDFFMUYzZDhBYzdEZjY1ZkNjRmNjNTJkYkYwMzkyOWNFRTk1NDMwYWMiLAogICAgICAicHJpY2VfcmVnaXN0cnkiOiAiMHg0MzU4ZTgxZjg4YkIyNzIyMjc3OWMxQkM4NTAwM0ExMUExYzY2ZjZGIiwKICAgICAgIndyYXBwZWRfbmF0aXZlIjogIjB4MDk3RDkwYzlkM0UwQjUwQ2E2MGUxYWU0NUY2QTgxMDEwZjlGQjUzNCIsCiAgICAgICJzcmNfY29udHJhY3RzIjogewogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4YTdDQjVkMkYyNDMyYjUxRjA1YjM0NURmYTY4MDZCOTAwNzY3QjYzOCIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiA0NjU5ODE0CiAgICAgICAgfSwKICAgICAgICAiT3B0aW1pc20gR29lcmxpIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg2NWM3NUQ3ZmU1MTY2Nzc5NDlkQmM3ZmU3QzRCNEZBNTk3NUY1NTFCIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDQ2NTk4NDQKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHgxZDQ1ODEyODQ3MDM3NjlhQ2EyNzhjYWEzMDI3MkM3YmE5NTQ4Y2VGIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhDZkFGZDlkQWRkRThCMGQwMDAwYTQzNzJFNzExNjU2MjQzMGM0Y2M2IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhFZjQyMTY5OUUyNDAwNzFjMzE0ZDU3MDk0MTJjOEMwRDBjZTRlODc5IiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg1OURjM0FiM0NBOTA5OGQyNmNiMkU1MDdEZWRFOTAxNDZiZWE0OTY0IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9Cn0KIiIiCgpbQ0NJUC5Hcm91cHNdCltDQ0lQLkdyb3Vwcy5zbW9rZV0KTmV0d29ya1BhaXJzID0gWydBVkFMQU5DSEVfRlVKSSxPUFRJTUlTTV9HT0VSTEknLCAnQVZBTEFOQ0hFX0ZVSkksQVJCSVRSVU1fR09FUkxJJywgJ0FWQUxBTkNIRV9GVUpJLEJBU0VfR09FUkxJJ10KQmlEaXJlY3Rpb25hbExhbmUgPSBmYWxzZQpQaGFzZVRpbWVvdXQgPSAnMjBtJwpMb2NhbENsdXN0ZXIgPSBmYWxzZQpFeGlzdGluZ0RlcGxveW1lbnQgPSB0cnVlCk11bHRpY2FsbEluT25lVHggPSB0cnVlCk5vT2ZTZW5kc0luTXVsdGljYWxsID0gMTAKTm9PZlRva2Vuc1BlckNoYWluID0gMQpOb09mVG9rZW5zSW5Nc2cgPSAx + +export BASE64_TEST_CONFIG_OVERRIDE=W0NDSVBdCltDQ0lQLkRlcGxveW1lbnRzXQpEYXRhID0gIiIiCnsKICAibGFuZV9jb25maWdzIjogewogICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweGQxNDgzOEE2OEU4QUZCQWRFNWVmYjQxMWQ1ODcxZWEwMDExQUZkMjgiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHhmZDA2NEExOGYzQkYyNDljZjFmODdGQzIwM0U5MEQ4ZjY1MGYyZDYzIgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHg0MDk1MkU3ZjA3MkQxOTdBZjY4MTk0QzkwMjFEZTM1RTE4QWY3MUFlIgogICAgICBdLAogICAgICAiYXJtIjogIjB4QTc2M0E2NWY3Njk3YkUxRDlBODkwYzJBRDAwNjM4NkFkMGExNmZjQiIsCiAgICAgICJyb3V0ZXIiOiAiMHg5NDE1MUNkNDY3ZmYyMzEyYkMyZTA5ODBENEFlM0VFM0ZiOGY4OGFjIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4YWEwMDkwQWI3OTQ0NjQ4QzdkM0E5NTBmNzE0YjZBQ0QzMzM4Nzc0QiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDMyZDVENTk3ODkwNWQ5YzZjMkQ0QzQxN0YwRTA2RmU3NjhhNEZCNWEiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ0QWRlRDA0Q2E3N0FEOTVDOEY3NDIzNzcxMzQ4YjEzZjU1MzljNTEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDE3MTgKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ2MjY2NTVlRjYxRkVENjdiMzdjQzQ3NGQ3NkU5NTY1ZmNDOGYwZDkiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDc2NjEKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg4RjIyZkNkNjA3NDA5NjkyQUFDZDZmNWUwMjBCQ2Y0YzVCMkJlMzUyIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgxOTkyMTc4NThCN2ZlM0JDN0IyYjRjNTdjOUI1QzdlM2M0RGUyMDI3IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg1YTYyMzlDNjhhNzFmNDBCZGQzYzAzQ2VCOTE5MUYzZGFiRTAwMjlkIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhlQ2ZhNWU5MTRDM2Q0NDliNEE5QjQ2MjJEYzA5N0ZGNTBFNjA0RDUyIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHgwYjlkNUQ5MTM2ODU1ZjZGRWMzYzA5OTNmZUU2RTlDRThhMjk3ODQ2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4NTQyNTg5MDI5OGFlZDYwMTU5NWE3MEFCODE1Yzk2NzExYTMxQmM2NSIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4YjJkOEI4OEM0YjIzZDBEODY4MThiYzk3ODNFNkI1MDhhNzc3MWI4NCIKICAgICAgXSwKICAgICAgImFybSI6ICIweEQ0QTUxZEMwRjVDNjgwQThBMThlQTRFYzNBMmYyNUM2ZGI5NDI0QjciLAogICAgICAicm91dGVyIjogIjB4YTYyZTY4NWFERkY0NWYzOGVDOTQzNzg1MTNEMTI4RjE2ODk2NEU5OSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweGRiZUExYTEwQUM2YTJCNzI5YkYxMjhhRTkyODFFZDQyMGRiRTcxMTMiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHhkMDBhZTA4NDAzQjliYmI5MTI0YkIzMDVDMDkwNThFMzJDMzlBNDhjIiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4QWI5ZjIzMTdDMzY3ZjE5NTg1OTNGNzg5OTNDMjZDZEE1NEUzM2MwOSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NjczOAogICAgICAgIH0sCiAgICAgICAgIkJTQyBUZXN0bmV0IjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg5MDAwNjQ0MjgwNjJhNGFCRGRhM2Q1ZjJFMEQ1ZDMzQ2E1Yjg3NzBjIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDI3NTY3NDg0CiAgICAgICAgfSwKICAgICAgICAiQmFzZSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDg4RGJiQmE1OTA0ZTgwZUM2YjM0MWM4YzIyZGM5NTUzNEUzMjc0RDEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMjc1NjczMzUKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweEIxZjhBMGE0M2MyNDY1ZDdiYmY4NjY0YmZGQWQzOWY2ZmI3RmVkMjIiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMjc1NjY1MzUKICAgICAgICB9LAogICAgICAgICJQb2x5Z29uIE11bWJhaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4ZTc0RThEM2VBNEJDQWZFODVjZDUzZGE1NjhmOTQ0NmI5ZEE5Y0JCYSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NzYxNgogICAgICAgIH0sCiAgICAgICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4N0U0MDFjMzk3NjgwNzNiM0ZEQzdjRDE1QTQ0RTI4OTE0NTE1OGQxMyIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2Njk5NQogICAgICAgIH0KICAgICAgfSwKICAgICAgImRlc3RfY29udHJhY3RzIjogewogICAgICAgICJBcmJpdHJ1bSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg2Nzc4NDg4YTZmM0QwNjdBODFkQ0ZlMWI3MjBBYTdDODUxQ0Q3ZDhhIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg3Mzc0ZkZFMTFkNThCOTY5MmNlNTcwMzhFYjFjYzg5RDc0NTA4RDk0IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJCU0MgVGVzdG5ldCI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweGI2RGI4NGJDNDk2MjQ1RDQzNjRBNGNmMzQwQkNjMUIxQTk4NzhFZjYiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweERFQjIzY0NBM2M1NEM5MTdiMWYyNTVERDVFMUJmOTQxOTVENzg2QzIiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIkJhc2UgR29lcmxpIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MDk1MjBDOGVlRjhhQThlNTdkOWQ2MzkxMzA0QjY5YzM1MzEwM0I3NiIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MTYzMEFGQzA4QjlhODNBODJDODZGZjMyYTU4MTc4MzdhNDMyODU3OCIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiT3B0aW1pc20gR29lcmxpIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4QTI2ODY5RDZEM2VGNDAwNDg0ODg1QzAyOUNCMzNhYWZhOEY5NzhERSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4YjM5QzNhYzc2OEIyZUNBMDg2MzZlODIyN0EyNDIwNTQ0NDk4OTI5YiIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiUG9seWdvbiBNdW1iYWkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhmQ0ZlQTc3MDcxMTk3ZWZkMTM0N2VCNjgwOTQ1MmI4Y0JEN0I1OWYzIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg3RDEwM0U5MjAzRGRDRmU0OTNjOWYyOEQxQkE5NTg1NTZkMGU0QTdGIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJTZXBvbGlhIFRlc3RuZXQiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhFODE2YzZhQzBkZTQzNzVlQzY1ZTRhMzgzMEQwNzIwNTNERTgzZTFhIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg0NDZiN0NlQUQxZDBDNDg3YUQ4RWIyYjhGODZjMDhjOWUxNDJkZTE1IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQlNDIFRlc3RuZXQiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHg4NGI5QjkxMDUyN0FkNUMwM0E5Q2E4MzE5MDlFMjFlMjM2RUE3YjA2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4ODRiOUI5MTA1MjdBZDVDMDNBOUNhODMxOTA5RTIxZTIzNkVBN2IwNiIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4MjIzRjljQzU4MzcwMTM5MTk5QjUyNWU4RTUxQjE4MTI5QjY0ODQ2NiIKICAgICAgXSwKICAgICAgImFybSI6ICIweGJCRjUzNEQ4OWQ5NjQwZTM4ODZkYjI1RkUxZmZFNjAzRmUxNjBENzUiLAogICAgICAicm91dGVyIjogIjB4OUNkQTViNzdlQTIzNDU5ZUJhZjJlMzA5MmM1NzBhNkI1NjA1ODUwQSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweDkyMTM5NjdhNDdGQzNGMTVBMTZBMGI4MTMyMDhlOENjYjYzRGJiYTYiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHhhZTEzZDk4OWRhQzJmMGRFYkZmNDYwYUMxMTJhODM3Qzg5QkFhN2NkIiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHgwRDUyYzI0NzJEQzZmMzdGQmVFNTk1NTJiMTE2NWRlYWZlM2I5YTRCIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDM0OTQ1MDc2CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MDM5YWQ4Qjc2RWZjMjlGMWIyMzNkMDRCNDEzYTBEQ0FDQmU3RTkwMSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MEFBMTEwMjg2MmI1YWE3MUNGMzY4NTk2REI3NDA1MjFEYmI5RjU2NSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIkJhc2UgR29lcmxpIjogewogICAgICAiaXNfbW9ja19hcm0iOiB0cnVlLAogICAgICAiZmVlX3Rva2VuIjogIjB4RDg4NkUyMjg2RmQxMDczZGY4MjQ2MmVhMTgyMjExOTYwMEFmODBiNiIsCiAgICAgICJicmlkZ2VfdG9rZW5zIjogWwogICAgICAgICIweEYxNzU1MjBDNTI0MThkZkUxOUM4MDk4MDcxYTI1MmRhNDhDZDFDMTkiCiAgICAgIF0sCiAgICAgICJicmlkZ2VfdG9rZW5zX3Bvb2xzIjogWwogICAgICAgICIweDE0RDY2ZTUzMjk5MTc0QjhFZjExN2QzMzI4NUUxYzgxNEVENjUyZEUiCiAgICAgIF0sCiAgICAgICJhcm0iOiAiMHgyN0I4ODJjMzkzMTUxQUREOTEwRjM1NTc4NDlBRjBiYjA5YzdkNUE2IiwKICAgICAgInJvdXRlciI6ICIweDhBZWQ1MzE1NjM1NjhkZGU5RkY0MzdkODZjNjViNjM3NTM1YTVEQTMiLAogICAgICAicHJpY2VfcmVnaXN0cnkiOiAiMHg2RTUzMkY4NkNENTcyMUE5NzZmMTU1NjBBYTA2ODM1MjFjRmFCN2U3IiwKICAgICAgIndyYXBwZWRfbmF0aXZlIjogIjB4NDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNiIsCiAgICAgICJzcmNfY29udHJhY3RzIjogewogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4NDMzMTY1ZjE5MkY3NjY1RThmMENEN0EzNUY3OTMzMGZENDNEYTBENiIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxMjE2OTUzMQogICAgICAgIH0KICAgICAgfSwKICAgICAgImRlc3RfY29udHJhY3RzIjogewogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDA0Y2I5MWYxNGNmYzkwRTRhYjNmMTA4MjMxRTE5MURlQzIzM2VjODIiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweERlRDc5OUFiREI5ZmRlRWUwZkE3MzhCYkNFRjU2NTk5NkExNjlBMEUiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHhkYzJDQzcxMGU0Mjg1NzY3MkU3OTA3Q0Y0NzRhNjlCNjNCOTMwODlmIiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4ZTA1NjA2MTc0YmFjNEE2MzY0QjMxYmQwZUNBNGJmNGREMzY4ZjhDNiIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4YzAzQmM1NDE4NzA2OWUyMmZCNzhmM2ZjRTJkN0I1ZENlM2Y2ZUNFQSIKICAgICAgXSwKICAgICAgImFybSI6ICIweEMxYjliY2RDNmJFOWY0RDYyMjQ2NzJGMThmQzQ2ZmYzMzBGNDg3ZTEiLAogICAgICAicm91dGVyIjogIjB4REREZjk3OEZkODYxM0RiZDA2RTgwN2EzOWJjYTVjZTQzODNEM0ZmNSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweDg5MTQzYTRBQzJhQjM0NzJiNDE2ODdGRGQ3QTU4ZWZGYkEzNDYxREEiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHg0MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2IiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4NjY3NGZiZjNBNjY0OGQ0NTBGZDlGYUJlYzUwOGZCYjcwMDlCOGI1YSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxNzA1Mjc5NwogICAgICAgIH0sCiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHhCMGIxRjZCMjVEQzJlZDc3MDk1MTYxQjczNDRhQWI1ZDZGOUNmNWE4IiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDE3MDUxMzY0CiAgICAgICAgfSwKICAgICAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHgxMTUyRDI0NThCRWY3MzYwMTFFMEMxNzYyM2U4ZDAyODg3N0RlYzVlIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDE3MDUyMTA3CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDAyOTIyMjAyMmY0NDQ4ODdmM2QxMUQxOTgyMDAzQjZDYTczQkRiMTgiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDg5ZjcyNjQ4OTk4MjBGYWNCMzFkM0JhMDgyNjQwMmJkODg3NUFGMzIiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4NzgyMTEwODQyMTIxNEExYjQyOTRFMWNBNzcyODI2ZGM3MzEwQzdmOSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MTQ3ZjIwQ2M3RTU0ODQ0ZWIyZTRlN0VjQTQ5MzNEOTc0NTE3NjVDOSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4OWFhRDg5ODRGRjUxOTc1ZEQyNjUxMkI0NTdlQTgxNTNkMjE1MzAyYyIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4OEJBMjczY0U4RDA3QjZkMTBmQUNCMjE5YjJkOGM5NTFlRjJlMjU1YSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIlBvbHlnb24gTXVtYmFpIjogewogICAgICAiaXNfbW9ja19hcm0iOiB0cnVlLAogICAgICAiZmVlX3Rva2VuIjogIjB4MzI2Qzk3N0U2ZWZjODRFNTEyYkI5QzMwZjc2RTMwYzE2MGVEMDZGQiIsCiAgICAgICJicmlkZ2VfdG9rZW5zIjogbnVsbCwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBudWxsLAogICAgICAiYXJtIjogIjB4ODY2ZmFCOTJFMDRiQUU1RURhMjM4QTljYkZmMWU1NkUwOTUwOEFkZSIsCiAgICAgICJyb3V0ZXIiOiAiMHg0NzlBNmZGOWEyMzM1MTgwRDkyMzA2RDc2NzU0YkJCRGNBNzUxYkYwIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4RDg4NkUyMjg2RmQxMDczZGY4MjQ2MmVhMTgyMjExOTYwMEFmODBiNiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDljM0M5MjgzRDNlNDQ4NTQ2OTdDZDIyRDNGYWEyNDBDZmIwMzI4ODkiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDUxMTU4Q2E0MzlmZUE5RTgwOUJjMDYzQ2ZBNjcwMTc0N2IwNTI1NGUiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNDIxOTIwODYKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhEODRBMTZkZDQyMzVBRUJDQTk1MTVkYzNjYjVjRDE2NjVmNzRjQjJlIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgzNzAwNGMxMjQ1YTJENTU0MTM3N2U4N2NBMjk2OTk0OTJhNDExNEQ1IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAiaXNfbW9ja19hcm0iOiB0cnVlLAogICAgICAiZmVlX3Rva2VuIjogIjB4Nzc5ODc3QTdCMEQ5RTg2MDMxNjlEZGJENzgzNmU0NzhiNDYyNDc4OSIsCiAgICAgICJicmlkZ2VfdG9rZW5zIjogWwogICAgICAgICIweDc3OTg3N0E3QjBEOUU4NjAzMTY5RGRiRDc4MzZlNDc4YjQ2MjQ3ODkiLAogICAgICAgICIweDREMkQ1Q0FFZDMzMTVEM2M3ZTVlZTBlNDI3NmY2MjBBRTMyN0JlQkIiCiAgICAgIF0sCiAgICAgICJicmlkZ2VfdG9rZW5zX3Bvb2xzIjogWwogICAgICAgICIweDBkODU4RDY5NjA0NjRlMjcyMTAyNUI4YTQ3MTgwNUNhMzhhNzI1MDUiLAogICAgICAgICIweDI5MjFmQ2EwZkUyNUQ4MTA4OTVBNTg5MzFERDEwQTRDQ2M4NGZmM0YiCiAgICAgIF0sCiAgICAgICJhcm0iOiAiMHg5OTEyYTczODkzODJmZjU1Zjg1QTI5QzkzNzhCMzhGN0I5OTJjNGFFIiwKICAgICAgInJvdXRlciI6ICIweDFFMUYzZDhBYzdEZjY1ZkNjRmNjNTJkYkYwMzkyOWNFRTk1NDMwYWMiLAogICAgICAicHJpY2VfcmVnaXN0cnkiOiAiMHg0MzU4ZTgxZjg4YkIyNzIyMjc3OWMxQkM4NTAwM0ExMUExYzY2ZjZGIiwKICAgICAgIndyYXBwZWRfbmF0aXZlIjogIjB4MDk3RDkwYzlkM0UwQjUwQ2E2MGUxYWU0NUY2QTgxMDEwZjlGQjUzNCIsCiAgICAgICJzcmNfY29udHJhY3RzIjogewogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4YTdDQjVkMkYyNDMyYjUxRjA1YjM0NURmYTY4MDZCOTAwNzY3QjYzOCIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiA0NjU5ODE0CiAgICAgICAgfSwKICAgICAgICAiT3B0aW1pc20gR29lcmxpIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg2NWM3NUQ3ZmU1MTY2Nzc5NDlkQmM3ZmU3QzRCNEZBNTk3NUY1NTFCIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDQ2NTk4NDQKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHgxZDQ1ODEyODQ3MDM3NjlhQ2EyNzhjYWEzMDI3MkM3YmE5NTQ4Y2VGIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhDZkFGZDlkQWRkRThCMGQwMDAwYTQzNzJFNzExNjU2MjQzMGM0Y2M2IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhFZjQyMTY5OUUyNDAwNzFjMzE0ZDU3MDk0MTJjOEMwRDBjZTRlODc5IiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg1OURjM0FiM0NBOTA5OGQyNmNiMkU1MDdEZWRFOTAxNDZiZWE0OTY0IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9Cn0KIiIiCgpbQ0NJUC5Hcm91cHNdCltDQ0lQLkdyb3Vwcy5zbW9rZV0KTmV0d29ya1BhaXJzID0gWydBVkFMQU5DSEVfRlVKSSxPUFRJTUlTTV9HT0VSTEknXQpQaGFzZVRpbWVvdXQgPSAnMjBtJwpMb2NhbENsdXN0ZXIgPSBmYWxzZQpFeGlzdGluZ0RlcGxveW1lbnQgPSB0cnVlCk11bHRpY2FsbEluT25lVHggPSB0cnVlCk5vT2ZTZW5kc0luTXVsdGljYWxsID0gNQpOb09mVG9rZW5zUGVyQ2hhaW4gPSAxCk5vT2ZUb2tlbnNJbk1zZyA9IDE= +export TEST_BASE64_TEST_CONFIG_OVERRIDE=W0NDSVBdCltDQ0lQLkRlcGxveW1lbnRzXQpEYXRhID0gIiIiCnsKICAibGFuZV9jb25maWdzIjogewogICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweGQxNDgzOEE2OEU4QUZCQWRFNWVmYjQxMWQ1ODcxZWEwMDExQUZkMjgiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHhmZDA2NEExOGYzQkYyNDljZjFmODdGQzIwM0U5MEQ4ZjY1MGYyZDYzIgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHg0MDk1MkU3ZjA3MkQxOTdBZjY4MTk0QzkwMjFEZTM1RTE4QWY3MUFlIgogICAgICBdLAogICAgICAiYXJtIjogIjB4QTc2M0E2NWY3Njk3YkUxRDlBODkwYzJBRDAwNjM4NkFkMGExNmZjQiIsCiAgICAgICJyb3V0ZXIiOiAiMHg5NDE1MUNkNDY3ZmYyMzEyYkMyZTA5ODBENEFlM0VFM0ZiOGY4OGFjIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4YWEwMDkwQWI3OTQ0NjQ4QzdkM0E5NTBmNzE0YjZBQ0QzMzM4Nzc0QiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDMyZDVENTk3ODkwNWQ5YzZjMkQ0QzQxN0YwRTA2RmU3NjhhNEZCNWEiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ0QWRlRDA0Q2E3N0FEOTVDOEY3NDIzNzcxMzQ4YjEzZjU1MzljNTEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDE3MTgKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ2MjY2NTVlRjYxRkVENjdiMzdjQzQ3NGQ3NkU5NTY1ZmNDOGYwZDkiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDc2NjEKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg4RjIyZkNkNjA3NDA5NjkyQUFDZDZmNWUwMjBCQ2Y0YzVCMkJlMzUyIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgxOTkyMTc4NThCN2ZlM0JDN0IyYjRjNTdjOUI1QzdlM2M0RGUyMDI3IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg1YTYyMzlDNjhhNzFmNDBCZGQzYzAzQ2VCOTE5MUYzZGFiRTAwMjlkIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhlQ2ZhNWU5MTRDM2Q0NDliNEE5QjQ2MjJEYzA5N0ZGNTBFNjA0RDUyIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHgwYjlkNUQ5MTM2ODU1ZjZGRWMzYzA5OTNmZUU2RTlDRThhMjk3ODQ2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4NTQyNTg5MDI5OGFlZDYwMTU5NWE3MEFCODE1Yzk2NzExYTMxQmM2NSIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4YjJkOEI4OEM0YjIzZDBEODY4MThiYzk3ODNFNkI1MDhhNzc3MWI4NCIKICAgICAgXSwKICAgICAgImFybSI6ICIweEQ0QTUxZEMwRjVDNjgwQThBMThlQTRFYzNBMmYyNUM2ZGI5NDI0QjciLAogICAgICAicm91dGVyIjogIjB4YTYyZTY4NWFERkY0NWYzOGVDOTQzNzg1MTNEMTI4RjE2ODk2NEU5OSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweGRiZUExYTEwQUM2YTJCNzI5YkYxMjhhRTkyODFFZDQyMGRiRTcxMTMiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHhkMDBhZTA4NDAzQjliYmI5MTI0YkIzMDVDMDkwNThFMzJDMzlBNDhjIiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4QWI5ZjIzMTdDMzY3ZjE5NTg1OTNGNzg5OTNDMjZDZEE1NEUzM2MwOSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NjczOAogICAgICAgIH0sCiAgICAgICAgIkJTQyBUZXN0bmV0IjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg5MDAwNjQ0MjgwNjJhNGFCRGRhM2Q1ZjJFMEQ1ZDMzQ2E1Yjg3NzBjIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDI3NTY3NDg0CiAgICAgICAgfSwKICAgICAgICAiQmFzZSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDg4RGJiQmE1OTA0ZTgwZUM2YjM0MWM4YzIyZGM5NTUzNEUzMjc0RDEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMjc1NjczMzUKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweEIxZjhBMGE0M2MyNDY1ZDdiYmY4NjY0YmZGQWQzOWY2ZmI3RmVkMjIiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMjc1NjY1MzUKICAgICAgICB9LAogICAgICAgICJQb2x5Z29uIE11bWJhaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4ZTc0RThEM2VBNEJDQWZFODVjZDUzZGE1NjhmOTQ0NmI5ZEE5Y0JCYSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NzYxNgogICAgICAgIH0sCiAgICAgICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4N0U0MDFjMzk3NjgwNzNiM0ZEQzdjRDE1QTQ0RTI4OTE0NTE1OGQxMyIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2Njk5NQogICAgICAgIH0KICAgICAgfSwKICAgICAgImRlc3RfY29udHJhY3RzIjogewogICAgICAgICJBcmJpdHJ1bSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg2Nzc4NDg4YTZmM0QwNjdBODFkQ0ZlMWI3MjBBYTdDODUxQ0Q3ZDhhIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg3Mzc0ZkZFMTFkNThCOTY5MmNlNTcwMzhFYjFjYzg5RDc0NTA4RDk0IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJCU0MgVGVzdG5ldCI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweGI2RGI4NGJDNDk2MjQ1RDQzNjRBNGNmMzQwQkNjMUIxQTk4NzhFZjYiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweERFQjIzY0NBM2M1NEM5MTdiMWYyNTVERDVFMUJmOTQxOTVENzg2QzIiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIkJhc2UgR29lcmxpIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MDk1MjBDOGVlRjhhQThlNTdkOWQ2MzkxMzA0QjY5YzM1MzEwM0I3NiIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MTYzMEFGQzA4QjlhODNBODJDODZGZjMyYTU4MTc4MzdhNDMyODU3OCIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiT3B0aW1pc20gR29lcmxpIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4QTI2ODY5RDZEM2VGNDAwNDg0ODg1QzAyOUNCMzNhYWZhOEY5NzhERSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4YjM5QzNhYzc2OEIyZUNBMDg2MzZlODIyN0EyNDIwNTQ0NDk4OTI5YiIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiUG9seWdvbiBNdW1iYWkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhmQ0ZlQTc3MDcxMTk3ZWZkMTM0N2VCNjgwOTQ1MmI4Y0JEN0I1OWYzIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg3RDEwM0U5MjAzRGRDRmU0OTNjOWYyOEQxQkE5NTg1NTZkMGU0QTdGIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJTZXBvbGlhIFRlc3RuZXQiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhFODE2YzZhQzBkZTQzNzVlQzY1ZTRhMzgzMEQwNzIwNTNERTgzZTFhIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg0NDZiN0NlQUQxZDBDNDg3YUQ4RWIyYjhGODZjMDhjOWUxNDJkZTE1IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQlNDIFRlc3RuZXQiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHg4NGI5QjkxMDUyN0FkNUMwM0E5Q2E4MzE5MDlFMjFlMjM2RUE3YjA2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4ODRiOUI5MTA1MjdBZDVDMDNBOUNhODMxOTA5RTIxZTIzNkVBN2IwNiIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4MjIzRjljQzU4MzcwMTM5MTk5QjUyNWU4RTUxQjE4MTI5QjY0ODQ2NiIKICAgICAgXSwKICAgICAgImFybSI6ICIweGJCRjUzNEQ4OWQ5NjQwZTM4ODZkYjI1RkUxZmZFNjAzRmUxNjBENzUiLAogICAgICAicm91dGVyIjogIjB4OUNkQTViNzdlQTIzNDU5ZUJhZjJlMzA5MmM1NzBhNkI1NjA1ODUwQSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweDkyMTM5NjdhNDdGQzNGMTVBMTZBMGI4MTMyMDhlOENjYjYzRGJiYTYiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHhhZTEzZDk4OWRhQzJmMGRFYkZmNDYwYUMxMTJhODM3Qzg5QkFhN2NkIiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHgwRDUyYzI0NzJEQzZmMzdGQmVFNTk1NTJiMTE2NWRlYWZlM2I5YTRCIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDM0OTQ1MDc2CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MDM5YWQ4Qjc2RWZjMjlGMWIyMzNkMDRCNDEzYTBEQ0FDQmU3RTkwMSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MEFBMTEwMjg2MmI1YWE3MUNGMzY4NTk2REI3NDA1MjFEYmI5RjU2NSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIkJhc2UgR29lcmxpIjogewogICAgICAiaXNfbW9ja19hcm0iOiB0cnVlLAogICAgICAiZmVlX3Rva2VuIjogIjB4RDg4NkUyMjg2RmQxMDczZGY4MjQ2MmVhMTgyMjExOTYwMEFmODBiNiIsCiAgICAgICJicmlkZ2VfdG9rZW5zIjogWwogICAgICAgICIweEYxNzU1MjBDNTI0MThkZkUxOUM4MDk4MDcxYTI1MmRhNDhDZDFDMTkiCiAgICAgIF0sCiAgICAgICJicmlkZ2VfdG9rZW5zX3Bvb2xzIjogWwogICAgICAgICIweDE0RDY2ZTUzMjk5MTc0QjhFZjExN2QzMzI4NUUxYzgxNEVENjUyZEUiCiAgICAgIF0sCiAgICAgICJhcm0iOiAiMHgyN0I4ODJjMzkzMTUxQUREOTEwRjM1NTc4NDlBRjBiYjA5YzdkNUE2IiwKICAgICAgInJvdXRlciI6ICIweDhBZWQ1MzE1NjM1NjhkZGU5RkY0MzdkODZjNjViNjM3NTM1YTVEQTMiLAogICAgICAicHJpY2VfcmVnaXN0cnkiOiAiMHg2RTUzMkY4NkNENTcyMUE5NzZmMTU1NjBBYTA2ODM1MjFjRmFCN2U3IiwKICAgICAgIndyYXBwZWRfbmF0aXZlIjogIjB4NDIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwNiIsCiAgICAgICJzcmNfY29udHJhY3RzIjogewogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4NDMzMTY1ZjE5MkY3NjY1RThmMENEN0EzNUY3OTMzMGZENDNEYTBENiIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxMjE2OTUzMQogICAgICAgIH0KICAgICAgfSwKICAgICAgImRlc3RfY29udHJhY3RzIjogewogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDA0Y2I5MWYxNGNmYzkwRTRhYjNmMTA4MjMxRTE5MURlQzIzM2VjODIiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweERlRDc5OUFiREI5ZmRlRWUwZkE3MzhCYkNFRjU2NTk5NkExNjlBMEUiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHhkYzJDQzcxMGU0Mjg1NzY3MkU3OTA3Q0Y0NzRhNjlCNjNCOTMwODlmIiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4ZTA1NjA2MTc0YmFjNEE2MzY0QjMxYmQwZUNBNGJmNGREMzY4ZjhDNiIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4YzAzQmM1NDE4NzA2OWUyMmZCNzhmM2ZjRTJkN0I1ZENlM2Y2ZUNFQSIKICAgICAgXSwKICAgICAgImFybSI6ICIweEMxYjliY2RDNmJFOWY0RDYyMjQ2NzJGMThmQzQ2ZmYzMzBGNDg3ZTEiLAogICAgICAicm91dGVyIjogIjB4REREZjk3OEZkODYxM0RiZDA2RTgwN2EzOWJjYTVjZTQzODNEM0ZmNSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweDg5MTQzYTRBQzJhQjM0NzJiNDE2ODdGRGQ3QTU4ZWZGYkEzNDYxREEiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHg0MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2IiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4NjY3NGZiZjNBNjY0OGQ0NTBGZDlGYUJlYzUwOGZCYjcwMDlCOGI1YSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxNzA1Mjc5NwogICAgICAgIH0sCiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHhCMGIxRjZCMjVEQzJlZDc3MDk1MTYxQjczNDRhQWI1ZDZGOUNmNWE4IiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDE3MDUxMzY0CiAgICAgICAgfSwKICAgICAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHgxMTUyRDI0NThCRWY3MzYwMTFFMEMxNzYyM2U4ZDAyODg3N0RlYzVlIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDE3MDUyMTA3CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDAyOTIyMjAyMmY0NDQ4ODdmM2QxMUQxOTgyMDAzQjZDYTczQkRiMTgiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDg5ZjcyNjQ4OTk4MjBGYWNCMzFkM0JhMDgyNjQwMmJkODg3NUFGMzIiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4NzgyMTEwODQyMTIxNEExYjQyOTRFMWNBNzcyODI2ZGM3MzEwQzdmOSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MTQ3ZjIwQ2M3RTU0ODQ0ZWIyZTRlN0VjQTQ5MzNEOTc0NTE3NjVDOSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4OWFhRDg5ODRGRjUxOTc1ZEQyNjUxMkI0NTdlQTgxNTNkMjE1MzAyYyIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4OEJBMjczY0U4RDA3QjZkMTBmQUNCMjE5YjJkOGM5NTFlRjJlMjU1YSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIlBvbHlnb24gTXVtYmFpIjogewogICAgICAiaXNfbW9ja19hcm0iOiB0cnVlLAogICAgICAiZmVlX3Rva2VuIjogIjB4MzI2Qzk3N0U2ZWZjODRFNTEyYkI5QzMwZjc2RTMwYzE2MGVEMDZGQiIsCiAgICAgICJicmlkZ2VfdG9rZW5zIjogbnVsbCwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBudWxsLAogICAgICAiYXJtIjogIjB4ODY2ZmFCOTJFMDRiQUU1RURhMjM4QTljYkZmMWU1NkUwOTUwOEFkZSIsCiAgICAgICJyb3V0ZXIiOiAiMHg0NzlBNmZGOWEyMzM1MTgwRDkyMzA2RDc2NzU0YkJCRGNBNzUxYkYwIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4RDg4NkUyMjg2RmQxMDczZGY4MjQ2MmVhMTgyMjExOTYwMEFmODBiNiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDljM0M5MjgzRDNlNDQ4NTQ2OTdDZDIyRDNGYWEyNDBDZmIwMzI4ODkiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDUxMTU4Q2E0MzlmZUE5RTgwOUJjMDYzQ2ZBNjcwMTc0N2IwNTI1NGUiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNDIxOTIwODYKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhEODRBMTZkZDQyMzVBRUJDQTk1MTVkYzNjYjVjRDE2NjVmNzRjQjJlIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgzNzAwNGMxMjQ1YTJENTU0MTM3N2U4N2NBMjk2OTk0OTJhNDExNEQ1IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAiaXNfbW9ja19hcm0iOiB0cnVlLAogICAgICAiZmVlX3Rva2VuIjogIjB4Nzc5ODc3QTdCMEQ5RTg2MDMxNjlEZGJENzgzNmU0NzhiNDYyNDc4OSIsCiAgICAgICJicmlkZ2VfdG9rZW5zIjogWwogICAgICAgICIweDc3OTg3N0E3QjBEOUU4NjAzMTY5RGRiRDc4MzZlNDc4YjQ2MjQ3ODkiLAogICAgICAgICIweDREMkQ1Q0FFZDMzMTVEM2M3ZTVlZTBlNDI3NmY2MjBBRTMyN0JlQkIiCiAgICAgIF0sCiAgICAgICJicmlkZ2VfdG9rZW5zX3Bvb2xzIjogWwogICAgICAgICIweDBkODU4RDY5NjA0NjRlMjcyMTAyNUI4YTQ3MTgwNUNhMzhhNzI1MDUiLAogICAgICAgICIweDI5MjFmQ2EwZkUyNUQ4MTA4OTVBNTg5MzFERDEwQTRDQ2M4NGZmM0YiCiAgICAgIF0sCiAgICAgICJhcm0iOiAiMHg5OTEyYTczODkzODJmZjU1Zjg1QTI5QzkzNzhCMzhGN0I5OTJjNGFFIiwKICAgICAgInJvdXRlciI6ICIweDFFMUYzZDhBYzdEZjY1ZkNjRmNjNTJkYkYwMzkyOWNFRTk1NDMwYWMiLAogICAgICAicHJpY2VfcmVnaXN0cnkiOiAiMHg0MzU4ZTgxZjg4YkIyNzIyMjc3OWMxQkM4NTAwM0ExMUExYzY2ZjZGIiwKICAgICAgIndyYXBwZWRfbmF0aXZlIjogIjB4MDk3RDkwYzlkM0UwQjUwQ2E2MGUxYWU0NUY2QTgxMDEwZjlGQjUzNCIsCiAgICAgICJzcmNfY29udHJhY3RzIjogewogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4YTdDQjVkMkYyNDMyYjUxRjA1YjM0NURmYTY4MDZCOTAwNzY3QjYzOCIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiA0NjU5ODE0CiAgICAgICAgfSwKICAgICAgICAiT3B0aW1pc20gR29lcmxpIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg2NWM3NUQ3ZmU1MTY2Nzc5NDlkQmM3ZmU3QzRCNEZBNTk3NUY1NTFCIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDQ2NTk4NDQKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHgxZDQ1ODEyODQ3MDM3NjlhQ2EyNzhjYWEzMDI3MkM3YmE5NTQ4Y2VGIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhDZkFGZDlkQWRkRThCMGQwMDAwYTQzNzJFNzExNjU2MjQzMGM0Y2M2IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhFZjQyMTY5OUUyNDAwNzFjMzE0ZDU3MDk0MTJjOEMwRDBjZTRlODc5IiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg1OURjM0FiM0NBOTA5OGQyNmNiMkU1MDdEZWRFOTAxNDZiZWE0OTY0IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0KICB9Cn0KIiIiCgpbQ0NJUC5Hcm91cHNdCltDQ0lQLkdyb3Vwcy5zbW9rZV0KTmV0d29ya1BhaXJzID0gWydBVkFMQU5DSEVfRlVKSSxPUFRJTUlTTV9HT0VSTEknXQpQaGFzZVRpbWVvdXQgPSAnMjBtJwpMb2NhbENsdXN0ZXIgPSBmYWxzZQpFeGlzdGluZ0RlcGxveW1lbnQgPSB0cnVlCk11bHRpY2FsbEluT25lVHggPSB0cnVlCk5vT2ZTZW5kc0luTXVsdGljYWxsID0gNQpOb09mVG9rZW5zUGVyQ2hhaW4gPSAxCk5vT2ZUb2tlbnNJbk1zZyA9IDE= + +export BASE64_TEST_CONFIG_OVERRIDE=W0NDSVBdCltDQ0lQLkRlcGxveW1lbnRzXQpEYXRhID0gIiIiCnsKICAibGFuZV9jb25maWdzIjogewogICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweGQxNDgzOEE2OEU4QUZCQWRFNWVmYjQxMWQ1ODcxZWEwMDExQUZkMjgiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHhmZDA2NEExOGYzQkYyNDljZjFmODdGQzIwM0U5MEQ4ZjY1MGYyZDYzIgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHg0MDk1MkU3ZjA3MkQxOTdBZjY4MTk0QzkwMjFEZTM1RTE4QWY3MUFlIgogICAgICBdLAogICAgICAiYXJtIjogIjB4QTc2M0E2NWY3Njk3YkUxRDlBODkwYzJBRDAwNjM4NkFkMGExNmZjQiIsCiAgICAgICJyb3V0ZXIiOiAiMHg5NDE1MUNkNDY3ZmYyMzEyYkMyZTA5ODBENEFlM0VFM0ZiOGY4OGFjIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4YWEwMDkwQWI3OTQ0NjQ4QzdkM0E5NTBmNzE0YjZBQ0QzMzM4Nzc0QiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDMyZDVENTk3ODkwNWQ5YzZjMkQ0QzQxN0YwRTA2RmU3NjhhNEZCNWEiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ0QWRlRDA0Q2E3N0FEOTVDOEY3NDIzNzcxMzQ4YjEzZjU1MzljNTEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDE3MTgKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ2MjY2NTVlRjYxRkVENjdiMzdjQzQ3NGQ3NkU5NTY1ZmNDOGYwZDkiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDc2NjEKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg4RjIyZkNkNjA3NDA5NjkyQUFDZDZmNWUwMjBCQ2Y0YzVCMkJlMzUyIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgxOTkyMTc4NThCN2ZlM0JDN0IyYjRjNTdjOUI1QzdlM2M0RGUyMDI3IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg1YTYyMzlDNjhhNzFmNDBCZGQzYzAzQ2VCOTE5MUYzZGFiRTAwMjlkIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhlQ2ZhNWU5MTRDM2Q0NDliNEE5QjQ2MjJEYzA5N0ZGNTBFNjA0RDUyIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHgwYjlkNUQ5MTM2ODU1ZjZGRWMzYzA5OTNmZUU2RTlDRThhMjk3ODQ2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4NTQyNTg5MDI5OGFlZDYwMTU5NWE3MEFCODE1Yzk2NzExYTMxQmM2NSIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4YjJkOEI4OEM0YjIzZDBEODY4MThiYzk3ODNFNkI1MDhhNzc3MWI4NCIKICAgICAgXSwKICAgICAgImFybSI6ICIweEQ0QTUxZEMwRjVDNjgwQThBMThlQTRFYzNBMmYyNUM2ZGI5NDI0QjciLAogICAgICAicm91dGVyIjogIjB4YTYyZTY4NWFERkY0NWYzOGVDOTQzNzg1MTNEMTI4RjE2ODk2NEU5OSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweGRiZUExYTEwQUM2YTJCNzI5YkYxMjhhRTkyODFFZDQyMGRiRTcxMTMiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHhkMDBhZTA4NDAzQjliYmI5MTI0YkIzMDVDMDkwNThFMzJDMzlBNDhjIiwKICAgICAgIm11bHRpY2FsbCI6ICIiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXJiaXRydW0gR29lcmxpIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHhBYjlmMjMxN0MzNjdmMTk1ODU5M0Y3ODk5M0MyNkNkQTU0RTMzYzA5IiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDI3NTY2NzM4CiAgICAgICAgfSwKICAgICAgICAiQlNDIFRlc3RuZXQiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDkwMDA2NDQyODA2MmE0YUJEZGEzZDVmMkUwRDVkMzNDYTViODc3MGMiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMjc1Njc0ODQKICAgICAgICB9LAogICAgICAgICJCYXNlIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4ODhEYmJCYTU5MDRlODBlQzZiMzQxYzhjMjJkYzk1NTM0RTMyNzREMSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NzMzNQogICAgICAgIH0sCiAgICAgICAgIk9wdGltaXNtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4QjFmOEEwYTQzYzI0NjVkN2JiZjg2NjRiZkZBZDM5ZjZmYjdGZWQyMiIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NjUzNQogICAgICAgIH0sCiAgICAgICAgIlBvbHlnb24gTXVtYmFpIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHhlNzRFOEQzZUE0QkNBZkU4NWNkNTNkYTU2OGY5NDQ2YjlkQTljQkJhIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDI3NTY3NjE2CiAgICAgICAgfSwKICAgICAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg3RTQwMWMzOTc2ODA3M2IzRkRDN2NEMTVBNDRFMjg5MTQ1MTU4ZDEzIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDI3NTY2OTk1CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDY3Nzg0ODhhNmYzRDA2N0E4MWRDRmUxYjcyMEFhN0M4NTFDRDdkOGEiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDczNzRmRkUxMWQ1OEI5NjkyY2U1NzAzOEViMWNjODlENzQ1MDhEOTQiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIkJTQyBUZXN0bmV0IjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4YjZEYjg0YkM0OTYyNDVENDM2NEE0Y2YzNDBCQ2MxQjFBOTg3OEVmNiIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4REVCMjNjQ0EzYzU0QzkxN2IxZjI1NURENUUxQmY5NDE5NUQ3ODZDMiIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiQmFzZSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHgwOTUyMEM4ZWVGOGFBOGU1N2Q5ZDYzOTEzMDRCNjljMzUzMTAzQjc2IiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgxNjMwQUZDMDhCOWE4M0E4MkM4NkZmMzJhNTgxNzgzN2E0MzI4NTc4IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhBMjY4NjlENkQzZUY0MDA0ODQ4ODVDMDI5Q0IzM2FhZmE4Rjk3OERFIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhiMzlDM2FjNzY4QjJlQ0EwODYzNmU4MjI3QTI0MjA1NDQ0OTg5MjliIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIiIKICAgICAgICB9LAogICAgICAgICJQb2x5Z29uIE11bWJhaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweGZDRmVBNzcwNzExOTdlZmQxMzQ3ZUI2ODA5NDUyYjhjQkQ3QjU5ZjMiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDdEMTAzRTkyMDNEZENGZTQ5M2M5ZjI4RDFCQTk1ODU1NmQwZTRBN0YiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweEU4MTZjNmFDMGRlNDM3NWVDNjVlNGEzODMwRDA3MjA1M0RFODNlMWEiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDQ0NmI3Q2VBRDFkMEM0ODdhRDhFYjJiOEY4NmMwOGM5ZTE0MmRlMTUiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJCU0MgVGVzdG5ldCI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweDg0YjlCOTEwNTI3QWQ1QzAzQTlDYTgzMTkwOUUyMWUyMzZFQTdiMDYiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHg4NGI5QjkxMDUyN0FkNUMwM0E5Q2E4MzE5MDlFMjFlMjM2RUE3YjA2IgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHgyMjNGOWNDNTgzNzAxMzkxOTlCNTI1ZThFNTFCMTgxMjlCNjQ4NDY2IgogICAgICBdLAogICAgICAiYXJtIjogIjB4YkJGNTM0RDg5ZDk2NDBlMzg4NmRiMjVGRTFmZkU2MDNGZTE2MEQ3NSIsCiAgICAgICJyb3V0ZXIiOiAiMHg5Q2RBNWI3N2VBMjM0NTllQmFmMmUzMDkyYzU3MGE2QjU2MDU4NTBBIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4OTIxMzk2N2E0N0ZDM0YxNUExNkEwYjgxMzIwOGU4Q2NiNjNEYmJhNiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweGFlMTNkOTg5ZGFDMmYwZEViRmY0NjBhQzExMmE4MzdDODlCQWE3Y2QiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDBENTJjMjQ3MkRDNmYzN0ZCZUU1OTU1MmIxMTY1ZGVhZmUzYjlhNEIiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMzQ5NDUwNzYKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHgwMzlhZDhCNzZFZmMyOUYxYjIzM2QwNEI0MTNhMERDQUNCZTdFOTAxIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgwQUExMTAyODYyYjVhYTcxQ0YzNjg1OTZEQjc0MDUyMURiYjlGNTY1IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQmFzZSBHb2VybGkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHhEODg2RTIyODZGZDEwNzNkZjgyNDYyZWExODIyMTE5NjAwQWY4MGI2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4RjE3NTUyMEM1MjQxOGRmRTE5QzgwOTgwNzFhMjUyZGE0OENkMUMxOSIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4MTRENjZlNTMyOTkxNzRCOEVmMTE3ZDMzMjg1RTFjODE0RUQ2NTJkRSIKICAgICAgXSwKICAgICAgImFybSI6ICIweDI3Qjg4MmMzOTMxNTFBREQ5MTBGMzU1Nzg0OUFGMGJiMDljN2Q1QTYiLAogICAgICAicm91dGVyIjogIjB4OEFlZDUzMTU2MzU2OGRkZTlGRjQzN2Q4NmM2NWI2Mzc1MzVhNURBMyIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweDZFNTMyRjg2Q0Q1NzIxQTk3NmYxNTU2MEFhMDY4MzUyMWNGYUI3ZTciLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHg0MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2IiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg0MzMxNjVmMTkyRjc2NjVFOGYwQ0Q3QTM1Rjc5MzMwZkQ0M0RhMEQ2IiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDEyMTY5NTMxCiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MDRjYjkxZjE0Y2ZjOTBFNGFiM2YxMDgyMzFFMTkxRGVDMjMzZWM4MiIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4RGVENzk5QWJEQjlmZGVFZTBmQTczOEJiQ0VGNTY1OTk2QTE2OUEwRSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIk9wdGltaXNtIEdvZXJsaSI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweGRjMkNDNzEwZTQyODU3NjcyRTc5MDdDRjQ3NGE2OUI2M0I5MzA4OWYiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHhlMDU2MDYxNzRiYWM0QTYzNjRCMzFiZDBlQ0E0YmY0ZEQzNjhmOEM2IgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHhjMDNCYzU0MTg3MDY5ZTIyZkI3OGYzZmNFMmQ3QjVkQ2UzZjZlQ0VBIgogICAgICBdLAogICAgICAiYXJtIjogIjB4QzFiOWJjZEM2YkU5ZjRENjIyNDY3MkYxOGZDNDZmZjMzMEY0ODdlMSIsCiAgICAgICJyb3V0ZXIiOiAiMHhERERmOTc4RmQ4NjEzRGJkMDZFODA3YTM5YmNhNWNlNDM4M0QzRmY1IiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4ODkxNDNhNEFDMmFCMzQ3MmI0MTY4N0ZEZDdBNThlZkZiQTM0NjFEQSIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYiLAogICAgICAibXVsdGljYWxsIjogIjB4MzhEMzJEMTgwOWNhOThDNTJhM2FhZjg3Mjc1RDk5NDYxYWMzNUJBMSIsCiAgICAgICJzcmNfY29udHJhY3RzIjogewogICAgICAgICJBcmJpdHJ1bSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDY2NzRmYmYzQTY2NDhkNDUwRmQ5RmFCZWM1MDhmQmI3MDA5QjhiNWEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMTcwNTI3OTcKICAgICAgICB9LAogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4QjBiMUY2QjI1REMyZWQ3NzA5NTE2MUI3MzQ0YUFiNWQ2RjlDZjVhOCIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxNzA1MTM2NAogICAgICAgIH0sCiAgICAgICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4MTE1MkQyNDU4QkVmNzM2MDExRTBDMTc2MjNlOGQwMjg4NzdEZWM1ZSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxNzA1MjEwNwogICAgICAgIH0KICAgICAgfSwKICAgICAgImRlc3RfY29udHJhY3RzIjogewogICAgICAgICJBcmJpdHJ1bSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHgwMjkyMjIwMjJmNDQ0ODg3ZjNkMTFEMTk4MjAwM0I2Q2E3M0JEYjE4IiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg4OWY3MjY0ODk5ODIwRmFjQjMxZDNCYTA4MjY0MDJiZDg4NzVBRjMyIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDc4MjExMDg0MjEyMTRBMWI0Mjk0RTFjQTc3MjgyNmRjNzMxMEM3ZjkiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDE0N2YyMENjN0U1NDg0NGViMmU0ZTdFY0E0OTMzRDk3NDUxNzY1QzkiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDlhYUQ4OTg0RkY1MTk3NWREMjY1MTJCNDU3ZUE4MTUzZDIxNTMwMmMiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDhCQTI3M2NFOEQwN0I2ZDEwZkFDQjIxOWIyZDhjOTUxZUYyZTI1NWEiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJQb2x5Z29uIE11bWJhaSI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweDMyNkM5NzdFNmVmYzg0RTUxMmJCOUMzMGY3NkUzMGMxNjBlRDA2RkIiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IG51bGwsCiAgICAgICJicmlkZ2VfdG9rZW5zX3Bvb2xzIjogbnVsbCwKICAgICAgImFybSI6ICIweDg2NmZhQjkyRTA0YkFFNUVEYTIzOEE5Y2JGZjFlNTZFMDk1MDhBZGUiLAogICAgICAicm91dGVyIjogIjB4NDc5QTZmRjlhMjMzNTE4MEQ5MjMwNkQ3Njc1NGJCQkRjQTc1MWJGMCIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweEQ4ODZFMjI4NkZkMTA3M2RmODI0NjJlYTE4MjIxMTk2MDBBZjgwYjYiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHg5YzNDOTI4M0QzZTQ0ODU0Njk3Q2QyMkQzRmFhMjQwQ2ZiMDMyODg5IiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg1MTE1OENhNDM5ZmVBOUU4MDlCYzA2M0NmQTY3MDE3NDdiMDUyNTRlIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDQyMTkyMDg2CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4RDg0QTE2ZGQ0MjM1QUVCQ0E5NTE1ZGMzY2I1Y0QxNjY1Zjc0Y0IyZSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MzcwMDRjMTI0NWEyRDU1NDEzNzdlODdjQTI5Njk5NDkyYTQxMTRENSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweDc3OTg3N0E3QjBEOUU4NjAzMTY5RGRiRDc4MzZlNDc4YjQ2MjQ3ODkiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHg3Nzk4NzdBN0IwRDlFODYwMzE2OURkYkQ3ODM2ZTQ3OGI0NjI0Nzg5IiwKICAgICAgICAiMHg0RDJENUNBRWQzMzE1RDNjN2U1ZWUwZTQyNzZmNjIwQUUzMjdCZUJCIgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHgwZDg1OEQ2OTYwNDY0ZTI3MjEwMjVCOGE0NzE4MDVDYTM4YTcyNTA1IiwKICAgICAgICAiMHgyOTIxZkNhMGZFMjVEODEwODk1QTU4OTMxREQxMEE0Q0NjODRmZjNGIgogICAgICBdLAogICAgICAiYXJtIjogIjB4OTkxMmE3Mzg5MzgyZmY1NWY4NUEyOUM5Mzc4QjM4RjdCOTkyYzRhRSIsCiAgICAgICJyb3V0ZXIiOiAiMHgxRTFGM2Q4QWM3RGY2NWZDY0ZjYzUyZGJGMDM5MjljRUU5NTQzMGFjIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4NDM1OGU4MWY4OGJCMjcyMjI3NzljMUJDODUwMDNBMTFBMWM2NmY2RiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDA5N0Q5MGM5ZDNFMEI1MENhNjBlMWFlNDVGNkE4MTAxMGY5RkI1MzQiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweGE3Q0I1ZDJGMjQzMmI1MUYwNWIzNDVEZmE2ODA2QjkwMDc2N0I2MzgiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNDY1OTgxNAogICAgICAgIH0sCiAgICAgICAgIk9wdGltaXNtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4NjVjNzVEN2ZlNTE2Njc3OTQ5ZEJjN2ZlN0M0QjRGQTU5NzVGNTUxQiIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiA0NjU5ODQ0CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MWQ0NTgxMjg0NzAzNzY5YUNhMjc4Y2FhMzAyNzJDN2JhOTU0OGNlRiIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4Q2ZBRmQ5ZEFkZEU4QjBkMDAwMGE0MzcyRTcxMTY1NjI0MzBjNGNjNiIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiT3B0aW1pc20gR29lcmxpIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4RWY0MjE2OTlFMjQwMDcxYzMxNGQ1NzA5NDEyYzhDMEQwY2U0ZTg3OSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4NTlEYzNBYjNDQTkwOThkMjZjYjJFNTA3RGVkRTkwMTQ2YmVhNDk2NCIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9CiAgfQp9CiIiIgoKW0NDSVAuR3JvdXBzXQpbQ0NJUC5Hcm91cHMuc21va2VdCk5ldHdvcmtQYWlycyA9IFsnQVZBTEFOQ0hFX0ZVSkksT1BUSU1JU01fR09FUkxJJ10KUGhhc2VUaW1lb3V0ID0gJzIwbScKQmlEaXJlY3Rpb25hbExhbmUgPSBmYWxzZQpMb2NhbENsdXN0ZXIgPSBmYWxzZQpFeGlzdGluZ0RlcGxveW1lbnQgPSB0cnVlCk11bHRpY2FsbEluT25lVHggPSB0cnVlCk5vT2ZTZW5kc0luTXVsdGljYWxsID0gNQpOb09mVG9rZW5zUGVyQ2hhaW4gPSAxCk5vT2ZUb2tlbnNJbk1zZyA9IDE= +export TEST_BASE64_TEST_CONFIG_OVERRIDE=W0NDSVBdCltDQ0lQLkRlcGxveW1lbnRzXQpEYXRhID0gIiIiCnsKICAibGFuZV9jb25maWdzIjogewogICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweGQxNDgzOEE2OEU4QUZCQWRFNWVmYjQxMWQ1ODcxZWEwMDExQUZkMjgiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHhmZDA2NEExOGYzQkYyNDljZjFmODdGQzIwM0U5MEQ4ZjY1MGYyZDYzIgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHg0MDk1MkU3ZjA3MkQxOTdBZjY4MTk0QzkwMjFEZTM1RTE4QWY3MUFlIgogICAgICBdLAogICAgICAiYXJtIjogIjB4QTc2M0E2NWY3Njk3YkUxRDlBODkwYzJBRDAwNjM4NkFkMGExNmZjQiIsCiAgICAgICJyb3V0ZXIiOiAiMHg5NDE1MUNkNDY3ZmYyMzEyYkMyZTA5ODBENEFlM0VFM0ZiOGY4OGFjIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4YWEwMDkwQWI3OTQ0NjQ4QzdkM0E5NTBmNzE0YjZBQ0QzMzM4Nzc0QiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDMyZDVENTk3ODkwNWQ5YzZjMkQ0QzQxN0YwRTA2RmU3NjhhNEZCNWEiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ0QWRlRDA0Q2E3N0FEOTVDOEY3NDIzNzcxMzQ4YjEzZjU1MzljNTEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDE3MTgKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ2MjY2NTVlRjYxRkVENjdiMzdjQzQ3NGQ3NkU5NTY1ZmNDOGYwZDkiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDc2NjEKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg4RjIyZkNkNjA3NDA5NjkyQUFDZDZmNWUwMjBCQ2Y0YzVCMkJlMzUyIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgxOTkyMTc4NThCN2ZlM0JDN0IyYjRjNTdjOUI1QzdlM2M0RGUyMDI3IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg1YTYyMzlDNjhhNzFmNDBCZGQzYzAzQ2VCOTE5MUYzZGFiRTAwMjlkIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhlQ2ZhNWU5MTRDM2Q0NDliNEE5QjQ2MjJEYzA5N0ZGNTBFNjA0RDUyIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHgwYjlkNUQ5MTM2ODU1ZjZGRWMzYzA5OTNmZUU2RTlDRThhMjk3ODQ2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4NTQyNTg5MDI5OGFlZDYwMTU5NWE3MEFCODE1Yzk2NzExYTMxQmM2NSIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4YjJkOEI4OEM0YjIzZDBEODY4MThiYzk3ODNFNkI1MDhhNzc3MWI4NCIKICAgICAgXSwKICAgICAgImFybSI6ICIweEQ0QTUxZEMwRjVDNjgwQThBMThlQTRFYzNBMmYyNUM2ZGI5NDI0QjciLAogICAgICAicm91dGVyIjogIjB4YTYyZTY4NWFERkY0NWYzOGVDOTQzNzg1MTNEMTI4RjE2ODk2NEU5OSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweGRiZUExYTEwQUM2YTJCNzI5YkYxMjhhRTkyODFFZDQyMGRiRTcxMTMiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHhkMDBhZTA4NDAzQjliYmI5MTI0YkIzMDVDMDkwNThFMzJDMzlBNDhjIiwKICAgICAgIm11bHRpY2FsbCI6ICIiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXJiaXRydW0gR29lcmxpIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHhBYjlmMjMxN0MzNjdmMTk1ODU5M0Y3ODk5M0MyNkNkQTU0RTMzYzA5IiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDI3NTY2NzM4CiAgICAgICAgfSwKICAgICAgICAiQlNDIFRlc3RuZXQiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDkwMDA2NDQyODA2MmE0YUJEZGEzZDVmMkUwRDVkMzNDYTViODc3MGMiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMjc1Njc0ODQKICAgICAgICB9LAogICAgICAgICJCYXNlIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4ODhEYmJCYTU5MDRlODBlQzZiMzQxYzhjMjJkYzk1NTM0RTMyNzREMSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NzMzNQogICAgICAgIH0sCiAgICAgICAgIk9wdGltaXNtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4QjFmOEEwYTQzYzI0NjVkN2JiZjg2NjRiZkZBZDM5ZjZmYjdGZWQyMiIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NjUzNQogICAgICAgIH0sCiAgICAgICAgIlBvbHlnb24gTXVtYmFpIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHhlNzRFOEQzZUE0QkNBZkU4NWNkNTNkYTU2OGY5NDQ2YjlkQTljQkJhIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDI3NTY3NjE2CiAgICAgICAgfSwKICAgICAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg3RTQwMWMzOTc2ODA3M2IzRkRDN2NEMTVBNDRFMjg5MTQ1MTU4ZDEzIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDI3NTY2OTk1CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDY3Nzg0ODhhNmYzRDA2N0E4MWRDRmUxYjcyMEFhN0M4NTFDRDdkOGEiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDczNzRmRkUxMWQ1OEI5NjkyY2U1NzAzOEViMWNjODlENzQ1MDhEOTQiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIkJTQyBUZXN0bmV0IjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4YjZEYjg0YkM0OTYyNDVENDM2NEE0Y2YzNDBCQ2MxQjFBOTg3OEVmNiIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4REVCMjNjQ0EzYzU0QzkxN2IxZjI1NURENUUxQmY5NDE5NUQ3ODZDMiIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiQmFzZSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHgwOTUyMEM4ZWVGOGFBOGU1N2Q5ZDYzOTEzMDRCNjljMzUzMTAzQjc2IiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgxNjMwQUZDMDhCOWE4M0E4MkM4NkZmMzJhNTgxNzgzN2E0MzI4NTc4IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhBMjY4NjlENkQzZUY0MDA0ODQ4ODVDMDI5Q0IzM2FhZmE4Rjk3OERFIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhiMzlDM2FjNzY4QjJlQ0EwODYzNmU4MjI3QTI0MjA1NDQ0OTg5MjliIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIiIKICAgICAgICB9LAogICAgICAgICJQb2x5Z29uIE11bWJhaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweGZDRmVBNzcwNzExOTdlZmQxMzQ3ZUI2ODA5NDUyYjhjQkQ3QjU5ZjMiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDdEMTAzRTkyMDNEZENGZTQ5M2M5ZjI4RDFCQTk1ODU1NmQwZTRBN0YiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweEU4MTZjNmFDMGRlNDM3NWVDNjVlNGEzODMwRDA3MjA1M0RFODNlMWEiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDQ0NmI3Q2VBRDFkMEM0ODdhRDhFYjJiOEY4NmMwOGM5ZTE0MmRlMTUiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJCU0MgVGVzdG5ldCI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweDg0YjlCOTEwNTI3QWQ1QzAzQTlDYTgzMTkwOUUyMWUyMzZFQTdiMDYiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHg4NGI5QjkxMDUyN0FkNUMwM0E5Q2E4MzE5MDlFMjFlMjM2RUE3YjA2IgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHgyMjNGOWNDNTgzNzAxMzkxOTlCNTI1ZThFNTFCMTgxMjlCNjQ4NDY2IgogICAgICBdLAogICAgICAiYXJtIjogIjB4YkJGNTM0RDg5ZDk2NDBlMzg4NmRiMjVGRTFmZkU2MDNGZTE2MEQ3NSIsCiAgICAgICJyb3V0ZXIiOiAiMHg5Q2RBNWI3N2VBMjM0NTllQmFmMmUzMDkyYzU3MGE2QjU2MDU4NTBBIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4OTIxMzk2N2E0N0ZDM0YxNUExNkEwYjgxMzIwOGU4Q2NiNjNEYmJhNiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweGFlMTNkOTg5ZGFDMmYwZEViRmY0NjBhQzExMmE4MzdDODlCQWE3Y2QiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDBENTJjMjQ3MkRDNmYzN0ZCZUU1OTU1MmIxMTY1ZGVhZmUzYjlhNEIiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMzQ5NDUwNzYKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHgwMzlhZDhCNzZFZmMyOUYxYjIzM2QwNEI0MTNhMERDQUNCZTdFOTAxIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgwQUExMTAyODYyYjVhYTcxQ0YzNjg1OTZEQjc0MDUyMURiYjlGNTY1IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQmFzZSBHb2VybGkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHhEODg2RTIyODZGZDEwNzNkZjgyNDYyZWExODIyMTE5NjAwQWY4MGI2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4RjE3NTUyMEM1MjQxOGRmRTE5QzgwOTgwNzFhMjUyZGE0OENkMUMxOSIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4MTRENjZlNTMyOTkxNzRCOEVmMTE3ZDMzMjg1RTFjODE0RUQ2NTJkRSIKICAgICAgXSwKICAgICAgImFybSI6ICIweDI3Qjg4MmMzOTMxNTFBREQ5MTBGMzU1Nzg0OUFGMGJiMDljN2Q1QTYiLAogICAgICAicm91dGVyIjogIjB4OEFlZDUzMTU2MzU2OGRkZTlGRjQzN2Q4NmM2NWI2Mzc1MzVhNURBMyIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweDZFNTMyRjg2Q0Q1NzIxQTk3NmYxNTU2MEFhMDY4MzUyMWNGYUI3ZTciLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHg0MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2IiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg0MzMxNjVmMTkyRjc2NjVFOGYwQ0Q3QTM1Rjc5MzMwZkQ0M0RhMEQ2IiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDEyMTY5NTMxCiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MDRjYjkxZjE0Y2ZjOTBFNGFiM2YxMDgyMzFFMTkxRGVDMjMzZWM4MiIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4RGVENzk5QWJEQjlmZGVFZTBmQTczOEJiQ0VGNTY1OTk2QTE2OUEwRSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIk9wdGltaXNtIEdvZXJsaSI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweGRjMkNDNzEwZTQyODU3NjcyRTc5MDdDRjQ3NGE2OUI2M0I5MzA4OWYiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHhlMDU2MDYxNzRiYWM0QTYzNjRCMzFiZDBlQ0E0YmY0ZEQzNjhmOEM2IgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHhjMDNCYzU0MTg3MDY5ZTIyZkI3OGYzZmNFMmQ3QjVkQ2UzZjZlQ0VBIgogICAgICBdLAogICAgICAiYXJtIjogIjB4QzFiOWJjZEM2YkU5ZjRENjIyNDY3MkYxOGZDNDZmZjMzMEY0ODdlMSIsCiAgICAgICJyb3V0ZXIiOiAiMHhERERmOTc4RmQ4NjEzRGJkMDZFODA3YTM5YmNhNWNlNDM4M0QzRmY1IiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4ODkxNDNhNEFDMmFCMzQ3MmI0MTY4N0ZEZDdBNThlZkZiQTM0NjFEQSIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYiLAogICAgICAibXVsdGljYWxsIjogIjB4MzhEMzJEMTgwOWNhOThDNTJhM2FhZjg3Mjc1RDk5NDYxYWMzNUJBMSIsCiAgICAgICJzcmNfY29udHJhY3RzIjogewogICAgICAgICJBcmJpdHJ1bSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDY2NzRmYmYzQTY2NDhkNDUwRmQ5RmFCZWM1MDhmQmI3MDA5QjhiNWEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMTcwNTI3OTcKICAgICAgICB9LAogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4QjBiMUY2QjI1REMyZWQ3NzA5NTE2MUI3MzQ0YUFiNWQ2RjlDZjVhOCIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxNzA1MTM2NAogICAgICAgIH0sCiAgICAgICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4MTE1MkQyNDU4QkVmNzM2MDExRTBDMTc2MjNlOGQwMjg4NzdEZWM1ZSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxNzA1MjEwNwogICAgICAgIH0KICAgICAgfSwKICAgICAgImRlc3RfY29udHJhY3RzIjogewogICAgICAgICJBcmJpdHJ1bSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHgwMjkyMjIwMjJmNDQ0ODg3ZjNkMTFEMTk4MjAwM0I2Q2E3M0JEYjE4IiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg4OWY3MjY0ODk5ODIwRmFjQjMxZDNCYTA4MjY0MDJiZDg4NzVBRjMyIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDc4MjExMDg0MjEyMTRBMWI0Mjk0RTFjQTc3MjgyNmRjNzMxMEM3ZjkiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDE0N2YyMENjN0U1NDg0NGViMmU0ZTdFY0E0OTMzRDk3NDUxNzY1QzkiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDlhYUQ4OTg0RkY1MTk3NWREMjY1MTJCNDU3ZUE4MTUzZDIxNTMwMmMiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDhCQTI3M2NFOEQwN0I2ZDEwZkFDQjIxOWIyZDhjOTUxZUYyZTI1NWEiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJQb2x5Z29uIE11bWJhaSI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweDMyNkM5NzdFNmVmYzg0RTUxMmJCOUMzMGY3NkUzMGMxNjBlRDA2RkIiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IG51bGwsCiAgICAgICJicmlkZ2VfdG9rZW5zX3Bvb2xzIjogbnVsbCwKICAgICAgImFybSI6ICIweDg2NmZhQjkyRTA0YkFFNUVEYTIzOEE5Y2JGZjFlNTZFMDk1MDhBZGUiLAogICAgICAicm91dGVyIjogIjB4NDc5QTZmRjlhMjMzNTE4MEQ5MjMwNkQ3Njc1NGJCQkRjQTc1MWJGMCIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweEQ4ODZFMjI4NkZkMTA3M2RmODI0NjJlYTE4MjIxMTk2MDBBZjgwYjYiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHg5YzNDOTI4M0QzZTQ0ODU0Njk3Q2QyMkQzRmFhMjQwQ2ZiMDMyODg5IiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg1MTE1OENhNDM5ZmVBOUU4MDlCYzA2M0NmQTY3MDE3NDdiMDUyNTRlIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDQyMTkyMDg2CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4RDg0QTE2ZGQ0MjM1QUVCQ0E5NTE1ZGMzY2I1Y0QxNjY1Zjc0Y0IyZSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MzcwMDRjMTI0NWEyRDU1NDEzNzdlODdjQTI5Njk5NDkyYTQxMTRENSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweDc3OTg3N0E3QjBEOUU4NjAzMTY5RGRiRDc4MzZlNDc4YjQ2MjQ3ODkiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHg3Nzk4NzdBN0IwRDlFODYwMzE2OURkYkQ3ODM2ZTQ3OGI0NjI0Nzg5IiwKICAgICAgICAiMHg0RDJENUNBRWQzMzE1RDNjN2U1ZWUwZTQyNzZmNjIwQUUzMjdCZUJCIgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHgwZDg1OEQ2OTYwNDY0ZTI3MjEwMjVCOGE0NzE4MDVDYTM4YTcyNTA1IiwKICAgICAgICAiMHgyOTIxZkNhMGZFMjVEODEwODk1QTU4OTMxREQxMEE0Q0NjODRmZjNGIgogICAgICBdLAogICAgICAiYXJtIjogIjB4OTkxMmE3Mzg5MzgyZmY1NWY4NUEyOUM5Mzc4QjM4RjdCOTkyYzRhRSIsCiAgICAgICJyb3V0ZXIiOiAiMHgxRTFGM2Q4QWM3RGY2NWZDY0ZjYzUyZGJGMDM5MjljRUU5NTQzMGFjIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4NDM1OGU4MWY4OGJCMjcyMjI3NzljMUJDODUwMDNBMTFBMWM2NmY2RiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDA5N0Q5MGM5ZDNFMEI1MENhNjBlMWFlNDVGNkE4MTAxMGY5RkI1MzQiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweGE3Q0I1ZDJGMjQzMmI1MUYwNWIzNDVEZmE2ODA2QjkwMDc2N0I2MzgiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNDY1OTgxNAogICAgICAgIH0sCiAgICAgICAgIk9wdGltaXNtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4NjVjNzVEN2ZlNTE2Njc3OTQ5ZEJjN2ZlN0M0QjRGQTU5NzVGNTUxQiIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiA0NjU5ODQ0CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MWQ0NTgxMjg0NzAzNzY5YUNhMjc4Y2FhMzAyNzJDN2JhOTU0OGNlRiIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4Q2ZBRmQ5ZEFkZEU4QjBkMDAwMGE0MzcyRTcxMTY1NjI0MzBjNGNjNiIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiT3B0aW1pc20gR29lcmxpIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4RWY0MjE2OTlFMjQwMDcxYzMxNGQ1NzA5NDEyYzhDMEQwY2U0ZTg3OSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4NTlEYzNBYjNDQTkwOThkMjZjYjJFNTA3RGVkRTkwMTQ2YmVhNDk2NCIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9CiAgfQp9CiIiIgoKW0NDSVAuR3JvdXBzXQpbQ0NJUC5Hcm91cHMuc21va2VdCk5ldHdvcmtQYWlycyA9IFsnQVZBTEFOQ0hFX0ZVSkksT1BUSU1JU01fR09FUkxJJ10KUGhhc2VUaW1lb3V0ID0gJzIwbScKQmlEaXJlY3Rpb25hbExhbmUgPSBmYWxzZQpMb2NhbENsdXN0ZXIgPSBmYWxzZQpFeGlzdGluZ0RlcGxveW1lbnQgPSB0cnVlCk11bHRpY2FsbEluT25lVHggPSB0cnVlCk5vT2ZTZW5kc0luTXVsdGljYWxsID0gNQpOb09mVG9rZW5zUGVyQ2hhaW4gPSAxCk5vT2ZUb2tlbnNJbk1zZyA9IDE= + +export BASE64_TEST_CONFIG_OVERRIDE=W0NDSVBdCltDQ0lQLkRlcGxveW1lbnRzXQpEYXRhID0gIiIiCnsKICAibGFuZV9jb25maWdzIjogewogICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweGQxNDgzOEE2OEU4QUZCQWRFNWVmYjQxMWQ1ODcxZWEwMDExQUZkMjgiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHhmZDA2NEExOGYzQkYyNDljZjFmODdGQzIwM0U5MEQ4ZjY1MGYyZDYzIgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHg0MDk1MkU3ZjA3MkQxOTdBZjY4MTk0QzkwMjFEZTM1RTE4QWY3MUFlIgogICAgICBdLAogICAgICAiYXJtIjogIjB4QTc2M0E2NWY3Njk3YkUxRDlBODkwYzJBRDAwNjM4NkFkMGExNmZjQiIsCiAgICAgICJyb3V0ZXIiOiAiMHg5NDE1MUNkNDY3ZmYyMzEyYkMyZTA5ODBENEFlM0VFM0ZiOGY4OGFjIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4YWEwMDkwQWI3OTQ0NjQ4QzdkM0E5NTBmNzE0YjZBQ0QzMzM4Nzc0QiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDMyZDVENTk3ODkwNWQ5YzZjMkQ0QzQxN0YwRTA2RmU3NjhhNEZCNWEiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ0QWRlRDA0Q2E3N0FEOTVDOEY3NDIzNzcxMzQ4YjEzZjU1MzljNTEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDE3MTgKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ2MjY2NTVlRjYxRkVENjdiMzdjQzQ3NGQ3NkU5NTY1ZmNDOGYwZDkiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDc2NjEKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg4RjIyZkNkNjA3NDA5NjkyQUFDZDZmNWUwMjBCQ2Y0YzVCMkJlMzUyIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgxOTkyMTc4NThCN2ZlM0JDN0IyYjRjNTdjOUI1QzdlM2M0RGUyMDI3IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg1YTYyMzlDNjhhNzFmNDBCZGQzYzAzQ2VCOTE5MUYzZGFiRTAwMjlkIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhlQ2ZhNWU5MTRDM2Q0NDliNEE5QjQ2MjJEYzA5N0ZGNTBFNjA0RDUyIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHgwYjlkNUQ5MTM2ODU1ZjZGRWMzYzA5OTNmZUU2RTlDRThhMjk3ODQ2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4NTQyNTg5MDI5OGFlZDYwMTU5NWE3MEFCODE1Yzk2NzExYTMxQmM2NSIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4YjJkOEI4OEM0YjIzZDBEODY4MThiYzk3ODNFNkI1MDhhNzc3MWI4NCIKICAgICAgXSwKICAgICAgImFybSI6ICIweEQ0QTUxZEMwRjVDNjgwQThBMThlQTRFYzNBMmYyNUM2ZGI5NDI0QjciLAogICAgICAicm91dGVyIjogIjB4YTYyZTY4NWFERkY0NWYzOGVDOTQzNzg1MTNEMTI4RjE2ODk2NEU5OSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweGRiZUExYTEwQUM2YTJCNzI5YkYxMjhhRTkyODFFZDQyMGRiRTcxMTMiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHhkMDBhZTA4NDAzQjliYmI5MTI0YkIzMDVDMDkwNThFMzJDMzlBNDhjIiwKICAgICAgIm11bHRpY2FsbCI6ICIiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXJiaXRydW0gR29lcmxpIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHhBYjlmMjMxN0MzNjdmMTk1ODU5M0Y3ODk5M0MyNkNkQTU0RTMzYzA5IiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDI3NTY2NzM4CiAgICAgICAgfSwKICAgICAgICAiQlNDIFRlc3RuZXQiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDkwMDA2NDQyODA2MmE0YUJEZGEzZDVmMkUwRDVkMzNDYTViODc3MGMiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMjc1Njc0ODQKICAgICAgICB9LAogICAgICAgICJCYXNlIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4ODhEYmJCYTU5MDRlODBlQzZiMzQxYzhjMjJkYzk1NTM0RTMyNzREMSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NzMzNQogICAgICAgIH0sCiAgICAgICAgIk9wdGltaXNtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4QjFmOEEwYTQzYzI0NjVkN2JiZjg2NjRiZkZBZDM5ZjZmYjdGZWQyMiIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NjUzNQogICAgICAgIH0sCiAgICAgICAgIlBvbHlnb24gTXVtYmFpIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHhlNzRFOEQzZUE0QkNBZkU4NWNkNTNkYTU2OGY5NDQ2YjlkQTljQkJhIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDI3NTY3NjE2CiAgICAgICAgfSwKICAgICAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg3RTQwMWMzOTc2ODA3M2IzRkRDN2NEMTVBNDRFMjg5MTQ1MTU4ZDEzIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDI3NTY2OTk1CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDY3Nzg0ODhhNmYzRDA2N0E4MWRDRmUxYjcyMEFhN0M4NTFDRDdkOGEiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDczNzRmRkUxMWQ1OEI5NjkyY2U1NzAzOEViMWNjODlENzQ1MDhEOTQiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIkJTQyBUZXN0bmV0IjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4YjZEYjg0YkM0OTYyNDVENDM2NEE0Y2YzNDBCQ2MxQjFBOTg3OEVmNiIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4REVCMjNjQ0EzYzU0QzkxN2IxZjI1NURENUUxQmY5NDE5NUQ3ODZDMiIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiQmFzZSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHgwOTUyMEM4ZWVGOGFBOGU1N2Q5ZDYzOTEzMDRCNjljMzUzMTAzQjc2IiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgxNjMwQUZDMDhCOWE4M0E4MkM4NkZmMzJhNTgxNzgzN2E0MzI4NTc4IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhBMjY4NjlENkQzZUY0MDA0ODQ4ODVDMDI5Q0IzM2FhZmE4Rjk3OERFIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhiMzlDM2FjNzY4QjJlQ0EwODYzNmU4MjI3QTI0MjA1NDQ0OTg5MjliIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIiIKICAgICAgICB9LAogICAgICAgICJQb2x5Z29uIE11bWJhaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweGZDRmVBNzcwNzExOTdlZmQxMzQ3ZUI2ODA5NDUyYjhjQkQ3QjU5ZjMiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDdEMTAzRTkyMDNEZENGZTQ5M2M5ZjI4RDFCQTk1ODU1NmQwZTRBN0YiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweEU4MTZjNmFDMGRlNDM3NWVDNjVlNGEzODMwRDA3MjA1M0RFODNlMWEiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDQ0NmI3Q2VBRDFkMEM0ODdhRDhFYjJiOEY4NmMwOGM5ZTE0MmRlMTUiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJCU0MgVGVzdG5ldCI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweDg0YjlCOTEwNTI3QWQ1QzAzQTlDYTgzMTkwOUUyMWUyMzZFQTdiMDYiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHg4NGI5QjkxMDUyN0FkNUMwM0E5Q2E4MzE5MDlFMjFlMjM2RUE3YjA2IgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHgyMjNGOWNDNTgzNzAxMzkxOTlCNTI1ZThFNTFCMTgxMjlCNjQ4NDY2IgogICAgICBdLAogICAgICAiYXJtIjogIjB4YkJGNTM0RDg5ZDk2NDBlMzg4NmRiMjVGRTFmZkU2MDNGZTE2MEQ3NSIsCiAgICAgICJyb3V0ZXIiOiAiMHg5Q2RBNWI3N2VBMjM0NTllQmFmMmUzMDkyYzU3MGE2QjU2MDU4NTBBIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4OTIxMzk2N2E0N0ZDM0YxNUExNkEwYjgxMzIwOGU4Q2NiNjNEYmJhNiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweGFlMTNkOTg5ZGFDMmYwZEViRmY0NjBhQzExMmE4MzdDODlCQWE3Y2QiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDBENTJjMjQ3MkRDNmYzN0ZCZUU1OTU1MmIxMTY1ZGVhZmUzYjlhNEIiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMzQ5NDUwNzYKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHgwMzlhZDhCNzZFZmMyOUYxYjIzM2QwNEI0MTNhMERDQUNCZTdFOTAxIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgwQUExMTAyODYyYjVhYTcxQ0YzNjg1OTZEQjc0MDUyMURiYjlGNTY1IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQmFzZSBHb2VybGkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHhEODg2RTIyODZGZDEwNzNkZjgyNDYyZWExODIyMTE5NjAwQWY4MGI2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4RjE3NTUyMEM1MjQxOGRmRTE5QzgwOTgwNzFhMjUyZGE0OENkMUMxOSIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4MTRENjZlNTMyOTkxNzRCOEVmMTE3ZDMzMjg1RTFjODE0RUQ2NTJkRSIKICAgICAgXSwKICAgICAgImFybSI6ICIweDI3Qjg4MmMzOTMxNTFBREQ5MTBGMzU1Nzg0OUFGMGJiMDljN2Q1QTYiLAogICAgICAicm91dGVyIjogIjB4OEFlZDUzMTU2MzU2OGRkZTlGRjQzN2Q4NmM2NWI2Mzc1MzVhNURBMyIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweDZFNTMyRjg2Q0Q1NzIxQTk3NmYxNTU2MEFhMDY4MzUyMWNGYUI3ZTciLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHg0MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2IiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg0MzMxNjVmMTkyRjc2NjVFOGYwQ0Q3QTM1Rjc5MzMwZkQ0M0RhMEQ2IiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDEyMTY5NTMxCiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MDRjYjkxZjE0Y2ZjOTBFNGFiM2YxMDgyMzFFMTkxRGVDMjMzZWM4MiIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4RGVENzk5QWJEQjlmZGVFZTBmQTczOEJiQ0VGNTY1OTk2QTE2OUEwRSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIk9wdGltaXNtIEdvZXJsaSI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweGRjMkNDNzEwZTQyODU3NjcyRTc5MDdDRjQ3NGE2OUI2M0I5MzA4OWYiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHhlMDU2MDYxNzRiYWM0QTYzNjRCMzFiZDBlQ0E0YmY0ZEQzNjhmOEM2IgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHhjMDNCYzU0MTg3MDY5ZTIyZkI3OGYzZmNFMmQ3QjVkQ2UzZjZlQ0VBIgogICAgICBdLAogICAgICAiYXJtIjogIjB4QzFiOWJjZEM2YkU5ZjRENjIyNDY3MkYxOGZDNDZmZjMzMEY0ODdlMSIsCiAgICAgICJyb3V0ZXIiOiAiMHhERERmOTc4RmQ4NjEzRGJkMDZFODA3YTM5YmNhNWNlNDM4M0QzRmY1IiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4ODkxNDNhNEFDMmFCMzQ3MmI0MTY4N0ZEZDdBNThlZkZiQTM0NjFEQSIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYiLAogICAgICAibXVsdGljYWxsIjogIjB4MzhEMzJEMTgwOWNhOThDNTJhM2FhZjg3Mjc1RDk5NDYxYWMzNUJBMSIsCiAgICAgICJzcmNfY29udHJhY3RzIjogewogICAgICAgICJBcmJpdHJ1bSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDY2NzRmYmYzQTY2NDhkNDUwRmQ5RmFCZWM1MDhmQmI3MDA5QjhiNWEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMTcwNTI3OTcKICAgICAgICB9LAogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4QjBiMUY2QjI1REMyZWQ3NzA5NTE2MUI3MzQ0YUFiNWQ2RjlDZjVhOCIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxNzA1MTM2NAogICAgICAgIH0sCiAgICAgICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4MTE1MkQyNDU4QkVmNzM2MDExRTBDMTc2MjNlOGQwMjg4NzdEZWM1ZSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxNzA1MjEwNwogICAgICAgIH0KICAgICAgfSwKICAgICAgImRlc3RfY29udHJhY3RzIjogewogICAgICAgICJBcmJpdHJ1bSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHgwMjkyMjIwMjJmNDQ0ODg3ZjNkMTFEMTk4MjAwM0I2Q2E3M0JEYjE4IiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg4OWY3MjY0ODk5ODIwRmFjQjMxZDNCYTA4MjY0MDJiZDg4NzVBRjMyIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDc4MjExMDg0MjEyMTRBMWI0Mjk0RTFjQTc3MjgyNmRjNzMxMEM3ZjkiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDE0N2YyMENjN0U1NDg0NGViMmU0ZTdFY0E0OTMzRDk3NDUxNzY1QzkiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDlhYUQ4OTg0RkY1MTk3NWREMjY1MTJCNDU3ZUE4MTUzZDIxNTMwMmMiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDhCQTI3M2NFOEQwN0I2ZDEwZkFDQjIxOWIyZDhjOTUxZUYyZTI1NWEiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJQb2x5Z29uIE11bWJhaSI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweDMyNkM5NzdFNmVmYzg0RTUxMmJCOUMzMGY3NkUzMGMxNjBlRDA2RkIiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IG51bGwsCiAgICAgICJicmlkZ2VfdG9rZW5zX3Bvb2xzIjogbnVsbCwKICAgICAgImFybSI6ICIweDg2NmZhQjkyRTA0YkFFNUVEYTIzOEE5Y2JGZjFlNTZFMDk1MDhBZGUiLAogICAgICAicm91dGVyIjogIjB4NDc5QTZmRjlhMjMzNTE4MEQ5MjMwNkQ3Njc1NGJCQkRjQTc1MWJGMCIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweEQ4ODZFMjI4NkZkMTA3M2RmODI0NjJlYTE4MjIxMTk2MDBBZjgwYjYiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHg5YzNDOTI4M0QzZTQ0ODU0Njk3Q2QyMkQzRmFhMjQwQ2ZiMDMyODg5IiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg1MTE1OENhNDM5ZmVBOUU4MDlCYzA2M0NmQTY3MDE3NDdiMDUyNTRlIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDQyMTkyMDg2CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4RDg0QTE2ZGQ0MjM1QUVCQ0E5NTE1ZGMzY2I1Y0QxNjY1Zjc0Y0IyZSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MzcwMDRjMTI0NWEyRDU1NDEzNzdlODdjQTI5Njk5NDkyYTQxMTRENSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweDc3OTg3N0E3QjBEOUU4NjAzMTY5RGRiRDc4MzZlNDc4YjQ2MjQ3ODkiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHg3Nzk4NzdBN0IwRDlFODYwMzE2OURkYkQ3ODM2ZTQ3OGI0NjI0Nzg5IiwKICAgICAgICAiMHg0RDJENUNBRWQzMzE1RDNjN2U1ZWUwZTQyNzZmNjIwQUUzMjdCZUJCIgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHgwZDg1OEQ2OTYwNDY0ZTI3MjEwMjVCOGE0NzE4MDVDYTM4YTcyNTA1IiwKICAgICAgICAiMHgyOTIxZkNhMGZFMjVEODEwODk1QTU4OTMxREQxMEE0Q0NjODRmZjNGIgogICAgICBdLAogICAgICAiYXJtIjogIjB4OTkxMmE3Mzg5MzgyZmY1NWY4NUEyOUM5Mzc4QjM4RjdCOTkyYzRhRSIsCiAgICAgICJyb3V0ZXIiOiAiMHgxRTFGM2Q4QWM3RGY2NWZDY0ZjYzUyZGJGMDM5MjljRUU5NTQzMGFjIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4NDM1OGU4MWY4OGJCMjcyMjI3NzljMUJDODUwMDNBMTFBMWM2NmY2RiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDA5N0Q5MGM5ZDNFMEI1MENhNjBlMWFlNDVGNkE4MTAxMGY5RkI1MzQiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweGE3Q0I1ZDJGMjQzMmI1MUYwNWIzNDVEZmE2ODA2QjkwMDc2N0I2MzgiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNDY1OTgxNAogICAgICAgIH0sCiAgICAgICAgIk9wdGltaXNtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4NjVjNzVEN2ZlNTE2Njc3OTQ5ZEJjN2ZlN0M0QjRGQTU5NzVGNTUxQiIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiA0NjU5ODQ0CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MWQ0NTgxMjg0NzAzNzY5YUNhMjc4Y2FhMzAyNzJDN2JhOTU0OGNlRiIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4Q2ZBRmQ5ZEFkZEU4QjBkMDAwMGE0MzcyRTcxMTY1NjI0MzBjNGNjNiIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiT3B0aW1pc20gR29lcmxpIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4RWY0MjE2OTlFMjQwMDcxYzMxNGQ1NzA5NDEyYzhDMEQwY2U0ZTg3OSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4NTlEYzNBYjNDQTkwOThkMjZjYjJFNTA3RGVkRTkwMTQ2YmVhNDk2NCIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9CiAgfQp9CiIiIgoKW0NDSVAuR3JvdXBzXQpbQ0NJUC5Hcm91cHMuc21va2VdCk5ldHdvcmtQYWlycyA9IFsnQVZBTEFOQ0hFX0ZVSkksT1BUSU1JU01fR09FUkxJJ10KUGhhc2VUaW1lb3V0ID0gJzIwbScKQmlEaXJlY3Rpb25hbExhbmUgPSBmYWxzZQpMb2NhbENsdXN0ZXIgPSBmYWxzZQpFeGlzdGluZ0RlcGxveW1lbnQgPSB0cnVlCk11bHRpY2FsbEluT25lVHggPSB0cnVlCk5vT2ZTZW5kc0luTXVsdGljYWxsID0gNQpOb09mVG9rZW5zUGVyQ2hhaW4gPSAxCk5vT2ZUb2tlbnNJbk1zZyA9IDE= +export TEST_BASE64_TEST_CONFIG_OVERRIDE=W0NDSVBdCltDQ0lQLkRlcGxveW1lbnRzXQpEYXRhID0gIiIiCnsKICAibGFuZV9jb25maWdzIjogewogICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweGQxNDgzOEE2OEU4QUZCQWRFNWVmYjQxMWQ1ODcxZWEwMDExQUZkMjgiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHhmZDA2NEExOGYzQkYyNDljZjFmODdGQzIwM0U5MEQ4ZjY1MGYyZDYzIgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHg0MDk1MkU3ZjA3MkQxOTdBZjY4MTk0QzkwMjFEZTM1RTE4QWY3MUFlIgogICAgICBdLAogICAgICAiYXJtIjogIjB4QTc2M0E2NWY3Njk3YkUxRDlBODkwYzJBRDAwNjM4NkFkMGExNmZjQiIsCiAgICAgICJyb3V0ZXIiOiAiMHg5NDE1MUNkNDY3ZmYyMzEyYkMyZTA5ODBENEFlM0VFM0ZiOGY4OGFjIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4YWEwMDkwQWI3OTQ0NjQ4QzdkM0E5NTBmNzE0YjZBQ0QzMzM4Nzc0QiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDMyZDVENTk3ODkwNWQ5YzZjMkQ0QzQxN0YwRTA2RmU3NjhhNEZCNWEiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ0QWRlRDA0Q2E3N0FEOTVDOEY3NDIzNzcxMzQ4YjEzZjU1MzljNTEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDE3MTgKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ2MjY2NTVlRjYxRkVENjdiMzdjQzQ3NGQ3NkU5NTY1ZmNDOGYwZDkiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDc2NjEKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg4RjIyZkNkNjA3NDA5NjkyQUFDZDZmNWUwMjBCQ2Y0YzVCMkJlMzUyIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgxOTkyMTc4NThCN2ZlM0JDN0IyYjRjNTdjOUI1QzdlM2M0RGUyMDI3IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg1YTYyMzlDNjhhNzFmNDBCZGQzYzAzQ2VCOTE5MUYzZGFiRTAwMjlkIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhlQ2ZhNWU5MTRDM2Q0NDliNEE5QjQ2MjJEYzA5N0ZGNTBFNjA0RDUyIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHgwYjlkNUQ5MTM2ODU1ZjZGRWMzYzA5OTNmZUU2RTlDRThhMjk3ODQ2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4NTQyNTg5MDI5OGFlZDYwMTU5NWE3MEFCODE1Yzk2NzExYTMxQmM2NSIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4YjJkOEI4OEM0YjIzZDBEODY4MThiYzk3ODNFNkI1MDhhNzc3MWI4NCIKICAgICAgXSwKICAgICAgImFybSI6ICIweEQ0QTUxZEMwRjVDNjgwQThBMThlQTRFYzNBMmYyNUM2ZGI5NDI0QjciLAogICAgICAicm91dGVyIjogIjB4YTYyZTY4NWFERkY0NWYzOGVDOTQzNzg1MTNEMTI4RjE2ODk2NEU5OSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweGRiZUExYTEwQUM2YTJCNzI5YkYxMjhhRTkyODFFZDQyMGRiRTcxMTMiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHhkMDBhZTA4NDAzQjliYmI5MTI0YkIzMDVDMDkwNThFMzJDMzlBNDhjIiwKICAgICAgIm11bHRpY2FsbCI6ICIiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXJiaXRydW0gR29lcmxpIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHhBYjlmMjMxN0MzNjdmMTk1ODU5M0Y3ODk5M0MyNkNkQTU0RTMzYzA5IiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDI3NTY2NzM4CiAgICAgICAgfSwKICAgICAgICAiQlNDIFRlc3RuZXQiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDkwMDA2NDQyODA2MmE0YUJEZGEzZDVmMkUwRDVkMzNDYTViODc3MGMiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMjc1Njc0ODQKICAgICAgICB9LAogICAgICAgICJCYXNlIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4ODhEYmJCYTU5MDRlODBlQzZiMzQxYzhjMjJkYzk1NTM0RTMyNzREMSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NzMzNQogICAgICAgIH0sCiAgICAgICAgIk9wdGltaXNtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4QjFmOEEwYTQzYzI0NjVkN2JiZjg2NjRiZkZBZDM5ZjZmYjdGZWQyMiIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NjUzNQogICAgICAgIH0sCiAgICAgICAgIlBvbHlnb24gTXVtYmFpIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHhlNzRFOEQzZUE0QkNBZkU4NWNkNTNkYTU2OGY5NDQ2YjlkQTljQkJhIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDI3NTY3NjE2CiAgICAgICAgfSwKICAgICAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg3RTQwMWMzOTc2ODA3M2IzRkRDN2NEMTVBNDRFMjg5MTQ1MTU4ZDEzIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDI3NTY2OTk1CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDY3Nzg0ODhhNmYzRDA2N0E4MWRDRmUxYjcyMEFhN0M4NTFDRDdkOGEiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDczNzRmRkUxMWQ1OEI5NjkyY2U1NzAzOEViMWNjODlENzQ1MDhEOTQiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIkJTQyBUZXN0bmV0IjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4YjZEYjg0YkM0OTYyNDVENDM2NEE0Y2YzNDBCQ2MxQjFBOTg3OEVmNiIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4REVCMjNjQ0EzYzU0QzkxN2IxZjI1NURENUUxQmY5NDE5NUQ3ODZDMiIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiQmFzZSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHgwOTUyMEM4ZWVGOGFBOGU1N2Q5ZDYzOTEzMDRCNjljMzUzMTAzQjc2IiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgxNjMwQUZDMDhCOWE4M0E4MkM4NkZmMzJhNTgxNzgzN2E0MzI4NTc4IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhBMjY4NjlENkQzZUY0MDA0ODQ4ODVDMDI5Q0IzM2FhZmE4Rjk3OERFIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhiMzlDM2FjNzY4QjJlQ0EwODYzNmU4MjI3QTI0MjA1NDQ0OTg5MjliIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIiIKICAgICAgICB9LAogICAgICAgICJQb2x5Z29uIE11bWJhaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweGZDRmVBNzcwNzExOTdlZmQxMzQ3ZUI2ODA5NDUyYjhjQkQ3QjU5ZjMiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDdEMTAzRTkyMDNEZENGZTQ5M2M5ZjI4RDFCQTk1ODU1NmQwZTRBN0YiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweEU4MTZjNmFDMGRlNDM3NWVDNjVlNGEzODMwRDA3MjA1M0RFODNlMWEiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDQ0NmI3Q2VBRDFkMEM0ODdhRDhFYjJiOEY4NmMwOGM5ZTE0MmRlMTUiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJCU0MgVGVzdG5ldCI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweDg0YjlCOTEwNTI3QWQ1QzAzQTlDYTgzMTkwOUUyMWUyMzZFQTdiMDYiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHg4NGI5QjkxMDUyN0FkNUMwM0E5Q2E4MzE5MDlFMjFlMjM2RUE3YjA2IgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHgyMjNGOWNDNTgzNzAxMzkxOTlCNTI1ZThFNTFCMTgxMjlCNjQ4NDY2IgogICAgICBdLAogICAgICAiYXJtIjogIjB4YkJGNTM0RDg5ZDk2NDBlMzg4NmRiMjVGRTFmZkU2MDNGZTE2MEQ3NSIsCiAgICAgICJyb3V0ZXIiOiAiMHg5Q2RBNWI3N2VBMjM0NTllQmFmMmUzMDkyYzU3MGE2QjU2MDU4NTBBIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4OTIxMzk2N2E0N0ZDM0YxNUExNkEwYjgxMzIwOGU4Q2NiNjNEYmJhNiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweGFlMTNkOTg5ZGFDMmYwZEViRmY0NjBhQzExMmE4MzdDODlCQWE3Y2QiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDBENTJjMjQ3MkRDNmYzN0ZCZUU1OTU1MmIxMTY1ZGVhZmUzYjlhNEIiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMzQ5NDUwNzYKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHgwMzlhZDhCNzZFZmMyOUYxYjIzM2QwNEI0MTNhMERDQUNCZTdFOTAxIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgwQUExMTAyODYyYjVhYTcxQ0YzNjg1OTZEQjc0MDUyMURiYjlGNTY1IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQmFzZSBHb2VybGkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHhEODg2RTIyODZGZDEwNzNkZjgyNDYyZWExODIyMTE5NjAwQWY4MGI2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4RjE3NTUyMEM1MjQxOGRmRTE5QzgwOTgwNzFhMjUyZGE0OENkMUMxOSIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4MTRENjZlNTMyOTkxNzRCOEVmMTE3ZDMzMjg1RTFjODE0RUQ2NTJkRSIKICAgICAgXSwKICAgICAgImFybSI6ICIweDI3Qjg4MmMzOTMxNTFBREQ5MTBGMzU1Nzg0OUFGMGJiMDljN2Q1QTYiLAogICAgICAicm91dGVyIjogIjB4OEFlZDUzMTU2MzU2OGRkZTlGRjQzN2Q4NmM2NWI2Mzc1MzVhNURBMyIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweDZFNTMyRjg2Q0Q1NzIxQTk3NmYxNTU2MEFhMDY4MzUyMWNGYUI3ZTciLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHg0MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2IiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg0MzMxNjVmMTkyRjc2NjVFOGYwQ0Q3QTM1Rjc5MzMwZkQ0M0RhMEQ2IiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDEyMTY5NTMxCiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MDRjYjkxZjE0Y2ZjOTBFNGFiM2YxMDgyMzFFMTkxRGVDMjMzZWM4MiIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4RGVENzk5QWJEQjlmZGVFZTBmQTczOEJiQ0VGNTY1OTk2QTE2OUEwRSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIk9wdGltaXNtIEdvZXJsaSI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweGRjMkNDNzEwZTQyODU3NjcyRTc5MDdDRjQ3NGE2OUI2M0I5MzA4OWYiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHhlMDU2MDYxNzRiYWM0QTYzNjRCMzFiZDBlQ0E0YmY0ZEQzNjhmOEM2IgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHhjMDNCYzU0MTg3MDY5ZTIyZkI3OGYzZmNFMmQ3QjVkQ2UzZjZlQ0VBIgogICAgICBdLAogICAgICAiYXJtIjogIjB4QzFiOWJjZEM2YkU5ZjRENjIyNDY3MkYxOGZDNDZmZjMzMEY0ODdlMSIsCiAgICAgICJyb3V0ZXIiOiAiMHhERERmOTc4RmQ4NjEzRGJkMDZFODA3YTM5YmNhNWNlNDM4M0QzRmY1IiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4ODkxNDNhNEFDMmFCMzQ3MmI0MTY4N0ZEZDdBNThlZkZiQTM0NjFEQSIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYiLAogICAgICAibXVsdGljYWxsIjogIjB4MzhEMzJEMTgwOWNhOThDNTJhM2FhZjg3Mjc1RDk5NDYxYWMzNUJBMSIsCiAgICAgICJzcmNfY29udHJhY3RzIjogewogICAgICAgICJBcmJpdHJ1bSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDY2NzRmYmYzQTY2NDhkNDUwRmQ5RmFCZWM1MDhmQmI3MDA5QjhiNWEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMTcwNTI3OTcKICAgICAgICB9LAogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4QjBiMUY2QjI1REMyZWQ3NzA5NTE2MUI3MzQ0YUFiNWQ2RjlDZjVhOCIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxNzA1MTM2NAogICAgICAgIH0sCiAgICAgICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4MTE1MkQyNDU4QkVmNzM2MDExRTBDMTc2MjNlOGQwMjg4NzdEZWM1ZSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxNzA1MjEwNwogICAgICAgIH0KICAgICAgfSwKICAgICAgImRlc3RfY29udHJhY3RzIjogewogICAgICAgICJBcmJpdHJ1bSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHgwMjkyMjIwMjJmNDQ0ODg3ZjNkMTFEMTk4MjAwM0I2Q2E3M0JEYjE4IiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg4OWY3MjY0ODk5ODIwRmFjQjMxZDNCYTA4MjY0MDJiZDg4NzVBRjMyIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDc4MjExMDg0MjEyMTRBMWI0Mjk0RTFjQTc3MjgyNmRjNzMxMEM3ZjkiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDE0N2YyMENjN0U1NDg0NGViMmU0ZTdFY0E0OTMzRDk3NDUxNzY1QzkiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDlhYUQ4OTg0RkY1MTk3NWREMjY1MTJCNDU3ZUE4MTUzZDIxNTMwMmMiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDhCQTI3M2NFOEQwN0I2ZDEwZkFDQjIxOWIyZDhjOTUxZUYyZTI1NWEiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJQb2x5Z29uIE11bWJhaSI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweDMyNkM5NzdFNmVmYzg0RTUxMmJCOUMzMGY3NkUzMGMxNjBlRDA2RkIiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IG51bGwsCiAgICAgICJicmlkZ2VfdG9rZW5zX3Bvb2xzIjogbnVsbCwKICAgICAgImFybSI6ICIweDg2NmZhQjkyRTA0YkFFNUVEYTIzOEE5Y2JGZjFlNTZFMDk1MDhBZGUiLAogICAgICAicm91dGVyIjogIjB4NDc5QTZmRjlhMjMzNTE4MEQ5MjMwNkQ3Njc1NGJCQkRjQTc1MWJGMCIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweEQ4ODZFMjI4NkZkMTA3M2RmODI0NjJlYTE4MjIxMTk2MDBBZjgwYjYiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHg5YzNDOTI4M0QzZTQ0ODU0Njk3Q2QyMkQzRmFhMjQwQ2ZiMDMyODg5IiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg1MTE1OENhNDM5ZmVBOUU4MDlCYzA2M0NmQTY3MDE3NDdiMDUyNTRlIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDQyMTkyMDg2CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4RDg0QTE2ZGQ0MjM1QUVCQ0E5NTE1ZGMzY2I1Y0QxNjY1Zjc0Y0IyZSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MzcwMDRjMTI0NWEyRDU1NDEzNzdlODdjQTI5Njk5NDkyYTQxMTRENSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweDc3OTg3N0E3QjBEOUU4NjAzMTY5RGRiRDc4MzZlNDc4YjQ2MjQ3ODkiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHg3Nzk4NzdBN0IwRDlFODYwMzE2OURkYkQ3ODM2ZTQ3OGI0NjI0Nzg5IiwKICAgICAgICAiMHg0RDJENUNBRWQzMzE1RDNjN2U1ZWUwZTQyNzZmNjIwQUUzMjdCZUJCIgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHgwZDg1OEQ2OTYwNDY0ZTI3MjEwMjVCOGE0NzE4MDVDYTM4YTcyNTA1IiwKICAgICAgICAiMHgyOTIxZkNhMGZFMjVEODEwODk1QTU4OTMxREQxMEE0Q0NjODRmZjNGIgogICAgICBdLAogICAgICAiYXJtIjogIjB4OTkxMmE3Mzg5MzgyZmY1NWY4NUEyOUM5Mzc4QjM4RjdCOTkyYzRhRSIsCiAgICAgICJyb3V0ZXIiOiAiMHgxRTFGM2Q4QWM3RGY2NWZDY0ZjYzUyZGJGMDM5MjljRUU5NTQzMGFjIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4NDM1OGU4MWY4OGJCMjcyMjI3NzljMUJDODUwMDNBMTFBMWM2NmY2RiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDA5N0Q5MGM5ZDNFMEI1MENhNjBlMWFlNDVGNkE4MTAxMGY5RkI1MzQiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweGE3Q0I1ZDJGMjQzMmI1MUYwNWIzNDVEZmE2ODA2QjkwMDc2N0I2MzgiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNDY1OTgxNAogICAgICAgIH0sCiAgICAgICAgIk9wdGltaXNtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4NjVjNzVEN2ZlNTE2Njc3OTQ5ZEJjN2ZlN0M0QjRGQTU5NzVGNTUxQiIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiA0NjU5ODQ0CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MWQ0NTgxMjg0NzAzNzY5YUNhMjc4Y2FhMzAyNzJDN2JhOTU0OGNlRiIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4Q2ZBRmQ5ZEFkZEU4QjBkMDAwMGE0MzcyRTcxMTY1NjI0MzBjNGNjNiIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiT3B0aW1pc20gR29lcmxpIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4RWY0MjE2OTlFMjQwMDcxYzMxNGQ1NzA5NDEyYzhDMEQwY2U0ZTg3OSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4NTlEYzNBYjNDQTkwOThkMjZjYjJFNTA3RGVkRTkwMTQ2YmVhNDk2NCIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9CiAgfQp9CiIiIgoKW0NDSVAuR3JvdXBzXQpbQ0NJUC5Hcm91cHMuc21va2VdCk5ldHdvcmtQYWlycyA9IFsnQVZBTEFOQ0hFX0ZVSkksT1BUSU1JU01fR09FUkxJJ10KUGhhc2VUaW1lb3V0ID0gJzIwbScKQmlEaXJlY3Rpb25hbExhbmUgPSBmYWxzZQpMb2NhbENsdXN0ZXIgPSBmYWxzZQpFeGlzdGluZ0RlcGxveW1lbnQgPSB0cnVlCk11bHRpY2FsbEluT25lVHggPSB0cnVlCk5vT2ZTZW5kc0luTXVsdGljYWxsID0gNQpOb09mVG9rZW5zUGVyQ2hhaW4gPSAxCk5vT2ZUb2tlbnNJbk1zZyA9IDE= + +export BASE64_TEST_CONFIG_OVERRIDE=W0NDSVBdCltDQ0lQLkRlcGxveW1lbnRzXQpEYXRhID0gIiIiCnsKICAibGFuZV9jb25maWdzIjogewogICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweGQxNDgzOEE2OEU4QUZCQWRFNWVmYjQxMWQ1ODcxZWEwMDExQUZkMjgiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHhmZDA2NEExOGYzQkYyNDljZjFmODdGQzIwM0U5MEQ4ZjY1MGYyZDYzIgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHg0MDk1MkU3ZjA3MkQxOTdBZjY4MTk0QzkwMjFEZTM1RTE4QWY3MUFlIgogICAgICBdLAogICAgICAiYXJtIjogIjB4QTc2M0E2NWY3Njk3YkUxRDlBODkwYzJBRDAwNjM4NkFkMGExNmZjQiIsCiAgICAgICJyb3V0ZXIiOiAiMHg5NDE1MUNkNDY3ZmYyMzEyYkMyZTA5ODBENEFlM0VFM0ZiOGY4OGFjIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4YWEwMDkwQWI3OTQ0NjQ4QzdkM0E5NTBmNzE0YjZBQ0QzMzM4Nzc0QiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDMyZDVENTk3ODkwNWQ5YzZjMkQ0QzQxN0YwRTA2RmU3NjhhNEZCNWEiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ0QWRlRDA0Q2E3N0FEOTVDOEY3NDIzNzcxMzQ4YjEzZjU1MzljNTEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDE3MTgKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ2MjY2NTVlRjYxRkVENjdiMzdjQzQ3NGQ3NkU5NTY1ZmNDOGYwZDkiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDc2NjEKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg4RjIyZkNkNjA3NDA5NjkyQUFDZDZmNWUwMjBCQ2Y0YzVCMkJlMzUyIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgxOTkyMTc4NThCN2ZlM0JDN0IyYjRjNTdjOUI1QzdlM2M0RGUyMDI3IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg1YTYyMzlDNjhhNzFmNDBCZGQzYzAzQ2VCOTE5MUYzZGFiRTAwMjlkIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhlQ2ZhNWU5MTRDM2Q0NDliNEE5QjQ2MjJEYzA5N0ZGNTBFNjA0RDUyIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHgwYjlkNUQ5MTM2ODU1ZjZGRWMzYzA5OTNmZUU2RTlDRThhMjk3ODQ2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4NTQyNTg5MDI5OGFlZDYwMTU5NWE3MEFCODE1Yzk2NzExYTMxQmM2NSIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4YjJkOEI4OEM0YjIzZDBEODY4MThiYzk3ODNFNkI1MDhhNzc3MWI4NCIKICAgICAgXSwKICAgICAgImFybSI6ICIweEQ0QTUxZEMwRjVDNjgwQThBMThlQTRFYzNBMmYyNUM2ZGI5NDI0QjciLAogICAgICAicm91dGVyIjogIjB4YTYyZTY4NWFERkY0NWYzOGVDOTQzNzg1MTNEMTI4RjE2ODk2NEU5OSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweGRiZUExYTEwQUM2YTJCNzI5YkYxMjhhRTkyODFFZDQyMGRiRTcxMTMiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHhkMDBhZTA4NDAzQjliYmI5MTI0YkIzMDVDMDkwNThFMzJDMzlBNDhjIiwKICAgICAgIm11bHRpY2FsbCI6ICIweGM2MTlhYjZmYmZkNTg2ZDg3N2YyODU1NjZmYjY3OWVmNGI3MTAxZWYiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXJiaXRydW0gR29lcmxpIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHhBYjlmMjMxN0MzNjdmMTk1ODU5M0Y3ODk5M0MyNkNkQTU0RTMzYzA5IiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDI3NTY2NzM4CiAgICAgICAgfSwKICAgICAgICAiQlNDIFRlc3RuZXQiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDkwMDA2NDQyODA2MmE0YUJEZGEzZDVmMkUwRDVkMzNDYTViODc3MGMiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMjc1Njc0ODQKICAgICAgICB9LAogICAgICAgICJCYXNlIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4ODhEYmJCYTU5MDRlODBlQzZiMzQxYzhjMjJkYzk1NTM0RTMyNzREMSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NzMzNQogICAgICAgIH0sCiAgICAgICAgIk9wdGltaXNtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4QjFmOEEwYTQzYzI0NjVkN2JiZjg2NjRiZkZBZDM5ZjZmYjdGZWQyMiIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NjUzNQogICAgICAgIH0sCiAgICAgICAgIlBvbHlnb24gTXVtYmFpIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHhlNzRFOEQzZUE0QkNBZkU4NWNkNTNkYTU2OGY5NDQ2YjlkQTljQkJhIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDI3NTY3NjE2CiAgICAgICAgfSwKICAgICAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg3RTQwMWMzOTc2ODA3M2IzRkRDN2NEMTVBNDRFMjg5MTQ1MTU4ZDEzIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDI3NTY2OTk1CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDY3Nzg0ODhhNmYzRDA2N0E4MWRDRmUxYjcyMEFhN0M4NTFDRDdkOGEiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDczNzRmRkUxMWQ1OEI5NjkyY2U1NzAzOEViMWNjODlENzQ1MDhEOTQiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIkJTQyBUZXN0bmV0IjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4YjZEYjg0YkM0OTYyNDVENDM2NEE0Y2YzNDBCQ2MxQjFBOTg3OEVmNiIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4REVCMjNjQ0EzYzU0QzkxN2IxZjI1NURENUUxQmY5NDE5NUQ3ODZDMiIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiQmFzZSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHgwOTUyMEM4ZWVGOGFBOGU1N2Q5ZDYzOTEzMDRCNjljMzUzMTAzQjc2IiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgxNjMwQUZDMDhCOWE4M0E4MkM4NkZmMzJhNTgxNzgzN2E0MzI4NTc4IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhBMjY4NjlENkQzZUY0MDA0ODQ4ODVDMDI5Q0IzM2FhZmE4Rjk3OERFIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhiMzlDM2FjNzY4QjJlQ0EwODYzNmU4MjI3QTI0MjA1NDQ0OTg5MjliIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIiIKICAgICAgICB9LAogICAgICAgICJQb2x5Z29uIE11bWJhaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweGZDRmVBNzcwNzExOTdlZmQxMzQ3ZUI2ODA5NDUyYjhjQkQ3QjU5ZjMiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDdEMTAzRTkyMDNEZENGZTQ5M2M5ZjI4RDFCQTk1ODU1NmQwZTRBN0YiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweEU4MTZjNmFDMGRlNDM3NWVDNjVlNGEzODMwRDA3MjA1M0RFODNlMWEiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDQ0NmI3Q2VBRDFkMEM0ODdhRDhFYjJiOEY4NmMwOGM5ZTE0MmRlMTUiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJCU0MgVGVzdG5ldCI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweDg0YjlCOTEwNTI3QWQ1QzAzQTlDYTgzMTkwOUUyMWUyMzZFQTdiMDYiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHg4NGI5QjkxMDUyN0FkNUMwM0E5Q2E4MzE5MDlFMjFlMjM2RUE3YjA2IgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHgyMjNGOWNDNTgzNzAxMzkxOTlCNTI1ZThFNTFCMTgxMjlCNjQ4NDY2IgogICAgICBdLAogICAgICAiYXJtIjogIjB4YkJGNTM0RDg5ZDk2NDBlMzg4NmRiMjVGRTFmZkU2MDNGZTE2MEQ3NSIsCiAgICAgICJyb3V0ZXIiOiAiMHg5Q2RBNWI3N2VBMjM0NTllQmFmMmUzMDkyYzU3MGE2QjU2MDU4NTBBIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4OTIxMzk2N2E0N0ZDM0YxNUExNkEwYjgxMzIwOGU4Q2NiNjNEYmJhNiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweGFlMTNkOTg5ZGFDMmYwZEViRmY0NjBhQzExMmE4MzdDODlCQWE3Y2QiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDBENTJjMjQ3MkRDNmYzN0ZCZUU1OTU1MmIxMTY1ZGVhZmUzYjlhNEIiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMzQ5NDUwNzYKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHgwMzlhZDhCNzZFZmMyOUYxYjIzM2QwNEI0MTNhMERDQUNCZTdFOTAxIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgwQUExMTAyODYyYjVhYTcxQ0YzNjg1OTZEQjc0MDUyMURiYjlGNTY1IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQmFzZSBHb2VybGkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHhEODg2RTIyODZGZDEwNzNkZjgyNDYyZWExODIyMTE5NjAwQWY4MGI2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4RjE3NTUyMEM1MjQxOGRmRTE5QzgwOTgwNzFhMjUyZGE0OENkMUMxOSIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4MTRENjZlNTMyOTkxNzRCOEVmMTE3ZDMzMjg1RTFjODE0RUQ2NTJkRSIKICAgICAgXSwKICAgICAgImFybSI6ICIweDI3Qjg4MmMzOTMxNTFBREQ5MTBGMzU1Nzg0OUFGMGJiMDljN2Q1QTYiLAogICAgICAicm91dGVyIjogIjB4OEFlZDUzMTU2MzU2OGRkZTlGRjQzN2Q4NmM2NWI2Mzc1MzVhNURBMyIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweDZFNTMyRjg2Q0Q1NzIxQTk3NmYxNTU2MEFhMDY4MzUyMWNGYUI3ZTciLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHg0MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2IiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg0MzMxNjVmMTkyRjc2NjVFOGYwQ0Q3QTM1Rjc5MzMwZkQ0M0RhMEQ2IiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDEyMTY5NTMxCiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MDRjYjkxZjE0Y2ZjOTBFNGFiM2YxMDgyMzFFMTkxRGVDMjMzZWM4MiIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4RGVENzk5QWJEQjlmZGVFZTBmQTczOEJiQ0VGNTY1OTk2QTE2OUEwRSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIk9wdGltaXNtIEdvZXJsaSI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweGRjMkNDNzEwZTQyODU3NjcyRTc5MDdDRjQ3NGE2OUI2M0I5MzA4OWYiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHhlMDU2MDYxNzRiYWM0QTYzNjRCMzFiZDBlQ0E0YmY0ZEQzNjhmOEM2IgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHhjMDNCYzU0MTg3MDY5ZTIyZkI3OGYzZmNFMmQ3QjVkQ2UzZjZlQ0VBIgogICAgICBdLAogICAgICAiYXJtIjogIjB4QzFiOWJjZEM2YkU5ZjRENjIyNDY3MkYxOGZDNDZmZjMzMEY0ODdlMSIsCiAgICAgICJyb3V0ZXIiOiAiMHhERERmOTc4RmQ4NjEzRGJkMDZFODA3YTM5YmNhNWNlNDM4M0QzRmY1IiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4ODkxNDNhNEFDMmFCMzQ3MmI0MTY4N0ZEZDdBNThlZkZiQTM0NjFEQSIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYiLAogICAgICAibXVsdGljYWxsIjogIjB4MzhEMzJEMTgwOWNhOThDNTJhM2FhZjg3Mjc1RDk5NDYxYWMzNUJBMSIsCiAgICAgICJzcmNfY29udHJhY3RzIjogewogICAgICAgICJBcmJpdHJ1bSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDY2NzRmYmYzQTY2NDhkNDUwRmQ5RmFCZWM1MDhmQmI3MDA5QjhiNWEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMTcwNTI3OTcKICAgICAgICB9LAogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4QjBiMUY2QjI1REMyZWQ3NzA5NTE2MUI3MzQ0YUFiNWQ2RjlDZjVhOCIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxNzA1MTM2NAogICAgICAgIH0sCiAgICAgICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4MTE1MkQyNDU4QkVmNzM2MDExRTBDMTc2MjNlOGQwMjg4NzdEZWM1ZSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxNzA1MjEwNwogICAgICAgIH0KICAgICAgfSwKICAgICAgImRlc3RfY29udHJhY3RzIjogewogICAgICAgICJBcmJpdHJ1bSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHgwMjkyMjIwMjJmNDQ0ODg3ZjNkMTFEMTk4MjAwM0I2Q2E3M0JEYjE4IiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg4OWY3MjY0ODk5ODIwRmFjQjMxZDNCYTA4MjY0MDJiZDg4NzVBRjMyIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDc4MjExMDg0MjEyMTRBMWI0Mjk0RTFjQTc3MjgyNmRjNzMxMEM3ZjkiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDE0N2YyMENjN0U1NDg0NGViMmU0ZTdFY0E0OTMzRDk3NDUxNzY1QzkiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiIgogICAgICAgIH0sCiAgICAgICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDlhYUQ4OTg0RkY1MTk3NWREMjY1MTJCNDU3ZUE4MTUzZDIxNTMwMmMiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDhCQTI3M2NFOEQwN0I2ZDEwZkFDQjIxOWIyZDhjOTUxZUYyZTI1NWEiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJQb2x5Z29uIE11bWJhaSI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweDMyNkM5NzdFNmVmYzg0RTUxMmJCOUMzMGY3NkUzMGMxNjBlRDA2RkIiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IG51bGwsCiAgICAgICJicmlkZ2VfdG9rZW5zX3Bvb2xzIjogbnVsbCwKICAgICAgImFybSI6ICIweDg2NmZhQjkyRTA0YkFFNUVEYTIzOEE5Y2JGZjFlNTZFMDk1MDhBZGUiLAogICAgICAicm91dGVyIjogIjB4NDc5QTZmRjlhMjMzNTE4MEQ5MjMwNkQ3Njc1NGJCQkRjQTc1MWJGMCIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweEQ4ODZFMjI4NkZkMTA3M2RmODI0NjJlYTE4MjIxMTk2MDBBZjgwYjYiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHg5YzNDOTI4M0QzZTQ0ODU0Njk3Q2QyMkQzRmFhMjQwQ2ZiMDMyODg5IiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg1MTE1OENhNDM5ZmVBOUU4MDlCYzA2M0NmQTY3MDE3NDdiMDUyNTRlIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDQyMTkyMDg2CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4RDg0QTE2ZGQ0MjM1QUVCQ0E5NTE1ZGMzY2I1Y0QxNjY1Zjc0Y0IyZSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MzcwMDRjMTI0NWEyRDU1NDEzNzdlODdjQTI5Njk5NDkyYTQxMTRENSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweDc3OTg3N0E3QjBEOUU4NjAzMTY5RGRiRDc4MzZlNDc4YjQ2MjQ3ODkiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHg3Nzk4NzdBN0IwRDlFODYwMzE2OURkYkQ3ODM2ZTQ3OGI0NjI0Nzg5IiwKICAgICAgICAiMHg0RDJENUNBRWQzMzE1RDNjN2U1ZWUwZTQyNzZmNjIwQUUzMjdCZUJCIgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHgwZDg1OEQ2OTYwNDY0ZTI3MjEwMjVCOGE0NzE4MDVDYTM4YTcyNTA1IiwKICAgICAgICAiMHgyOTIxZkNhMGZFMjVEODEwODk1QTU4OTMxREQxMEE0Q0NjODRmZjNGIgogICAgICBdLAogICAgICAiYXJtIjogIjB4OTkxMmE3Mzg5MzgyZmY1NWY4NUEyOUM5Mzc4QjM4RjdCOTkyYzRhRSIsCiAgICAgICJyb3V0ZXIiOiAiMHgxRTFGM2Q4QWM3RGY2NWZDY0ZjYzUyZGJGMDM5MjljRUU5NTQzMGFjIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4NDM1OGU4MWY4OGJCMjcyMjI3NzljMUJDODUwMDNBMTFBMWM2NmY2RiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDA5N0Q5MGM5ZDNFMEI1MENhNjBlMWFlNDVGNkE4MTAxMGY5RkI1MzQiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweGE3Q0I1ZDJGMjQzMmI1MUYwNWIzNDVEZmE2ODA2QjkwMDc2N0I2MzgiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNDY1OTgxNAogICAgICAgIH0sCiAgICAgICAgIk9wdGltaXNtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4NjVjNzVEN2ZlNTE2Njc3OTQ5ZEJjN2ZlN0M0QjRGQTU5NzVGNTUxQiIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiA0NjU5ODQ0CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MWQ0NTgxMjg0NzAzNzY5YUNhMjc4Y2FhMzAyNzJDN2JhOTU0OGNlRiIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4Q2ZBRmQ5ZEFkZEU4QjBkMDAwMGE0MzcyRTcxMTY1NjI0MzBjNGNjNiIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiT3B0aW1pc20gR29lcmxpIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4RWY0MjE2OTlFMjQwMDcxYzMxNGQ1NzA5NDEyYzhDMEQwY2U0ZTg3OSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4NTlEYzNBYjNDQTkwOThkMjZjYjJFNTA3RGVkRTkwMTQ2YmVhNDk2NCIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9CiAgfQp9CiIiIgoKW0NDSVAuR3JvdXBzXQpbQ0NJUC5Hcm91cHMuc21va2VdCk5ldHdvcmtQYWlycyA9IFsnQVZBTEFOQ0hFX0ZVSkksT1BUSU1JU01fR09FUkxJJ10KUGhhc2VUaW1lb3V0ID0gJzIwbScKQmlEaXJlY3Rpb25hbExhbmUgPSBmYWxzZQpMb2NhbENsdXN0ZXIgPSBmYWxzZQpFeGlzdGluZ0RlcGxveW1lbnQgPSB0cnVlCk11bHRpY2FsbEluT25lVHggPSB0cnVlCk5vT2ZTZW5kc0luTXVsdGljYWxsID0gNQpOb09mVG9rZW5zUGVyQ2hhaW4gPSAxCk5vT2ZUb2tlbnNJbk1zZyA9IDE= +export TEST_BASE64_TEST_CONFIG_OVERRIDE=W0NDSVBdCltDQ0lQLkRlcGxveW1lbnRzXQpEYXRhID0gIiIiCnsKICAibGFuZV9jb25maWdzIjogewogICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweGQxNDgzOEE2OEU4QUZCQWRFNWVmYjQxMWQ1ODcxZWEwMDExQUZkMjgiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHhmZDA2NEExOGYzQkYyNDljZjFmODdGQzIwM0U5MEQ4ZjY1MGYyZDYzIgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHg0MDk1MkU3ZjA3MkQxOTdBZjY4MTk0QzkwMjFEZTM1RTE4QWY3MUFlIgogICAgICBdLAogICAgICAiYXJtIjogIjB4QTc2M0E2NWY3Njk3YkUxRDlBODkwYzJBRDAwNjM4NkFkMGExNmZjQiIsCiAgICAgICJyb3V0ZXIiOiAiMHg5NDE1MUNkNDY3ZmYyMzEyYkMyZTA5ODBENEFlM0VFM0ZiOGY4OGFjIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4YWEwMDkwQWI3OTQ0NjQ4QzdkM0E5NTBmNzE0YjZBQ0QzMzM4Nzc0QiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDMyZDVENTk3ODkwNWQ5YzZjMkQ0QzQxN0YwRTA2RmU3NjhhNEZCNWEiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ0QWRlRDA0Q2E3N0FEOTVDOEY3NDIzNzcxMzQ4YjEzZjU1MzljNTEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDE3MTgKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDQ2MjY2NTVlRjYxRkVENjdiMzdjQzQ3NGQ3NkU5NTY1ZmNDOGYwZDkiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNTQxMDc2NjEKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg4RjIyZkNkNjA3NDA5NjkyQUFDZDZmNWUwMjBCQ2Y0YzVCMkJlMzUyIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgxOTkyMTc4NThCN2ZlM0JDN0IyYjRjNTdjOUI1QzdlM2M0RGUyMDI3IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHg1YTYyMzlDNjhhNzFmNDBCZGQzYzAzQ2VCOTE5MUYzZGFiRTAwMjlkIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhlQ2ZhNWU5MTRDM2Q0NDliNEE5QjQ2MjJEYzA5N0ZGNTBFNjA0RDUyIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHgwYjlkNUQ5MTM2ODU1ZjZGRWMzYzA5OTNmZUU2RTlDRThhMjk3ODQ2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4NTQyNTg5MDI5OGFlZDYwMTU5NWE3MEFCODE1Yzk2NzExYTMxQmM2NSIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4YjJkOEI4OEM0YjIzZDBEODY4MThiYzk3ODNFNkI1MDhhNzc3MWI4NCIKICAgICAgXSwKICAgICAgImFybSI6ICIweEQ0QTUxZEMwRjVDNjgwQThBMThlQTRFYzNBMmYyNUM2ZGI5NDI0QjciLAogICAgICAicm91dGVyIjogIjB4YTYyZTY4NWFERkY0NWYzOGVDOTQzNzg1MTNEMTI4RjE2ODk2NEU5OSIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweGRiZUExYTEwQUM2YTJCNzI5YkYxMjhhRTkyODFFZDQyMGRiRTcxMTMiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHhkMDBhZTA4NDAzQjliYmI5MTI0YkIzMDVDMDkwNThFMzJDMzlBNDhjIiwKICAgICAgIm11bHRpY2FsbCI6ICIweGM2MTlhYjZmYmZkNTg2ZDg3N2YyODU1NjZmYjY3OWVmNGI3MTAxZWYiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXJiaXRydW0gR29lcmxpIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHhBYjlmMjMxN0MzNjdmMTk1ODU5M0Y3ODk5M0MyNkNkQTU0RTMzYzA5IiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDI3NTY2NzM4CiAgICAgICAgfSwKICAgICAgICAiQlNDIFRlc3RuZXQiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDkwMDA2NDQyODA2MmE0YUJEZGEzZDVmMkUwRDVkMzNDYTViODc3MGMiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMjc1Njc0ODQKICAgICAgICB9LAogICAgICAgICJCYXNlIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4ODhEYmJCYTU5MDRlODBlQzZiMzQxYzhjMjJkYzk1NTM0RTMyNzREMSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NzMzNQogICAgICAgIH0sCiAgICAgICAgIk9wdGltaXNtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4QjFmOEEwYTQzYzI0NjVkN2JiZjg2NjRiZkZBZDM5ZjZmYjdGZWQyMiIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAyNzU2NjUzNQogICAgICAgIH0sCiAgICAgICAgIlBvbHlnb24gTXVtYmFpIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHhlNzRFOEQzZUE0QkNBZkU4NWNkNTNkYTU2OGY5NDQ2YjlkQTljQkJhIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDI3NTY3NjE2CiAgICAgICAgfSwKICAgICAgICAiU2Vwb2xpYSBUZXN0bmV0IjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg3RTQwMWMzOTc2ODA3M2IzRkRDN2NEMTVBNDRFMjg5MTQ1MTU4ZDEzIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDI3NTY2OTk1CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkFyYml0cnVtIEdvZXJsaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDY3Nzg0ODhhNmYzRDA2N0E4MWRDRmUxYjcyMEFhN0M4NTFDRDdkOGEiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDczNzRmRkUxMWQ1OEI5NjkyY2U1NzAzOEViMWNjODlENzQ1MDhEOTQiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIkJTQyBUZXN0bmV0IjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4YjZEYjg0YkM0OTYyNDVENDM2NEE0Y2YzNDBCQ2MxQjFBOTg3OEVmNiIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4REVCMjNjQ0EzYzU0QzkxN2IxZjI1NURENUUxQmY5NDE5NUQ3ODZDMiIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiQmFzZSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHgwOTUyMEM4ZWVGOGFBOGU1N2Q5ZDYzOTEzMDRCNjljMzUzMTAzQjc2IiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgxNjMwQUZDMDhCOWE4M0E4MkM4NkZmMzJhNTgxNzgzN2E0MzI4NTc4IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJPcHRpbWlzbSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHhBMjY4NjlENkQzZUY0MDA0ODQ4ODVDMDI5Q0IzM2FhZmE4Rjk3OERFIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHhiMzlDM2FjNzY4QjJlQ0EwODYzNmU4MjI3QTI0MjA1NDQ0OTg5MjliIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIiIKICAgICAgICB9LAogICAgICAgICJQb2x5Z29uIE11bWJhaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweGZDRmVBNzcwNzExOTdlZmQxMzQ3ZUI2ODA5NDUyYjhjQkQ3QjU5ZjMiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDdEMTAzRTkyMDNEZENGZTQ5M2M5ZjI4RDFCQTk1ODU1NmQwZTRBN0YiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0sCiAgICAgICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweEU4MTZjNmFDMGRlNDM3NWVDNjVlNGEzODMwRDA3MjA1M0RFODNlMWEiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDQ0NmI3Q2VBRDFkMEM0ODdhRDhFYjJiOEY4NmMwOGM5ZTE0MmRlMTUiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJCU0MgVGVzdG5ldCI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweDg0YjlCOTEwNTI3QWQ1QzAzQTlDYTgzMTkwOUUyMWUyMzZFQTdiMDYiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHg4NGI5QjkxMDUyN0FkNUMwM0E5Q2E4MzE5MDlFMjFlMjM2RUE3YjA2IgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHgyMjNGOWNDNTgzNzAxMzkxOTlCNTI1ZThFNTFCMTgxMjlCNjQ4NDY2IgogICAgICBdLAogICAgICAiYXJtIjogIjB4YkJGNTM0RDg5ZDk2NDBlMzg4NmRiMjVGRTFmZkU2MDNGZTE2MEQ3NSIsCiAgICAgICJyb3V0ZXIiOiAiMHg5Q2RBNWI3N2VBMjM0NTllQmFmMmUzMDkyYzU3MGE2QjU2MDU4NTBBIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4OTIxMzk2N2E0N0ZDM0YxNUExNkEwYjgxMzIwOGU4Q2NiNjNEYmJhNiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweGFlMTNkOTg5ZGFDMmYwZEViRmY0NjBhQzExMmE4MzdDODlCQWE3Y2QiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDBENTJjMjQ3MkRDNmYzN0ZCZUU1OTU1MmIxMTY1ZGVhZmUzYjlhNEIiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMzQ5NDUwNzYKICAgICAgICB9CiAgICAgIH0sCiAgICAgICJkZXN0X2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHgwMzlhZDhCNzZFZmMyOUYxYjIzM2QwNEI0MTNhMERDQUNCZTdFOTAxIiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHgwQUExMTAyODYyYjVhYTcxQ0YzNjg1OTZEQjc0MDUyMURiYjlGNTY1IiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9CiAgICAgIH0KICAgIH0sCiAgICAiQmFzZSBHb2VybGkiOiB7CiAgICAgICJpc19tb2NrX2FybSI6IHRydWUsCiAgICAgICJmZWVfdG9rZW4iOiAiMHhEODg2RTIyODZGZDEwNzNkZjgyNDYyZWExODIyMTE5NjAwQWY4MGI2IiwKICAgICAgImJyaWRnZV90b2tlbnMiOiBbCiAgICAgICAgIjB4RjE3NTUyMEM1MjQxOGRmRTE5QzgwOTgwNzFhMjUyZGE0OENkMUMxOSIKICAgICAgXSwKICAgICAgImJyaWRnZV90b2tlbnNfcG9vbHMiOiBbCiAgICAgICAgIjB4MTRENjZlNTMyOTkxNzRCOEVmMTE3ZDMzMjg1RTFjODE0RUQ2NTJkRSIKICAgICAgXSwKICAgICAgImFybSI6ICIweDI3Qjg4MmMzOTMxNTFBREQ5MTBGMzU1Nzg0OUFGMGJiMDljN2Q1QTYiLAogICAgICAicm91dGVyIjogIjB4OEFlZDUzMTU2MzU2OGRkZTlGRjQzN2Q4NmM2NWI2Mzc1MzVhNURBMyIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweDZFNTMyRjg2Q0Q1NzIxQTk3NmYxNTU2MEFhMDY4MzUyMWNGYUI3ZTciLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHg0MjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA2IiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg0MzMxNjVmMTkyRjc2NjVFOGYwQ0Q3QTM1Rjc5MzMwZkQ0M0RhMEQ2IiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDEyMTY5NTMxCiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MDRjYjkxZjE0Y2ZjOTBFNGFiM2YxMDgyMzFFMTkxRGVDMjMzZWM4MiIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4RGVENzk5QWJEQjlmZGVFZTBmQTczOEJiQ0VGNTY1OTk2QTE2OUEwRSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIk9wdGltaXNtIEdvZXJsaSI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweGRjMkNDNzEwZTQyODU3NjcyRTc5MDdDRjQ3NGE2OUI2M0I5MzA4OWYiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHhlMDU2MDYxNzRiYWM0QTYzNjRCMzFiZDBlQ0E0YmY0ZEQzNjhmOEM2IgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHhjMDNCYzU0MTg3MDY5ZTIyZkI3OGYzZmNFMmQ3QjVkQ2UzZjZlQ0VBIgogICAgICBdLAogICAgICAiYXJtIjogIjB4QzFiOWJjZEM2YkU5ZjRENjIyNDY3MkYxOGZDNDZmZjMzMEY0ODdlMSIsCiAgICAgICJyb3V0ZXIiOiAiMHhERERmOTc4RmQ4NjEzRGJkMDZFODA3YTM5YmNhNWNlNDM4M0QzRmY1IiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4ODkxNDNhNEFDMmFCMzQ3MmI0MTY4N0ZEZDdBNThlZkZiQTM0NjFEQSIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDQyMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDYiLAogICAgICAibXVsdGljYWxsIjogIjB4MzhEMzJEMTgwOWNhOThDNTJhM2FhZjg3Mjc1RDk5NDYxYWMzNUJBMSIsCiAgICAgICJzcmNfY29udHJhY3RzIjogewogICAgICAgICJBcmJpdHJ1bSBHb2VybGkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweDY2NzRmYmYzQTY2NDhkNDUwRmQ5RmFCZWM1MDhmQmI3MDA5QjhiNWEiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogMTcwNTI3OTcKICAgICAgICB9LAogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4QjBiMUY2QjI1REMyZWQ3NzA5NTE2MUI3MzQ0YUFiNWQ2RjlDZjVhOCIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxNzA1MTM2NAogICAgICAgIH0sCiAgICAgICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4MTE1MkQyNDU4QkVmNzM2MDExRTBDMTc2MjNlOGQwMjg4NzdEZWM1ZSIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiAxNzA1MjEwNwogICAgICAgIH0KICAgICAgfSwKICAgICAgImRlc3RfY29udHJhY3RzIjogewogICAgICAgICJBcmJpdHJ1bSBHb2VybGkiOiB7CiAgICAgICAgICAib2ZmX3JhbXAiOiAiMHgwMjkyMjIwMjJmNDQ0ODg3ZjNkMTFEMTk4MjAwM0I2Q2E3M0JEYjE4IiwKICAgICAgICAgICJjb21taXRfc3RvcmUiOiAiMHg4OWY3MjY0ODk5ODIwRmFjQjMxZDNCYTA4MjY0MDJiZDg4NzVBRjMyIiwKICAgICAgICAgICJyZWNlaXZlcl9kYXBwIjogIjB4ZGE5ZThlNzFiQjc1MGE5OTZBZjMzZWJCOGFCYjE4Y2Q5RUI5REM3NSIKICAgICAgICB9LAogICAgICAgICJBdmFsYW5jaGUgRnVqaSI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDc4MjExMDg0MjEyMTRBMWI0Mjk0RTFjQTc3MjgyNmRjNzMxMEM3ZjkiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDE0N2YyMENjN0U1NDg0NGViMmU0ZTdFY0E0OTMzRDk3NDUxNzY1QzkiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiIgogICAgICAgIH0sCiAgICAgICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgICAgICJvZmZfcmFtcCI6ICIweDlhYUQ4OTg0RkY1MTk3NWREMjY1MTJCNDU3ZUE4MTUzZDIxNTMwMmMiLAogICAgICAgICAgImNvbW1pdF9zdG9yZSI6ICIweDhCQTI3M2NFOEQwN0I2ZDEwZkFDQjIxOWIyZDhjOTUxZUYyZTI1NWEiLAogICAgICAgICAgInJlY2VpdmVyX2RhcHAiOiAiMHhkYTllOGU3MWJCNzUwYTk5NkFmMzNlYkI4YUJiMThjZDlFQjlEQzc1IgogICAgICAgIH0KICAgICAgfQogICAgfSwKICAgICJQb2x5Z29uIE11bWJhaSI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweDMyNkM5NzdFNmVmYzg0RTUxMmJCOUMzMGY3NkUzMGMxNjBlRDA2RkIiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IG51bGwsCiAgICAgICJicmlkZ2VfdG9rZW5zX3Bvb2xzIjogbnVsbCwKICAgICAgImFybSI6ICIweDg2NmZhQjkyRTA0YkFFNUVEYTIzOEE5Y2JGZjFlNTZFMDk1MDhBZGUiLAogICAgICAicm91dGVyIjogIjB4NDc5QTZmRjlhMjMzNTE4MEQ5MjMwNkQ3Njc1NGJCQkRjQTc1MWJGMCIsCiAgICAgICJwcmljZV9yZWdpc3RyeSI6ICIweEQ4ODZFMjI4NkZkMTA3M2RmODI0NjJlYTE4MjIxMTk2MDBBZjgwYjYiLAogICAgICAid3JhcHBlZF9uYXRpdmUiOiAiMHg5YzNDOTI4M0QzZTQ0ODU0Njk3Q2QyMkQzRmFhMjQwQ2ZiMDMyODg5IiwKICAgICAgInNyY19jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9uX3JhbXAiOiAiMHg1MTE1OENhNDM5ZmVBOUU4MDlCYzA2M0NmQTY3MDE3NDdiMDUyNTRlIiwKICAgICAgICAgICJkZXBsb3llZF9hdCI6IDQyMTkyMDg2CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4RDg0QTE2ZGQ0MjM1QUVCQ0E5NTE1ZGMzY2I1Y0QxNjY1Zjc0Y0IyZSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4MzcwMDRjMTI0NWEyRDU1NDEzNzdlODdjQTI5Njk5NDkyYTQxMTRENSIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9LAogICAgIlNlcG9saWEgVGVzdG5ldCI6IHsKICAgICAgImlzX21vY2tfYXJtIjogdHJ1ZSwKICAgICAgImZlZV90b2tlbiI6ICIweDc3OTg3N0E3QjBEOUU4NjAzMTY5RGRiRDc4MzZlNDc4YjQ2MjQ3ODkiLAogICAgICAiYnJpZGdlX3Rva2VucyI6IFsKICAgICAgICAiMHg3Nzk4NzdBN0IwRDlFODYwMzE2OURkYkQ3ODM2ZTQ3OGI0NjI0Nzg5IiwKICAgICAgICAiMHg0RDJENUNBRWQzMzE1RDNjN2U1ZWUwZTQyNzZmNjIwQUUzMjdCZUJCIgogICAgICBdLAogICAgICAiYnJpZGdlX3Rva2Vuc19wb29scyI6IFsKICAgICAgICAiMHgwZDg1OEQ2OTYwNDY0ZTI3MjEwMjVCOGE0NzE4MDVDYTM4YTcyNTA1IiwKICAgICAgICAiMHgyOTIxZkNhMGZFMjVEODEwODk1QTU4OTMxREQxMEE0Q0NjODRmZjNGIgogICAgICBdLAogICAgICAiYXJtIjogIjB4OTkxMmE3Mzg5MzgyZmY1NWY4NUEyOUM5Mzc4QjM4RjdCOTkyYzRhRSIsCiAgICAgICJyb3V0ZXIiOiAiMHgxRTFGM2Q4QWM3RGY2NWZDY0ZjYzUyZGJGMDM5MjljRUU5NTQzMGFjIiwKICAgICAgInByaWNlX3JlZ2lzdHJ5IjogIjB4NDM1OGU4MWY4OGJCMjcyMjI3NzljMUJDODUwMDNBMTFBMWM2NmY2RiIsCiAgICAgICJ3cmFwcGVkX25hdGl2ZSI6ICIweDA5N0Q5MGM5ZDNFMEI1MENhNjBlMWFlNDVGNkE4MTAxMGY5RkI1MzQiLAogICAgICAic3JjX2NvbnRyYWN0cyI6IHsKICAgICAgICAiQXZhbGFuY2hlIEZ1amkiOiB7CiAgICAgICAgICAib25fcmFtcCI6ICIweGE3Q0I1ZDJGMjQzMmI1MUYwNWIzNDVEZmE2ODA2QjkwMDc2N0I2MzgiLAogICAgICAgICAgImRlcGxveWVkX2F0IjogNDY1OTgxNAogICAgICAgIH0sCiAgICAgICAgIk9wdGltaXNtIEdvZXJsaSI6IHsKICAgICAgICAgICJvbl9yYW1wIjogIjB4NjVjNzVEN2ZlNTE2Njc3OTQ5ZEJjN2ZlN0M0QjRGQTU5NzVGNTUxQiIsCiAgICAgICAgICAiZGVwbG95ZWRfYXQiOiA0NjU5ODQ0CiAgICAgICAgfQogICAgICB9LAogICAgICAiZGVzdF9jb250cmFjdHMiOiB7CiAgICAgICAgIkF2YWxhbmNoZSBGdWppIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4MWQ0NTgxMjg0NzAzNzY5YUNhMjc4Y2FhMzAyNzJDN2JhOTU0OGNlRiIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4Q2ZBRmQ5ZEFkZEU4QjBkMDAwMGE0MzcyRTcxMTY1NjI0MzBjNGNjNiIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfSwKICAgICAgICAiT3B0aW1pc20gR29lcmxpIjogewogICAgICAgICAgIm9mZl9yYW1wIjogIjB4RWY0MjE2OTlFMjQwMDcxYzMxNGQ1NzA5NDEyYzhDMEQwY2U0ZTg3OSIsCiAgICAgICAgICAiY29tbWl0X3N0b3JlIjogIjB4NTlEYzNBYjNDQTkwOThkMjZjYjJFNTA3RGVkRTkwMTQ2YmVhNDk2NCIsCiAgICAgICAgICAicmVjZWl2ZXJfZGFwcCI6ICIweGRhOWU4ZTcxYkI3NTBhOTk2QWYzM2ViQjhhQmIxOGNkOUVCOURDNzUiCiAgICAgICAgfQogICAgICB9CiAgICB9CiAgfQp9CiIiIgoKW0NDSVAuR3JvdXBzXQpbQ0NJUC5Hcm91cHMuc21va2VdCk5ldHdvcmtQYWlycyA9IFsnQVZBTEFOQ0hFX0ZVSkksT1BUSU1JU01fR09FUkxJJ10KUGhhc2VUaW1lb3V0ID0gJzIwbScKQmlEaXJlY3Rpb25hbExhbmUgPSBmYWxzZQpMb2NhbENsdXN0ZXIgPSBmYWxzZQpFeGlzdGluZ0RlcGxveW1lbnQgPSB0cnVlCk11bHRpY2FsbEluT25lVHggPSB0cnVlCk5vT2ZTZW5kc0luTXVsdGljYWxsID0gNQpOb09mVG9rZW5zUGVyQ2hhaW4gPSAxCk5vT2ZUb2tlbnNJbk1zZyA9IDE= diff --git a/integration-tests/contracts/ccip/contract_deployer.go b/integration-tests/contracts/ccip/contract_deployer.go index a13625b1be..300136ddec 100644 --- a/integration-tests/contracts/ccip/contract_deployer.go +++ b/integration-tests/contracts/ccip/contract_deployer.go @@ -69,16 +69,15 @@ func (e *CCIPContractsDeployer) DeployLinkTokenContract() (*LinkToken, error) { } func (e *CCIPContractsDeployer) DeployERC20TokenContract(deployerFn blockchain.ContractDeployer) (*ERC20Token, error) { - address, _, instance, err := e.evmClient.DeployContract("Custom ERC20 Token", deployerFn) + address, _, _, err := e.evmClient.DeployContract("Custom ERC20 Token", deployerFn) if err != nil { return nil, err } - - return &ERC20Token{ - client: e.evmClient, - instance: instance.(*erc20.ERC20), - ContractAddress: *address, - }, err + err = e.evmClient.WaitForEvents() + if err != nil { + return nil, err + } + return e.NewERC20TokenContract(*address) } func (e *CCIPContractsDeployer) NewLinkTokenContract(addr common.Address) (*LinkToken, error) { diff --git a/integration-tests/contracts/ccip/laneconfig/contracts.json b/integration-tests/contracts/ccip/laneconfig/contracts.json index eddb7a73e0..b9ca12be6a 100644 --- a/integration-tests/contracts/ccip/laneconfig/contracts.json +++ b/integration-tests/contracts/ccip/laneconfig/contracts.json @@ -1,15 +1,12 @@ { "lane_configs": { "Ethereum Mainnet": { - "fee_token": "0x514910771AF9Ca656af840dff83E8264EcF986CA", - "bridge_tokens": [ - "0x514910771AF9Ca656af840dff83E8264EcF986CA" - ], - "bridge_tokens_pools": [ - "0xC2291992A08eBFDfedfE248F2CCD34Da63570DF4" - ], + "is_native_fee_token": true, + "fee_token": "", + "bridge_tokens": [], + "bridge_tokens_pools": [], "arm": "0x8B63b3DE93431C0f756A493644d128134291fA1b", - "arm_proxy" : "0x411dE17f12D1A34ecC7F45f49844626267c75e81", + "arm_proxy": "0x411dE17f12D1A34ecC7F45f49844626267c75e81", "router": "0xE561d5E02207fb5eB32cca20a699E0d8919a1476", "price_registry": "0x020082A7a9c2510e1921116001152DEE4da81985", "wrapped_native": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", @@ -27,8 +24,16 @@ "deployed_at": 17636734 }, "42161": { - "on_ramp": "", - "deployed_at": 0 + "on_ramp": "0x333f976915195ba9044fD0cd603cEcE936f6264e", + "deployed_at": 18029393 + }, + "56": { + "on_ramp": "0xdF1d7FD22aC3aB5171E275796f123224039f3b24", + "deployed_at": 18029385 + }, + "8453": { + "on_ramp": "0xe2Eb229e88F56691e96bb98256707Bc62160FE73", + "deployed_at": 18029431 } }, "dest_contracts": { @@ -37,7 +42,7 @@ "commit_store": "0x8bEFCa744c6f2b567b1863dcF055C593afdC11A0", "receiver_dapp": "0xAFa2c441a83bBCEDc2E8c5c6f66248aFD8b9af3d" }, - "43114" : { + "43114": { "off_ramp": "0x1C207dabc46902dF9028b27D6d301c3849b2D12c", "commit_store": "0x40c558575093eC1099CC21B020d9b8D13c74417F", "receiver_dapp": "0xAFa2c441a83bBCEDc2E8c5c6f66248aFD8b9af3d" @@ -48,29 +53,44 @@ "receiver_dapp": "0xAFa2c441a83bBCEDc2E8c5c6f66248aFD8b9af3d" }, "42161": { - "off_ramp": "", - "commit_store": "", - "receiver_dapp": "0x236034Bbb418A269f0d160b16087af11931Eba71" + "off_ramp": "0x61135E701a2214C170c5F596D0067798FEfbaaE4", + "commit_store": "0x3d3467e1036Ee25F6F4aa15e3Abf77443A23144C", + "receiver_dapp": "0xAFa2c441a83bBCEDc2E8c5c6f66248aFD8b9af3d" + }, + "56": { + "off_ramp": "0xC7176620daf49A39a17FF9A6C2DE1eAA6033EE94", + "commit_store": "0x7986C9892389854cAAbAC785ff18123B0070a5Fd", + "receiver_dapp": "0xAFa2c441a83bBCEDc2E8c5c6f66248aFD8b9af3d" + }, + "8453": { + "off_ramp": "0xfF51C00546AA3d9051a4B96Ae81346E14709CD24", + "commit_store": "0x2D1708ff2a15adbE313eA8C6035aA24d0FBA1c77", + "receiver_dapp": "0xAFa2c441a83bBCEDc2E8c5c6f66248aFD8b9af3d" } } }, "Optimism Mainnet": { - "fee_token": "0x350a791Bfc2C21F9Ed5d10980Dad2e2638ffa7f6", - "bridge_tokens": [ - "0x350a791Bfc2C21F9Ed5d10980Dad2e2638ffa7f6" - ], - "bridge_tokens_pools": [ - "0x841b32B5309ba30cFbf4534667fC3D99EdF05B7A" - ], + "is_native_fee_token": true, + "fee_token": "", + "bridge_tokens": [], + "bridge_tokens_pools": [], "arm": "0x8C7C2C3362a42308BB5c368677Ad321D11693b81", - "arm_proxy" : "0x55b3FCa23EdDd28b1f5B4a3C7975f63EFd2d06CE", + "arm_proxy": "0x55b3FCa23EdDd28b1f5B4a3C7975f63EFd2d06CE", "router": "0x261c05167db67B2b619f9d312e0753f3721ad6E8", "price_registry": "0x9270AAA75F4B9038f4c25fEc665B02a150a90361", "wrapped_native": "0x4200000000000000000000000000000000000006", "src_contracts": { - "1" : { + "1": { "on_ramp": "0xad1b1F2A6DD55627e3893B771A00Cd43F69DcE35", "deployed_at": 106535110 + }, + "8453": { + "on_ramp": "0xC40f7C8763e35fb64ab968Dc812C2d24c6f8404c", + "deployed_at": 110157341 + }, + "137": { + "on_ramp": "0xB188Bd6CC347299EEBb3aE93F57d90F580536B3A", + "deployed_at": 110157415 } }, "dest_contracts": { @@ -78,56 +98,76 @@ "off_ramp": "0x032F957BfbB8C535a1b2048f8b4FA27E1F2018Fd", "commit_store": "0xa4D34ca38244F6c8AB640315d7257221408B6596", "receiver_dapp": "0xAFa2c441a83bBCEDc2E8c5c6f66248aFD8b9af3d" + }, + "8453": { + "off_ramp": "0x704dF5613166F552B80ED5a27F3559DaA30eB8C8", + "commit_store": "0x3224dB1d2F7aBa70469DEEE357472D2550fe7579", + "receiver_dapp": "0xAFa2c441a83bBCEDc2E8c5c6f66248aFD8b9af3d" + }, + "137": { + "off_ramp": "0x43a2DF743aAC63Eeb7DA430AC0BbfF0579311b84", + "commit_store": "0xB6b7A8b59a3A0c7F73Bc3F6E8996a26736afAaC0", + "receiver_dapp": "0xAFa2c441a83bBCEDc2E8c5c6f66248aFD8b9af3d" } } }, "Arbitrum Mainnet": { - "fee_token": "0xf97f4df75117a78c1A5a0DBb814Af92458539FB4", - "bridge_tokens": [ - "0xf97f4df75117a78c1A5a0DBb814Af92458539FB4" - ], - "bridge_tokens_pools": [ - "" - ], - "arm": "", - "router": "", - "price_registry": "", + "is_native_fee_token": true, + "fee_token": "", + "arm": "0xe06b0e8c4bd455153e8794ad7Ea8Ff5A14B64E4b", + "arm_proxy": "0xC311a21e6fEf769344EB1515588B9d535662a145", + "router": "0xE92634289A1841A979C11C2f618B33D376e4Ba85", + "price_registry": "0xeBec5Cb8651FCD0Fd86Bd1BBb8562f5028D5102E", "wrapped_native": "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1", "src_contracts": { - "1" : { - "on_ramp": "", - "deployed_at": 0 + "1": { + "on_ramp": "0x98dd9E9b8AE458225119Ab5B8c947A9d1cd0B648", + "deployed_at": 126471491 + }, + "8453": { + "on_ramp": "0x590791aA846eC4D2Aa2B8697Edeb6158F6054839", + "deployed_at": 135472752 } }, "dest_contracts": { "1": { - "off_ramp": "", - "commit_store": "", - "receiver_dapp": "0x16673CFb93Dc33dE90830EaF856E557Ca18Bf897" + "off_ramp": "0x7b1f908ceBf41d5829D0134c7dfD6aa0f163C97d", + "commit_store": "0x8E2adA223f8514C2E6E6Fb0877a19018B67256fF", + "receiver_dapp": "0xAFa2c441a83bBCEDc2E8c5c6f66248aFD8b9af3d" + }, + "8453": { + "off_ramp": "0x7f3d6228c1a21FfeD859A5D5b67D25238D94E3CA", + "commit_store": "0xCDDC8B12512F027887460C9B8f2C5B6F7CD4766e", + "receiver_dapp": "0xAFa2c441a83bBCEDc2E8c5c6f66248aFD8b9af3d" } } }, "Polygon Mainnet": { - "fee_token": "0xb0897686c545045aFc77CF20eC7A532E3120E0F1", - "bridge_tokens": [ - "0xb0897686c545045aFc77CF20eC7A532E3120E0F1" - ], - "bridge_tokens_pools": [ - "0x086892015567fb8764d02c6845C85C25C8FcA389" - ], + "is_native_fee_token": true, + "fee_token": "", + "bridge_tokens": [], + "bridge_tokens_pools": [], "arm": "0xD7AcF65dA1E1f34b663aB199a474F209bF2b0523", - "arm_proxy" : "0xf1ceAa46D8d13Cac9fC38aaEF3d3d14754C5A9c2", + "arm_proxy": "0xf1ceAa46D8d13Cac9fC38aaEF3d3d14754C5A9c2", "router": "0x3C3D92629A02a8D95D5CB9650fe49C3544f69B43", "price_registry": "0x68590799942eed65f9f1fB2277B9F6584A5957B8", "wrapped_native": "0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270", "src_contracts": { - "1" : { + "1": { "on_ramp": "0xAE0e486Fa6577188d586A8e4c12360FB82E2a386", "deployed_at": 44762064 }, - "43114" : { + "43114": { "on_ramp": "0x47D945f7bbb814B65775a89c71F5D2229BE96CE9", "deployed_at": 45041759 + }, + "56": { + "on_ramp": "0xFFAacDD8FB3aF6aDa58AbABAEc549587C81351BF", + "deployed_at": 48088230 + }, + "10": { + "on_ramp": "0xD8E79DeF51a98b71c98b4C19D4A314341670AC36", + "deployed_at": 48088131 } }, "dest_contracts": { @@ -140,30 +180,41 @@ "off_ramp": "0xd59A3770c3e05479152b8581Ae0839f51b315E6A", "commit_store": "0xC2870bF94E24657f7f5E75cF458e391D23CD84B5", "receiver_dapp": "0xAFa2c441a83bBCEDc2E8c5c6f66248aFD8b9af3d" + }, + "56": { + "off_ramp": "0x42d61CA7732f7b4323F93acB2F37E0D7BB35A602", + "commit_store": "0x879F3DDABc596f731A732213aa2996cf6cfaC3c9", + "receiver_dapp": "0xAFa2c441a83bBCEDc2E8c5c6f66248aFD8b9af3d" + }, + "10": { + "off_ramp": "0x0e28F3ad2D2C0777334626cb9885DE3D38B2f019", + "commit_store": "0xB9D0FF67631a3a8F36E1690C77eb0dB7a484D054", + "receiver_dapp": "0xAFa2c441a83bBCEDc2E8c5c6f66248aFD8b9af3d" } } }, "Avalanche Mainnet": { - "fee_token": "0x5947BB275c521040051D82396192181b413227A3", - "bridge_tokens": [ - "0x5947BB275c521040051D82396192181b413227A3" - ], - "bridge_tokens_pools": [ - "0x8A3e8D8614189d7ad0CF3f1a0D787Da79eBCEc17" - ], + "is_native_fee_token": true, + "fee_token": "", + "bridge_tokens": [], + "bridge_tokens_pools": [], "arm": "0xdFD6C0dc67666DE3bB36b31eec5c7B1542A82C1E", - "arm_proxy" : "0xcBD48A8eB077381c3c4Eb36b402d7283aB2b11Bc", + "arm_proxy": "0xcBD48A8eB077381c3c4Eb36b402d7283aB2b11Bc", "router": "0x27F39D0af3303703750D4001fCc1844c6491563c", "price_registry": "0x2d3b38E0a4DFFDad2A613f7760bE1683F272eA18", "wrapped_native": "0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7", "src_contracts": { - "1" : { + "1": { "on_ramp": "0x3D3817270db2b89e9F68bA27297fb4672082f942", "deployed_at": 32263102 }, - "137" : { + "137": { "on_ramp": "0x2d306510FE83Cdb33Ff1658c71C181e9567F0009", "deployed_at": 32562460 + }, + "56": { + "on_ramp": "0x5c7AD3715257D20F2ae8596af55203373128BeE1", + "deployed_at": 35771845 } }, "dest_contracts": { @@ -176,6 +227,113 @@ "off_ramp": "0xC65F15b8178c2Fd653183130C6E003d196C39eC2", "commit_store": "0xa9DC27fAc318fdDCa08E215ca157Fa5C7A832d80", "receiver_dapp": "0xAFa2c441a83bBCEDc2E8c5c6f66248aFD8b9af3d" + }, + "56": { + "off_ramp": "0xD3db68744F64FE7C19CE91fF2C8F04a1363D2192", + "commit_store": "0xB1528358cC3eb7Ed3A8402C19Fc436A9D06B7E84", + "receiver_dapp": "0xAFa2c441a83bBCEDc2E8c5c6f66248aFD8b9af3d" + } + } + }, + "BSC Mainnet": { + "is_native_fee_token": true, + "fee_token": "", + "bridge_tokens": [], + "bridge_tokens_pools": [], + "arm": "0x3DB43b96B2625F4232e9Df900d464dd2c64C0021", + "arm_proxy": "0x9e09697842194f77d315E0907F1Bda77922e8f84", + "router": "0x536d7E53D0aDeB1F20E7c81fea45d02eC9dBD698", + "price_registry": "0x18C3D917D55Bc1784a3d4729AA3e2C1ecd662fFd", + "wrapped_native": "0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c", + "src_contracts": { + "1": { + "on_ramp": "0x1f17D464652f5Bd74a03446FeA20590CCfB3332D", + "deployed_at": 31312405 + }, + "43114": { + "on_ramp": "0xf7c9B607cF09B4048f09C84236cE7f11DF6D6364", + "deployed_at": 32140160 + }, + "137": { + "on_ramp": "0xCAd54BE1A4Bc5e467cd5B53896eb692D9f6956cD", + "deployed_at": 32140205 + }, + "8453": { + "on_ramp": "0xFdc26aA261655580f7ac413927983F664291Fd22", + "deployed_at": 32140229 + } + }, + "dest_contracts": { + "1": { + "off_ramp": "0xEcaa7473b57956647C8Cff5a909520e7A0A4a5f6", + "commit_store": "0x9C68a868db2C27E9A7Ce43b73272A5d7ecFB5865", + "receiver_dapp": "0xAFa2c441a83bBCEDc2E8c5c6f66248aFD8b9af3d" + }, + "43114": { + "off_ramp": "0x006FC7533e472ee3AC7277BD600e086A0a8bBCa7", + "commit_store": "0x70cc6b5314F37bB474b0BF3EcD8EC2C459F2e676", + "receiver_dapp": "0xAFa2c441a83bBCEDc2E8c5c6f66248aFD8b9af3d" + }, + "137": { + "off_ramp": "0xdf6c2c8ac1A8545E172333bcC78B4b99958985c1", + "commit_store": "0x7E523c0fe72300755B5b314F9CcCFbad021BD3c0", + "receiver_dapp": "0xAFa2c441a83bBCEDc2E8c5c6f66248aFD8b9af3d" + }, + "8453": { + "off_ramp": "0xfAAF6AC087CFb1355416f7f7828cb485d8e0605C", + "commit_store": "0xc61a0A4C57F6CBFdF3D4c15E9cf556D63b318826", + "receiver_dapp": "0xAFa2c441a83bBCEDc2E8c5c6f66248aFD8b9af3d" + } + } + }, + "Base Mainnet": { + "is_native_fee_token": true, + "fee_token": "", + "bridge_tokens": [], + "bridge_tokens_pools": [], + "arm": "0x38660c8CC222c0192b635c2ac09687B4F25cCE5F", + "arm_proxy": "0xC842c69d54F83170C42C4d556B4F6B2ca53Dd3E8", + "router": "0x673AA85efd75080031d44fcA061575d1dA427A28", + "price_registry": "0x1bA15c57c8b74cD32443D7583E7f6d7c638aCf46", + "wrapped_native": "0x4200000000000000000000000000000000000006", + "src_contracts": { + "1": { + "on_ramp": "0xD44371bFDe87f2db3eA6Df242091351A06c2e181", + "deployed_at": 3316617 + }, + "10": { + "on_ramp": "0xe96563b8a6b4eA245e7fCEFaba813104FC889C6c", + "deployed_at": 4562056 + }, + "42161" : { + "on_ramp": "0x223953DB4E0A4C33bac1B17B0df1c22919984c60", + "deployed_at": 4562020 + }, + "56" : { + "on_ramp": "0x064f0960Ab66F44A5e6c7D2335b19De4Bb75AA0D", + "deployed_at": 4562282 + } + }, + "dest_contracts": { + "1": { + "off_ramp": "0x391B9B016C3bBA61F02e7ddd345130415908B9c7", + "commit_store": "0x398d2164a3F61353B4619814A31cC74A7741612E", + "receiver_dapp": "0xAFa2c441a83bBCEDc2E8c5c6f66248aFD8b9af3d" + }, + "10": { + "off_ramp": "0x10AB904E9F423C748577B9cf86dBb9F9814f581E", + "commit_store": "0x01B21f0351638b309678C289FE112787882cC42E", + "receiver_dapp": "0xAFa2c441a83bBCEDc2E8c5c6f66248aFD8b9af3d" + }, + "42161": { + "off_ramp": "0x98b7a92f4C92b495f0652862eDed7b0aF1c8dD9A", + "commit_store": "0x275DB63EDFc4414a2Ce04D69403575652ca8C053", + "receiver_dapp": "0xAFa2c441a83bBCEDc2E8c5c6f66248aFD8b9af3d" + }, + "56": { + "off_ramp": "0x12aaadFed6627174702F20CEA9eaC6C118Eea829", + "commit_store": "0x96fC2dD483edd2719B9925a0503e080b4689A1D9", + "receiver_dapp": "0xAFa2c441a83bBCEDc2E8c5c6f66248aFD8b9af3d" } } }, @@ -188,7 +346,7 @@ "0x658af0d8ecbb13c5fd5b545ac7316e50cc07cf6e" ], "arm": "0x0ea0d7b2b78dd3a926fc76d6875a287f0aeb158f", - "arm_proxy" : "0xac8cfc3762a979628334a0e4c1026244498e821b", + "arm_proxy": "0xac8cfc3762a979628334a0e4c1026244498e821b", "router": "0x554472a2720e5e7d5d3c817529aba05eed5f82d8", "price_registry": "0xe42ecce39ce5bd2bbf2443660ba6979eeafd48df", "wrapped_native": "0xd00ae08403B9bbb9124bB305C09058E32C39A48c", @@ -197,11 +355,11 @@ "on_ramp": "0xa799c1855875e79b2e1752412058b485ee51aec4", "deployed_at": 23753755 }, - "420" : { + "420": { "on_ramp": "0x097076fbd8573418c77d2600606ad063c0e3cc7c", "deployed_at": 23755228 }, - "80001" : { + "80001": { "on_ramp": "0x762aabc808270fadfdd9e4186739920d68106673", "deployed_at": 23754063 } @@ -212,7 +370,7 @@ "commit_store": "0xb4407405465a5dab21fe6e6b748b42a2dccc5e9d", "receiver_dapp": "0x19910CB895d3F611c4143B80bC194C52ebFaA60A" }, - "420" : { + "420": { "off_ramp": "0x0f287140d86335b37ae2ad0707992ecd4202d5b7", "commit_store": "0x5a7fa03e52628a0a6f0ab637f10ba45b68f9ad33", "receiver_dapp": "0x1C23955C7770E4fF85Cd806520A7Ce6A69745E96" @@ -233,7 +391,7 @@ "0x5344b4bf5ae39038a591866d2853b2b1db622911" ], "arm": "0xb4d360459f32dd641ef5a6985ffbac5c4e5521aa", - "arm_proxy" : "0xba3f6251de62ded61ff98590cb2fdf6871fbb991", + "arm_proxy": "0xba3f6251de62ded61ff98590cb2fdf6871fbb991", "router": "0xd0daae2231e9cb96b94c8512223533293c3693bf", "price_registry": "0x8737a1c3d55779d03b7a08188e97af87b4110946", "wrapped_native": "0x097D90c9d3E0B50Ca60e1ae45F6A81010f9FB534", @@ -242,17 +400,25 @@ "on_ramp": "0xe42ecce39ce5bd2bbf2443660ba6979eeafd48df", "deployed_at": 3816446 }, - "420" : { + "420": { "on_ramp": "0x365408d655a6cdf8bc668fd6cebe1bb16a403ca6", "deployed_at": 3816777 }, - "421613" : { + "421613": { "on_ramp": "0x2c0b51f491ceaefe8c24c0199fce62d7b040470a", "deployed_at": 3816651 }, - "80001" : { + "80001": { "on_ramp": "0x23438be3256369316e53fd2ef1cd2bdfaf22f6ad", "deployed_at": 3819110 + }, + "97": { + "on_ramp": "0x06245d9527b37bf6d66edd02bf013fc3e3e34f41", + "deployed_at": 4113317 + }, + "84531": { + "on_ramp": "0xef7023a045dc652fd44647be5d12434f49dd256c", + "deployed_at": 4113256 } }, "dest_contracts": { @@ -261,20 +427,30 @@ "commit_store": "0xf3855a07bf75c4e0b4ddbeb7784badc9dd2ca274", "receiver_dapp": "0xBB1Ac68B35D4DE11Ea110Ed14D07054c0F101432" }, - "420" : { + "420": { "off_ramp": "0x0d3299ee55d493b8d9aafc834a6fd5dcbc4a409a", "commit_store": "0x1576d23f986ecb572a4c839ba6758ca05c1eadc2", "receiver_dapp": "0x59d7ec1883DbCc5510943A0788D5d437f5D1743d" }, - "421613" : { + "421613": { "off_ramp": "0x1d649a11fa14024f9fa2058a6b5b473ea308b688", "commit_store": "0xc677d898f06cee7b5f6ecbd0f72df5125cebbfc9", "receiver_dapp": "0xa2428b38A9aa97b663d3B8411Bd3df2675f22714" }, - "80001" : { + "80001": { "off_ramp": "0x026fb7c16f1d0082809ff2335715f27e1e074ff6", "commit_store": "0x290789a55e2e26480f9c04c583d1d5c682aba49a", "receiver_dapp": "0x5529276B5D53496B98CFde5C8FF2F577d88E9aC7" + }, + "97": { + "off_ramp": "0x6e8ab23fb9723e91fceaef309d061ba39a97ce72", + "commit_store": "0xb238559e1c2bc9ec04b27525569aa33be8f6d491", + "receiver_dapp": "0x8d0ed9FdA2CFB0A07225e28C09196BC059866558" + }, + "84531": { + "off_ramp": "0xdf911bb979dd3b785b4dc2989334bb39d3628174", + "commit_store": "0x080b960a196ffcd7c94246f7f79c97ed3d078921", + "receiver_dapp": "0x8d0ed9FdA2CFB0A07225e28C09196BC059866558" } } }, @@ -287,7 +463,7 @@ "0xdecfaf632175915bdf38c00d9d9746e8a90a56c4" ], "arm": "0xeaf6968fab9c54ac31c3679f120705b5019d3546", - "arm_proxy" : "0x4eb4dbdb3c3b56e5e209abf9c424a3834f2087d0", + "arm_proxy": "0x4eb4dbdb3c3b56e5e209abf9c424a3834f2087d0", "router": "0xeb52e9ae4a9fb37172978642d4c141ef53876f26", "price_registry": "0x490f3b46fba6af0d7499867a73469a077251c2bb", "wrapped_native": "0x4200000000000000000000000000000000000006", @@ -296,13 +472,21 @@ "on_ramp": "0xf33303166911ff86ad1a5ea94d459b4ba0ba8cc9", "deployed_at": 11482157 }, - "11155111" : { + "11155111": { "on_ramp": "0x64877f0b53e801adeb8d65f9706f7b134b82971c", "deployed_at": 11482670 }, - "421613" : { + "421613": { "on_ramp": "0x6bb8d729c35f29df532eb3998ddace336187c84b", "deployed_at": 11481052 + }, + "84531": { + "on_ramp": "0x1a674645f3eb4147543fca7d40c5719cbd997362", + "deployed_at": 14537696 + }, + "80001": { + "on_ramp": "0x31eaaae4f5906cd06bc419517fcb61a67c5eb9ef", + "deployed_at": 14812241 } }, "dest_contracts": { @@ -311,19 +495,29 @@ "commit_store": "0x2980de4ce178bc8bb6840abd2ef0e2a7c8e7272f", "receiver_dapp": "0x18992693d445f70dc931e5711b0732c569951397" }, - "11155111" : { + "11155111": { "off_ramp": "0xdc4606e96c37b877f2c9ddda82104c85a198a82d", "commit_store": "0xb7019c10bd604768c9cf5b3d086a2e661559a189", "receiver_dapp": "0x766f4279A17c65452E9f25Aa6d9eC75ca8B1a241" }, - "421613" : { + "421613": { "off_ramp": "0xee55842b1d68224d9eef238d4736e851db613630", "commit_store": "0x4f57b2d4b3b42f09cd7ef48254d2c31b6b525763", "receiver_dapp": "0xF4b300716856e468f584163937E26aEda5741eCB" + }, + "84531": { + "off_ramp": "0xd0a9f52562f9111a4cd66d6615b8773bf96e6b74", + "commit_store": "0x7d8fb097848183cd12420e0fbe813ec697a07198", + "receiver_dapp": "0xda9e8e71bB750a996Af33ebB8aBb18cd9EB9DC75" + }, + "80001": { + "off_ramp": "0x87b05912bfa058d0f893da25f3da07a621337da8", + "commit_store": "0x1851d1e97e0a1a60ef72a2a45789c7d926bb2c78", + "receiver_dapp": "0xda9e8e71bB750a996Af33ebB8aBb18cd9EB9DC75" } } }, - "Arbitrum Goerli" : { + "Arbitrum Goerli": { "fee_token": "0xd14838A68E8AFBAdE5efb411d5871ea0011AFd28", "bridge_tokens": [ "0xd14838A68E8AFBAdE5efb411d5871ea0011AFd28" @@ -332,7 +526,7 @@ "0x044a6b4b561af69d2319a2f4be5ec327a6975d0a" ], "arm": "0x8af4204e30565df93352fe8e1de78925f6664da7", - "arm_proxy" : "0x3cc9364260d80f09ccac1ee6b07366db598900e6", + "arm_proxy": "0x3cc9364260d80f09ccac1ee6b07366db598900e6", "router": "0x88e492127709447a5abefdab8788a15b4567589e", "price_registry": "0x114a20a10b43d4115e5aeef7345a1a71d2a60c57", "wrapped_native": "0x32d5D5978905d9c6c2D4C417F0E06Fe768a4FB5a", @@ -341,9 +535,17 @@ "on_ramp": "0x782a7ba95215f2f7c3dd4c153cbb2ae3ec2d3215", "deployed_at": 29167620 }, - "11155111" : { + "11155111": { "on_ramp": "0xc8b93b46bf682c39b3f65aa1c135bc8a95a5e43a", "deployed_at": 29170089 + }, + "97": { + "on_ramp": "0x17e7963bb9a8265b316375268504c2706fd5c967", + "deployed_at": 40921826 + }, + "84531": { + "on_ramp": "0x17e7963bb9a8265b316375268504c2706fd5c967", + "deployed_at": 40921826 } }, "dest_contracts": { @@ -352,14 +554,24 @@ "commit_store": "0xb69923dfb790e622084b774b99bb45f68904d6a4", "receiver_dapp": "0x68c13fEe38e7a28019a88Bee52477C9402D71104" }, - "11155111" : { + "11155111": { "off_ramp": "0x7a0bb92bc8663abe6296d0162a9b41a2cb2e0358", "commit_store": "0x7eef73aca8657aaefd509a97ee75aa6740046e75", "receiver_dapp": "0xEF6a6f52D0fC494Fb59Ee9C1813AF38c7F8d9278" + }, + "97": { + "off_ramp": "0x29c5567e38790527ee04fa1a7e0b06c38d436682", + "commit_store": "0x5b19d30862e0872549ee980efa99d0d047624428", + "receiver_dapp": "0xda9e8e71bB750a996Af33ebB8aBb18cd9EB9DC75" + }, + "84531": { + "off_ramp": "0x29c5567e38790527ee04fa1a7e0b06c38d436682", + "commit_store": "0x5b19d30862e0872549ee980efa99d0d047624428", + "receiver_dapp": "0xda9e8e71bB750a996Af33ebB8aBb18cd9EB9DC75" } } }, - "Polygon Mumbai" : { + "Polygon Mumbai": { "fee_token": "0x326C977E6efc84E512bB9C30f76E30c160eD06FB", "bridge_tokens": [ "0x326C977E6efc84E512bB9C30f76E30c160eD06FB" @@ -368,7 +580,7 @@ "0x6fce09b2e74f649a4494a1844219cb0d86cfe8b7" ], "arm": "0x917a6913f785094f8b06785aa8a884f922a650d8", - "arm_proxy" : "0x235ce3408845a4767a2eaa2a3d8ef0848d283f1f", + "arm_proxy": "0x235ce3408845a4767a2eaa2a3d8ef0848d283f1f", "router": "0x70499c328e1e2a3c41108bd3730f6670a44595d1", "price_registry": "0x9bd312170aa145ef98453940dc9ab894235b063e", "wrapped_native": "0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889", @@ -377,9 +589,17 @@ "on_ramp": "0x48601a62aa4cb289d006ff4c14023e9d8a7e5a88", "deployed_at": 36910973 }, - "11155111" : { + "11155111": { "on_ramp": "0xa83f2cecb391779b59022eded6ebba0d7ec01f20", "deployed_at": 37526794 + }, + "97": { + "on_ramp": "0xfffd50b1e72974e225529d0797d12581bccb22b9", + "deployed_at": 40030102 + }, + "420": { + "on_ramp": "0x303a67f29ebd2a42b0afea3e63d7dfdd882b8ab4", + "deployed_at": 40247398 } }, "dest_contracts": { @@ -388,12 +608,117 @@ "commit_store": "0x6b6b328cb1467d906389a1bbe54359c56000422c", "receiver_dapp": "0xf8B335b847B4DFBB57dd0c0a2F440CD1251FebA3" }, - "11155111" : { + "11155111": { "off_ramp": "0xbe582db704bd387222c70ca2e5a027e5e2c06fb7", "commit_store": "0xf06ff5d2084295909119ca541e93635e7d582ffc", "receiver_dapp": "0x7d829100e7752E3928BCEeddcAAc655536157Fdd" + }, + "97": { + "off_ramp": "0xa52d36272621dbb9b6c0d51e9f4f57b7eae2ebdb", + "commit_store": "0x502709022c3aab16c9cf72600932806061667333", + "receiver_dapp": "0xda9e8e71bB750a996Af33ebB8aBb18cd9EB9DC75" + }, + "420": { + "off_ramp": "0x86012544452dddfefd605d4e0fc163d9e32066e0", + "commit_store": "0xa6323a13a9f76e9960016760ea94bb72f4bfcb7c", + "receiver_dapp": "0xda9e8e71bB750a996Af33ebB8aBb18cd9EB9DC75" + } + } + }, + "BSC Testnet": { + "fee_token": "0x84b9B910527Ad5C03A9Ca831909E21e236EA7b06", + "is_native_fee_token": true, + "bridge_tokens": [ + "0x84b9B910527Ad5C03A9Ca831909E21e236EA7b06" + ], + "bridge_tokens_pools": [ + "0x8a710bbd77661d168d5a6725bd2e514ba1bff59d" + ], + "arm": "0xf9a21b587111e7e8745fb8b13750014f19db0014", + "arm_proxy": "0xa8c0c11bf64af62cdca6f93d3769b88bdd7cb93d", + "router": "0x9527e2d01a3064ef6b50c1da1c0cc523803bcff2", + "price_registry": "0xa8bfa4fc9f97793297793291e7f63da18eccbe05", + "wrapped_native": "0xae13d989daC2f0dEbFf460aC112a837C89BAa7cd", + "src_contracts": { + "11155111": { + "on_ramp": "0x3df2913ec50702957ce34f1d22ffe98edd9efefc", + "deployed_at": 32557058 + }, + "80001": { + "on_ramp": "0x03319347bb6db2f3158a8f8c68b4ad562cef8279", + "deployed_at": 33269206 + }, + "84531": { + "on_ramp": "0x0648fe506f5ae251979ea0a1c3c2a14e33255cbc", + "deployed_at": 33280072 + } + }, + "dest_contracts": { + "11155111": { + "off_ramp": "0x9163dba5d99fa6633995bd1ae60f13d7f755b298", + "commit_store": "0x6ea155fc77566d9dce01b8aa5d7968665dc4f0c5", + "receiver_dapp": "0x8d0ed9FdA2CFB0A07225e28C09196BC059866558" + }, + "80001": { + "off_ramp": "0xadbc0d83d675c5c381f9f4303b55c56d72a5e947", + "commit_store": "0x35a926bc94654627443e436bb3d197d62821cf05", + "receiver_dapp": "0xda9e8e71bB750a996Af33ebB8aBb18cd9EB9DC75" + }, + "84531": { + "off_ramp": "0x8d482ecbe85bd0ef13d8c56e0d83e93ccf0d66c8", + "commit_store": "0x6ea3de96a33617c3620b7c33c22656f860ddc255", + "receiver_dapp": "0xda9e8e71bB750a996Af33ebB8aBb18cd9EB9DC75" + } + } + }, + "Base Goerli": { + "fee_token": "0xd886e2286fd1073df82462ea1822119600af80b6", + "is_native_fee_token": true, + "arm": "0xe5bd6bcb6fa8e5236984d5ea127de5047f93b5ff", + "arm_proxy": "0x4c10d67e4b8e18a67a7606defdce42ccc281d39b", + "router": "0xa8c0c11bf64af62cdca6f93d3769b88bdd7cb93d", + "price_registry": "0x8a710bbd77661d168d5a6725bd2e514ba1bff59d", + "wrapped_native": "0x4200000000000000000000000000000000000006", + "src_contracts": { + "11155111": { + "on_ramp": "0x19b1bac554111517831acadc0fd119d23bb14391", + "deployed_at": 8586697 + }, + "420": { + "on_ramp": "0x0549c3fc7faece40f19f3096f7401f382db1568d", + "deployed_at": 9654923 + }, + "97": { + "on_ramp": "0x6b6b328cb1467d906389a1bbe54359c56000422c", + "deployed_at": 9671734 + }, + "421613": { + "on_ramp": "0x2e8fc2ec6f18542cf2185a450c2dc652d7e221b6", + "deployed_at": 9656716 + } + }, + "dest_contracts": { + "11155111": { + "off_ramp": "0x06eb6ebdc74f30c612ccf0fd7560560f5d67ef87", + "commit_store": "0x19cc3ed5cdbd013c48798e0415228799fa7599df", + "receiver_dapp": "0x8d0ed9FdA2CFB0A07225e28C09196BC059866558" + }, + "420": { + "off_ramp": "0xd7e2f42d3b7feac0c39d06484de34f1959cdd9ea", + "commit_store": "0x94301e622996ab441fd632fcc8e971116be02b87", + "receiver_dapp": "0xda9e8e71bB750a996Af33ebB8aBb18cd9EB9DC75" + }, + "97": { + "off_ramp": "0x0a4a2f5517b5546fa3a05b2226f951094c62a9d9", + "commit_store": "0x67fd22597147e88e76fd141ba15abd692fa58261", + "receiver_dapp": "0xda9e8e71bB750a996Af33ebB8aBb18cd9EB9DC75" + }, + "421613": { + "off_ramp": "0xa5007c13b7df93e7647ffd671b9982cdced4e7ff", + "commit_store": "0x693fdcbbf0c6d4b3b0034021fe64e98f8a081712", + "receiver_dapp": "0xda9e8e71bB750a996Af33ebB8aBb18cd9EB9DC75" } } } } -} \ No newline at end of file +} diff --git a/integration-tests/go.mod b/integration-tests/go.mod index eb1977f00e..6c6e1479fc 100644 --- a/integration-tests/go.mod +++ b/integration-tests/go.mod @@ -21,13 +21,13 @@ require ( github.com/slack-go/slack v0.12.2 github.com/smartcontractkit/chain-selectors v1.0.1 github.com/smartcontractkit/chainlink-env v0.36.0 - github.com/smartcontractkit/chainlink-testing-framework v1.16.1-0.20230825001100-85c8b45d8005 + github.com/smartcontractkit/chainlink-testing-framework v1.16.9-0.20230912190122-c0e08d95c655 github.com/smartcontractkit/chainlink/integration-tests v0.0.0-20230814135816-51632e392c47 github.com/smartcontractkit/chainlink/v2 v2.2.1-0.20230828183543-6d0939746966 github.com/smartcontractkit/libocr v0.0.0-20230816220705-665e93233ae5 github.com/smartcontractkit/ocr2keepers v0.7.17 github.com/smartcontractkit/ocr2vrf v0.0.0-20230804151440-2f1eb1e20687 - github.com/smartcontractkit/wasp v0.3.0 + github.com/smartcontractkit/wasp v0.3.1 github.com/spf13/cobra v1.7.0 github.com/stretchr/testify v1.8.4 github.com/testcontainers/testcontainers-go v0.23.0 @@ -81,6 +81,7 @@ require ( github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 // indirect github.com/bytedance/sonic v1.9.1 // indirect github.com/c2h5oh/datasize v0.0.0-20200112174442-28bbd4740fee // indirect + github.com/c9s/goprocinfo v0.0.0-20210130143923-c95fcf8c64a8 // indirect github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5 // indirect github.com/cenkalti/backoff v2.2.1+incompatible // indirect github.com/cenkalti/backoff/v4 v4.2.1 // indirect @@ -234,7 +235,7 @@ require ( github.com/hashicorp/yamux v0.0.0-20200609203250-aecfd211c9ce // indirect github.com/hdevalence/ed25519consensus v0.1.0 // indirect github.com/holiman/bloomfilter/v2 v2.0.3 // indirect - github.com/holiman/uint256 v1.2.2 // indirect + github.com/holiman/uint256 v1.2.3 // indirect github.com/huandu/skiplist v1.2.0 // indirect github.com/huin/goupnp v1.0.3 // indirect github.com/imdario/mergo v0.3.16 // indirect @@ -361,13 +362,14 @@ require ( github.com/opentracing-contrib/go-stdlib v1.0.0 // indirect github.com/opentracing/opentracing-go v1.2.0 // indirect github.com/patrickmn/go-cache v2.1.0+incompatible // indirect + github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect github.com/pelletier/go-toml v1.9.5 // indirect github.com/peterbourgon/diskv v2.0.1+incompatible // indirect github.com/petermattis/goid v0.0.0-20230317030725-371a4b8eda08 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect github.com/pressly/goose/v3 v3.15.0 // indirect - github.com/prometheus/alertmanager v0.25.0 // indirect + github.com/prometheus/alertmanager v0.25.1 // indirect github.com/prometheus/client_golang v1.16.0 // indirect github.com/prometheus/client_model v0.4.0 // indirect github.com/prometheus/common v0.44.0 // indirect diff --git a/integration-tests/go.sum b/integration-tests/go.sum index 3be949850d..e2046d9137 100644 --- a/integration-tests/go.sum +++ b/integration-tests/go.sum @@ -693,6 +693,8 @@ github.com/bytedance/sonic v1.9.1 h1:6iJ6NqdoxCDr6mbY8h18oSO+cShGSMRGCEo7F2h0x8s github.com/bytedance/sonic v1.9.1/go.mod h1:i736AoUSYt75HyZLoJW9ERYxcy6eaN6h4BZXU064P/U= github.com/c2h5oh/datasize v0.0.0-20200112174442-28bbd4740fee h1:BnPxIde0gjtTnc9Er7cxvBk8DHLWhEux0SxayC8dP6I= github.com/c2h5oh/datasize v0.0.0-20200112174442-28bbd4740fee/go.mod h1:S/7n9copUssQ56c7aAgHqftWO4LTf4xY6CGWt8Bc+3M= +github.com/c9s/goprocinfo v0.0.0-20210130143923-c95fcf8c64a8 h1:SjZ2GvvOononHOpK84APFuMvxqsk3tEIaKH/z4Rpu3g= +github.com/c9s/goprocinfo v0.0.0-20210130143923-c95fcf8c64a8/go.mod h1:uEyr4WpAH4hio6LFriaPkL938XnrvLpNPmQHBdrmbIE= github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5 h1:rvc39Ol6z3MvaBzXkxFC6Nfsnixq/dRypushKDd7Nc0= github.com/cdk8s-team/cdk8s-core-go/cdk8s/v2 v2.7.5/go.mod h1:R/pdNYDYFQk+tuuOo7QES1kkv6OLmp5ze2XBZQIVffM= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= @@ -1397,8 +1399,8 @@ github.com/henvic/httpretty v0.0.6 h1:JdzGzKZBajBfnvlMALXXMVQWxWMF/ofTy8C3/OSUTx github.com/hetznercloud/hcloud-go v1.41.0 h1:KJGFRRc68QiVu4PrEP5BmCQVveCP2CM26UGQUKGpIUs= github.com/holiman/bloomfilter/v2 v2.0.3 h1:73e0e/V0tCydx14a0SCYS/EWCxgwLZ18CZcZKVu0fao= github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA= -github.com/holiman/uint256 v1.2.2 h1:TXKcSGc2WaxPD2+bmzAsVthL4+pEN0YwXcL5qED83vk= -github.com/holiman/uint256 v1.2.2/go.mod h1:SC8Ryt4n+UBbPbIBKaG9zbbDlp4jOru9xFZmPzLUTxw= +github.com/holiman/uint256 v1.2.3 h1:K8UWO1HUJpRMXBxbmaY1Y8IAMZC/RsKB+ArEnnK4l5o= +github.com/holiman/uint256 v1.2.3/go.mod h1:SC8Ryt4n+UBbPbIBKaG9zbbDlp4jOru9xFZmPzLUTxw= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/huandu/go-assert v1.1.5 h1:fjemmA7sSfYHJD7CUqs9qTwwfdNAx7/j2/ZlHXzNB3c= github.com/huandu/go-assert v1.1.5/go.mod h1:yOLvuqZwmcHIC5rIzrBhT7D3Q9c3GFnd0JrPVhn/06U= @@ -2093,6 +2095,8 @@ github.com/pascaldekloe/goe v0.1.0 h1:cBOtyMzM9HTpWjXfbbunk26uA6nG3a8n06Wieeh0Mw github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc= github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ= +github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 h1:onHthvaw9LFnH4t2DcNVpwGmV9E1BkGknEliJkfwQj0= +github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58/go.mod h1:DXv8WO4yhMYhSNPKjeNKa5WY9YCIEBRbNzFFPJbWO6Y= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= @@ -2127,8 +2131,8 @@ github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= github.com/pressly/goose/v3 v3.15.0 h1:6tY5aDqFknY6VZkorFGgZtWygodZQxfmmEF4rqyJW9k= github.com/pressly/goose/v3 v3.15.0/go.mod h1:LlIo3zGccjb/YUgG+Svdb9Er14vefRdlDI7URCDrwYo= -github.com/prometheus/alertmanager v0.25.0 h1:vbXKUR6PYRiZPRIKfmXaG+dmCKG52RtPL4Btl8hQGvg= -github.com/prometheus/alertmanager v0.25.0/go.mod h1:MEZ3rFVHqKZsw7IcNS/m4AWZeXThmJhumpiWR4eHU/w= +github.com/prometheus/alertmanager v0.25.1 h1:LGBNMspOfv8h7brb+LWj2wnwBCg2ZuuKWTh6CAVw2/Y= +github.com/prometheus/alertmanager v0.25.1/go.mod h1:MEZ3rFVHqKZsw7IcNS/m4AWZeXThmJhumpiWR4eHU/w= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= @@ -2269,8 +2273,8 @@ github.com/smartcontractkit/chainlink-solana v1.0.3-0.20230802143301-165000751a8 github.com/smartcontractkit/chainlink-solana v1.0.3-0.20230802143301-165000751a85/go.mod h1:H3/j2l84FsxYevCLNERdVasI7FVr+t2mkpv+BCJLSVw= github.com/smartcontractkit/chainlink-starknet/relayer v0.0.1-beta-test.0.20230802150127-d2c95679d61a h1:b3rjvZLpTV45TmCV+ALX+EDDslf91pnDUugP54Lu9FA= github.com/smartcontractkit/chainlink-starknet/relayer v0.0.1-beta-test.0.20230802150127-d2c95679d61a/go.mod h1:LL+FLf10gOUHrF3aUsRGEZlT/w8DaW5T/eEo/54W68c= -github.com/smartcontractkit/chainlink-testing-framework v1.16.1-0.20230825001100-85c8b45d8005 h1:c1RWSbfF+rvkxAcwrXEJVGiIr3cpdZb+zok8o+qEWwQ= -github.com/smartcontractkit/chainlink-testing-framework v1.16.1-0.20230825001100-85c8b45d8005/go.mod h1:t6FJX3akEfAO31p96ru0ilNPfE9P2UshUlXTIkI58LM= +github.com/smartcontractkit/chainlink-testing-framework v1.16.9-0.20230912190122-c0e08d95c655 h1:0/K0OLCz1S2WHhFR5ksqUHtMesU8NV+i+Y40ZsJjAOQ= +github.com/smartcontractkit/chainlink-testing-framework v1.16.9-0.20230912190122-c0e08d95c655/go.mod h1:Ry6fRPr8TwrIsYVNEF1pguAgzE3QW1s54tbLWnFtfI4= github.com/smartcontractkit/go-plugin v0.0.0-20230605132010-0f4d515d1472 h1:x3kNwgFlDmbE/n0gTSRMt9GBDfsfGrs4X9b9arPZtFI= github.com/smartcontractkit/go-plugin v0.0.0-20230605132010-0f4d515d1472/go.mod h1:6/1TEzT0eQznvI/gV2CM29DLSkAK/e58mUWKVsPaph0= github.com/smartcontractkit/grpc-proxy v0.0.0-20230731113816-f1be6620749f h1:hgJif132UCdjo8u43i7iPN1/MFnu49hv7lFGFftCHKU= @@ -2287,8 +2291,8 @@ github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20230823081604- github.com/smartcontractkit/tdh2/go/ocr2/decryptionplugin v0.0.0-20230823081604-f2a0e6b108bb/go.mod h1:q6f4fe39oZPdsh1i57WznEZgxd8siidMaSFq3wdPmVg= github.com/smartcontractkit/tdh2/go/tdh2 v0.0.0-20230823081604-f2a0e6b108bb h1:jyhgdafuZsex+kEHDIgq8o8wuVoPTr9wsGmuBtcFbEk= github.com/smartcontractkit/tdh2/go/tdh2 v0.0.0-20230823081604-f2a0e6b108bb/go.mod h1:G5Sd/yzHWf26rQ+X0nG9E0buKPqRGPMJAfk2gwCzOOw= -github.com/smartcontractkit/wasp v0.3.0 h1:mueeLvpb6HyGNwILxCOKShDR6q18plQn7Gb1j3G/Qkk= -github.com/smartcontractkit/wasp v0.3.0/go.mod h1:skquNdMbKxIrHi5O8Kyukf66AaaXuEpEEaSTxfHbhak= +github.com/smartcontractkit/wasp v0.3.1 h1:vi/8yAU+PVM0vq+aRv7Sjm7oaVhM3BKRh81Fad4ns4E= +github.com/smartcontractkit/wasp v0.3.1/go.mod h1:FFxNXzgJ+LU5jvyp3hmdNlpYBiivYf3wUTN+dDdFv9g= github.com/smartcontractkit/wsrpc v0.7.2 h1:iBXzMeg7vc5YoezIQBq896y25BARw7OKbhrb6vPbtRQ= github.com/smartcontractkit/wsrpc v0.7.2/go.mod h1:sj7QX2NQibhkhxTfs3KOhAj/5xwgqMipTvJVSssT9i0= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= diff --git a/integration-tests/load/ccip_loadgen.go b/integration-tests/load/ccip_loadgen.go index 3a79bc5d46..ec5c6750ef 100644 --- a/integration-tests/load/ccip_loadgen.go +++ b/integration-tests/load/ccip_loadgen.go @@ -203,14 +203,23 @@ func (c *CCIPE2ELoad) Call(_ *wasp.Generator) *wasp.CallResult { txConfirmationTime = hdr.Timestamp } } + var gasUsed uint64 + if rcpt != nil { + gasUsed = rcpt.GasUsed + } c.reports.UpdatePhaseStats(msgSerialNo, 0, testreporters.TX, startTime.Sub(txConfirmationTime), testreporters.Success, testreporters.TransactionStats{ Fee: fee.String(), - GasUsed: rcpt.GasUsed, + GasUsed: gasUsed, TxHash: sendTx.Hash().Hex(), NoOfTokensSent: len(msg.TokenAmounts), MessageBytesLength: len(msg.Data), }) + // if skip validation is true, return + if c.Lane.SkipValidation { + res.Failed = false + return res + } // wait for // - CCIPSendRequested Event log to be generated, msgLog, sourceLogTime, err := c.Lane.Source.AssertEventCCIPSendRequested( @@ -223,7 +232,7 @@ func (c *CCIPE2ELoad) Call(_ *wasp.Generator) *wasp.CallResult { } sentMsg := msgLog.Message seqNum := sentMsg.SequenceNumber - lggr = lggr.With().Str("msgId ", string(sentMsg.MessageId[:])).Logger() + lggr = lggr.With().Str("msgId ", fmt.Sprintf("0x%x", sentMsg.MessageId[:])).Logger() if bytes.Compare(sentMsg.Data, []byte(msgStr)) != 0 { res.Error = fmt.Sprintf("the message byte didnot match expected %s received %s msg ID %d", msgStr, string(sentMsg.Data), msgSerialNo) diff --git a/integration-tests/load/helper.go b/integration-tests/load/helper.go index 9b47b17191..8e3ccad0fa 100644 --- a/integration-tests/load/helper.go +++ b/integration-tests/load/helper.go @@ -181,21 +181,22 @@ func (l *loadArgs) Start() { ccipLoad := NewCCIPLoad(l.TestCfg.Test, lane, l.TestCfg.PhaseTimeout, 100000, lane.Reports) ccipLoad.BeforeAllCall(l.TestCfg.MsgType) - if lane.TestEnv != nil && lane.TestEnv.K8Env != nil && lane.TestEnv.K8Env.Cfg != nil { + if namespace == "" && lane.TestEnv != nil && lane.TestEnv.K8Env != nil && lane.TestEnv.K8Env.Cfg != nil { namespace = lane.TestEnv.K8Env.Cfg.Namespace } loadRunner, err := wasp.NewGenerator(&wasp.Config{ - T: l.TestCfg.Test, - GenName: fmt.Sprintf("lane %s-> %s", lane.SourceNetworkName, lane.DestNetworkName), - Schedule: l.schedules, - LoadType: wasp.RPS, + T: l.TestCfg.Test, + GenName: fmt.Sprintf("lane %s-> %s", lane.SourceNetworkName, lane.DestNetworkName), + Schedule: l.schedules, + LoadType: wasp.RPS, + // FailOnErr: true, RateLimitUnitDuration: l.TestCfg.Load.TimeUnit, CallTimeout: l.TestCfg.Load.LoadTimeOut, Gun: ccipLoad, Logger: ccipLoad.Lane.Logger, SharedData: l.TestCfg.MsgType, - //LokiConfig: wasp.NewEnvLokiConfig(), + LokiConfig: wasp.NewEnvLokiConfig(), Labels: map[string]string{ "test_group": "load", "cluster": "sdlc", diff --git a/integration-tests/networks/known_networks.go b/integration-tests/networks/known_networks.go index bf28a90644..12b37fadc8 100644 --- a/integration-tests/networks/known_networks.go +++ b/integration-tests/networks/known_networks.go @@ -516,20 +516,20 @@ func setURLs(prefix string, network *blockchain.EVMNetwork) { httpEnvVar := fmt.Sprintf("%s_HTTP_URLS", prefix) wsEnvURLs, err := utils.GetEnv(wsEnvVar) if err != nil { - log.Fatal().Err(err).Str("env var", wsEnvVar).Msg("Error getting env var") + log.Warn().Err(err).Str("env var", wsEnvVar).Msg("Error getting env var") } httpEnvURLs, err := utils.GetEnv(httpEnvVar) if err != nil { - log.Fatal().Err(err).Str("env var", httpEnvVar).Msg("Error getting env var") + log.Warn().Err(err).Str("env var", httpEnvVar).Msg("Error getting env var") } if wsEnvURLs == "" { evmUrls, err := utils.GetEnv("EVM_URLS") if err != nil { - log.Fatal().Err(err).Str("env var", "EVM_URLS").Msg("Error getting env var") + log.Warn().Err(err).Str("env var", "EVM_URLS").Msg("Error getting env var") } evmhttpUrls, err := utils.GetEnv("EVM_HTTP_URLS") if err != nil { - log.Fatal().Err(err).Str("env var", "EVM_HTTP_URLS").Msg("Error getting env var") + log.Warn().Err(err).Str("env var", "EVM_HTTP_URLS").Msg("Error getting env var") } wsURLs := strings.Split(evmUrls, ",") httpURLs := strings.Split(evmhttpUrls, ",") @@ -561,7 +561,7 @@ func setKeys(prefix string, network *blockchain.EVMNetwork) { envVar := fmt.Sprintf("%s_KEYS", prefix) keysEnv, err := utils.GetEnv(envVar) if err != nil { - log.Fatal().Err(err).Str("env var", envVar).Msg("Error getting env var") + log.Warn().Err(err).Str("env var", envVar).Msg("Error getting env var") } if keysEnv == "" { keys := strings.Split(os.Getenv("EVM_KEYS"), ",") diff --git a/integration-tests/testsetups/ccip.go b/integration-tests/testsetups/ccip.go index c274771591..7890800bb1 100644 --- a/integration-tests/testsetups/ccip.go +++ b/integration-tests/testsetups/ccip.go @@ -11,7 +11,6 @@ import ( "testing" "time" - "github.com/google/uuid" "github.com/pkg/errors" "github.com/rs/zerolog" "github.com/smartcontractkit/chainlink-env/client" @@ -21,6 +20,7 @@ import ( mockserver_cfg "github.com/smartcontractkit/chainlink-env/pkg/helm/mockserver-cfg" "github.com/smartcontractkit/chainlink-env/pkg/helm/reorg" "github.com/smartcontractkit/chainlink-testing-framework/blockchain" + "github.com/smartcontractkit/chainlink-testing-framework/networks" "github.com/smartcontractkit/chainlink-testing-framework/utils" "github.com/stretchr/testify/require" "go.uber.org/multierr" @@ -28,11 +28,12 @@ import ( "golang.org/x/sync/errgroup" "github.com/smartcontractkit/chainlink/integration-tests/actions" + integrationactions "github.com/smartcontractkit/chainlink/integration-tests/actions" "github.com/smartcontractkit/chainlink/integration-tests/contracts/ccip/laneconfig" "github.com/smartcontractkit/chainlink/integration-tests/docker/test_env" - "github.com/smartcontractkit/chainlink/integration-tests/networks" "github.com/smartcontractkit/chainlink/integration-tests/testreporters" "github.com/smartcontractkit/chainlink/integration-tests/types/config/node" + ccipnode "github.com/smartcontractkit/chainlink/integration-tests/types/config/node" ) const ( @@ -100,6 +101,7 @@ type CCIPTestConfig struct { MsgType string PhaseTimeout time.Duration TestDuration time.Duration + SkipEventValidation bool LocalCluster bool ExistingDeployment bool ExistingEnv string @@ -189,47 +191,45 @@ func (p *CCIPTestConfig) setLoadInputs() { } } -func (p *CCIPTestConfig) FormNetworkPairs() { - for i := 0; i < p.NoOfNetworks; i++ { - for j := i + 1; j < p.NoOfNetworks; j++ { +func (p *CCIPTestConfig) SetNetworkPairs(t *testing.T, lggr zerolog.Logger) error { + var allError error + // if network pairs are provided, then use them + // example usage - CCIP_NETWORK_PAIRS="networkA,networkB|networkC,networkD|networkA,networkC" + lanes, _ := utils.GetEnv("CCIP_NETWORK_PAIRS") + if lanes != "" { + p.NetworkPairs = []NetworkPair{} + networkPairs := strings.Split(lanes, "|") + networkMap := make(map[int64]blockchain.EVMNetwork) + for _, pair := range networkPairs { + networkNames := strings.Split(pair, ",") + if len(networkNames) != 2 { + allError = multierr.Append(allError, fmt.Errorf("invalid network pair")) + } + nets := networks.SetNetworks(networkNames) p.NetworkPairs = append(p.NetworkPairs, NetworkPair{ - NetworkA: p.AllNetworks[i], - NetworkB: p.AllNetworks[j], + NetworkA: nets[0], + NetworkB: nets[1], }) + if _, ok := networkMap[nets[0].ChainID]; !ok { + networkMap[nets[0].ChainID] = nets[0] + } + if _, ok := networkMap[nets[1].ChainID]; !ok { + networkMap[nets[1].ChainID] = nets[1] + } } + for _, net := range networkMap { + p.AllNetworks = append(p.AllNetworks, net) + } + return allError } -} - -// NewCCIPTestConfig collects all test related CCIPTestConfig from environment variables -func NewCCIPTestConfig(t *testing.T, lggr zerolog.Logger, tType string) *CCIPTestConfig { - var allError error + // if network pairs are not provided with CCIP_NETWORK_PAIRS, then form all possible network pair combination from SELECTED_NETWORKS if len(networks.SelectedNetworks) < 3 { lggr.Fatal(). Interface("SELECTED_NETWORKS", networks.SelectedNetworks). Msg("Set source and destination network in index 1 & 2 of env variable SELECTED_NETWORKS") } - p := &CCIPTestConfig{ - Test: t, - MsgType: actions.TokenTransfer, - PhaseTimeout: DefaultPhaseTimeout, - TestDuration: DefaultTestDuration, - NodeFunding: DefaultNodeFunding, - NoOfNetworks: DefaultNoOfNetworks, - AllNetworks: networks.SelectedNetworks[1:], - GethResourceProfile: GethResourceProfile, - } - - if tType != Smoke { - p.CLNodeDBResourceProfile = DONDBResourceProfile - } - - if tType == Load { - p.EnvTTL = DefaultTTLForLongTests - p.CLNodeResourceProfile = DONResourceProfile - p.NodeFunding = NodeFundingForLoad - p.PhaseTimeout = DefaultPhaseTimeoutForLongTests - } - + p.AllNetworks = networks.SelectedNetworks[1:] + p.NoOfNetworks = DefaultNoOfNetworks inputNoOfNetworks, _ := utils.GetEnv("CCIP_NO_OF_NETWORKS") if inputNoOfNetworks != "" { n, err := strconv.Atoi(inputNoOfNetworks) @@ -258,7 +258,7 @@ func NewCCIPTestConfig(t *testing.T, lggr zerolog.Logger, tType string) *CCIPTes // and the provided networks are simulated network, create replicas of the provided networks with // different chain ids if len(p.AllNetworks) < p.NoOfNetworks { - if p.AllNetworks[0].Simulated { + if simulated { actualNoOfNetworks := len(p.AllNetworks) n := p.AllNetworks[0] for i := 0; i < p.NoOfNetworks-actualNoOfNetworks; i++ { @@ -279,7 +279,7 @@ func NewCCIPTestConfig(t *testing.T, lggr zerolog.Logger, tType string) *CCIPTes } lggr.Info().Interface("Networks", p.AllNetworks).Msg("Running tests with networks") if p.NoOfNetworks > 2 { - p.FormNetworkPairs() + p.FormNetworkPairCombinations() } else { p.NetworkPairs = []NetworkPair{ { @@ -293,6 +293,45 @@ func NewCCIPTestConfig(t *testing.T, lggr zerolog.Logger, tType string) *CCIPTes lggr.Info().Str("NetworkA", n.NetworkA.Name).Str("NetworkB", n.NetworkB.Name).Msg("Network Pairs") } + return allError +} + +func (p *CCIPTestConfig) FormNetworkPairCombinations() { + for i := 0; i < p.NoOfNetworks; i++ { + for j := i + 1; j < p.NoOfNetworks; j++ { + p.NetworkPairs = append(p.NetworkPairs, NetworkPair{ + NetworkA: p.AllNetworks[i], + NetworkB: p.AllNetworks[j], + }) + } + } +} + +// NewCCIPTestConfig collects all test related CCIPTestConfig from environment variables +func NewCCIPTestConfig(t *testing.T, lggr zerolog.Logger, tType string) *CCIPTestConfig { + var allError error + p := &CCIPTestConfig{ + Test: t, + MsgType: actions.TokenTransfer, + PhaseTimeout: DefaultPhaseTimeout, + TestDuration: DefaultTestDuration, + NodeFunding: DefaultNodeFunding, + GethResourceProfile: GethResourceProfile, + } + + if tType != Smoke { + p.CLNodeDBResourceProfile = DONDBResourceProfile + } + + if tType == Load { + p.EnvTTL = DefaultTTLForLongTests + p.CLNodeResourceProfile = DONResourceProfile + p.NodeFunding = NodeFundingForLoad + p.PhaseTimeout = DefaultPhaseTimeoutForLongTests + } + + allError = multierr.Append(allError, p.SetNetworkPairs(t, lggr)) + ttlDuration, _ := utils.GetEnv("CCIP_KEEP_ENV_TTL") if ttlDuration != "" { keepEnvFor, err := time.ParseDuration(ttlDuration) @@ -355,6 +394,16 @@ func NewCCIPTestConfig(t *testing.T, lggr zerolog.Logger, tType string) *CCIPTes } } + skip, _ := utils.GetEnv("CCIP_SKIP_VALIDATION") + if skip != "" { + e, err := strconv.ParseBool(skip) + if err != nil { + allError = multierr.Append(allError, err) + } else { + p.SkipEventValidation = e + } + } + local, _ := utils.GetEnv("CCIP_DEPLOY_ON_LOCAL") if local != "" { e, err := strconv.ParseBool(local) @@ -388,8 +437,6 @@ func NewCCIPTestConfig(t *testing.T, lggr zerolog.Logger, tType string) *CCIPTes envName, _ := utils.GetEnv("CCIP_EXISTING_ENV") if envName != "" { p.ExistingEnv = envName - } else { - p.ExistingEnv = fmt.Sprintf("Existing-Deployment-%s", uuid.NewString()[0:5]) } } @@ -710,7 +757,7 @@ func CCIPDefaultTestSetUp( } return } - err = actions.TeardownSuite(t, ccipEnv.K8Env, utils.ProjectRoot, ccipEnv.CLNodes, setUpArgs.Reporter, + err = integrationactions.TeardownSuite(t, ccipEnv.K8Env, utils.ProjectRoot, ccipEnv.CLNodes, setUpArgs.Reporter, zapcore.ErrorLevel, chains...) require.NoError(t, err, "Environment teardown shouldn't fail") } else { @@ -731,7 +778,9 @@ func CCIPDefaultTestSetUp( return ccipEnv.SetUpNodesAndKeys(ctx, inputs.NodeFunding, chains) }) } - + if inputs.MsgType == actions.DataOnlyTransfer { + transferAmounts = []*big.Int{} + } for i, n := range inputs.NetworkPairs { newBootstrap := false if i == 0 { @@ -906,8 +955,7 @@ func DeployEnvironments( */ } - tomlCfg, err := node.NewConfigFromToml("ccip", - node.WithPrivateEVMs(nets)) + tomlCfg, err := node.NewConfigFromToml("ccip", ccipnode.WithPrivateEVMs(nets)) tomlStr, err := tomlCfg.TOMLString() require.NoError(t, err) clProps["toml"] = tomlStr