IyEgL2Jpbi9zaAouICIke3NyY2Rpcj0ufS9pbml0LnNoIjsgcGF0aF9wcmVwZW5kXyAuIC4uL3NyYwoKIyBUZXN0IGhhbmRsaW5nIG9mIGlucHV0IGZpbGVzIHdpdGggZGlmZmVyZW50IHRyYW5zbGF0aW9uczoKIyBwcmVzZXJ2ZSBhbGwgdmFyaWFudHMsIGFkZCBtYXJrZXJzCgpjYXQgPDxcRU9GID4gbWNhdC10ZXN0Ni5pbjEKIyBHZXJtYW4gbWVzc2FnZSBmaWxlIGZvciB4eXouCiMgQ29weXJpZ2h0IChDKSAxOTk5LCAyMDAwLCAyMDAxIHh5ei4KIyBLYWIgRGVmIDxrZUB6enoudXVjcD4sIDIwMDAuCiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IHh5elxuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMDEtMDQtMjQgMTI6NTE6MzQrMDIwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogMjAwMS0wNC0yNCAxMzowMiswMjowMFxuIgoiTGFzdC1UcmFuc2xhdG9yOiBLYWIgRGVmIDxrZUB6enoudXVjcD5cbiIKIkxhbmd1YWdlLVRlYW06IEdlcm1hbiA8aTE4bkB6enoudXVjcD5cbiIKIk1JTUUtVmVyc2lvbjogMS4wXG4iCiJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMVxuIgoiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgoKIy4gSGVscCB0ZXh0IChIVE1MLWxpa2UpIFNUQVJUCiM6IGNsaWVudHMvaW5zdF9hc2tfY29uZmlnLnljcDoxMTkKbXNnaWQgIiIKIkNvbmdyYXR1bGF0aW9ucyEiCm1zZ3N0ciAiIgoiR2z8Y2t3dW5zY2ghIgpFT0YKCmNhdCA8PFxFT0YgPiBtY2F0LXRlc3Q2LmluMgojIEdlcm1hbiBtZXNzYWdlIGZpbGUgZm9yIHh5ei4KIyBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDAsIDIwMDEgeHl6LgojIEthYiBEZWYgPGtlQHp6ei51dWNwPiwgMjAwMC4KIwptc2dpZCAiIgptc2dzdHIgIiIKIlByb2plY3QtSWQtVmVyc2lvbjogeHl6XG4iCiJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwMS0wNC0yNCAxMjo1MTozNCswMjAwXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiAyMDAxLTA0LTI0IDEzOjAyKzAyOjAwXG4iCiJMYXN0LVRyYW5zbGF0b3I6IEthYiBEZWYgPGtlQHp6ei51dWNwPlxuIgoiTGFuZ3VhZ2UtVGVhbTogR2VybWFuIDxpMThuQHp6ei51dWNwPlxuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0xXG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCgojLiBIZWxwIHRleHQgKEhUTUwtbGlrZSkgU1RBUlQKIzogY2xpZW50cy9pbnN0X2Fza19jb25maWcueWNwOjExOQptc2dpZCAiIgoiQ29uZ3JhdHVsYXRpb25zISIKbXNnc3RyICIiCiJIZXJ6bGljaGVuIEds/GNrd3Vuc2NoISIKRU9GCgpybSAtZiBtY2F0LXRlc3Q2LnRtcAoKOiAke01TR0NBVD1tc2djYXR9CiR7TVNHQ0FUfSAtLW1vcmUtdGhhbj0wIC1vIG1jYXQtdGVzdDYudG1wIFwKICAgIG1jYXQtdGVzdDYuaW4xIG1jYXQtdGVzdDYuaW4yIHx8IEV4aXQgMQpMQ19BTEw9QyB0ciAtZCAnXHInIDwgbWNhdC10ZXN0Ni50bXAgPiBtY2F0LXRlc3Q2Lm91dCB8fCBFeGl0IDEKCmNhdCA8PCBcRU9GID4gbWNhdC10ZXN0Ni5vawojIEdlcm1hbiBtZXNzYWdlIGZpbGUgZm9yIHh5ei4KIyBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDAsIDIwMDEgeHl6LgojIEthYiBEZWYgPGtlQHp6ei51dWNwPiwgMjAwMC4KIwptc2dpZCAiIgptc2dzdHIgIiIKIlByb2plY3QtSWQtVmVyc2lvbjogeHl6XG4iCiJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwMS0wNC0yNCAxMjo1MTozNCswMjAwXG4iCiJQTy1SZXZpc2lvbi1EYXRlOiAyMDAxLTA0LTI0IDEzOjAyKzAyOjAwXG4iCiJMYXN0LVRyYW5zbGF0b3I6IEthYiBEZWYgPGtlQHp6ei51dWNwPlxuIgoiTGFuZ3VhZ2UtVGVhbTogR2VybWFuIDxpMThuQHp6ei51dWNwPlxuIgoiTUlNRS1WZXJzaW9uOiAxLjBcbiIKIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0xXG4iCiJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCgojLiBIZWxwIHRleHQgKEhUTUwtbGlrZSkgU1RBUlQKIzogY2xpZW50cy9pbnN0X2Fza19jb25maWcueWNwOjExOQojLCBmdXp6eQptc2dpZCAiQ29uZ3JhdHVsYXRpb25zISIKbXNnc3RyICIiCiIjLSMtIy0jLSMgIG1jYXQtdGVzdDYuaW4xICh4eXopICAjLSMtIy0jLSNcbiIKIkds/GNrd3Vuc2NoIVxuIgoiIy0jLSMtIy0jICBtY2F0LXRlc3Q2LmluMiAoeHl6KSAgIy0jLSMtIy0jXG4iCiJIZXJ6bGljaGVuIEds/GNrd3Vuc2NoISIKRU9GCgo6ICR7RElGRj1kaWZmfQoke0RJRkZ9IG1jYXQtdGVzdDYub2sgbWNhdC10ZXN0Ni5vdXQKcmVzdWx0PSQ/CgpleGl0ICRyZXN1bHQK