IyBNZXNhamVsZSDubiBsaW1iYSByb23ibuMgcGVudHJ1IGdwcm9mLTIuMTRyZWwwMzA3MTIKIyBDb3B5cmlnaHQgKEMpIDIwMDMgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiMgQWNlc3QgZmk/aWVyIGVzdGUgZGlzdHJpYnVpdCBzdWIgYWNlZWE/aSBsaWNlbj8/IGNhIHBhY2hldHVsIGdwcm9mCiMgRXVnZW4gSG9hbmNhIDxldWdlbmhAdXJiYW4tZ3JhZngucm8+LCAyMDAzLgojCm1zZ2lkICIiCm1zZ3N0ciAiIgoiUHJvamVjdC1JZC1WZXJzaW9uOiBncHJvZiAyLjE0cmVsMDMwNzEyXG4iCiJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwMy0wNy0xMSAxMzo1OCswOTMwXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiAyMDAzLTA4LTIzIDA5OjAyKzAzMDBcbiIKIkxhc3QtVHJhbnNsYXRvcjogRXVnZW4gSG9hbmNhIDxldWdlbmhAdXJiYW4tZ3JhZngucm8+XG4iCiJMYW5ndWFnZS1UZWFtOiBSb21hbmlhbiA8dHJhbnNsYXRpb24tdGVhbS1yb0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCiJYLUJ1Z3M6IFJlcG9ydCB0cmFuc2xhdGlvbiBlcnJvcnMgdG8gdGhlIExhbmd1YWdlLVRlYW0gYWRkcmVzcy5cbiIKIk1JTUUtVmVyc2lvbjogMS4wXG4iCiJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMlxuIgoiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgoKIzogYWxwaGEuYzoxMDMgbWlwcy5jOjU3Cm1zZ2lkICI8aW5kaXJlY3QgY2hpbGQ+Igptc2dzdHIgIjxjb3BpbCBpbmRpcmVjdD4iCgojOiBhbHBoYS5jOjEyMCBtaXBzLmM6NzQKIywgYy1mb3JtYXQKbXNnaWQgIltmaW5kX2NhbGxdICVzOiAweCVseCB0byAweCVseFxuIgptc2dzdHIgIltmaW5kX2NhbGxdICVzOiAweCVseCBzcHJlIDB4JWx4XG4iCgojOiBhbHBoYS5jOjE0MgojLCBjLWZvcm1hdAptc2dpZCAiW2ZpbmRfY2FsbF0gMHglbHg6IGpzciVzIDxpbmRpcmVjdF9jaGlsZD5cbiIKbXNnc3RyICJbZmluZF9jYWxsXSAweCVseDoganNyJXMgPGNvcGlsIGluZGlyZWN0PlxuIgoKIzogYWxwaGEuYzoxNTIKIywgYy1mb3JtYXQKbXNnaWQgIltmaW5kX2NhbGxdIDB4JWx4OiBic3IiCm1zZ3N0ciAiW2ZpbmRfY2FsbF0gMHglbHg6IGJzciIKCiM6IGJhc2ljX2Jsb2Nrcy5jOjEzNCBjYWxsX2dyYXBoLmM6OTQgaGlzdC5jOjk4CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogJXM6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGVcbiIKbXNnc3RyICIlczogJXM6IHNm4nK6aXQgYnJ1c2MgZGUgZmm6aWVyXG4iCgojOiBiYXNpY19ibG9ja3MuYzoyMDIKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiB3YXJuaW5nOiBpZ25vcmluZyBiYXNpYy1ibG9jayBleGVjIGNvdW50cyAodXNlIC1sIG9yIC0tbGluZSlcbiIKbXNnc3RyICIlczogYXZlcnRpc21lbnQ6IHNlIGlnbm9y4yBudW3jcuN0b2FyZWEgZGUgYmxvY3VyaSBleGVjdXRhYmlsZSBkZSBiYXrjIChmb2xvc2n+aSAtbCBvciAtLWxpbmUpXG4iCgojLiBGSVhNRTogVGhpcyBvbmx5IHdvcmtzIGlmIGJmZF92bWEgaXMgdW5zaWduZWQgbG9uZy4KIzogYmFzaWNfYmxvY2tzLmM6Mjk1IGJhc2ljX2Jsb2Nrcy5jOjMwNQojLCBjLWZvcm1hdAptc2dpZCAiJXM6JWQ6ICglczoweCVseCkgJWx1IGV4ZWN1dGlvbnNcbiIKbXNnc3RyICIlczolZDogKCVzOjB4JWx4KSAlbHUgZXhlY3X+aWlcbiIKCiM6IGJhc2ljX2Jsb2Nrcy5jOjI5NiBiYXNpY19ibG9ja3MuYzozMDYKbXNnaWQgIjx1bmtub3duPiIKbXNnc3RyICI8bmVjdW5vc2N1dD4iCgojOiBiYXNpY19ibG9ja3MuYzo1NTMKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiXG4iCiJUb3AgJWQgTGluZXM6XG4iCiJcbiIKIiAgICAgTGluZSAgICAgIENvdW50XG4iCiJcbiIKbXNnc3RyICIiCiJcbiIKIlxuIgoiQ2VsZSBtYWkgZGVzZSAlZCBsaW5paVxuIgoiXG4iCiIgICAgIExpbmllICAgICAgUmVwZXTjcmlcbiIKIlxuIgoKIzogYmFzaWNfYmxvY2tzLmM6NTc3Cm1zZ2lkICIiCiJcbiIKIkV4ZWN1dGlvbiBTdW1tYXJ5OlxuIgoiXG4iCm1zZ3N0ciAiIgoiXG4iCiJDdXByaW5zIGFsIEV4ZWN1/mllaTpcbiIKIlxuIgoKIzogYmFzaWNfYmxvY2tzLmM6NTc4CiMsIGMtZm9ybWF0Cm1zZ2lkICIlOWxkICAgRXhlY3V0YWJsZSBsaW5lcyBpbiB0aGlzIGZpbGVcbiIKbXNnc3RyICIlOWxkICAgTGluaWkgZXhlY3V0YW5pbGUg7m4gYWNlc3QgZmm6aWVyXG4iCgojOiBiYXNpY19ibG9ja3MuYzo1ODAKIywgYy1mb3JtYXQKbXNnaWQgIiU5bGQgICBMaW5lcyBleGVjdXRlZFxuIgptc2dzdHIgIiU5bGQgICBMaW5paSBleGVjdXRhdGVcbiIKCiM6IGJhc2ljX2Jsb2Nrcy5jOjU4MQojLCBjLWZvcm1hdAptc2dpZCAiJTkuMmYgICBQZXJjZW50IG9mIHRoZSBmaWxlIGV4ZWN1dGVkXG4iCm1zZ3N0ciAiJTkuMmYgICBQcm9jZW50IGRlIGZpumllciBleGVjdXRhdFxuIgoKIzogYmFzaWNfYmxvY2tzLmM6NTg1CiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIiU5bHUgICBUb3RhbCBudW1iZXIgb2YgbGluZSBleGVjdXRpb25zXG4iCm1zZ3N0ciAiIgoiXG4iCiIlOWx1ICAgTnVt43IgdG90YWwgZGUgZXhlY3X+aWkgZGUgbGluaWlcbiIKCiM6IGJhc2ljX2Jsb2Nrcy5jOjU4NwojLCBjLWZvcm1hdAptc2dpZCAiJTkuMmYgICBBdmVyYWdlIGV4ZWN1dGlvbnMgcGVyIGxpbmVcbiIKbXNnc3RyICIlOS4yZiAgIE1lZGl1IGRlIGV4ZWN1/mlpIHBlIGxpbmllXG4iCgojOiBjYWxsX2dyYXBoLmM6NzEKIywgYy1mb3JtYXQKbXNnaWQgIltjZ190YWxseV0gYXJjIGZyb20gJXMgdG8gJXMgdHJhdmVyc2VkICVsdSB0aW1lc1xuIgptc2dzdHIgIltjZ190YWxseV0gYXJjIGRpbiAlcyBzcHJlICVzIGEgdHJlY3V0IGRlICVsdSBvcmlcbiIKCiM6IGNnX3ByaW50LmM6NzMKbXNnaWQgIiIKIlx0XHQgICAgIENhbGwgZ3JhcGggKGV4cGxhbmF0aW9uIGZvbGxvd3MpXG4iCiJcbiIKbXNnc3RyICIiCiJcdFx0ICAgICBHcmFmaWMgZGUgYXBlbONyaSAodXJtZWF64yBleHBsaWNh/mlhKVxuIgoiXG4iCgojOiBjZ19wcmludC5jOjc1Cm1zZ2lkICIiCiJcdFx0XHRDYWxsIGdyYXBoXG4iCiJcbiIKbXNnc3RyICIiCiJcdFx0XHRHcmFmaWMgZGUgYXBlbONyaVxuIgoiXG4iCgojOiBjZ19wcmludC5jOjc4IGhpc3QuYzozNjMKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlxuIgoiZ3JhbnVsYXJpdHk6IGVhY2ggc2FtcGxlIGhpdCBjb3ZlcnMgJWxkIGJ5dGUocykiCm1zZ3N0ciAiIgoiXG4iCiJncmFudWxhcml0YXRlOiBmaWVjYXJlIGV4ZW1wbHUgZGUgcG90cml2aXJlKGhpdCkgYWNvcGVy4yAlbGQgb2N0ZXQo/mkpIgoKIzogY2dfcHJpbnQuYzo4MgojLCBjLWZvcm1hdAptc2dpZCAiIgoiIGZvciAlLjJmJSUgb2YgJS4yZiBzZWNvbmRzXG4iCiJcbiIKbXNnc3RyICIiCiIgcGVudHJ1ICUuMmYlJSBkaW4gJS4yZiBzZWN1bmRlXG4iCiJcbiIKCiM6IGNnX3ByaW50LmM6ODYKbXNnaWQgIiIKIiBubyB0aW1lIHByb3BhZ2F0ZWRcbiIKIlxuIgptc2dzdHIgIiIKIiBuaWNpIHVuIHRpbXAgcHJvcGFnYXRcbiIKIlxuIgoKIzogY2dfcHJpbnQuYzo5NSBjZ19wcmludC5jOjk4IGNnX3ByaW50LmM6MTAwCm1zZ2lkICJjYWxsZWQiCm1zZ3N0ciAiYXBlbCIKCiM6IGNnX3ByaW50LmM6OTUgY2dfcHJpbnQuYzoxMDAKbXNnaWQgInRvdGFsIgptc2dzdHIgInRvdGFsIgoKIzogY2dfcHJpbnQuYzo5NQptc2dpZCAicGFyZW50cyIKbXNnc3RyICJw43Jpbv5pIgoKIzogY2dfcHJpbnQuYzo5NyBjZ19wcmludC5jOjk4Cm1zZ2lkICJpbmRleCIKbXNnc3RyICJpbmRleCIKCiM6IGNnX3ByaW50LmM6OTcKIywgYy1mb3JtYXQKbXNnaWQgIiV0aW1lIgptc2dzdHIgIiV0aW1wIgoKIzogY2dfcHJpbnQuYzo5NyBjZ19wcmludC5jOjk4Cm1zZ2lkICJzZWxmIgptc2dzdHIgInByb3ByaXUiCgojOiBjZ19wcmludC5jOjk3Cm1zZ2lkICJkZXNjZW5kYW50cyIKbXNnc3RyICJkZXNjZW5kZW7+aSIKCiM6IGNnX3ByaW50LmM6OTggaGlzdC5jOjM4OQptc2dpZCAibmFtZSIKbXNnc3RyICJudW1lIgoKIzogY2dfcHJpbnQuYzoxMDAKbXNnaWQgImNoaWxkcmVuIgptc2dzdHIgImNvcGlsIgoKIzogY2dfcHJpbnQuYzoxMDUKIywgYy1mb3JtYXQKbXNnaWQgImluZGV4ICUlIHRpbWUgICAgc2VsZiAgY2hpbGRyZW4gICAgY2FsbGVkICAgICBuYW1lXG4iCm1zZ3N0ciAiaW5kZXggJSUgdGltcCAgICBwcm9wcml1ICBjb3BpbCAgICBhcGVsICAgICBudW1lXG4iCgojOiBjZ19wcmludC5jOjEyOQojLCBjLWZvcm1hdAptc2dpZCAiIDxjeWNsZSAlZCBhcyBhIHdob2xlPiBbJWRdXG4iCm1zZ3N0ciAiIDx0cmVjZXJlIHByaW4gJWQgY2EgdW4g7m50cmVnPiBbJWRdXG4iCgojOiBjZ19wcmludC5jOjM2MwojLCBjLWZvcm1hdAptc2dpZCAiJTYuNnMgJTUuNXMgJTcuN3MgJTExLjExcyAlNy43cyAlNy43cyAgICAgPHNwb250YW5lb3VzPlxuIgptc2dzdHIgIiU2LjZzICU1LjVzICU3LjdzICUxMS4xMXMgJTcuN3MgJTcuN3MgICAgIDxzcG9udGFuPlxuIgoKIzogY2dfcHJpbnQuYzozNjQKIywgYy1mb3JtYXQKbXNnaWQgIiU2LjZzICU1LjVzICU3LjdzICU3LjdzICU3LjdzICU3LjdzICAgICA8c3BvbnRhbmVvdXM+XG4iCm1zZ3N0ciAiJTYuNnMgJTUuNXMgJTcuN3MgJTcuN3MgJTcuN3MgJTcuN3MgICAgIDxzcG9udGFuPlxuIgoKIzogY2dfcHJpbnQuYzo2MDQKbXNnaWQgIiIKIkluZGV4IGJ5IGZ1bmN0aW9uIG5hbWVcbiIKIlxuIgptc2dzdHIgIiIKIkluZGV4YXJlIGR1cOMgbnVtZWxlIGZ1bmP+aWVpXG4iCiJcbiIKCiM6IGNnX3ByaW50LmM6NjYxIGNnX3ByaW50LmM6NjcwCiMsIGMtZm9ybWF0Cm1zZ2lkICI8Y3ljbGUgJWQ+Igptc2dzdHIgIjx0cmVjZXJlIHByaW4gJWQ+IgoKIzogY29yZWZpbGUuYzo2NAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGNvdWxkIG5vdCBvcGVuICVzLlxuIgptc2dzdHIgIiVzOiBudSBhbSBwdXR1dCBkZXNjaGlkZSAlcy5cbiIKCiM6IGNvcmVmaWxlLmM6NzggY29yZWZpbGUuYzoxMTIKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiB1bmFibGUgdG8gcGFyc2UgbWFwcGluZyBmaWxlICVzLlxuIgptc2dzdHIgIiVzOiBudSBzLWEgcHV0dXQgYW5hbGl6YShwYXJzZSkgZmm6aWVydWwgZGUgbWFwcGluZyAlcy5cbiIKCiM6IGNvcmVmaWxlLmM6MTU1CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogJXM6IG5vdCBpbiBhLm91dCBmb3JtYXRcbiIKbXNnc3RyICIlczogJXM6IG51IGVzdGUg7m4gZm9ybWF0IGEub3V0XG4iCgojOiBjb3JlZmlsZS5jOjE2NgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGNhbid0IGZpbmQgLnRleHQgc2VjdGlvbiBpbiAlc1xuIgptc2dzdHIgIiVzOiBudSBwb3QgZ+NzaSBzZWP+aXVuZWEgLnRleHQgJXNcbiIKCiM6IGNvcmVmaWxlLmM6MjI1CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogcmFuIG91dCByb29tIGZvciAlbHUgYnl0ZXMgb2YgdGV4dCBzcGFjZVxuIgptc2dzdHIgIiVzOiBsb2Nh/mllKHJvb20pIHBsaW7jIHBlbnRydSAlbHUgb2N0Zf5pIGRlIHNwYf5pdSBkZSB0ZXh0XG4iCgojOiBjb3JlZmlsZS5jOjIzOQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGNhbid0IGRvIC1jXG4iCm1zZ3N0ciAiJXM6IG51IHBvdCBmYWNlIC1jXG4iCgojOiBjb3JlZmlsZS5jOjI3NgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IC1jIG5vdCBzdXBwb3J0ZWQgb24gYXJjaGl0ZWN0dXJlICVzXG4iCm1zZ3N0ciAiJXM6IC1jIG51IGVzdGUgc3Vwb3J0YXQgcGUgYXJoaXRlY3R1cmEgJXNcbiIKCiM6IGNvcmVmaWxlLmM6NDQ3CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogZmlsZSBgJXMnIGhhcyBubyBzeW1ib2xzXG4iCm1zZ3N0ciAiJXM6IGZpumllcnVsIGAlcycgbnUgYXJlIHNpbWJvbHVyaVxuIgoKIzogY29yZWZpbGUuYzo3NTgKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBzb21lYm9keSBtaXNjb3VudGVkOiBsdGFiLmxlbj0lZCBpbnN0ZWFkIG9mICVsZFxuIgptc2dzdHIgIiVzOiBjaW5ldmEgYSBudW3jcmF0IGdyZbppdDogbHRhYi5sZW49JWQg7m4gbG9jIGRlICVsZFxuIgoKIzogZ21vbl9pby5jOjgyCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogYWRkcmVzcyBzaXplIGhhcyB1bmV4cGVjdGVkIHZhbHVlIG9mICV1XG4iCm1zZ3N0ciAiJXM6IG3jcmltZWEgYWRyZXNlaSBhcmUgdmFsb2FyZWEgbmVhunRlcHRhdOMgZGUgJXVcbiIKCiM6IGdtb25faW8uYzozNDUgZ21vbl9pby5jOjQ0MAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGZpbGUgdG9vIHNob3J0IHRvIGJlIGEgZ21vbiBmaWxlXG4iCm1zZ3N0ciAiJXM6IGZpumllciBwcmVhIHNjdXJ0IHBlbnRydSBhIGZpIHVuIGZpumllciBnbW9uXG4iCgojOiBnbW9uX2lvLmM6MzU1IGdtb25faW8uYzo0ODMKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBmaWxlIGAlcycgaGFzIGJhZCBtYWdpYyBjb29raWVcbiIKbXNnc3RyICIlczogZmm6aWVydWwgYCVzJyBhcmUgdW4gbWFnaWMgY29va2llIGVyb25hdFxuIgoKIzogZ21vbl9pby5jOjM2NgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGZpbGUgYCVzJyBoYXMgdW5zdXBwb3J0ZWQgdmVyc2lvbiAlZFxuIgptc2dzdHIgIiVzOiBmabppZXJ1bCBgJXMnIGFyZSB2ZXJzaXVuZWEgbmVzdXBvcnRhdOMgJWRcbiIKCiM6IGdtb25faW8uYzozOTYKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiAlczogZm91bmQgYmFkIHRhZyAlZCAoZmlsZSBjb3JydXB0ZWQ/KVxuIgptc2dzdHIgIiVzOiAlczogcy1hIGfjc2l0IG1hcmNhaih0YWcpIGdyZbppdCAlZCAoZmm6aWVyIGNvcnVwdD8pXG4iCgojOiBnbW9uX2lvLmM6NDYyCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogcHJvZmlsaW5nIHJhdGUgaW5jb21wYXRpYmxlIHdpdGggZmlyc3QgZ21vbiBmaWxlXG4iCm1zZ3N0ciAiJXM6IHJhdOMgcHJvZmlsYXTjIGluY29tcGF0aWJpbOMgY3UgcHJpbXVsIGZpumllciBnbW9uXG4iCgojOiBnbW9uX2lvLmM6NTEwCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogaW5jb21wYXRpYmxlIHdpdGggZmlyc3QgZ21vbiBmaWxlXG4iCm1zZ3N0ciAiJXM6IGluY29tcGF0aWJpbCBjdSBwcmltdWwgZmm6aWVyIGdtb25cbiIKCiM6IGdtb25faW8uYzo1MzgKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBmaWxlICclcycgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGluIGdtb24ub3V0IGZvcm1hdFxuIgptc2dzdHIgIiVzOiBmabppZXJ1bCAnJXMnIG51cGFyZSBz4yBmaWUg7m4gZm9ybWF0IGdtb24ub3V0XG4iCgojOiBnbW9uX2lvLmM6NTU5CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogdW5leHBlY3RlZCBFT0YgYWZ0ZXIgcmVhZGluZyAlZC8lZCBiaW5zXG4iCm1zZ3N0ciAiJXM6IEVPRiBuZWG6dGVwdGF0IGR1cOMgY2l0aXJlYSBhICVkLyVkIGJpbi11cmlcbiIKCiM6IGdtb25faW8uYzo1OTIKbXNnaWQgInRpbWUgaXMgaW4gdGlja3MsIG5vdCBzZWNvbmRzXG4iCm1zZ3N0ciAidGltcHVsIGVzdGUg7m4gYuN042kodGlja3MpLCBudSDubiBzZWN1bmRlXG4iCgojOiBnbW9uX2lvLmM6NTk4IGdtb25faW8uYzo3NzUKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBkb24ndCBrbm93IGhvdyB0byBkZWFsIHdpdGggZmlsZSBmb3JtYXQgJWRcbiIKbXNnc3RyICIlczogbnUgunRpdSBjdW0gc+MgbeMgZGVzY3VyYyBjdSBmb3JtYXR1bCBkZSBmabppZXIgJWRcbiIKCiM6IGdtb25faW8uYzo2MDUKIywgYy1mb3JtYXQKbXNnaWQgIkZpbGUgYCVzJyAodmVyc2lvbiAlZCkgY29udGFpbnM6XG4iCm1zZ3N0ciAiRmm6aWVydWwgYCVzJyAodmVyc2l1bmVhICVkKSBjb27+aW5lOlxuIgoKIzogZ21vbl9pby5jOjYwOAojLCBjLWZvcm1hdAptc2dpZCAiXHQlZCBoaXN0b2dyYW0gcmVjb3JkXG4iCm1zZ3N0ciAiXHQlZCDubnJlZ2lzdHJhcmUgaGlzdG9ncmFt41xuIgoKIzogZ21vbl9pby5jOjYwOQojLCBjLWZvcm1hdAptc2dpZCAiXHQlZCBoaXN0b2dyYW0gcmVjb3Jkc1xuIgptc2dzdHIgIlx0JWQg7m5yZWdpc3Ry43JpIGhpc3RvZ3JhbeNcbiIKCiM6IGdtb25faW8uYzo2MTEKIywgYy1mb3JtYXQKbXNnaWQgIlx0JWQgY2FsbC1ncmFwaCByZWNvcmRcbiIKbXNnc3RyICJcdCVkIO5ucmVnaXN0cmFyZSBncmFmaWMgYXBlbONyaVxuIgoKIzogZ21vbl9pby5jOjYxMgojLCBjLWZvcm1hdAptc2dpZCAiXHQlZCBjYWxsLWdyYXBoIHJlY29yZHNcbiIKbXNnc3RyICJcdCVkIO5ucmVnaXN0cuNyaSBncmFmaWMgYXBlbONyaVxuIgoKIzogZ21vbl9pby5jOjYxNAojLCBjLWZvcm1hdAptc2dpZCAiXHQlZCBiYXNpYy1ibG9jayBjb3VudCByZWNvcmRcbiIKbXNnc3RyICJcdCVkIO5ucmVnaXN0cmFyZSByZXBldONyaSBkZSBibG9jdXJpIGRlIGJheuNcbiIKCiM6IGdtb25faW8uYzo2MTUKIywgYy1mb3JtYXQKbXNnaWQgIlx0JWQgYmFzaWMtYmxvY2sgY291bnQgcmVjb3Jkc1xuIgptc2dzdHIgIlx0JWQg7m5yZWdpc3Ry43JpIHJlcGV043JpIGRlIGJsb2N1cmkgZGUgYmF641xuIgoKIzogZ3Byb2YuYzoxNjMKIywgYy1mb3JtYXQKbXNnaWQgIiIKIlVzYWdlOiAlcyBbLVthYmNEaGlsTHNUdnd4eXpdXSBbLVtBQ2VFZkZKbk5PcFBxUVpdW25hbWVdXSBbLUkgZGlyc11cbiIKIlx0Wy1kW251bV1dIFstayBmcm9tL3RvXSBbLW0gbWluLWNvdW50XSBbLXQgdGFibGUtbGVuZ3RoXVxuIgoiXHRbLS1bbm8tXWFubm90YXRlZC1zb3VyY2VbPW5hbWVdXSBbLS1bbm8tXWV4ZWMtY291bnRzWz1uYW1lXV1cbiIKIlx0Wy0tW25vLV1mbGF0LXByb2ZpbGVbPW5hbWVdXSBbLS1bbm8tXWdyYXBoWz1uYW1lXV1cbiIKIlx0Wy0tW25vLV10aW1lPW5hbWVdIFstLWFsbC1saW5lc10gWy0tYnJpZWZdIFstLWRlYnVnWz1sZXZlbF1dXG4iCiJcdFstLWZ1bmN0aW9uLW9yZGVyaW5nXSBbLS1maWxlLW9yZGVyaW5nXVxuIgoiXHRbLS1kaXJlY3RvcnktcGF0aD1kaXJzXSBbLS1kaXNwbGF5LXVudXNlZC1mdW5jdGlvbnNdXG4iCiJcdFstLWZpbGUtZm9ybWF0PW5hbWVdIFstLWZpbGUtaW5mb10gWy0taGVscF0gWy0tbGluZV0gWy0tbWluLWNvdW50PW5dXG4iCiJcdFstLW5vLXN0YXRpY10gWy0tcHJpbnQtcGF0aF0gWy0tc2VwYXJhdGUtZmlsZXNdXG4iCiJcdFstLXN0YXRpYy1jYWxsLWdyYXBoXSBbLS1zdW1dIFstLXRhYmxlLWxlbmd0aD1sZW5dIFstLXRyYWRpdGlvbmFsXVxuIgoiXHRbLS12ZXJzaW9uXSBbLS13aWR0aD1uXSBbLS1pZ25vcmUtbm9uLWZ1bmN0aW9uc11cbiIKIlx0Wy0tZGVtYW5nbGVbPVNUWUxFXV0gWy0tbm8tZGVtYW5nbGVdXG4iCiJcdFtpbWFnZS1maWxlXSBbcHJvZmlsZS1maWxlLi4uXVxuIgptc2dzdHIgIiIKIkZvbG9zaXJlZTogJXMgWy1bYWJjRGhpbExzVHZ3eHl6XV0gWy1bQUNlRWZGSm5OT3BQcVFaXVtuYW1lXV0gWy1JIGRpcnNdXG4iCiJcdFstZFtudW1dXSBbLWsgZnJvbS90b10gWy1tIG1pbi1jb3VudF0gWy10IHRhYmxlLWxlbmd0aF1cbiIKIlx0Wy0tW25vLV1hbm5vdGF0ZWQtc291cmNlWz1udW1lXV0gWy0tW25vLV1leGVjLWNvdW50c1s9bnVtZV1dXG4iCiJcdFstLVtuby1dZmxhdC1wcm9maWxlWz1udW1lXV0gWy0tW25vLV1ncmFwaFs9bnVtZV1dXG4iCiJcdFstLVtuby1ddGltZT1udW1lXSBbLS1hbGwtbGluZXNdIFstLWJyaWVmXSBbLS1kZWJ1Z1s9bml2ZWxdXVxuIgoiXHRbLS1mdW5jdGlvbi1vcmRlcmluZ10gWy0tZmlsZS1vcmRlcmluZ11cbiIKIlx0Wy0tZGlyZWN0b3J5LXBhdGg9ZGlyc10gWy0tZGlzcGxheS11bnVzZWQtZnVuY3Rpb25zXVxuIgoiXHRbLS1maWxlLWZvcm1hdD1udW1lXSBbLS1maWxlLWluZm9dIFstLWhlbHBdIFstLWxpbmVdIFstLW1pbi1jb3VudD1uXVxuIgoiXHRbLS1uby1zdGF0aWNdIFstLXByaW50LXBhdGhdIFstLXNlcGFyYXRlLWZpbGVzXVxuIgoiXHRbLS1zdGF0aWMtY2FsbC1ncmFwaF0gWy0tc3VtXSBbLS10YWJsZS1sZW5ndGg9bHVuXSBbLS10cmFkaXRpb25hbF1cbiIKIlx0Wy0tdmVyc2lvbl0gWy0td2lkdGg9bl0gWy0taWdub3JlLW5vbi1mdW5jdGlvbnNdXG4iCiJcdFstLWRlbWFuZ2xlWz1TVElMXV0gWy0tbm8tZGVtYW5nbGVdXG4iCiJcdFtpbWFnZS1maWxlXSBbcHJvZmlsZS1maWxlLi4uXVxuIgoKIzogZ3Byb2YuYzoxNzkKIywgYy1mb3JtYXQKbXNnaWQgIlJlcG9ydCBidWdzIHRvICVzXG4iCm1zZ3N0ciAiUmFwb3J0Yf5pIGVyb3JpbGUoYnVncykgbGEgJXNcbiIKCiM6IGdwcm9mLmM6MjUzCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogZGVidWdnaW5nIG5vdCBzdXBwb3J0ZWQ7IC1kIGlnbm9yZWRcbiIKbXNnc3RyICIlczogZGVidWdnaW5nIG5lc3Vwb3J0YXQ7IC1kIGlnbm9yYXRcbiIKCiM6IGdwcm9mLmM6MzMzCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogdW5rbm93biBmaWxlIGZvcm1hdCAlc1xuIgptc2dzdHIgIiVzOiBmb3JtYXQgZmm6aWVyIG5lY3Vub3NjdXQgJXNcbiIKCiMuIFRoaXMgb3V0cHV0IGlzIGludGVuZGVkIHRvIGZvbGxvdyB0aGUgR05VIHN0YW5kYXJkcyBkb2N1bWVudC4KIzogZ3Byb2YuYzo0MTcKIywgYy1mb3JtYXQKbXNnaWQgIkdOVSBncHJvZiAlc1xuIgptc2dzdHIgIkdOVSBncHJvZiAlc1xuIgoKIzogZ3Byb2YuYzo0MTgKbXNnaWQgIkJhc2VkIG9uIEJTRCBncHJvZiwgY29weXJpZ2h0IDE5ODMgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLlxuIgptc2dzdHIgIkJhemF0IHBlIEJTRCBncHJvZiwgY29weXJpZ2h0IDE5ODMgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLlxuIgoKIzogZ3Byb2YuYzo0MTkKbXNnaWQgIlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlLiAgVGhpcyBwcm9ncmFtIGhhcyBhYnNvbHV0ZWx5IG5vIHdhcnJhbnR5LlxuIgptc2dzdHIgIkFjZXN0IHByb2dyYW0gZXN0ZSBzb2Z0d2FyZSBsaWJlci4gIEFjZXN0IHByb2dyYW0gbnUgYXJlIGFic29sdXQgbmljaSBvIGdhcmFu/mllLlxuIgoKIzogZ3Byb2YuYzo0NjAKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiB1bmtub3duIGRlbWFuZ2xpbmcgc3R5bGUgYCVzJ1xuIgptc2dzdHIgIiVzOiBzdGlsIG5lY3Vub3NjdXQgZGUg7m1iaW5hcmUgKGRlbWFuZ2xpbmcpIGAlcydcbiIKCiM6IGdwcm9mLmM6NDgwCiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogT25seSBvbmUgb2YgLS1mdW5jdGlvbi1vcmRlcmluZyBhbmQgLS1maWxlLW9yZGVyaW5nIG1heSBiZSBzcGVjaWZpZWQuXG4iCm1zZ3N0ciAiJXM6IERvYXIgdW51bCBkaW50cmUgLS1mdW5jdGlvbi1vcmRlcmluZyBzYXUgLS1maWxlLW9yZGVyaW5nIHBvYXRlIGZpIHNwZWNpZmljYXQuXG4iCgojOiBncHJvZi5jOjU3OAojLCBjLWZvcm1hdAptc2dpZCAiJXM6IHNvcnJ5LCBmaWxlIGZvcm1hdCBgcHJvZicgaXMgbm90IHlldCBzdXBwb3J0ZWRcbiIKbXNnc3RyICIlczogbnUgcGFyZSBy43UsIGZvcm1hdHVsIGRlIGZpumllciBgcHJvZicgbnUgZXN0ZSDubmPjIHN1cG9ydGF0XG4iCgojOiBncHJvZi5jOjYzOQojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGdtb24ub3V0IGZpbGUgaXMgbWlzc2luZyBoaXN0b2dyYW1cbiIKbXNnc3RyICIlczogRmm6aWVydWx1aSBnbW9uLm91dCDuaSBsaXBzZbp0ZSBoaXN0b2dyYW1hXG4iCgojOiBncHJvZi5jOjY0NgojLCBjLWZvcm1hdAptc2dpZCAiJXM6IGdtb24ub3V0IGZpbGUgaXMgbWlzc2luZyBjYWxsLWdyYXBoIGRhdGFcbiIKbXNnc3RyICIlczogRmm6aWVydWx1aSBnbW9uLm91dCDuaSBsaXBzZXNjIGRhdGVsZSBncmFmaWN1bHVpIGRlIGFwZWzjcmlcbiIKCiM6IGhpc3QuYzoxMjcKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBgJXMnIGlzIGluY29tcGF0aWJsZSB3aXRoIGZpcnN0IGdtb24gZmlsZVxuIgptc2dzdHIgIiVzOiBgJXMnIGVzdGUgaW5jb21wYXRpYmlsIGN1IHByaW11bCBmabppZXIgZ21vblxuIgoKIzogaGlzdC5jOjE0MwojLCBjLWZvcm1hdAptc2dpZCAiJXM6ICVzOiB1bmV4cGVjdGVkIEVPRiBhZnRlciByZWFkaW5nICVkIG9mICVkIHNhbXBsZXNcbiIKbXNnc3RyICIlczogJXM6IEVPRiBuZWG6dGVwdGF0IGR1cOMgY2l0aXJlYSBhICVkIGRpbiAlZCBleGVtcGxlXG4iCgojOiBoaXN0LmM6MzU5CiMsIGMtZm9ybWF0Cm1zZ2lkICIlYyVjL2NhbGwiCm1zZ3N0ciAiJWMlYy9hcGVsIgoKIzogaGlzdC5jOjM2NwojLCBjLWZvcm1hdAptc2dpZCAiIgoiIGZvciAlLjJmJSUgb2YgJS4yZiAlc1xuIgoiXG4iCm1zZ3N0ciAiIgoicGVudHJ1ICUuMmYlJSBkaW4gJS4yZiAlc1xuIgoiXG4iCgojOiBoaXN0LmM6MzczCiMsIGMtZm9ybWF0Cm1zZ2lkICIiCiJcbiIKIkVhY2ggc2FtcGxlIGNvdW50cyBhcyAlZyAlcy5cbiIKbXNnc3RyICIiCiJcbiIKIkZpZWNhcmUgZXhlbXBsdSBjb250ZWF64yBjYSC6aSAlZyAlcy5cbiIKCiM6IGhpc3QuYzozNzgKbXNnaWQgIiIKIiBubyB0aW1lIGFjY3VtdWxhdGVkXG4iCiJcbiIKbXNnc3RyICIiCiIgbmljaSB1biB0aW1wIGFjdW11bGF0XG4iCiJcbiIKCiM6IGhpc3QuYzozODUKbXNnaWQgImN1bXVsYXRpdmUiCm1zZ3N0ciAiY3VtdWxhdGl2IgoKIzogaGlzdC5jOjM4NQptc2dpZCAic2VsZiAgIgptc2dzdHIgInByb3ByaXUgICIKCiM6IGhpc3QuYzozODUKbXNnaWQgInRvdGFsICIKbXNnc3RyICJ0b3RhbCAiCgojOiBoaXN0LmM6Mzg4Cm1zZ2lkICJ0aW1lIgptc2dzdHIgInRpbXAiCgojOiBoaXN0LmM6Mzg4Cm1zZ2lkICJjYWxscyIKbXNnc3RyICJhcGVs43JpIgoKIzogaGlzdC5jOjQ4MQptc2dpZCAiIgoiXG4iCiJcbiIKIlxuIgoiZmxhdCBwcm9maWxlOlxuIgptc2dzdHIgIiIKIlxuIgoiXG4iCiJcbiIKInByb2ZpbCBjbGFyOlxuIgoKIzogaGlzdC5jOjQ4Nwptc2dpZCAiRmxhdCBwcm9maWxlOlxuIgptc2dzdHIgIlByb2ZpbCBjbGFyOlxuIgoKIzogbWlwcy5jOjg1CiMsIGMtZm9ybWF0Cm1zZ2lkICJbZmluZF9jYWxsXSAweCVseDogamFsIgptc2dzdHIgIltmaW5kX2NhbGxdIDB4JWx4OiBqYWwiCgojOiBtaXBzLmM6MTEwCiMsIGMtZm9ybWF0Cm1zZ2lkICJbZmluZF9jYWxsXSAweCVseDogamFsclxuIgptc2dzdHIgIltmaW5kX2NhbGxdIDB4JWx4OiBqYWxyXG4iCgojOiBzb3VyY2UuYzoxNjYKIywgYy1mb3JtYXQKbXNnaWQgIiVzOiBjb3VsZCBub3QgbG9jYXRlIGAlcydcbiIKbXNnc3RyICIlczogbnUgYW0gcHV0dXQgbG9jYWxpemEgYCVzJ1xuIgoKIzogc291cmNlLmM6MjQxCiMsIGMtZm9ybWF0Cm1zZ2lkICIqKiogRmlsZSAlczpcbiIKbXNnc3RyICIqKiogRmm6aWVyICVzOlxuIgoKIzogdXRpbHMuYzoxMDkKIywgYy1mb3JtYXQKbXNnaWQgIiA8Y3ljbGUgJWQ+Igptc2dzdHIgIiA8dHJlY2VyZSBwcmluICVkPiIK