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AWQCfASDAlMAbhJ0DKANZAd8A5sCZAidA6EBggFkBlMAKQlh7QEAAEdldCBhIG1lYXN1cmVtZW50IGZvciBhIHJlbmRlcmFibGUuCgogICAgICAgIEFyZ3M6CiAgICAgICAgICAgIGNvbnNvbGUgKH5yaWNoLmNvbnNvbGUuQ29uc29sZSk6IENvbnNvbGUgaW5zdGFuY2UuCiAgICAgICAgICAgIG9wdGlvbnMgKH5yaWNoLmNvbnNvbGUuQ29uc29sZU9wdGlvbnMpOiBDb25zb2xlIG9wdGlvbnMuCiAgICAgICAgICAgIHJlbmRlcmFibGUgKFJlbmRlcmFibGVUeXBlKTogQW4gb2JqZWN0IHRoYXQgbWF5IGJlIHJlbmRlcmVkIHdpdGggUmljaC4KCiAgICAgICAgUmFpc2VzOgogICAgICAgICAgICBlcnJvcnMuTm90UmVuZGVyYWJsZUVycm9yOiBJZiB0aGUgb2JqZWN0IGlzIG5vdCByZW5kZXJhYmxlLgoKICAgICAgICBSZXR1cm5zOgogICAgICAgICAgICBNZWFzdXJlbWVudDogTWVhc3VyZW1lbnQgb2JqZWN0IGNvbnRhaW5pbmcgcmFuZ2Ugb2YgY2hhcmFjdGVyIHdpZHRocyByZXF1aXJlZCB0byByZW5kZXIgdGhlIG9iamVjdC4KICAgICAgICByCAAAAHIBAAAARikC2gZtYXJrdXBaCWhpZ2hsaWdodFoQX19yaWNoX21lYXN1cmVfX056H1VuYWJsZSB0byBnZXQgcmVuZGVyIHdpZHRoIGZvciB6RDsgYSBzdHIsIFNlZ21lbnQsIG9yIG9iamVjdCB3aXRoIF9fcmljaF9jb25zb2xlX18gbWV0aG9kIGlzIHJlcXVpcmVkKQ5yHwAAAHIPAAAA2gppc2luc3RhbmNl2gNzdHJaCnJlbmRlcl9zdHJyJAAAAHILAAAAcgoAAADaB2dldGF0dHJyGQAAAHIcAAAAchEAAAByCQAAAFoSTm90UmVuZGVyYWJsZUVycm9yKQfaA2Nsc3IhAAAAciIAAAByIwAAAFoKX21heF93aWR0aFoRZ2V0X2NvbnNvbGVfd2lkdGhaDHJlbmRlcl93aWR0aHIUAAAAchQAAAByFQAAANoDZ2V0TgAAAHMyAAAAABEGAQgBCgEKAQQBAgAEAAL/BgMIAQgDCv4CAwgCDgIC/gL/AgUKAQoBCAIMAgQBCv96D01lYXN1cmVtZW50LmdldCkCTk4pD9oIX19uYW1lX1/aCl9fbW9kdWxlX1/aDF9fcXVhbG5hbWVfX9oHX19kb2NfX9oDaW502g9fX2Fubm90YXRpb25zX1/aCHByb3BlcnR5chYAAAByGQAAAHIcAAAAch0AAAByBgAAAHIgAAAA2gtjbGFzc21ldGhvZHIpAAAAchQAAAByFAAAAHIUAAAAchUAAAByDwAAAAsAAABzKgAAAAoBBAIIAggDAgEQBA4KEAwQDgAAAP8CAQYABgEC/gwTAgICAAIAAgEC/nIPAAAAcgwAAAByDQAAAHIOAAAAKQRyIQAAAHIiAAAA2gtyZW5kZXJhYmxlc3ISAAAAYwMAAAAAAAAAAAAAAAUAAAAGAAAAAwAAAHNUAAAAfAJzDnQAZAFkAYMCUwB0AGoBiQGHAIcBhwJmA2QCZAOECHwCRACDAX0DdAB0AnwDdANkAYMBZASNAmoEdAJ8A3QDZAWDAWQEjQJqBYMCfQR8BFMAKQZhpwEAAEdldCBhIG1lYXN1cmVtZW50IHRoYXQgd291bGQgZml0IGEgbnVtYmVyIG9mIHJlbmRlcmFibGVzLgoKICAgIEFyZ3M6CiAgICAgICAgY29uc29sZSAofnJpY2guY29uc29sZS5Db25zb2xlKTogQ29uc29sZSBpbnN0YW5jZS4KICAgICAgICBvcHRpb25zICh+cmljaC5jb25zb2xlLkNvbnNvbGVPcHRpb25zKTogQ29uc29sZSBvcHRpb25zLgogICAgICAgIHJlbmRlcmFibGVzIChJdGVyYWJsZVtSZW5kZXJhYmxlVHlwZV0pOiBPbmUgb3IgbW9yZSByZW5kZXJhYmxlIG9iamVjdHMuCgogICAgUmV0dXJuczoKICAgICAgICBNZWFzdXJlbWVudDogTWVhc3VyZW1lbnQgb2JqZWN0IGNvbnRhaW5pbmcgcmFuZ2Ugb2YgY2hhcmFjdGVyIHdpZHRocyByZXF1aXJlZCB0bwogICAgICAgICAgICBjb250YWluIGFsbCBnaXZlbiByZW5kZXJhYmxlcy4KICAgIHIBAAAAYwEAAAAAAAAAAAAAAAIAAAAGAAAAEwAAAHMYAAAAZwB8AF0QfQGIAYgAiAJ8AYMDkQJxBFMAchQAAAByFAAAACkC2gIuMHIjAAAAqQNyIQAAAFoPZ2V0X21lYXN1cmVtZW50ciIAAAByFAAAAHIVAAAA2go8bGlzdGNvbXA+kAAAAHMEAAAABgECAHonbWVhc3VyZV9yZW5kZXJhYmxlcy48bG9jYWxzPi48bGlzdGNvbXA+KQHaA2tleXIIAAAAKQZyDwAAAHIpAAAAchgAAAByAgAAAHIQAAAAchEAAAApBXIhAAAAciIAAAByMgAAAFoMbWVhc3VyZW1lbnRzWg5tZWFzdXJlZF93aWR0aHIUAAAAcjQAAAByFQAAANoTbWVhc3VyZV9yZW5kZXJhYmxlc30AAABzFgAAAAAQBAEKAQYBDgEC/wYDAgEQARD+BARyNwAAAE4pE9oIb3BlcmF0b3JyAgAAANoGdHlwaW5ncgMAAAByBAAAAHIFAAAAcgYAAAByBwAAANoAcgkAAADaCHByb3RvY29scgoAAAByCwAAAHIhAAAAcgwAAAByDQAAAHIOAAAAcg8AAAByNwAAAHIUAAAAchQAAAByFAAAAHIVAAAA2gg8bW9kdWxlPgEAAABzFgAAAAwBHAIMARACBAEUAxBzAgECAQYBAvw=