IyBNZW5zYWplcyBlbiBlc3Bh8W9sIHBhcmEgR05VIEJpc29uLgojIENvcHlyaWdodCAoQykgMTk5OCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIyBOaWNvbOFzIEdhcmPtYS1QZWRyYWphcyA8bmdhcmNpYS1wZWRyYWphc0BhY20ub3JnPiwgMTk5OC4KIwojIENvcnJlZ2lkbyBwb3I6CiMKIyBjbGwgLSBDYXJsb3MgTGluYXJlcyBM83BleiAgICAgICAgY2xpbmFyZXNAYWNtLm9yZwojICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGluYXJlc0BkZWxpY2lhcy5kaWEuZmkudXBtLmVzCiMKIyBOb3RhczoKIwojIDEuIE5pY29s4XMsIGVuIGFsZ3VuYXMgb2Nhc2lvbmVzIG5vdGFy4XMgcXVlIGFsZ3Vub3MgYG1zZ3N0cicgbm8gZXN04W4KIyBpbmRlbnRhZG9zIGNvbW8gbG9zIGBtc2dpZCcuIE5vIHRlIHByZW9jdXBlcywgZXNvIGVzIHBvcnF1ZSB5byB1dGlsaXpvCiMgZWwgYHBvLW1vZGUnIGRlIEVtYWNzLCAuLi4gyWwgZXMgZWwgcmVzcG9uc2FibGUgZGUgZXNhcyBpbmRlbnRhY2lvbmVzCiMgZGVsIGBtc2dzdHInIDopCiMKIyAyLiBUb2RvcyBsb3MgY29tZW50YXJpb3MgcXVlIGNvbnRlbmdhbiAiRHVkYToiIGRlYmllcmFuIHJldmlzYXJzZS4KIwojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgRW4gbWkgb3BpbmnzbiBoYXMgaGVjaG8gdW4gZXhjZWxlbnRlIHRyYWJham8geSB0ZSBhbmltbyBhIHF1ZSBzaWdhcwojIG1hbnRlbmllbmRvIGVzdGEgdHJhZHVjY2nzbiB5IGEgcXVlIGxvIGludGVudGVzIGNvbiBvdHJhcy4KIwojICihdGUgbG8gZGljZSBlbCB07W8gcXVlIGhhIHRyYWR1Y2lkbyBlbCBwYXF1ZXRlIG3hcyBncmFuZGU6IDE0MDYKIyBtZW5zYWplcyBlbiBlbCBjbGlzcCEpCiMKIyAJCQkJCQkgICAgICBDYXJsb3MgTGluYXJlcwojIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKbXNnaWQgIiIKbXNnc3RyICIiCiJQcm9qZWN0LUlkLVZlcnNpb246IEdOVSBiaXNvbiAyLjJcbiIKIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBidWctYmlzb25AZ251Lm9yZ1xuIgoiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTItMTItMTIgMTY6MDkrMDEwMFxuIgoiUE8tUmV2aXNpb24tRGF0ZTogMjAwNi0wNi0wNSAxMzo1MSswMjAwXG4iCiJMYXN0LVRyYW5zbGF0b3I6IE5pY29s4XMgR2FyY+1hLVBlZHJhamFzIDxuZ2FyY2lhLXBlZHJhamFzQGFjbS5vcmc+XG4iCiJMYW5ndWFnZS1UZWFtOiBTcGFuaXNoIDxlc0BsaS5vcmc+XG4iCiJMYW5ndWFnZTogZXNcbiIKIk1JTUUtVmVyc2lvbjogMS4wXG4iCiJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMVxuIgoiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOC1iaXRcbiIKIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPShuICE9IDEpO1xuIgoKIzogc3JjL2NvbXBsYWluLmM6MTIwIHNyYy9jb21wbGFpbi5jOjEzMSBzcmMvY29tcGxhaW4uYzoxNDAgc3JjL2NvbXBsYWluLmM6MTg4CiM6IHNyYy9jb21wbGFpbi5jOjE5OAptc2dpZCAid2FybmluZyIKbXNnc3RyICJhdmlzbyIKCiM6IHNyYy9jb21wbGFpbi5jOjE1MSBzcmMvY29tcGxhaW4uYzoxNjAgc3JjL2NvbXBsYWluLmM6MTY3CiMsIGZ1enp5Cm1zZ2lkICJlcnJvciIKbXNnc3RyICJFcnJvciBkZSBFL1MiCgojIER1ZGE6IGRlc2Nvbm96Y28gY3XhbCBzZXLhIGVsIGNvbnZlbmlvIGVuIGxhIGxpc3RhIGRlIGNvcnJlbyBhCiMgcHJvcPNzaXRvIGRlICJmYXRhbCIuIFBvciBmYXZvciwgY29tcHJ1ZWJhIHF1ZSAiZXJyb3IgZ3JhdmUiIGVzCiMgcHJlZmVyaWRvIHBvciB0b2RvcyBsb3MgbWllbWJyb3MgYSAiZXJyb3IgZmF0YWwiIC0gY2xsCiMgdmVyZW1vcyBxdWUgZGljZSBsYSBtYXlvcu1hLCBjb21vIGhheSBvdHJvcyAyIHJldmlzb3JlcwojIExhIHZlcmRhZCBlcyBxdWUgYSBtaSBsbyBkZSBlcnJvciBmYXRhbCBtZSBzdWVuYSBmYXRhbAojIG5ncAojCiM6IHNyYy9jb21wbGFpbi5jOjIwOCBzcmMvY29tcGxhaW4uYzoyMTUKIywgZnV6enkKbXNnaWQgImZhdGFsIGVycm9yIgptc2dzdHIgImVycm9yIGdyYXZlOiAiCgojOiBzcmMvY29uZmxpY3RzLmM6NzcKIywgYy1mb3JtYXQKbXNnaWQgIiAgICBDb25mbGljdCBiZXR3ZWVuIHJ1bGUgJWQgYW5kIHRva2VuICVzIHJlc29sdmVkIGFzIHNoaWZ0Igptc2dzdHIgIiIKIiAgICBFbCBjb25mbGljdG8gZW50cmUgbGEgcmVnbGEgJWQgeSBlbCB0ZXJtaW5hbCAlcyBzZSByZXN1ZWx2ZSBjb21vICIKImRlc3BsYXphbWllbnRvLiIKCiM6IHNyYy9jb25mbGljdHMuYzo4NgojLCBjLWZvcm1hdAptc2dpZCAiICAgIENvbmZsaWN0IGJldHdlZW4gcnVsZSAlZCBhbmQgdG9rZW4gJXMgcmVzb2x2ZWQgYXMgcmVkdWNlIgptc2dzdHIgIiIKIiAgICBFbCBjb25mbGljdG8gZW50cmUgbGEgcmVnbGEgJWQgeSBlbCB0ZXJtaW5hbCAlcyBzZSByZXN1ZWx2ZSBjb21vICIKInJlZHVjY2nzbi4iCgojOiBzcmMvY29uZmxpY3RzLmM6OTQKIywgYy1mb3JtYXQKbXNnaWQgIiAgICBDb25mbGljdCBiZXR3ZWVuIHJ1bGUgJWQgYW5kIHRva2VuICVzIHJlc29sdmVkIGFzIGFuIGVycm9yIgptc2dzdHIgIiIKIiAgICBFbCBjb25mbGljdG8gZW50cmUgbGEgcmVnbGEgJWQgeSBlbCB0ZXJtaW5hbCAlcyBzZSByZXN1ZWx2ZSBjb21vIHVuICIKImVycm9yLiIKCiM6IHNyYy9jb25mbGljdHMuYzo0OTIKIywgYy1mb3JtYXQKbXNnaWQgImNvbmZsaWN0czogJWQgc2hpZnQvcmVkdWNlLCAlZCByZWR1Y2UvcmVkdWNlXG4iCm1zZ3N0ciAiY29uZmxpY3RvczogJWQgZGVzcGxhemFtaWVudG8vcmVkdWNjafNuLCAlZCByZWR1Y2Np824vcmVkdWNjafNuXG4iCgojIERhdGUgY3VlbnRhIGRlIHF1ZSBgJWQnIHB1ZWRlIHNlciBjdWFscXVpZXIgbvptZXJvIGRlY2ltYWwuIFBvZHLtYQojIG9jdXJyaXIsIHBvciBsbyB0YW50bywgcXVlIHR1IG1lbnNhamUgZW4gZWplY3VjafNuIHNlIHZlYSBsdWVnbyBjb21vOgojCiMgMjM4NDU3ODkyNDM3ODkgZGVzcGxhemFtaWVudG8vcmVkdWNjafNuCiMKIyAooWVzdG95IGV4YWdlcmFuZG8hLCBwb3Igc3VwdWVzdG8gOikKIwojIFRlIHN1Z2llcm8gcG9yIGxvIHRhbnRvIHF1ZSBh8WFkYXMgZWwgY2FzbyAocykgdGFsIHkgY29tbyBzZSBoYWNlIGVuCiMgZXNwYfFvbCBoYWJpdHVhbG1lbnRlLgojIG9rCiMgbmdwCiMKIzogc3JjL2NvbmZsaWN0cy5jOjQ5NQojLCBjLWZvcm1hdAptc2dpZCAiY29uZmxpY3RzOiAlZCBzaGlmdC9yZWR1Y2VcbiIKbXNnc3RyICJjb25mbGljdG9zOiAlZCBkZXNwbGF6YW1pZW50byhzKS9yZWR1Y2Np824ob25lcylcbiIKCiMgRGF0ZSBjdWVudGEgZGUgcXVlIGAlZCcgcHVlZGUgc2VyIGN1YWxxdWllciBu+m1lcm8gZGVjaW1hbC4gUG9kcu1hCiMgb2N1cnJpciwgcG9yIGxvIHRhbnRvLCBxdWUgdHUgbWVuc2FqZSBlbiBlamVjdWNp824gc2UgdmVhIGx1ZWdvIGNvbW86CiMKIyAyMzg0NTc4OTI0Mzc4OSByZWR1Y2Np824vcmVkdWNjafNuCiMKIyAooWVzdG95IGV4YWdlcmFuZG8hLCBwb3Igc3VwdWVzdG8gOikKIwojIFRlIHN1Z2llcm8gcG9yIGxvIHRhbnRvIHF1ZSBh8WFkYXMgZWwgY2FzbyAocykgdGFsIHkgY29tbyBzZSBoYWNlIGVuCiMgZXNwYfFvbCBoYWJpdHVhbG1lbnRlLgojCiMgb2sKIyBuZ3AKIzogc3JjL2NvbmZsaWN0cy5jOjQ5NwojLCBjLWZvcm1hdAptc2dpZCAiY29uZmxpY3RzOiAlZCByZWR1Y2UvcmVkdWNlXG4iCm1zZ3N0ciAiY29uZmxpY3RvczogJWQgcmVkdWNjafNuKG9uZXMpL3JlZHVjY2nzbihvbmVzKVxuIgoKIzogc3JjL2NvbmZsaWN0cy5jOjUxNQojLCBjLWZvcm1hdAptc2dpZCAiU3RhdGUgJWQgIgptc2dzdHIgIkVzdGFkbyAlZCAiCgojOiBzcmMvY29uZmxpY3RzLmM6NTgyCiMsIGMtZm9ybWF0Cm1zZ2lkICIlJWV4cGVjdC1yciBhcHBsaWVzIG9ubHkgdG8gR0xSIHBhcnNlcnMiCm1zZ3N0ciAiJSVleHBlY3QtcnIgYWZlY3RhIHPzbG8gYSBsb3MgYW5hbGl6YWRvcmVzIEdMUiIKCiM6IHNyYy9jb25mbGljdHMuYzo2MTYKIywgYy1mb3JtYXQKbXNnaWQgImV4cGVjdGVkICVkIHNoaWZ0L3JlZHVjZSBjb25mbGljdCIKbXNnaWRfcGx1cmFsICJleHBlY3RlZCAlZCBzaGlmdC9yZWR1Y2UgY29uZmxpY3RzIgptc2dzdHJbMF0gImVzcGVyYWRvICVkIGNvbmZsaWN0byBkZXNwbGF6YW1pZW50by9yZWR1Y2Np824iCm1zZ3N0clsxXSAiZXNwZXJhZG9zICVkIGNvbmZsaWN0b3MgZGVzcGxhemFtaWVudG8vcmVkdWNjafNuIgoKIzogc3JjL2NvbmZsaWN0cy5jOjYyMQojLCBjLWZvcm1hdAptc2dpZCAiZXhwZWN0ZWQgJWQgcmVkdWNlL3JlZHVjZSBjb25mbGljdCIKbXNnaWRfcGx1cmFsICJleHBlY3RlZCAlZCByZWR1Y2UvcmVkdWNlIGNvbmZsaWN0cyIKbXNnc3RyWzBdICJlc3BlcmFkbyAlZCBjb25mbGljdG8gcmVkdWNjafNuL3JlZHVjY2nzbiIKbXNnc3RyWzFdICJlc3BlcmFkb3MgJWQgY29uZmxpY3RvcyByZWR1Y2Np824vcmVkdWNjafNuIgoKIzogc3JjL2ZpbGVzLmM6MTE0CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IGNhbm5vdCBvcGVuIgptc2dzdHIgIm5vIHNlIHB1ZWRlIGFicmlyIGVsIGZpY2hlcm8gYCVzJyIKCiM6IHNyYy9maWxlcy5jOjEzMAojLCBjLWZvcm1hdAptc2dpZCAiaW5wdXQvb3V0cHV0IGVycm9yIgptc2dzdHIgIiIKCiM6IHNyYy9maWxlcy5jOjEzMwojLCBjLWZvcm1hdAptc2dpZCAiY2Fubm90IGNsb3NlIGZpbGUiCm1zZ3N0ciAibm8gc2UgcHVlZGUgY2VycmFyIGVsIGZpY2hlcm8iCgojOiBzcmMvZmlsZXMuYzozNTIKIywgYy1mb3JtYXQKbXNnaWQgInJlZnVzaW5nIHRvIG92ZXJ3cml0ZSB0aGUgaW5wdXQgZmlsZSAlcyIKbXNnc3RyICIiCgojOiBzcmMvZmlsZXMuYzozNjIKIywgYy1mb3JtYXQKbXNnaWQgImNvbmZsaWN0aW5nIG91dHB1dHMgdG8gZmlsZSAlcyIKbXNnc3RyICJzYWxpZGFzIGVuIGNvbmZsaWN0byBhbCBmaWNoZXJvICVzIgoKIzogc3JjL2dldGFyZ3MuYzoyOTIKIywgYy1mb3JtYXQKbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKbXNnc3RyICJQcnVlYmUgYCVzIC0taGVscCcgcGFyYSBt4XMgaW5mb3JtYWNp824uXG4iCgojOiBzcmMvZ2V0YXJncy5jOjMwMQojLCBjLWZvcm1hdAptc2dpZCAiVXNhZ2U6ICVzIFtPUFRJT05dLi4uIEZJTEVcbiIKbXNnc3RyICJVdGlsaXphY2nzbjogJXMgW09QQ0nTTl0uLi4gRklDSEVST1xuIgoKIzogc3JjL2dldGFyZ3MuYzozMDIKbXNnaWQgIiIKIkdlbmVyYXRlIGEgZGV0ZXJtaW5pc3RpYyBMUiBvciBnZW5lcmFsaXplZCBMUiAoR0xSKSBwYXJzZXIgZW1wbG95aW5nXG4iCiJMQUxSKDEpLCBJRUxSKDEpLCBvciBjYW5vbmljYWwgTFIoMSkgcGFyc2VyIHRhYmxlcy4gIElFTFIoMSkgYW5kXG4iCiJjYW5vbmljYWwgTFIoMSkgc3VwcG9ydCBpcyBleHBlcmltZW50YWwuXG4iCiJcbiIKbXNnc3RyICIiCgojOiBzcmMvZ2V0YXJncy5jOjMwOQptc2dpZCAiIgoiTWFuZGF0b3J5IGFyZ3VtZW50cyB0byBsb25nIG9wdGlvbnMgYXJlIG1hbmRhdG9yeSBmb3Igc2hvcnQgb3B0aW9ucyB0b28uXG4iCm1zZ3N0ciAiIgoKIzogc3JjL2dldGFyZ3MuYzozMTIKbXNnaWQgIlRoZSBzYW1lIGlzIHRydWUgZm9yIG9wdGlvbmFsIGFyZ3VtZW50cy5cbiIKbXNnc3RyICIiCgojOiBzcmMvZ2V0YXJncy5jOjMxNgojLCBmdXp6eQptc2dpZCAiIgoiXG4iCiJPcGVyYXRpb24gbW9kZXM6XG4iCiIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCiIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCiIgICAgICAtLXByaW50LWxvY2FsZWRpciAgICAgIG91dHB1dCBkaXJlY3RvcnkgY29udGFpbmluZyBsb2NhbGUtZGVwZW5kZW50ICIKImRhdGFcbiIKIiAgICAgIC0tcHJpbnQtZGF0YWRpciAgICAgICAgb3V0cHV0IGRpcmVjdG9yeSBjb250YWluaW5nIHNrZWxldG9ucyBhbmQgWFNMVFxuIgoiICAteSwgLS15YWNjICAgICAgICAgICAgICAgICBlbXVsYXRlIFBPU0lYIFlhY2NcbiIKIiAgLVcsIC0td2FybmluZ3NbPUNBVEVHT1JZXSAgcmVwb3J0IHRoZSB3YXJuaW5ncyBmYWxsaW5nIGluIENBVEVHT1JZXG4iCiIgIC1mLCAtLWZlYXR1cmVbPUZFQVRVUkVdICAgIGFjdGl2YXRlIG1pc2NlbGxhbmVvdXMgZmVhdHVyZXNcbiIKIlxuIgptc2dzdHIgIiIKIk1vZG9zIGRlIG9wZXJhY2nzbjpcbiIKIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgbXVlc3RyYSBlc3RhIGF5dWRhIHkgdGVybWluYVxuIgoiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICBpbmZvcm1hIGRlIGxhIHZlcnNp824geSB0ZXJtaW5hXG4iCiIgICAgICAtLXByaW50LWxvY2FsZWRpciAgICAgICAgIGluZm9ybWEgZGVsIGRpcmVjdG9yaW8gcXVlIGNvbnRpZW5lICIKImluZm9ybWFjafNuIFxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXBlbmRpZW50ZSBkZSBsYSBjb25maWd1cmFjafNuIGxvY2FsXG4iCiIgIC15LCAtLXlhY2MgICAgICAgICAgICAgICAgICAgIGVtdWxhIFBPU0lYIHlhY2NcbiIKCiM6IHNyYy9nZXRhcmdzLmM6MzI5CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiIgoiUGFyc2VyOlxuIgoiICAtTCwgLS1sYW5ndWFnZT1MQU5HVUFHRSAgICAgICAgICBzcGVjaWZ5IHRoZSBvdXRwdXQgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2VcbiIKIiAgLVMsIC0tc2tlbGV0b249RklMRSAgICAgICAgICAgICAgc3BlY2lmeSB0aGUgc2tlbGV0b24gdG8gdXNlXG4iCiIgIC10LCAtLWRlYnVnICAgICAgICAgICAgICAgICAgICAgIGluc3RydW1lbnQgdGhlIHBhcnNlciBmb3IgZGVidWdnaW5nXG4iCiIgICAgICAtLWxvY2F0aW9ucyAgICAgICAgICAgICAgICAgIGVuYWJsZSBsb2NhdGlvbiBzdXBwb3J0XG4iCiIgIC1ELCAtLWRlZmluZT1OQU1FWz1WQUxVRV0gICAgICAgIHNpbWlsYXIgdG8gJyVkZWZpbmUgTkFNRSBcIlZBTFVFXCInXG4iCiIgIC1GLCAtLWZvcmNlLWRlZmluZT1OQU1FWz1WQUxVRV0gIG92ZXJyaWRlICclZGVmaW5lIE5BTUUgXCJWQUxVRVwiJ1xuIgoiICAtcCwgLS1uYW1lLXByZWZpeD1QUkVGSVggICAgICAgICBwcmVwZW5kIFBSRUZJWCB0byB0aGUgZXh0ZXJuYWwgc3ltYm9sc1xuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXByZWNhdGVkIGJ5ICctRGFwaS5wcmVmaXg9UFJFRklYJ1xuIgoiICAtbCwgLS1uby1saW5lcyAgICAgICAgICAgICAgICAgICBkb24ndCBnZW5lcmF0ZSAnI2xpbmUnIGRpcmVjdGl2ZXNcbiIKIiAgLWssIC0tdG9rZW4tdGFibGUgICAgICAgICAgICAgICAgaW5jbHVkZSBhIHRhYmxlIG9mIHRva2VuIG5hbWVzXG4iCm1zZ3N0ciAiIgoiQW5hbGl6YWRvcjpcbiIKIiAgLVMsIC0tc2tlbGV0b249RklDSEVSTyAgICAgZXNwZWNpZmljYSBlbCBza2VsZXRvbiBhIHV0aWxpemFyXG4iCiIgIC10LCAtLWRlYnVnICAgICAgICAgICAgICAgIGluc3RydW1lbnRhIGFsIGFuYWxpemFkb3IgcGFyYSBkZXB1cmFjafNuXG4iCiIgICAgICAtLWxvY2F0aW9ucyAgICAgICAgICAgIGFiaWxpdGEgbGEgY29tcHV0YWNp824gZGUgbG9jYWxpemFjaW9uZXNcbiIKIiAgLXAsIC0tbmFtZS1wcmVmaXg9UFJFRklKTyAgcHJlYfFhZGUgUFJFRklKTyBhIGxvcyBz7W1ib2xvcyBleHRlcm5vc1xuIgoiICAtbCwgLS1uby1saW5lcyAgICAgICAgICAgICBubyBnZW5lcmEgbGEgZGlyZWN0aXZhIGAjbGluZSdcbiIKIiAgLW4sIC0tbm8tcGFyc2VyICAgICAgICAgICAgc29sYW1lbnRlIGdlbmVyYSBsYXMgdGFibGFzXG4iCiIgLS1rLCAtLXRva2VuLXRhYmxlICAgICAgICAgIGluY2x1eWUgdW5hIHRhYmxhIGRlIG5vbWJyZXMgZGUgdGVybWluYWxlc1xuIgoKIzogc3JjL2dldGFyZ3MuYzozNDYKIywgZnV6enkKbXNnaWQgIiIKIk91dHB1dDpcbiIKIiAgICAgIC0tZGVmaW5lc1s9RklMRV0gICAgICAgYWxzbyBwcm9kdWNlIGEgaGVhZGVyIGZpbGVcbiIKIiAgLWQgICAgICAgICAgICAgICAgICAgICAgICAgbGlrZXdpc2UgYnV0IGNhbm5vdCBzcGVjaWZ5IEZJTEUgKGZvciBQT1NJWCAiCiJZYWNjKVxuIgoiICAtciwgLS1yZXBvcnQ9VEhJTkdTICAgICAgICBhbHNvIHByb2R1Y2UgZGV0YWlscyBvbiB0aGUgYXV0b21hdG9uXG4iCiIgICAgICAtLXJlcG9ydC1maWxlPUZJTEUgICAgIHdyaXRlIHJlcG9ydCB0byBGSUxFXG4iCiIgIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIHNhbWUgYXMgYC0tcmVwb3J0PXN0YXRlJ1xuIgoiICAtYiwgLS1maWxlLXByZWZpeD1QUkVGSVggICBzcGVjaWZ5IGEgUFJFRklYIGZvciBvdXRwdXQgZmlsZXNcbiIKIiAgLW8sIC0tb3V0cHV0PUZJTEUgICAgICAgICAgbGVhdmUgb3V0cHV0IHRvIEZJTEVcbiIKIiAgLWcsIC0tZ3JhcGhbPUZJTEVdICAgICAgICAgYWxzbyBvdXRwdXQgYSBncmFwaCBvZiB0aGUgYXV0b21hdG9uXG4iCiIgIC14LCAtLXhtbFs9RklMRV0gICAgICAgICAgIGFsc28gb3V0cHV0IGFuIFhNTCByZXBvcnQgb2YgdGhlIGF1dG9tYXRvblxuIgoiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodGhlIFhNTCBzY2hlbWEgaXMgZXhwZXJpbWVudGFsKVxuIgptc2dzdHIgIiIKIlNhbGlkYTpcbiIKIiAgLWQsIC0tZGVmaW5lcyAgICAgICAgICAgICAgdGFtYmnpbiBwcm9kdWNlIHVuIGZpY2hlcm8gZGUgY2FiZWNlcmFcbiIKIiAgLXIsIC0tcmVwb3J0PVRISU5HUyAgICAgICAgdGFtYmnpbiBwcm9kdWNlIGRldGFsbGVzIGRlbCBhdXRvbWF0b25cbiIKIiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgdGFtYmnpbiBwcm9kdWNlIHVuYSBleHBsaWNhY2nzbiBkZWwgYXV0b21hdG9uXG4iCiIgIC1iLCAtLWZpbGUtcHJlZml4PVBSRUZJSk8gIGVzcGVjaWZpYSBlbCBQUkVGSUpPIHBhcmEgbG9zIGZpY2hlcm9zIGRlICIKInNhbGlkYVxuIgoiICAtbywgLS1vdXRwdXQ9RklDSEVSTyAgICAgICBhbG1hY2VuYSBsYSBzYWxpZGEgZW4gRklDSEVST1xuIgoiICAtZywgLS1ncmFwaCAgICAgICAgICAgICAgICB0YW1iaeluIHByb2R1Y2UgdW5hIGRlc2NyaXBjafNuIGVuIFZDRyBkZWwgIgoiYXV0b21hdG9uXG4iCgojOiBzcmMvZ2V0YXJncy5jOjM2MQptc2dpZCAiIgoiV2FybmluZyBjYXRlZ29yaWVzIGluY2x1ZGU6XG4iCiIgIGBtaWRydWxlLXZhbHVlcycgIHVuc2V0IG9yIHVudXNlZCBtaWRydWxlIHZhbHVlc1xuIgoiICBgeWFjYycgICAgICAgICAgICBpbmNvbXBhdGliaWxpdGllcyB3aXRoIFBPU0lYIFlhY2NcbiIKIiAgYGNvbmZsaWN0cy1zcicgICAgUy9SIGNvbmZsaWN0cyAoZW5hYmxlZCBieSBkZWZhdWx0KVxuIgoiICBgY29uZmxpY3RzLXJyJyAgICBSL1IgY29uZmxpY3RzIChlbmFibGVkIGJ5IGRlZmF1bHQpXG4iCiIgIGBkZXByZWNhdGVkJyAgICAgIG9ic29sZXRlIGNvbnN0cnVjdHNcbiIKIiAgYG90aGVyJyAgICAgICAgICAgYWxsIG90aGVyIHdhcm5pbmdzIChlbmFibGVkIGJ5IGRlZmF1bHQpXG4iCiIgIGBhbGwnICAgICAgICAgICAgIGFsbCB0aGUgd2FybmluZ3NcbiIKIiAgYG5vLUNBVEVHT1JZJyAgICAgdHVybiBvZmYgd2FybmluZ3MgaW4gQ0FURUdPUllcbiIKIiAgYG5vbmUnICAgICAgICAgICAgdHVybiBvZmYgYWxsIHRoZSB3YXJuaW5nc1xuIgoiICBgZXJyb3InICAgICAgICAgICB0cmVhdCB3YXJuaW5ncyBhcyBlcnJvcnNcbiIKbXNnc3RyICIiCgojOiBzcmMvZ2V0YXJncy5jOjM3NgojLCBmdXp6eQptc2dpZCAiIgoiVEhJTkdTIGlzIGEgbGlzdCBvZiBjb21tYSBzZXBhcmF0ZWQgd29yZHMgdGhhdCBjYW4gaW5jbHVkZTpcbiIKIiAgYHN0YXRlJyAgICAgICAgZGVzY3JpYmUgdGhlIHN0YXRlc1xuIgoiICBgaXRlbXNldCcgICAgICBjb21wbGV0ZSB0aGUgY29yZSBpdGVtIHNldHMgd2l0aCB0aGVpciBjbG9zdXJlXG4iCiIgIGBsb29rYWhlYWQnICAgIGV4cGxpY2l0bHkgYXNzb2NpYXRlIGxvb2thaGVhZCB0b2tlbnMgdG8gaXRlbXNcbiIKIiAgYHNvbHZlZCcgICAgICAgZGVzY3JpYmUgc2hpZnQvcmVkdWNlIGNvbmZsaWN0cyBzb2x2aW5nXG4iCiIgIGBhbGwnICAgICAgICAgIGluY2x1ZGUgYWxsIHRoZSBhYm92ZSBpbmZvcm1hdGlvblxuIgoiICBgbm9uZScgICAgICAgICBkaXNhYmxlIHRoZSByZXBvcnRcbiIKbXNnc3RyICIiCiJUSElOR1MgZXMgdW5hIGxpc3RhIGRlIHBhbGFicmFzIHNlcGFyYWRhcyBwb3IgY29tYXMgcXVlIHB1ZWRlIGluY2x1aXI6XG4iCiIgIGBzdGF0ZScgICAgICAgIGRlc2NyaWJlIGxvcyBlc3RhZG9zXG4iCiIgIGBpdGVtc2V0JyAgICAgIGNvbXBsZXRhIGxvcyBjb25qdW50b3MgZGUg7XRlbXMgbvpjbGVvIGNvbiBzdXMgY2llcnJlc1xuIgoiICBgbG9va2FoZWFkJyAgICBhc29jaWEgZXhwbO1jaXRhbWVudGUgbG9va2FoZWFkcyBhIGxvcyDtdGVtc1xuIgoiICBgc29sdmVkJyAgICAgICBkZXNjcmliZSBsYSByZXNvbHVjafNuIGRlIGxvcyBjb25mbGljdG9zIGRlc3BsYXphbWllbnRvLyIKInJlZHVjY2nzblxuIgoiICBgYWxsJyAgICAgICAgICBpbmNsdXllIHRvZGEgbGEgaW5mb3JtYWNp824gYW50ZXJpb3JcbiIKIiAgYG5vbmUnICAgICAgICAgZGlzYWJsZSB0aGUgcmVwb3J0XG4iCgojOiBzcmMvZ2V0YXJncy5jOjM4Nwptc2dpZCAiIgoiRkVBVFVSRSBpcyBhIGxpc3Qgb2YgY29tbWEgc2VwYXJhdGVkIHdvcmRzIHRoYXQgY2FuIGluY2x1ZGU6XG4iCiIgIGBjYXJldCcgICAgICAgIHNob3cgZXJyb3JzIHdpdGggY2FyZXRzXG4iCiIgIGBhbGwnICAgICAgICAgIGFsbCBvZiB0aGUgYWJvdmVcbiIKIiAgYG5vbmUnICAgICAgICAgZGlzYWJsZSBhbGwgb2YgdGhlIGFib3ZlXG4iCiIgICIKbXNnc3RyICIiCgojOiBzcmMvZ2V0YXJncy5jOjM5NQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIlJlcG9ydCBidWdzIHRvIDwlcz4uXG4iCm1zZ3N0ciAiSW5mb3JtZSBkZSBsb3MgZXJyb3JlcyBhIDxidWctYmlzb25AZ251Lm9yZz4uXG4iCgojOiBzcmMvZ2V0YXJncy5jOjM5NgojLCBjLWZvcm1hdAptc2dpZCAiJXMgaG9tZSBwYWdlOiA8JXM+LlxuIgptc2dzdHIgIiIKCiM6IHNyYy9nZXRhcmdzLmM6Mzk3Cm1zZ2lkICJHZW5lcmFsIGhlbHAgdXNpbmcgR05VIHNvZnR3YXJlOiA8aHR0cDovL3d3dy5nbnUub3JnL2dldGhlbHAvPi5cbiIKbXNnc3RyICIiCgojLiBUUkFOU0xBVE9SUzogUmVwbGFjZSBMQU5HX0NPREUgaW4gdGhpcyBVUkwgd2l0aCB5b3VyIGxhbmd1YWdlCiMuIGNvZGUgPGh0dHA6Ly90cmFuc2xhdGlvbnByb2plY3Qub3JnL3RlYW0vTEFOR19DT0RFLmh0bWw+IHRvCiMuIGZvcm0gb25lIG9mIHRoZSBVUkxzIGF0IGh0dHA6Ly90cmFuc2xhdGlvbnByb2plY3Qub3JnL3RlYW0vLgojLiBPdGhlcndpc2UsIHJlcGxhY2UgdGhlIGVudGlyZSBVUkwgd2l0aCB5b3VyIHRyYW5zbGF0aW9uIHRlYW0ncwojLiBlbWFpbCBhZGRyZXNzLgojOiBzcmMvZ2V0YXJncy5jOjQxMAptc2dpZCAiUmVwb3J0IHRyYW5zbGF0aW9uIGJ1Z3MgdG8gPGh0dHA6Ly90cmFuc2xhdGlvbnByb2plY3Qub3JnL3RlYW0vPi5cbiIKbXNnc3RyICIiCgojOiBzcmMvZ2V0YXJncy5jOjQxMgptc2dpZCAiRm9yIGNvbXBsZXRlIGRvY3VtZW50YXRpb24sIHJ1bjogaW5mbyBiaXNvbi5cbiIKbXNnc3RyICIiCgojOiBzcmMvZ2V0YXJncy5jOjQyOAojLCBjLWZvcm1hdAptc2dpZCAiYmlzb24gKEdOVSBCaXNvbikgJXMiCm1zZ3N0ciAiYmlzb24gKEdOVSBiaXNvbikgJXMiCgojOiBzcmMvZ2V0YXJncy5jOjQzMAptc2dpZCAiV3JpdHRlbiBieSBSb2JlcnQgQ29yYmV0dCBhbmQgUmljaGFyZCBTdGFsbG1hbi5cbiIKbXNnc3RyICJFc2NyaXRvIHBvciBSb2JlcnQgQ29yYmV0dCB5IFJpY2hhcmQgU3RhbGxtYW4uXG4iCgojOiBzcmMvZ2V0YXJncy5jOjQzNAojLCBjLWZvcm1hdAptc2dpZCAiQ29weXJpZ2h0IChDKSAlZCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKbXNnc3RyICJDb3B5cmlnaHQgKEMpICVkIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgoKIzogc3JjL2dldGFyZ3MuYzo0MzcKbXNnaWQgIiIKIlRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PXG4iCiJ3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS5cbiIKbXNnc3RyICIiCiJFc3RvIGVzIHNvZnR3YXJlIGxpYnJlOyBtaXJlIGVsIGZ1ZW50ZSBwYXJhIGxhcyBjb25kaWNpb25lcyBkZSBjb3BpYS4gTm8gIgoiaGF5XG4iCiJOSU5HVU5BIGdhcmFudO1hOyBuaSBzaXF1aWVyYSBwYXJhIENPTUVSQ0lBTElaQUNJ004gbyBBREFQVEFDSdNOIFBBUkEgVU5cbiIKIlVTTyBQQVJUSUNVTEFSXG4iCgojOiBzcmMvZ2V0YXJncy5jOjQ1OAojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIm11bHRpcGxlIHNrZWxldG9uIGRlY2xhcmF0aW9ucyBhcmUgaW52YWxpZCIKbXNnc3RyICJt+mx0aXBsZXMgZGVjbGFyYWNpb25lcyBkZSAlcyIKCiM6IHNyYy9nZXRhcmdzLmM6NDc2CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IGludmFsaWQgbGFuZ3VhZ2UiCm1zZ3N0ciAidmFsb3Igbm8gduFsaWRvOiAlcyIKCiM6IHNyYy9nZXRhcmdzLmM6NDc5CiMsIGZ1enp5Cm1zZ2lkICJtdWx0aXBsZSBsYW5ndWFnZSBkZWNsYXJhdGlvbnMgYXJlIGludmFsaWQiCm1zZ3N0ciAibfpsdGlwbGVzIGRlY2xhcmFjaW9uZXMgZGUgJXMiCgojOiBzcmMvZ2V0YXJncy5jOjc0NwojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiBtaXNzaW5nIG9wZXJhbmQiCm1zZ3N0ciAiZmFsdGEgdW4gb3BlcmFuZG8gZGVzcHXpcyBkZSBgJXMnIgoKIzogc3JjL2dldGFyZ3MuYzo3NDkKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJleHRyYSBvcGVyYW5kICVzIgptc2dzdHIgIm9wZXJhbmRvIGV4dHJhIGAlcyciCgojOiBzcmMvZ3JhbS5jOjExMgptc2dpZCAiZW1wdHkiCm1zZ3N0ciAidmFj7W8iCgojOiBzcmMvZ3JhbS5jOjIwMQptc2dpZCAiR3JhbW1hciIKbXNnc3RyICJHcmFt4XRpY2EiCgojOiBzcmMvZ3JhcGh2aXouYzo0NQojLCBjLWZvcm1hdAptc2dpZCAiIgoiLy8gR2VuZXJhdGVkIGJ5ICVzLlxuIgoiLy8gUmVwb3J0IGJ1Z3MgdG8gPCVzPi5cbiIKIi8vIEhvbWUgcGFnZTogPCVzPi5cbiIKIlxuIgptc2dzdHIgIiIKCiM6IHNyYy9sb2NhdGlvbi5jOjkzIHNyYy9zY2FuLWdyYW0ubDo4NTkKIywgYy1mb3JtYXQKbXNnaWQgImxpbmUgbnVtYmVyIG92ZXJmbG93Igptc2dzdHIgImRlc2JvcmRhbWllbnRvIGRlbCBu+m1lcm8gZGUgbO1uZWEiCgojOiBzcmMvbG9jYXRpb24uYzo5NQojLCBjLWZvcm1hdAptc2dpZCAiY29sdW1uIG51bWJlciBvdmVyZmxvdyIKbXNnc3RyICJkZXNib3JkYW1pZW50byBkZWwgbvptZXJvIGRlIGNvbHVtbmEiCgojOiBzcmMvbWFpbi5jOjE0NgojLCBmdXp6eQptc2dpZCAicnVsZSB1c2VsZXNzIGluIHBhcnNlciBkdWUgdG8gY29uZmxpY3RzIgptc2dzdHIgImxhIHJlZ2xhIG51bmNhIHNlIHJlZHVqbyBkZWJpZG8gYSBsb3MgY29uZmxpY3RvcyIKCiM6IHNyYy9tdXNjbGUtdGFiLmM6NDUwCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJSVkZWZpbmUgdmFyaWFibGUgJXMgcmVkZWZpbmVkIgptc2dzdHIgInJlZGVmaW5pZG8gZWwgc+1tYm9sbyAlcyIKCiM6IHNyYy9tdXNjbGUtdGFiLmM6NDUzCm1zZ2lkICJwcmV2aW91cyBkZWZpbml0aW9uIgptc2dzdHIgIiIKCiM6IHNyYy9tdXNjbGUtdGFiLmM6NDkwIHNyYy9tdXNjbGUtdGFiLmM6NTA0IHNyYy9tdXNjbGUtdGFiLmM6NTU2CiM6IHNyYy9tdXNjbGUtdGFiLmM6NjI0CiMsIGMtZm9ybWF0Cm1zZ2lkICIlczogdW5kZWZpbmVkICUlZGVmaW5lIHZhcmlhYmxlICVzIgptc2dzdHIgIiIKCiM6IHNyYy9tdXNjbGUtdGFiLmM6NTUwCiMsIGMtZm9ybWF0Cm1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAlJWRlZmluZSBCb29sZWFuIHZhcmlhYmxlICVzIgptc2dzdHIgIiIKCiM6IHNyYy9tdXNjbGUtdGFiLmM6NjA5CiMsIGMtZm9ybWF0Cm1zZ2lkICJpbnZhbGlkIHZhbHVlIGZvciAlJWRlZmluZSB2YXJpYWJsZSAlczogJXMiCm1zZ3N0ciAiIgoKIzogc3JjL211c2NsZS10YWIuYzo2MTMKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJhY2NlcHRlZCB2YWx1ZTogJXMiCm1zZ3N0ciAidmFsb3Igbm8gduFsaWRvOiAlcyIKCiM6IHNyYy9wYXJzZS1ncmFtLnk6NzQ3CiMsIGMtZm9ybWF0Cm1zZ2lkICJtaXNzaW5nIGlkZW50aWZpZXIgaW4gcGFyYW1ldGVyIGRlY2xhcmF0aW9uIgptc2dzdHIgImZhbHRhIGVsIGlkZW50aWZpY2Fkb3IgZWwgbGEgZGVjbGFyYWNp824gZGVsIHBhcuFtZXRybyIKCiM6IHNyYy9wcmludC5jOjQ3CiMsIGMtZm9ybWF0Cm1zZ2lkICIgdHlwZSAlZCBpcyAlc1xuIgptc2dzdHIgIiBlbCB0aXBvICVkIGVzICVzXG4iCgojOiBzcmMvcHJpbnQuYzoxNjQKIywgYy1mb3JtYXQKbXNnaWQgInNoaWZ0LCBhbmQgZ28gdG8gc3RhdGUgJWRcbiIKbXNnc3RyICJkZXNwbGF6YXIgZSBpciBhbCBlc3RhZG8gJWRcbiIKCiM6IHNyYy9wcmludC5jOjE2NgojLCBjLWZvcm1hdAptc2dpZCAiZ28gdG8gc3RhdGUgJWRcbiIKbXNnc3RyICJpciBhbCBlc3RhZG8gJWRcbiIKCiM6IHNyYy9wcmludC5jOjIwMwptc2dpZCAiZXJyb3IgKG5vbmFzc29jaWF0aXZlKVxuIgptc2dzdHIgImVycm9yIChubyBhc29jaWF0aXZvKVxuIgoKIzogc3JjL3ByaW50LmM6MjI2CiMsIGMtZm9ybWF0Cm1zZ2lkICJyZWR1Y2UgdXNpbmcgcnVsZSAlZCAoJXMpIgptc2dzdHIgInJlZHVjZSB1c2FuZG8gbGEgcmVnbGEgJWQgKCVzKSIKCiM6IHNyYy9wcmludC5jOjIyOAojLCBjLWZvcm1hdAptc2dpZCAiYWNjZXB0Igptc2dzdHIgImFjZXB0YXIiCgojOiBzcmMvcHJpbnQuYzoyNjQgc3JjL3ByaW50LmM6MzM4Cm1zZ2lkICIkZGVmYXVsdCIKbXNnc3RyICIkZGVmYXVsdCIKCiM6IHNyYy9wcmludC5jOjM3MyBzcmMvcHJpbnRfZ3JhcGguYzo3OAojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIlN0YXRlICVkIgptc2dzdHIgIkVzdGFkbyAlZCAiCgojOiBzcmMvcHJpbnQuYzo0MDkKbXNnaWQgIlRlcm1pbmFscywgd2l0aCBydWxlcyB3aGVyZSB0aGV5IGFwcGVhciIKbXNnc3RyICJUZXJtaW5hbGVzIGNvbiBsYXMgcmVnbGFzIGRvbmRlIGFwYXJlY2VuIgoKIzogc3JjL3ByaW50LmM6NDM2Cm1zZ2lkICJOb250ZXJtaW5hbHMsIHdpdGggcnVsZXMgd2hlcmUgdGhleSBhcHBlYXIiCm1zZ3N0ciAiTm8gdGVybWluYWxlcyBjb24gbGFzIHJlZ2xhcyBkb25kZSBhcGFyZWNlbiIKCiM6IHNyYy9wcmludC5jOjQ2NQojLCBjLWZvcm1hdAptc2dpZCAiIG9uIGxlZnQ6Igptc2dzdHIgIiBlbiBsYSBpenF1aWVyZGE6IgoKIzogc3JjL3ByaW50LmM6NDgyCiMsIGMtZm9ybWF0Cm1zZ2lkICIgb24gcmlnaHQ6Igptc2dzdHIgIiBlbiBsYSBkZXJlY2hhOiIKCiM6IHNyYy9wcmludC5jOjUxMAojLCBmdXp6eQptc2dpZCAiUnVsZXMgdXNlbGVzcyBpbiBwYXJzZXIgZHVlIHRvIGNvbmZsaWN0cyIKbXNnc3RyICJsYSByZWdsYSBudW5jYSBzZSByZWR1am8gZGViaWRvIGEgbG9zIGNvbmZsaWN0b3MiCgojOiBzcmMvcmVhZGVyLmM6NjIKIywgYy1mb3JtYXQKbXNnaWQgIm11bHRpcGxlICVzIGRlY2xhcmF0aW9ucyIKbXNnc3RyICJt+mx0aXBsZXMgZGVjbGFyYWNpb25lcyBkZSAlcyIKCiM6IHNyYy9yZWFkZXIuYzoxMzMKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJyZXN1bHQgdHlwZSBjbGFzaCBvbiBtZXJnZSBmdW5jdGlvbiAlczogPCVzPiAhPSA8JXM+Igptc2dzdHIgInRpcG8gcmVzdWx0YWRvIGluY29tcGF0aWJsZSBlbiBsYSBmdW5jafNuIGNvbWJpbmFkYSAlczogPCVzPiAhPSA8JXM+IgoKIzogc3JjL3JlYWRlci5jOjEzOSBzcmMvc3ltdGFiLmM6MTU2IHNyYy9zeW10YWIuYzoxNjYgc3JjL3N5bXRhYi5jOjkzOAojOiBzcmMvc3ltdGFiLmM6OTUzIHNyYy9zeW10YWIuYzo5Njggc3JjL3N5bXRhYi5jOjk4MwojLCBmdXp6eQptc2dpZCAicHJldmlvdXMgZGVjbGFyYXRpb24iCm1zZ3N0ciAicHJpbWVyYSBkZWNsYXJhY2nzbiIKCiM6IHNyYy9yZWFkZXIuYzoyMDUKIywgYy1mb3JtYXQKbXNnaWQgImR1cGxpY2F0ZWQgc3ltYm9sIG5hbWUgZm9yICVzIGlnbm9yZWQiCm1zZ3N0ciAiIgoKIzogc3JjL3JlYWRlci5jOjI0OQojLCBjLWZvcm1hdAptc2dpZCAicnVsZSBnaXZlbiBmb3IgJXMsIHdoaWNoIGlzIGEgdG9rZW4iCm1zZ3N0ciAic2UgaGEgZGFkbyB1bmEgcmVnbGEgcGFyYSAlcywgcXVlIGVzIHVuIHRlcm1pbmFsIgoKIzogc3JjL3JlYWRlci5jOjMwNAojLCBjLWZvcm1hdAptc2dpZCAidHlwZSBjbGFzaCBvbiBkZWZhdWx0IGFjdGlvbjogPCVzPiAhPSA8JXM+Igptc2dzdHIgImluY29tcGF0aWJpbGlkYWQgZGUgdGlwb3MgZW4gbGEgYWNjafNuIHBvciBkZWZlY3RvOiA8JXM+ICE9IDwlcz4iCgojOiBzcmMvcmVhZGVyLmM6MzEwCiMsIGMtZm9ybWF0Cm1zZ2lkICJlbXB0eSBydWxlIGZvciB0eXBlZCBub250ZXJtaW5hbCwgYW5kIG5vIGFjdGlvbiIKbXNnc3RyICJyZWdsYSB2YWPtYSBwYXJhIHVuIG5vIHRlcm1pbmFsIGNvbiB0aXBvIHkgbm8gaGF5IG5pbmd1bmEgYWNjafNuIgoKIzogc3JjL3JlYWRlci5jOjMyOAojLCBjLWZvcm1hdAptc2dpZCAidW51c2VkIHZhbHVlOiAkJWQiCm1zZ3N0ciAidmFsb3Igbm8gdXNhZG86ICQlZCIKCiM6IHNyYy9yZWFkZXIuYzozMzAKbXNnaWQgInVuc2V0IHZhbHVlOiAkJCIKbXNnc3RyICJ2YWxvciBubyBmaWphZG86ICQkIgoKIzogc3JjL3JlYWRlci5jOjM0MQojLCBjLWZvcm1hdAptc2dpZCAidG9rZW4gZm9yICUlcHJlYyBpcyBub3QgZGVmaW5lZDogJXMiCm1zZ3N0ciAiIgoKIzogc3JjL3JlYWRlci5jOjQzMSBzcmMvcmVhZGVyLmM6NDQ1IHNyYy9yZWFkZXIuYzo0NTgKIywgYy1mb3JtYXQKbXNnaWQgIm9ubHkgb25lICVzIGFsbG93ZWQgcGVyIHJ1bGUiCm1zZ3N0ciAic/NsbyBzZSBwZXJtaXRlIHVuICVzIHBvciByZWdsYSIKCiM6IHNyYy9yZWFkZXIuYzo0NDEgc3JjL3JlYWRlci5jOjQ1NgojLCBjLWZvcm1hdAptc2dpZCAiJXMgYWZmZWN0cyBvbmx5IEdMUiBwYXJzZXJzIgptc2dzdHIgIiVzIGFmZWN0YSBz82xvIGEgbG9zIGFuYWxpemFkb3JlcyBHTFIiCgojOiBzcmMvcmVhZGVyLmM6NDQzCiMsIGMtZm9ybWF0Cm1zZ2lkICIlcyBtdXN0IGJlIGZvbGxvd2VkIGJ5IHBvc2l0aXZlIG51bWJlciIKbXNnc3RyICIlcyBkZWJlIGVzdGFyIHNlZ3VpZG8gcG9yIHVuIG76bWVybyBwb3NpdGl2byIKCiM6IHNyYy9yZWFkZXIuYzo1NTQKIywgYy1mb3JtYXQKbXNnaWQgInJ1bGUgaXMgdG9vIGxvbmciCm1zZ3N0ciAibGEgcmVnbGEgZXMgZGVtYXNpYWRvIGxhcmdhIgoKIzogc3JjL3JlYWRlci5jOjY3MgojLCBjLWZvcm1hdAptc2dpZCAibm8gcnVsZXMgaW4gdGhlIGlucHV0IGdyYW1tYXIiCm1zZ3N0ciAibm8gaGF5IHJlZ2xhcyBlbiBsYSBncmFt4XRpY2EgZGUgZW50cmFkYSIKCiM6IHNyYy9yZWR1Y2UuYzoyNDEKIywgZnV6enkKbXNnaWQgInJ1bGUgdXNlbGVzcyBpbiBncmFtbWFyIgptc2dzdHIgIm5vIGhheSByZWdsYXMgZW4gbGEgZ3JhbeF0aWNhIGRlIGVudHJhZGEiCgojOiBzcmMvcmVkdWNlLmM6MzAyCiMsIGMtZm9ybWF0Cm1zZ2lkICJub250ZXJtaW5hbCB1c2VsZXNzIGluIGdyYW1tYXI6ICVzIgptc2dzdHIgIiIKCiM6IHNyYy9yZWR1Y2UuYzozNTAKIywgZnV6enkKbXNnaWQgIk5vbnRlcm1pbmFscyB1c2VsZXNzIGluIGdyYW1tYXIiCm1zZ3N0ciAiTm8gdGVybWluYWxlcyBjb24gbGFzIHJlZ2xhcyBkb25kZSBhcGFyZWNlbiIKCiM6IHNyYy9yZWR1Y2UuYzozNjMKIywgZnV6enkKbXNnaWQgIlRlcm1pbmFscyB1bnVzZWQgaW4gZ3JhbW1hciIKbXNnc3RyICJubyBoYXkgcmVnbGFzIGVuIGxhIGdyYW3hdGljYSBkZSBlbnRyYWRhIgoKIzogc3JjL3JlZHVjZS5jOjM3MgojLCBmdXp6eQptc2dpZCAiUnVsZXMgdXNlbGVzcyBpbiBncmFtbWFyIgptc2dzdHIgIm5vIGhheSByZWdsYXMgZW4gbGEgZ3JhbeF0aWNhIGRlIGVudHJhZGEiCgojOiBzcmMvcmVkdWNlLmM6Mzg1CiMsIGMtZm9ybWF0Cm1zZ2lkICIlZCBub250ZXJtaW5hbCB1c2VsZXNzIGluIGdyYW1tYXIiCm1zZ2lkX3BsdXJhbCAiJWQgbm9udGVybWluYWxzIHVzZWxlc3MgaW4gZ3JhbW1hciIKbXNnc3RyWzBdICIiCm1zZ3N0clsxXSAiIgoKIzogc3JjL3JlZHVjZS5jOjM5MAojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVkIHJ1bGUgdXNlbGVzcyBpbiBncmFtbWFyIgptc2dpZF9wbHVyYWwgIiVkIHJ1bGVzIHVzZWxlc3MgaW4gZ3JhbW1hciIKbXNnc3RyWzBdICJubyBoYXkgcmVnbGFzIGVuIGxhIGdyYW3hdGljYSBkZSBlbnRyYWRhIgptc2dzdHJbMV0gIm5vIGhheSByZWdsYXMgZW4gbGEgZ3JhbeF0aWNhIGRlIGVudHJhZGEiCgojOiBzcmMvcmVkdWNlLmM6NDE5CiMsIGMtZm9ybWF0Cm1zZ2lkICJzdGFydCBzeW1ib2wgJXMgZG9lcyBub3QgZGVyaXZlIGFueSBzZW50ZW5jZSIKbXNnc3RyICJFbCBz7W1ib2xvIGRlIGluaWNpbyAoYXhpb21hKSAlcyBubyBkZXJpdmEgbmluZ3VuYSBzZW50ZW5jaWEiCgojOiBzcmMvc2Nhbi1jb2RlLmw6MTg4CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAic3RyYXkgJyVzJyIKbXNnc3RyICJgJCBleHRyYXZpYWRvIgoKIzogc3JjL3NjYW4tY29kZS5sOjIyOQptc2dpZCAiYSAnOycgbWlnaHQgYmUgbmVlZGVkIGF0IHRoZSBlbmQgb2YgYWN0aW9uIGNvZGUiCm1zZ3N0ciAiIgoKIzogc3JjL3NjYW4tY29kZS5sOjIzMgptc2dpZCAiZnV0dXJlIHZlcnNpb25zIG9mIEJpc29uIHdpbGwgbm90IGFkZCB0aGUgJzsnIgptc2dzdHIgIiIKCiM6IHNyYy9zY2FuLWNvZGUubDoyNTQKIywgYy1mb3JtYXQKbXNnaWQgInVzZSBvZiBZWUZBSUwsIHdoaWNoIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCIKbXNnc3RyICIiCgojOiBzcmMvc2Nhbi1jb2RlLmw6NDMxIHNyYy9zY2FuLWNvZGUubDo0MzQKIywgYy1mb3JtYXQKbXNnaWQgInJlZmVycyB0bzogJWMlcyBhdCAlcyIKbXNnc3RyICIiCgojOiBzcmMvc2Nhbi1jb2RlLmw6NDUwCiMsIGMtZm9ybWF0Cm1zZ2lkICJwb3NzaWJseSBtZWFudDogJWMiCm1zZ3N0ciAiIgoKIzogc3JjL3NjYW4tY29kZS5sOjQ1OQojLCBjLWZvcm1hdAptc2dpZCAiLCBoaWRpbmcgJWMiCm1zZ3N0ciAiIgoKIzogc3JjL3NjYW4tY29kZS5sOjQ2NwojLCBjLWZvcm1hdAptc2dpZCAiIGF0ICVzIgptc2dzdHIgIiIKCiM6IHNyYy9zY2FuLWNvZGUubDo0NzIKIywgYy1mb3JtYXQKbXNnaWQgIiwgY2Fubm90IGJlIGFjY2Vzc2VkIGZyb20gbWlkLXJ1bGUgYWN0aW9uIGF0ICQlZCIKbXNnc3RyICIiCgojOiBzcmMvc2Nhbi1jb2RlLmw6NTIxIHNyYy9zY2FuLWdyYW0ubDo3ODMKIywgYy1mb3JtYXQKbXNnaWQgImludGVnZXIgb3V0IG9mIHJhbmdlOiAlcyIKbXNnc3RyICJlbnRlcm8gZnVlcmEgZGUgcmFuZ286ICVzIgoKIzogc3JjL3NjYW4tY29kZS5sOjYxMAojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImludmFsaWQgcmVmZXJlbmNlOiAlcyIKbXNnc3RyICJkaXJlY3RpdmEgbm8gduFsaWRhOiAlcyIKCiM6IHNyYy9zY2FuLWNvZGUubDo2MTkKIywgYy1mb3JtYXQKbXNnaWQgInN5bnRheCBlcnJvciBhZnRlciAnJWMnLCBleHBlY3RpbmcgaW50ZWdlciwgbGV0dGVyLCAnXycsICdbJywgb3IgJyQnIgptc2dzdHIgIiIKCiM6IHNyYy9zY2FuLWNvZGUubDo2MjYKIywgYy1mb3JtYXQKbXNnaWQgInN5bWJvbCBub3QgZm91bmQgaW4gcHJvZHVjdGlvbiBiZWZvcmUgJCVkOiAlLipzIgptc2dzdHIgIiIKCiM6IHNyYy9zY2FuLWNvZGUubDo2MzMKIywgYy1mb3JtYXQKbXNnaWQgInN5bWJvbCBub3QgZm91bmQgaW4gcHJvZHVjdGlvbjogJS4qcyIKbXNnc3RyICIiCgojOiBzcmMvc2Nhbi1jb2RlLmw6NjQ4CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAibWlzbGVhZGluZyByZWZlcmVuY2U6ICVzIgptc2dzdHIgInJlZGVmaW5pY2nzbiBkZSBsYSBwcmVjZWRlbmNpYSBkZSAlcyIKCiM6IHNyYy9zY2FuLWNvZGUubDo2NjMKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJhbWJpZ3VvdXMgcmVmZXJlbmNlOiAlcyIKbXNnc3RyICJhcmd1bWVudG8gJXMgYW1iaWf8byBwYXJhICVzIgoKIzogc3JjL3NjYW4tY29kZS5sOjcwMAojLCBjLWZvcm1hdAptc2dpZCAiZXhwbGljaXQgdHlwZSBnaXZlbiBpbiB1bnR5cGVkIGdyYW1tYXIiCm1zZ3N0ciAiIgoKIzogc3JjL3NjYW4tY29kZS5sOjc1OQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiQkIGZvciB0aGUgbWlkcnVsZSBhdCAkJWQgb2YgJXMgaGFzIG5vIGRlY2xhcmVkIHR5cGUiCm1zZ3N0ciAiJCVkIGRlIGAlcycgbm8gdGllbmUgdGlwbyBkZWNsYXJhZG8iCgojOiBzcmMvc2Nhbi1jb2RlLmw6NzY0CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJCQgb2YgJXMgaGFzIG5vIGRlY2xhcmVkIHR5cGUiCm1zZ3N0ciAiJCQgZGUgYCVzJyBubyB0aWVuZSB0aXBvIGRlY2xhcmFkbyIKCiM6IHNyYy9zY2FuLWNvZGUubDo3ODYKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIkJXMgb2YgJXMgaGFzIG5vIGRlY2xhcmVkIHR5cGUiCm1zZ3N0ciAiJCVkIGRlIGAlcycgbm8gdGllbmUgdGlwbyBkZWNsYXJhZG8iCgojOiBzcmMvc2Nhbi1ncmFtLmw6MTQ5CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAic3RyYXkgJywnIHRyZWF0ZWQgYXMgd2hpdGUgc3BhY2UiCm1zZ3N0ciAiYCwnIHBlcmRpZG8gc2UgdHJhdG8gY29tbyB1biBlc3BhY2lvIGVuIGJsYW5jbyIKCiM6IHNyYy9zY2FuLWdyYW0ubDoyMjIKIywgYy1mb3JtYXQKbXNnaWQgImludmFsaWQgZGlyZWN0aXZlOiAlcyIKbXNnc3RyICJkaXJlY3RpdmEgbm8gduFsaWRhOiAlcyIKCiM6IHNyYy9zY2FuLWdyYW0ubDoyNTAKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJpbnZhbGlkIGlkZW50aWZpZXI6ICVzIgptc2dzdHIgImRpcmVjdGl2YSBubyB24WxpZGE6ICVzIgoKIzogc3JjL3NjYW4tZ3JhbS5sOjI5NQojLCBmdXp6eQptc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXIiCm1zZ2lkX3BsdXJhbCAiaW52YWxpZCBjaGFyYWN0ZXJzIgptc2dzdHJbMF0gImNhcuFjdGVyIG5vIHbhbGlkbzogJXMiCm1zZ3N0clsxXSAiY2Fy4WN0ZXIgbm8gduFsaWRvOiAlcyIKCiMgRW4gdW5hcyBvY2FzaW9uZXMsIGhhcyB0cmFkdWNpZG8gYHVuZXhwZWN0ZWQnIGNvbW8gYG5vIGVzcGVyYWRvJyB5LCBlbgojIG90cmFzLCBjb21vIGBpbmVzcGVyYWRvJy4gQ3VhbHF1aWVyYSBlcyBjb3JyZWN0YSwgcG9yIHN1cHVlc3RvIHksIGVuCiMgZXN0ZSBjYXNvLCBsYSBzZWd1bmRhIG1lIHBhcmVjZSBt4XMgYXByb3BpYWRhIC0gY2xsCiMgb2sgLSBuZ3AKIzogc3JjL3NjYW4tZ3JhbS5sOjM1NAojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgInVuZXhwZWN0ZWQgaWRlbnRpZmllciBpbiBicmFja2V0ZWQgbmFtZTogJXMiCm1zZ3N0ciAi7XRlbSBpbmVzcGVyYWRvOiAlcyIKCiM6IHNyYy9zY2FuLWdyYW0ubDozNzYKIywgYy1mb3JtYXQKbXNnaWQgImFuIGlkZW50aWZpZXIgZXhwZWN0ZWQiCm1zZ3N0ciAiIgoKIzogc3JjL3NjYW4tZ3JhbS5sOjM4MQojLCBmdXp6eQptc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXIgaW4gYnJhY2tldGVkIG5hbWUiCm1zZ2lkX3BsdXJhbCAiaW52YWxpZCBjaGFyYWN0ZXJzIGluIGJyYWNrZXRlZCBuYW1lIgptc2dzdHJbMF0gImNhcuFjdGVyIG5vIHbhbGlkbzogJXMiCm1zZ3N0clsxXSAiY2Fy4WN0ZXIgbm8gduFsaWRvOiAlcyIKCiM6IHNyYy9zY2FuLWdyYW0ubDo0ODEgc3JjL3NjYW4tZ3JhbS5sOjUwMgojLCBjLWZvcm1hdAptc2dpZCAiZW1wdHkgY2hhcmFjdGVyIGxpdGVyYWwiCm1zZ3N0ciAiIgoKIzogc3JjL3NjYW4tZ3JhbS5sOjQ4NiBzcmMvc2Nhbi1ncmFtLmw6NTA3CiMsIGMtZm9ybWF0Cm1zZ2lkICJleHRyYSBjaGFyYWN0ZXJzIGluIGNoYXJhY3RlciBsaXRlcmFsIgptc2dzdHIgIiIKCiM6IHNyYy9zY2FuLWdyYW0ubDo1MTgKIywgYy1mb3JtYXQKbXNnaWQgImludmFsaWQgbnVsbCBjaGFyYWN0ZXIiCm1zZ3N0ciAiY2Fy4WN0ZXIgbnVsbyBubyB24WxpZG8iCgojOiBzcmMvc2Nhbi1ncmFtLmw6NTMxIHNyYy9zY2FuLWdyYW0ubDo1NDEgc3JjL3NjYW4tZ3JhbS5sOjU2MQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImludmFsaWQgbnVtYmVyIGFmdGVyIFxcLWVzY2FwZTogJXMiCm1zZ3N0ciAiY2Fy4WN0ZXIgbnVsbyBubyB24WxpZG86ICVzIgoKIzogc3JjL3NjYW4tZ3JhbS5sOjU3MwojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgImludmFsaWQgY2hhcmFjdGVyIGFmdGVyIFxcLWVzY2FwZTogJXMiCm1zZ3N0ciAiY2Fy4WN0ZXIgbm8gduFsaWRvOiAlcyIKCiM6IHNyYy9zY2FuLWdyYW0ubDo5MDEKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJtaXNzaW5nICVzIGF0IGVuZCBvZiBmaWxlIgptc2dzdHIgImZhbHRhIGNhZGVuYSBgJXMnIGFsIGZpbmFsIGRlbCBmaWNoZXJvIgoKIzogc3JjL3NjYW4tZ3JhbS5sOjkxMgojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIm1pc3NpbmcgJXMgYXQgZW5kIG9mIGxpbmUiCm1zZ3N0ciAiZmFsdGEgY2FkZW5hIGAlcycgYWwgZmluYWwgZGVsIGZpY2hlcm8iCgojOiBzcmMvc2Nhbi1za2VsLmw6MTQ2CiMsIGMtZm9ybWF0Cm1zZ2lkICJ1bmNsb3NlZCAlcyBkaXJlY3RpdmUgaW4gc2tlbGV0b24iCm1zZ3N0ciAiIgoKIzogc3JjL3NjYW4tc2tlbC5sOjI5MQojLCBjLWZvcm1hdAptc2dpZCAidG9vIGZldyBhcmd1bWVudHMgZm9yICVzIGRpcmVjdGl2ZSBpbiBza2VsZXRvbiIKbXNnc3RyICIiCgojOiBzcmMvc2Nhbi1za2VsLmw6Mjk4CiMsIGMtZm9ybWF0Cm1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMgZm9yICVzIGRpcmVjdGl2ZSBpbiBza2VsZXRvbiIKbXNnc3RyICIiCgojOiBzcmMvc3ltbGlzdC5jOjIxMQojLCBjLWZvcm1hdAptc2dpZCAiaW52YWxpZCAkIHZhbHVlOiAkJWQiCm1zZ3N0ciAidmFsb3IgJCBubyB24WxpZG86ICQlZCIKCiM6IHNyYy9zeW10YWIuYzo3MQojLCBjLWZvcm1hdAptc2dpZCAiUE9TSVggWWFjYyBmb3JiaWRzIGRhc2hlcyBpbiBzeW1ib2wgbmFtZXM6ICVzIgptc2dzdHIgIiIKCiM6IHNyYy9zeW10YWIuYzo5MQojLCBjLWZvcm1hdAptc2dpZCAidG9vIG1hbnkgc3ltYm9scyBpbiBpbnB1dCBncmFtbWFyIChsaW1pdCBpcyAlZCkiCm1zZ3N0ciAiZGVtYXNpYWRvcyBz7W1ib2xvcyBlbiBsYSBncmFt4XRpY2EgZGUgZW50cmFkYSAoZWwgbO1taXRlIGVzICVkKSIKCiM6IHNyYy9zeW10YWIuYzoxNTQKIywgYy1mb3JtYXQKbXNnaWQgIiVzIHJlZGVjbGFyYXRpb24gZm9yICVzIgptc2dzdHIgIiVzIHJlZGVjbGFyYWNp824gZGUgJXMiCgojOiBzcmMvc3ltdGFiLmM6MTY0CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXMgcmVkZWNsYXJhdGlvbiBmb3IgPCVzPiIKbXNnc3RyICIlcyByZWRlY2xhcmFjafNuIGRlICVzIgoKIzogc3JjL3N5bXRhYi5jOjMzMgojLCBjLWZvcm1hdAptc2dpZCAic3ltYm9sICVzIHJlZGVmaW5lZCIKbXNnc3RyICJyZWRlZmluaWRvIGVsIHPtbWJvbG8gJXMiCgojOiBzcmMvc3ltdGFiLmM6MzQ2CiMsIGMtZm9ybWF0Cm1zZ2lkICJzeW1ib2wgJXMgcmVkZWNsYXJlZCIKbXNnc3RyICJyZWRlZmluaWRvIGVsIHPtbWJvbG8gJXMiCgojOiBzcmMvc3ltdGFiLmM6MzY3CiMsIGMtZm9ybWF0Cm1zZ2lkICJyZWRlZmluaW5nIHVzZXIgdG9rZW4gbnVtYmVyIG9mICVzIgptc2dzdHIgInJlZGVmaW5pY2nzbiBkZWwgbvptZXJvIGRlbCB0ZXJtaW5hbCBkZWwgdXN1YXJpbyBkZSAlcyIKCiMgYHRva2VuJyBzZSBkZWJlIHRyYWR1Y2lyIGNvbW8gYGxpdGVyYWwnIC0gY2xsCiMgZW4gdGVybWlub2xvZ+1hIGRlIGNvbXBpbGFkb3JlcyB0b2tlbiBlcyBt4XMgdW4gdGVybWluYWwgLSBuZ3AKIwojOiBzcmMvc3ltdGFiLmM6Mzk1CiMsIGMtZm9ybWF0Cm1zZ2lkICJzeW1ib2wgJXMgaXMgdXNlZCwgYnV0IGlzIG5vdCBkZWZpbmVkIGFzIGEgdG9rZW4gYW5kIGhhcyBubyBydWxlcyIKbXNnc3RyICIiCiJzZSB1c2EgZWwgc+1tYm9sbyAlcywgcGVybyBubyBlc3ThIGRlZmluaWRvIGNvbW8gdGVybWluYWwgeSBubyB0aWVuZSByZWdsYXMiCgojOiBzcmMvc3ltdGFiLmM6NDE1CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAic3ltYm9sICVzIHVzZWQgbW9yZSB0aGFuIG9uY2UgYXMgYSBsaXRlcmFsIHN0cmluZyIKbXNnc3RyICJz7W1ib2xvIGAlcycgdXRpbGl6YWRvIG3hcyBkZSB1bmEgdmV6IGNvbW8gY2FkZW5hIGxpdGVyYWwiCgojOiBzcmMvc3ltdGFiLmM6NDE4CiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAic3ltYm9sICVzIGdpdmVuIG1vcmUgdGhhbiBvbmUgbGl0ZXJhbCBzdHJpbmciCm1zZ3N0ciAiYWwgc+1tYm9sbyBgJXMnIHNlIGxlIGhhIGRhZG8gbeFzIGRlIHVuYSBjYWRlbmEgbGl0ZXJhbCIKCiM6IHNyYy9zeW10YWIuYzo1MzUKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJ1c2VyIHRva2VuIG51bWJlciAlZCByZWRlY2xhcmF0aW9uIGZvciAlcyIKbXNnc3RyICJyZWRlY2xhcmFjafNuIGRlbCB0aXBvIGRlICVzIgoKIzogc3JjL3N5bXRhYi5jOjUzOQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgInByZXZpb3VzIGRlY2xhcmF0aW9uIGZvciAlcyIKbXNnc3RyICJyZWRlY2xhcmFjafNuIGRlbCB0aXBvIGRlICVzIgoKIzogc3JjL3N5bXRhYi5jOjkxNQojLCBjLWZvcm1hdAptc2dpZCAidGhlIHN0YXJ0IHN5bWJvbCAlcyBpcyB1bmRlZmluZWQiCm1zZ3N0ciAiZWwgc+1tYm9sbyBkZSBpbmljaW8gKGF4aW9tYSkgJXMgbm8gZXN04SBkZWZpbmlkbyIKCiM6IHNyYy9zeW10YWIuYzo5MTkKIywgYy1mb3JtYXQKbXNnaWQgInRoZSBzdGFydCBzeW1ib2wgJXMgaXMgYSB0b2tlbiIKbXNnc3RyICJlbCBz7W1ib2xvIGRlIGluaWNpbyAoYXhpb21hKSAlcyBlcyB1biB0ZXJtaW5hbCIKCiM6IHNyYy9zeW10YWIuYzo5MzUKIywgYy1mb3JtYXQKbXNnaWQgInJlZGVjbGFyYXRpb24gZm9yIGRlZmF1bHQgdGFnZ2VkICUlZGVzdHJ1Y3RvciIKbXNnc3RyICIiCgojOiBzcmMvc3ltdGFiLmM6OTUwCiMsIGMtZm9ybWF0Cm1zZ2lkICJyZWRlY2xhcmF0aW9uIGZvciBkZWZhdWx0IHRhZ2xlc3MgJSVkZXN0cnVjdG9yIgptc2dzdHIgIiIKCiM6IHNyYy9zeW10YWIuYzo5NjUKIywgYy1mb3JtYXQKbXNnaWQgInJlZGVjbGFyYXRpb24gZm9yIGRlZmF1bHQgdGFnZ2VkICUlcHJpbnRlciIKbXNnc3RyICIiCgojOiBzcmMvc3ltdGFiLmM6OTgwCiMsIGMtZm9ybWF0Cm1zZ2lkICJyZWRlY2xhcmF0aW9uIGZvciBkZWZhdWx0IHRhZ2xlc3MgJSVwcmludGVyIgptc2dzdHIgIiIKCiM6IGRqZ3BwL3N1YnBpcGUuYzo2MyBkamdwcC9zdWJwaXBlLmM6Mjg2IGRqZ3BwL3N1YnBpcGUuYzoyODgKIywgYy1mb3JtYXQKbXNnaWQgInJlbW92aW5nIG9mICclcycgZmFpbGVkIgptc2dzdHIgIiIKCiM6IGRqZ3BwL3N1YnBpcGUuYzo4NSBkamdwcC9zdWJwaXBlLmM6OTIKIywgYy1mb3JtYXQKbXNnaWQgImNyZWF0aW9uIG9mIGEgdGVtcG9yYXJ5IGZpbGUgZmFpbGVkIgptc2dzdHIgIiIKCiM6IGRqZ3BwL3N1YnBpcGUuYzoxMjcKIywgYy1mb3JtYXQKbXNnaWQgInNhdmluZyBzdGRpbiBmYWlsZWQiCm1zZ3N0ciAiIgoKIzogZGpncHAvc3VicGlwZS5jOjEzMQojLCBjLWZvcm1hdAptc2dpZCAic2F2aW5nIHN0ZG91dCBmYWlsZWQiCm1zZ3N0ciAiIgoKIzogZGpncHAvc3VicGlwZS5jOjE1MyBkamdwcC9zdWJwaXBlLmM6MTk3IGRqZ3BwL3N1YnBpcGUuYzoyNTgKIywgYy1mb3JtYXQKbXNnaWQgIm9wZW5pbmcgb2YgdG1wZmlsZSBmYWlsZWQiCm1zZ3N0ciAiIgoKIzogZGpncHAvc3VicGlwZS5jOjE1NwojLCBjLWZvcm1hdAptc2dpZCAicmVkaXJlY3RpbmcgYmlzb24ncyBzdGRvdXQgdG8gdGhlIHRlbXBvcmFyeSBmaWxlIGZhaWxlZCIKbXNnc3RyICIiCgojOiBkamdwcC9zdWJwaXBlLmM6MjAxCiMsIGMtZm9ybWF0Cm1zZ2lkICJyZWRpcmVjdGluZyBtNCdzIHN0ZGluIGZyb20gdGhlIHRlbXBvcmFyeSBmaWxlIGZhaWxlZCIKbXNnc3RyICIiCgojOiBkamdwcC9zdWJwaXBlLmM6MjEyCiMsIGMtZm9ybWF0Cm1zZ2lkICJvcGVuaW5nIG9mIGEgdGVtcG9yYXJ5IGZpbGUgZmFpbGVkIgptc2dzdHIgIiIKCiM6IGRqZ3BwL3N1YnBpcGUuYzoyMTgKIywgYy1mb3JtYXQKbXNnaWQgInJlZGlyZWN0aW5nIG00J3Mgc3Rkb3V0IHRvIGEgdGVtcG9yYXJ5IGZpbGUgZmFpbGVkIgptc2dzdHIgIiIKCiM6IGRqZ3BwL3N1YnBpcGUuYzoyMzQKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJzdWJzaWRpYXJ5IHByb2dyYW0gJyVzJyBpbnRlcnJ1cHRlZCIKbXNnc3RyICJmYWxs8yBlbCBwcm9ncmFtYSBzdWJzaWRpYXJpbyBgJXMnIgoKIzogZGpncHAvc3VicGlwZS5jOjI0MQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgInN1YnNpZGlhcnkgcHJvZ3JhbSAnJXMnIG5vdCBmb3VuZCIKbXNnc3RyICJubyBzZSBlbmNvbnRy8yBlbCBwcm9ncmFtYSBzdWJzaWRpYXJpbyBgJXMnIgoKIzogZGpncHAvc3VicGlwZS5jOjI2NQojLCBjLWZvcm1hdAptc2dpZCAicmVkaXJlY3RpbmcgYmlzb24ncyBzdGRpbiBmcm9tIHRoZSB0ZW1wb3JhcnkgZmlsZSBmYWlsZWQiCm1zZ3N0ciAiIgoKIzogbGliL2FyZ21hdGNoLmM6MTMzCiMsIGMtZm9ybWF0Cm1zZ2lkICJpbnZhbGlkIGFyZ3VtZW50ICVzIGZvciAlcyIKbXNnc3RyICJhcmd1bWVudG8gbm8gduFsaWRvICVzIHBhcmEgJXMiCgojOiBsaWIvYXJnbWF0Y2guYzoxMzQKIywgYy1mb3JtYXQKbXNnaWQgImFtYmlndW91cyBhcmd1bWVudCAlcyBmb3IgJXMiCm1zZ3N0ciAiYXJndW1lbnRvICVzIGFtYmln/G8gcGFyYSAlcyIKCiM6IGxpYi9hcmdtYXRjaC5jOjE1Mwptc2dpZCAiVmFsaWQgYXJndW1lbnRzIGFyZToiCm1zZ3N0ciAiTG9zIGFyZ3VtZW50b3MgduFsaWRvcyBzb246IgoKIzogbGliL2JpdHNldF9zdGF0cy5jOjE3NwojLCBjLWZvcm1hdAptc2dpZCAiJXUgYml0c2V0X2FsbG9jcywgJXUgZnJlZWQgKCUuMmYlJSkuXG4iCm1zZ3N0ciAiJXUgYml0c2V0X2FsbG9jcywgJXUgbGliZXJhZG9zICglLjJmJSUpLlxuIgoKIzogbGliL2JpdHNldF9zdGF0cy5jOjE4MAojLCBjLWZvcm1hdAptc2dpZCAiJXUgYml0c2V0X3NldHMsICV1IGNhY2hlZCAoJS4yZiUlKVxuIgptc2dzdHIgIiV1IGJpdHNldF9zZXRzLCAldSBlbiBsYSBjYWNo6SAoJS4yZiUlKVxuIgoKIzogbGliL2JpdHNldF9zdGF0cy5jOjE4MwojLCBjLWZvcm1hdAptc2dpZCAiJXUgYml0c2V0X3Jlc2V0cywgJXUgY2FjaGVkICglLjJmJSUpXG4iCm1zZ3N0ciAiJXUgYml0c2V0X3Jlc2V0cywgJXUgZW4gbGEgY2FjaOkgKCUuMmYlJSlcbiIKCiM6IGxpYi9iaXRzZXRfc3RhdHMuYzoxODYKIywgYy1mb3JtYXQKbXNnaWQgIiV1IGJpdHNldF90ZXN0cywgJXUgY2FjaGVkICglLjJmJSUpXG4iCm1zZ3N0ciAiJXUgYml0c2V0X3Rlc3RzLCAldSBlbiBsYSBjYWNo6SAoJS4yZiUlKVxuIgoKIzogbGliL2JpdHNldF9zdGF0cy5jOjE5MAojLCBjLWZvcm1hdAptc2dpZCAiJXUgYml0c2V0X2xpc3RzXG4iCm1zZ3N0ciAiJXUgYml0c2V0X2xpc3RzXG4iCgojOiBsaWIvYml0c2V0X3N0YXRzLmM6MTkyCm1zZ2lkICJjb3VudCBsb2cgaGlzdG9ncmFtXG4iCm1zZ3N0ciAiaGlzdG9ncmFtYSBkZWwgcmVnaXN0cm8gZGUgY29udGVvXG4iCgojOiBsaWIvYml0c2V0X3N0YXRzLmM6MTk1Cm1zZ2lkICJzaXplIGxvZyBoaXN0b2dyYW1cbiIKbXNnc3RyICJoaXN0b2dyYW1hIGRlbCByZWdpc3RybyBkZSB0YW1h8W9cbiIKCiM6IGxpYi9iaXRzZXRfc3RhdHMuYzoxOTgKbXNnaWQgImRlbnNpdHkgaGlzdG9ncmFtXG4iCm1zZ3N0ciAiaGlzdG9ncmFtYSBkZSBkZW5zaWRhZFxuIgoKIzogbGliL2JpdHNldF9zdGF0cy5jOjIxMgojLCBjLWZvcm1hdAptc2dpZCAiIgoiQml0c2V0IHN0YXRpc3RpY3M6XG4iCiJcbiIKbXNnc3RyICJFc3RhZO1zdGljYXMgZGUgYml0c2V0XG4iCgojOiBsaWIvYml0c2V0X3N0YXRzLmM6MjE1CiMsIGMtZm9ybWF0Cm1zZ2lkICJBY2N1bXVsYXRlZCBydW5zID0gJXVcbiIKbXNnc3RyICJFamVjdWNpb25lcyBhY3VtdWxhZGFzID0gJXVcbiIKCiM6IGxpYi9iaXRzZXRfc3RhdHMuYzoyNTkgbGliL2JpdHNldF9zdGF0cy5jOjI2NAojLCBmdXp6eQptc2dpZCAiY2Fubm90IHJlYWQgc3RhdHMgZmlsZSIKbXNnc3RyICJObyBwdWRlIGxlZXIgZmljaGVybyBkZSBlc3RhZO1zdGljYXMiCgojOiBsaWIvYml0c2V0X3N0YXRzLmM6MjYxCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiYmFkIHN0YXRzIGZpbGUgc2l6ZVxuIgptc2dzdHIgIkZpY2hlcm8gZGUgZXN0YWTtc3RpY2Egbm8gduFsaWRvLlxuIgoKIzogbGliL2JpdHNldF9zdGF0cy5jOjI4NyBsaWIvYml0c2V0X3N0YXRzLmM6Mjg5CiMsIGZ1enp5Cm1zZ2lkICJjYW5ub3Qgd3JpdGUgc3RhdHMgZmlsZSIKbXNnc3RyICJObyBwdWRlIGVzY3JpYmlyIGVsIGZpY2hlcm8gZGUgZXN0YWTtc3RpY2FzLiIKCiM6IGxpYi9iaXRzZXRfc3RhdHMuYzoyOTIKIywgZnV6enkKbXNnaWQgImNhbm5vdCBvcGVuIHN0YXRzIGZpbGUgZm9yIHdyaXRpbmciCm1zZ3N0ciAiTm8gcHVkZSBhYnJpciBlbCBmaWNoZXJvIGRlIGVzdGFk7XN0aWNhcyBwYXJhIGVzY3JpdHVyYSIKCiMgRHVkYTogZGVzY29ub3pjbyBjdeFsIHNlcuEgZWwgY29udmVuaW8gZW4gbGEgbGlzdGEgZGUgY29ycmVvIGEKIyBwcm9w83NpdG8gZGUgImZhdGFsIi4gUG9yIGZhdm9yLCBjb21wcnVlYmEgcXVlICJlcnJvciBncmF2ZSIgZXMKIyBwcmVmZXJpZG8gcG9yIHRvZG9zIGxvcyBtaWVtYnJvcyBhICJlcnJvciBmYXRhbCIgLSBjbGwKIyB2ZXJlbW9zIHF1ZSBkaWNlIGxhIG1heW9y7WEsIGNvbW8gaGF5IG90cm9zIDIgcmV2aXNvcmVzCiMgTGEgdmVyZGFkIGVzIHF1ZSBhIG1pIGxvIGRlIGVycm9yIGZhdGFsIG1lIHN1ZW5hIGZhdGFsCiMgbmdwCiMKIzogbGliL2Nsb3Nlb3V0LmM6MTEyCiMsIGZ1enp5Cm1zZ2lkICJ3cml0ZSBlcnJvciIKbXNnc3RyICJlcnJvciBncmF2ZTogIgoKIzogbGliL2Vycm9yLmM6MTg4Cm1zZ2lkICJVbmtub3duIHN5c3RlbSBlcnJvciIKbXNnc3RyICJFcnJvciBkZWwgc2lzdGVtYSBkZXNjb25vY2lkbyIKCiM6IGxpYi9nZXRvcHQuYzo1NDcgbGliL2dldG9wdC5jOjU3NgojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiBvcHRpb24gJyVzJyBpcyBhbWJpZ3VvdXM7IHBvc3NpYmlsaXRpZXM6Igptc2dzdHIgIiVzOiBsYSBvcGNp824gYCVzJyBlcyBhbWJpZ3VhXG4iCgojIFBvbmdvIGVzdG8gY29tbyBlbiBvdHJvcyAucG8uIHN2CiM6IGxpYi9nZXRvcHQuYzo2MjQgbGliL2dldG9wdC5jOjYyOAojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiBvcHRpb24gJy0tJXMnIGRvZXNuJ3QgYWxsb3cgYW4gYXJndW1lbnRcbiIKbXNnc3RyICIlczogbGEgb3BjafNuIGAtLSVzJyBubyBhZG1pdGUgbmluZ/puIGFyZ3VtZW50b1xuIgoKIzogbGliL2dldG9wdC5jOjYzNyBsaWIvZ2V0b3B0LmM6NjQyCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IG9wdGlvbiAnJWMlcycgZG9lc24ndCBhbGxvdyBhbiBhcmd1bWVudFxuIgptc2dzdHIgIiVzOiBsYSBvcGNp824gYCVjJXMnIG5vIGFkbWl0ZSBuaW5n+m4gYXJndW1lbnRvXG4iCgojOiBsaWIvZ2V0b3B0LmM6Njg1IGxpYi9nZXRvcHQuYzo3MDQKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlczogb3B0aW9uICctLSVzJyByZXF1aXJlcyBhbiBhcmd1bWVudFxuIgptc2dzdHIgIiVzOiBsYSBvcGNp824gYCVzJyByZXF1aWVyZSB1biBhcmd1bWVudG9cbiIKCiM6IGxpYi9nZXRvcHQuYzo3NDIgbGliL2dldG9wdC5jOjc0NQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiB1bnJlY29nbml6ZWQgb3B0aW9uICctLSVzJ1xuIgptc2dzdHIgIiVzOiBvcGNp824gYC0tJXMnIG5vIHJlY29ub2NpZGFcbiIKCiM6IGxpYi9nZXRvcHQuYzo3NTMgbGliL2dldG9wdC5jOjc1NgojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiB1bnJlY29nbml6ZWQgb3B0aW9uICclYyVzJ1xuIgptc2dzdHIgIiVzOiBvcGNp824gYCVjJXMnIG5vIHJlY29ub2NpZGFcbiIKCiMgoU11eSBiaWVuIHRyYWR1Y2lkbyEgRW4gZWwgZ3J1cG8gZGUgdHJhZHVjY2nzbiBoYSBoYWJpZG8gYXV06W50aWNhcwojIGJhdGFsbGFzIGNvbiBlbCB0ZW1hICJpbnZhbGlkIC0gaW524WxpZG8vYSIgOikgLSBjbGwKIyBQb3JxdWUgRW5yaXF1ZSBkZWPtYSBxdWUgbGUgcmVjb3JkYWJhIGEgZGlzbWludWlkb3MgZu1zaWNvcy4KIyBGcmFuY2FtZW50ZSwgbm8gY3JlbyBxdWUgaGF5YSBxdWUgYW5kYXIgY29uIGVzdGFzICJmb2JpYXMiLgojIFBvbmdvIGluduFsaWRhLiBzdgojOiBsaWIvZ2V0b3B0LmM6ODA1IGxpYi9nZXRvcHQuYzo4MDgKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlczogaW52YWxpZCBvcHRpb24gLS0gJyVjJ1xuIgptc2dzdHIgIiVzOiBvcGNp824gLS0gJWMgbm8gduFsaWRhXG4iCgojOiBsaWIvZ2V0b3B0LmM6ODYxIGxpYi9nZXRvcHQuYzo4NzggbGliL2dldG9wdC5jOjEwODggbGliL2dldG9wdC5jOjExMDYKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICIlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICclYydcbiIKbXNnc3RyICIlczogbGEgb3BjafNuIC0tICVjIHJlcXVpZXJlIHVuIGFyZ3VtZW50b1xuIgoKIzogbGliL2dldG9wdC5jOjkzNCBsaWIvZ2V0b3B0LmM6OTUwCiMsIGZ1enp5LCBjLWZvcm1hdAptc2dpZCAiJXM6IG9wdGlvbiAnLVcgJXMnIGlzIGFtYmlndW91c1xuIgptc2dzdHIgIiVzOiBsYSBvcGNp824gYC1XICVzJyBlcyBhbWJpZ3VhXG4iCgojIFBvbmdvIGVzdG8gY29tbyBlbiBvdHJvcyAucG8uIHN2CiM6IGxpYi9nZXRvcHQuYzo5NzQgbGliL2dldG9wdC5jOjk5MgojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiBvcHRpb24gJy1XICVzJyBkb2Vzbid0IGFsbG93IGFuIGFyZ3VtZW50XG4iCm1zZ3N0ciAiJXM6IGxhIG9wY2nzbiBgLVcgJXMnIG5vIGFkbWl0ZSBuaW5n+m4gYXJndW1lbnRvXG4iCgojOiBsaWIvZ2V0b3B0LmM6MTAxMyBsaWIvZ2V0b3B0LmM6MTAzMQojLCBmdXp6eSwgYy1mb3JtYXQKbXNnaWQgIiVzOiBvcHRpb24gJy1XICVzJyByZXF1aXJlcyBhbiBhcmd1bWVudFxuIgptc2dzdHIgIiVzOiBsYSBvcGNp824gYCVzJyByZXF1aWVyZSB1biBhcmd1bWVudG9cbiIKCiM6IGxpYi9vYnN0YWNrLmM6NDEzIGxpYi9vYnN0YWNrLmM6NDE1IGxpYi94YWxsb2MtZGllLmM6MzQKbXNnaWQgIm1lbW9yeSBleGhhdXN0ZWQiCm1zZ3N0ciAibWVtb3JpYSBhZ290YWRhIgoKIzogbGliL3NwYXduLXBpcGUuYzoxNDAgbGliL3NwYXduLXBpcGUuYzoxNDMgbGliL3NwYXduLXBpcGUuYzoyNjQKIzogbGliL3NwYXduLXBpcGUuYzoyNjcKIywgZnV6enksIGMtZm9ybWF0Cm1zZ2lkICJjYW5ub3QgY3JlYXRlIHBpcGUiCm1zZ3N0ciAibm8gc2UgcHVlZGUgY2VycmFyIGVsIGZpY2hlcm8iCgojOiBsaWIvc3Bhd24tcGlwZS5jOjIzNCBsaWIvc3Bhd24tcGlwZS5jOjM0OCBsaWIvd2FpdC1wcm9jZXNzLmM6MjgyCiM6IGxpYi93YWl0LXByb2Nlc3MuYzozNTYKIywgYy1mb3JtYXQKbXNnaWQgIiVzIHN1YnByb2Nlc3MgZmFpbGVkIgptc2dzdHIgIiIKCiMuIFRSQU5TTEFUT1JTOgojLiBHZXQgdHJhbnNsYXRpb25zIGZvciBvcGVuIGFuZCBjbG9zaW5nIHF1b3RhdGlvbiBtYXJrcy4KIy4gVGhlIG1lc3NhZ2UgY2F0YWxvZyBzaG91bGQgdHJhbnNsYXRlICJgIiB0byBhIGxlZnQKIy4gcXVvdGF0aW9uIG1hcmsgc3VpdGFibGUgZm9yIHRoZSBsb2NhbGUsIGFuZCBzaW1pbGFybHkgZm9yCiMuICInIi4gIEZvciBleGFtcGxlLCBhIEZyZW5jaCBVbmljb2RlIGxvY2FsIHNob3VsZCB0cmFuc2xhdGUKIy4gdGhlc2UgdG8gVSswMEFCIChMRUZULVBPSU5USU5HIERPVUJMRSBBTkdMRQojLiBRVU9UQVRJT04gTUFSSyksIGFuZCBVKzAwQkIgKFJJR0hULVBPSU5USU5HIERPVUJMRSBBTkdMRQojLiBRVU9UQVRJT04gTUFSSyksIHJlc3BlY3RpdmVseS4KIy4KIy4gSWYgdGhlIGNhdGFsb2cgaGFzIG5vIHRyYW5zbGF0aW9uLCB3ZSB3aWxsIHRyeSB0bwojLiB1c2UgVW5pY29kZSBVKzIwMTggKExFRlQgU0lOR0xFIFFVT1RBVElPTiBNQVJLKSBhbmQKIy4gVW5pY29kZSBVKzIwMTkgKFJJR0hUIFNJTkdMRSBRVU9UQVRJT04gTUFSSykuICBJZiB0aGUKIy4gY3VycmVudCBsb2NhbGUgaXMgbm90IFVuaWNvZGUsIGxvY2FsZV9xdW90aW5nX3N0eWxlCiMuIHdpbGwgcXVvdGUgJ2xpa2UgdGhpcycsIGFuZCBjbG9jYWxlX3F1b3Rpbmdfc3R5bGUgd2lsbAojLiBxdW90ZSAibGlrZSB0aGlzIi4gIFlvdSBzaG91bGQgYWx3YXlzIGluY2x1ZGUgdHJhbnNsYXRpb25zCiMuIGZvciAiYCIgYW5kICInIiBldmVuIGlmIFUrMjAxOCBhbmQgVSsyMDE5IGFyZSBhcHByb3ByaWF0ZQojLiBmb3IgeW91ciBsb2NhbGUuCiMuCiMuIElmIHlvdSBkb24ndCBrbm93IHdoYXQgdG8gcHV0IGhlcmUsIHBsZWFzZSBzZWUKIy4gPGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvUXVvdGF0aW9uX21hcmtzX2luX290aGVyX2xhbmd1YWdlcz4KIy4gYW5kIHVzZSBnbHlwaHMgc3VpdGFibGUgZm9yIHlvdXIgbGFuZ3VhZ2UuCiM6IGxpYi9xdW90ZWFyZy5jOjMxMgptc2dpZCAiYCIKbXNnc3RyICJgIgoKIzogbGliL3F1b3RlYXJnLmM6MzEzCm1zZ2lkICInIgptc2dzdHIgIiciCgojOiBsaWIvdGltZXZhci5jOjQ3NQptc2dpZCAiIgoiXG4iCiJFeGVjdXRpb24gdGltZXMgKHNlY29uZHMpXG4iCm1zZ3N0ciAiIgoiXG4iCiJUaWVtcG9zIGRlIGVqZWN1Y2nzbiAoc2VndW5kbylcbiIKCiM6IGxpYi90aW1ldmFyLmM6NTI1Cm1zZ2lkICIgVE9UQUwgICAgICAgICAgICAgICAgIDoiCm1zZ3N0ciAiIFRPVEFMICAgICAgICAgICAgICAgICA6IgoKIzogbGliL3RpbWV2YXIuYzo1NjEKIywgYy1mb3JtYXQKbXNnaWQgInRpbWUgaW4gJXM6ICVsZC4lMDZsZCAoJWxkJSUpXG4iCm1zZ3N0ciAidGllbXBvIGVuICVzOiAlbGQuJTA2bGQgKCVsZCUlKVxuIgoKIzogbGliL3czMnNwYXduLmg6NDMKIywgYy1mb3JtYXQKbXNnaWQgIl9vcGVuX29zZmhhbmRsZSBmYWlsZWQiCm1zZ3N0ciAiIgoKIzogbGliL3czMnNwYXduLmg6ODQKIywgYy1mb3JtYXQKbXNnaWQgImNhbm5vdCByZXN0b3JlIGZkICVkOiBkdXAyIGZhaWxlZCIKbXNnc3RyICIiCgojOiBsaWIvd2FpdC1wcm9jZXNzLmM6MjIzIGxpYi93YWl0LXByb2Nlc3MuYzoyNTUgbGliL3dhaXQtcHJvY2Vzcy5jOjMxNwojLCBjLWZvcm1hdAptc2dpZCAiJXMgc3VicHJvY2VzcyIKbXNnc3RyICIiCgojOiBsaWIvd2FpdC1wcm9jZXNzLmM6Mjc0IGxpYi93YWl0LXByb2Nlc3MuYzozNDYKIywgYy1mb3JtYXQKbXNnaWQgIiVzIHN1YnByb2Nlc3MgZ290IGZhdGFsIHNpZ25hbCAlZCIKbXNnc3RyICIiCgojfiBtc2dpZCAic3RhdGUgJWQiCiN+IG1zZ3N0ciAiZXN0YWRvICVkIgoKIywgZnV6enkKI34gbXNnaWQgInN0cmF5ICdAJyIKI34gbXNnc3RyICJgQCBleHRyYXZpYWRvIgoKI34gbXNnaWQgIndhcm5pbmc6ICIKI34gbXNnc3RyICJhdmlzbzogIgoKI34gbXNnaWQgIkdOVSBiaXNvbiBnZW5lcmF0ZXMgcGFyc2VycyBmb3IgTEFMUigxKSBncmFtbWFycy5cbiIKI34gbXNnc3RyICJHTlUgYmlzb24gZ2VuZXJhIGFuYWxpemFkb3JlcyBwYXJhIGdyYW3hdGljYXMgTEFMUigxKS5cbiIKCiN+IG1zZ2lkICIiCiN+ICJJZiBhIGxvbmcgb3B0aW9uIHNob3dzIGFuIGFyZ3VtZW50IGFzIG1hbmRhdG9yeSwgdGhlbiBpdCBpcyBtYW5kYXRvcnlcbiIKI34gImZvciB0aGUgZXF1aXZhbGVudCBzaG9ydCBvcHRpb24gYWxzby4gIFNpbWlsYXJseSBmb3Igb3B0aW9uYWwgYXJndW1lbnRzLlxuIgojfiBtc2dzdHIgIiIKI34gIlNpIHVuYSBvcGNp824gbGFyZ2EgbXVlc3RyYSB1biBhcmd1bWVudG8gY29tbyBvYmxpZ2F0b3JpbywgZW50b25jZXMgZXMgIgojfiAib2JsaWdhdG9yaW9cbiIKI34gInBhcmEgbGEgb3BjafNuIGNvcnRhIGVxdWl2YWxlbnRlIHRhbWJp6W4uIERlIGlndWFsIGZvcm1hIHBhcmEgbG9zICIKI34gImFyZ3VtZW50b3Mgb3BjaW9uYWxlcy5cbiIKCiN+IG1zZ2lkICJSdWxlcyBuZXZlciByZWR1Y2VkIgojfiBtc2dzdHIgIlJlZ2xhcyBudW5jYSByZWR1Y2lkYXMiCgojfiBtc2dpZCAidXNlbGVzcyBydWxlIgojfiBtc2dzdHIgInJlZ2xhIHNpbiB1c28iCgojfiBtc2dpZCAidXNlbGVzcyBub250ZXJtaW5hbDogJXMiCiN+IG1zZ3N0ciAiTm8gdGVybWluYWwgc2luIHVzbzogJXMiCgojfiBtc2dpZCAiVXNlbGVzcyBub250ZXJtaW5hbHMiCiN+IG1zZ3N0ciAiTm8gdGVybWluYWxlcyBzaW4gdXNvIgoKI34gbXNnaWQgIlRlcm1pbmFscyB3aGljaCBhcmUgbm90IHVzZWQiCiN+IG1zZ3N0ciAiVGVybWluYWxlcyBxdWUgbm8gc2UgdXNhbiIKCiN+IG1zZ2lkICJVc2VsZXNzIHJ1bGVzIgojfiBtc2dzdHIgIlJlZ2xhcyBzaW4gdXNvIgoKI34gbXNnaWQgIiVkIHJ1bGUgbmV2ZXIgcmVkdWNlZFxuIgojfiBtc2dpZF9wbHVyYWwgIiVkIHJ1bGVzIG5ldmVyIHJlZHVjZWRcbiIKI34gbXNnc3RyWzBdICIlZCByZWdsYSBxdWUgbnVuY2Egc2UgaGEgcmVkdWNpZG9cbiIKI34gbXNnc3RyWzFdICIlZCByZWdsYXMgcXVlIG51bmNhIHNlIGhhbiByZWR1Y2lkb1xuIgoKI34gbXNnaWQgIiVkIHVzZWxlc3Mgbm9udGVybWluYWwiCiN+IG1zZ2lkX3BsdXJhbCAiJWQgdXNlbGVzcyBub250ZXJtaW5hbHMiCiN+IG1zZ3N0clswXSAiJWQgbm8gdGVybWluYWwgc2luIHVzbyIKI34gbXNnc3RyWzFdICIlZCBubyB0ZXJtaW5hbGVzIHNpbiB1c28iCgojfiBtc2dpZCAiIGFuZCAiCiN+IG1zZ3N0ciAiIHkgIgoKI34gbXNnaWQgIiVkIHVzZWxlc3MgcnVsZSIKI34gbXNnaWRfcGx1cmFsICIlZCB1c2VsZXNzIHJ1bGVzIgojfiBtc2dzdHJbMF0gIiVkIHJlZ2xhIHNpbiB1c28iCiN+IG1zZ3N0clsxXSAiJWQgcmVnbGFzIHNpbiB1c28iCgojfiBtc2dpZCAiaW52YWxpZCBlc2NhcGUgc2VxdWVuY2U6ICVzIgojfiBtc2dzdHIgInNlY3VlbmNpYSBkZSBlc2NhcGUgbm8gduFsaWRhOiAlcyIKCiN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgZXNjYXBlIHNlcXVlbmNlOiAlcyIKI34gbXNnc3RyICJzZWN1ZW5jaWEgZGUgZXNjYXBlIG5vIHJlY29ub2NpZGE6ICVzIgoKI34gbXNnaWQgIm1pc3NpbmcgYHsnIGluICVzIgojfiBtc2dzdHIgImZhbHRhIGB7JyBlbiAlcyIKCiN+IG1zZ2lkICJ0b2tlbnMgJXMgYW5kICVzIGJvdGggYXNzaWduZWQgbnVtYmVyICVkIgojfiBtc2dzdHIgImxvcyB0ZXJtaW5hbGVzICVzIHkgJXMgdGllbmVuIGFzaWduYWRvcyBhbWJvcyBlbCBu+m1lcm8gJWQiCgojIL9RdekgZW5jdWVudHJhcyBkZSBtYWxvIGVuIHRyYWR1Y2lyIGBpbGxlZ2FsJyBjb21vIGBpbGVnYWwnPyBEYXRlCiMgY3VlbnRhIGRlIHF1ZSBlbCBtZW5zYWplICJvcGNp824gbm8gduFsaWRhIiBwYXJlY2UgYW1iaWd1YSB5IGhhcuEKIyBwZW5zYXIgYWwgdXN1YXJpbyBkZSBxdWUgdGFsIHZleiBsYSBoYSB1c2FkbyBpbmNvcnJlY3RhbWVudGUsIHNpbgojIHJlcGFyYXIsIHBvciBsbyB0YW50bywgZW4gcXVlIGxhIG9wY2nzbiBtaXNtYSBlcyBpbGVnYWwuIEVzdG8gZXMsIKGhbm8KIyBleGlzdGUhISAocG9ycXVlIGltYWdpbm8gcXVlIGVzIGVuIGVzdGUgc2VudGlkbyBjb21vIHNlIGhhIHByb2dyYW1hZG8pCiMgLSBjbGwKIyBTb2JyZSBlc3RvIGh1Ym8gdW5hIGRpc2N1c2nzbiBlbiBsYSBsaXN0YSBoYWNlIHRpZW1wbywKIyBxdWl64XMgaWxlZ2FsIHF1ZWRhIHVuIHBvY28gZnVlcnRlLCBhbGd1aWVuIGRlY+1hIHF1ZSBwYXJlY+1hIHF1ZQojIGliYXMgYSBpciBhIGxhIGNhcmNlbCBwb3IgdXNhciBsYSBvcGNp824uCiMgbmdwCiMKIyBT7SwgZXJhIEVucmlxdWUgYSBxdWllbiBubyBsZSBndXN0YWJhIGxhIHBhbGFicmEuCiMgTm8gY3JlbyBxdWUgZGViYW1vcyBkZWphciBkZSBkZWNpciBhbGdvIHBvciBsYSAiY29ycmVjY2nzbiBwb2ztdGljYSIKIyBZbyBjcmVvIHF1ZSBzaSBlbCAzODYgdGllbmUgaW5zdHJ1Y2Npb25lcyAqaWxlZ2FsZXMqLCB0YW1iaeluIHB1ZWRlCiMgaGFiZXIgb3BjaW9uZXMgaWxlZ2FsZXMsIGRpZ28geW8sIHkgbm8gcG9yIGVzbyBsYXMgQ1BVcyB2YW4KIyBhIGxhIGPhcmNlbCAoY29tbyBtdWNobyBzZSBjdWVsZ2FuLCBqZSwgamUsIDBmZjAgOi0pLiBzdgojCiN+IG1zZ2lkICIlczogaWxsZWdhbCBvcHRpb24gLS0gJWNcbiIKI34gbXNnc3RyICIlczogb3BjafNuIC0tICVjIGlsZWdhbFxuIgoKI34gbXNnaWQgInN1YnNpZGlhcnkgcHJvZ3JhbSBgJXMnIGNvdWxkIG5vdCBiZSBpbnZva2VkIgojfiBtc2dzdHIgIm5vIHNlIHB1ZG8gaW52b2NhciBlbCBwcm9ncmFtYSBzdWJzaWRpYXJpbyBgJXMnIgoKI34gbXNnaWQgInN1YnNpZGlhcnkgcHJvZ3JhbSBgJXMnIGZhaWxlZCAoZXhpdCBzdGF0dXMgJWQpIgojfiBtc2dzdHIgImZhbGzzIGVsIHByb2dyYW1hIHN1YnNpZGlhcmlvIGAlcycgKGVzdGFkbyBkZSBzYWxpZGEgJWQpIgoKI34gbXNnaWQgIlBPU0lYIGZvcmJpZHMgZGVjbGFyYXRpb25zIGluIHRoZSBncmFtbWFyIgojfiBtc2dzdHIgIlBPU0lYIHByb2jtYmUgZGVjbGFyYWNpb25lcyBlbiBhIGdyYW3hdGljYSIKCiN+IG1zZ2lkICJpbnZhbGlkICQgdmFsdWUiCiN+IG1zZ3N0ciAidmFsb3IgJCBubyB24WxpZG8iCgojfiBtc2dpZCAiY29uZmxpY3RpbmcgcHJlY2VkZW5jZXMgZm9yICVzIGFuZCAlcyIKI34gbXNnc3RyICJwcmVjZWRlbmNpYXMgZW4gY29uZmxpY3RvIGVudHJlICVzIHkgJXMiCgojfiBtc2dpZCAiY29uZmxpY3RpbmcgYXNzb2NpYXRpdml0aWVzIGZvciAlcyAoJXMpIGFuZCAlcyAoJXMpIgojfiBtc2dzdHIgImNvbmZsaWN0byBkZSBhc29jaWFjaWF0aXZpZGFkZXMgcGFyYSAlcyAoJXMpIHkgJXMgKCVzKSIKCiN+IG1zZ2lkICJ0b28gbWFueSBzdGF0ZXMgKG1heCAlZCkiCiN+IG1zZ3N0ciAiZGVtYXNpYWRvcyBlc3RhZG9zICht4XhpbW8gJWQpIgoKI34gbXNnaWQgInJlZHVjZSIKI34gbXNnc3RyICJyZWR1Y2UiCgojfiBtc2dpZCAic2hpZnQiCiN+IG1zZ3N0ciAiZGVzcGxhemEiCgojfiBtc2dpZCAiJWQgc2hpZnQvcmVkdWNlIGNvbmZsaWN0IgojfiBtc2dpZF9wbHVyYWwgIiVkIHNoaWZ0L3JlZHVjZSBjb25mbGljdHMiCiN+IG1zZ3N0clswXSAiJWQgY29uZmxpY3RvIGRlc3BsYXphbWllbnRvL3JlZHVjY2nzbiIKI34gbXNnc3RyWzFdICIlZCBjb25mbGljdG9zIGRlc3BsYXphbWllbnRvL3JlZHVjY2nzbiIKCiN+IG1zZ2lkICJhbmQiCiN+IG1zZ3N0ciAieSIKCiN+IG1zZ2lkICJTdGF0ZSAlZCBjb250YWlucyAiCiN+IG1zZ3N0ciAiRWwgZXN0YWRvICVkIGNvbnRpZW5lIgoKI34gbXNnaWQgImNvbmZsaWN0czogIgojfiBtc2dzdHIgImNvbmZsaWN0b3M6ICIKCiN+IG1zZ2lkICIlcyBjb250YWlucyAiCiN+IG1zZ3N0ciAiJXMgY29udGllbmUgIgoKI34gbXNnaWQgImAlcycgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCIKI34gbXNnc3RyICJgJXMnIHlhIG5vIGVzdOEgc29wb3J0YWRvIgoKIyBNZSBwYXJlY2UgbWVub3MgImNvbXB1dGFkb3JhIiBkZWNpciAibmluZ/puIGZpY2hlcm8gZGUgZ3JhbeF0aWNhIiAtIGNsbAojCiN+IG1zZ2lkICIlczogbm8gZ3JhbW1hciBmaWxlIGdpdmVuXG4iCiN+IG1zZ3N0ciAiJXM6IG5vIHNlIGhhIGVzcGVjaWZpY2FkbyBuaW5n+m4gZmljaGVybyBkZSBncmFt4XRpY2FcbiIKCiMgSWdub3JhciBlcyBubyBzYWJlciwgdG8gaWdub3JlIGVzIG5vIGhhY2VyIGNhc28sIHF1ZSBubyBlcyBsbyBtaXNtby4gc3YKI34gbXNnaWQgIiVzOiBleHRyYSBhcmd1bWVudHMgaWdub3JlZCBhZnRlciBgJXMnXG4iCiN+IG1zZ3N0ciAiJXM6IGxvcyBhcmd1bWVudG9zIGV4dHJhIGRlc3B16XMgZGUgJyVzJyBubyBzZSB0ZW5kcuFuIGVuIGN1ZW50YVxuIgoKI34gbXNnaWQgInRvbyBtYW55IGdvdG9zIChtYXggJWQpIgojfiBtc2dzdHIgImRlbWFzaWFkb3MgZ290b3MgKG3heGltbyAlZCkiCgojIHRvIGlnbm9yZSBubyBlcyBpZ25vcmFyLiBQb24gb3RyYSBjb3NhLCBwbGVhc2UuIHN2CiN+IG1zZ2lkICJ1bmV4cGVjdGVkIGAvJyBmb3VuZCBhbmQgaWdub3JlZCIKI34gbXNnc3RyICJzZSBoYSBlbmNvbnRyYWRvIGAvJyBjdWFuZG8gbm8gc2UgZXNwZXJhYmEsIG5vIHNlIHRlbmRy4W4gZW4gY3VlbnRhIgoKI34gbXNnaWQgInVudGVybWluYXRlZCBjb21tZW50IgojfiBtc2dzdHIgImNvbWVudGFyaW8gc2luIHRlcm1pbmFyIgoKI34gbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiN+IG1zZ3N0ciAiZmluIGRlIGZpY2hlcm8gaW5lc3BlcmFkbyIKCiMgv3VuZXNjYXBlZD8KI34gbXNnaWQgInVuZXNjYXBlZCBuZXdsaW5lIGluIGNvbnN0YW50IgojfiBtc2dzdHIgInNhbHRvIGRlIGztbmVhIGVuIGNvbnN0YW50ZSBzaW4gc2VjdWVuY2lhIGRlIGVzY2FwZSIKCiN+IG1zZ2lkICJvY3RhbCB2YWx1ZSBvdXRzaWRlIHJhbmdlIDAuLi4yNTU6IGBcXCVvJyIKI34gbXNnc3RyICJ2YWxvciBvY3RhbCBmdWVyYSBkZWwgcmFuZ28gMC4uLjI1NTogYFxcJW8nIgoKI34gbXNnaWQgImhleGFkZWNpbWFsIHZhbHVlIGFib3ZlIDI1NTogYFxceCV4JyIKI34gbXNnc3RyICJ2YWxvciBoZXhhZGVjaW1hbCBtYXlvciBxdWUgMjU1OiBgXFx4JXgnIgoKI34gbXNnaWQgInVua25vd24gZXNjYXBlIHNlcXVlbmNlOiBgXFwnIGZvbGxvd2VkIGJ5IGAlcyciCiN+IG1zZ3N0ciAic2VjdWVuY2lhIGRlIGVzY2FwZSBkZXNjb25vY2lkYTogYFxcJyBzZWd1aWRvIGRlIGAlcyciCgojfiBtc2dpZCAidW50ZXJtaW5hdGVkIHR5cGUgbmFtZSBhdCBlbmQgb2YgZmlsZSIKI34gbXNnc3RyICJub21icmUgZGUgdGlwbyBzaW4gdGVybWluYXIgYWwgZmluYWwgZGVsIGZpY2hlcm8iCgojfiBtc2dpZCAidW50ZXJtaW5hdGVkIHR5cGUgbmFtZSIKI34gbXNnc3RyICJub21icmUgZGUgdGlwbyBzaW4gdGVybWluYXIiCgojIL9tdWx0aWNhcuFjdGVyIG8gbXVsdGljYXJhY3RlcmVzPyBzdgojfiBtc2dpZCAidXNlIFwiLi4uXCIgZm9yIG11bHRpLWNoYXJhY3RlciBsaXRlcmFsIHRva2VucyIKI34gbXNnc3RyICJ1c2UgXCIuLi5cIiBwYXJhIHRlcm1pbmFsZXMgbGl0ZXJhbGVzIG11bHRpY2Fy4WN0ZXIiCgojfiBtc2dpZCAiYCVzJyBzdXBwb3J0cyBubyBhcmd1bWVudDogJXMiCiN+IG1zZ3N0ciAiYCVzJyBubyBzb3BvcnRhIGVsIGFyZ3VtZW50bzogJXMiCgojfiBtc2dpZCAiYCVzJyByZXF1aXJlcyBhbiBhcmd1bWVudCIKI34gbXNnc3RyICJgJXMnIHJlcXVpZXJlIHVuIGFyZ3VtZW50byIKCiN+IG1zZ2lkICIgICAocnVsZSAlZCkiCiN+IG1zZ3N0ciAiICAgKHJlZ2xhICVkKSIKCiN+IG1zZ2lkICIgICAgJS00c1x0ZXJyb3IgKG5vbmFzc29jaWF0aXZlKVxuIgojfiBtc2dzdHIgIiAgICAlLTRzXHRlcnJvciAobm8gYXNvY2lhdGl2bylcbiIKCiN+IG1zZ2lkICIiCiN+ICIgICAgJGRlZmF1bHRcdHJlZHVjZSB1c2luZyBydWxlICVkICglcylcbiIKI34gIlxuIgojfiBtc2dzdHIgIiIKI34gIiAgICAkZGVmYXVsdFx0cmVkdWNlIHVzYW5kbyBsYSByZWdsYSAlZCAoJXMpXG4iCiN+ICJcbiIKCiN+IG1zZ2lkICIgICAgJS00c1x0W3JlZHVjZSB1c2luZyBydWxlICVkICglcyldXG4iCiN+IG1zZ3N0ciAiICAgICUtNHNcdFtyZWR1Y2UgdXNhbmRvIGxhIHJlZ2xhICAlZCAoJXMpXVxuIgoKI34gbXNnaWQgIiAgICAlLTRzXHRyZWR1Y2UgdXNpbmcgcnVsZSAlZCAoJXMpXG4iCiN+IG1zZ3N0ciAiICAgICUtNHNcdHJlZHVjZSB1c2FuZG8gbGEgcmVnbGEgICVkICglcylcbiIKCiN+IG1zZ2lkICIgICAgJGRlZmF1bHRcdHJlZHVjZSB1c2luZyBydWxlICVkICglcylcbiIKI34gbXNnc3RyICIgICAgJGRlZmF1bHRcdHJlZHVjZSB1c2FuZG8gbGEgcmVnbGEgJWQgKCVzKVxuIgoKI34gbXNnaWQgIiAgICAkZGVmYXVsdFx0YWNjZXB0XG4iCiN+IG1zZ3N0ciAiICAgICRkZWZhdWx0XHRhY2VwdGFyXG4iCgojfiBtc2dpZCAiICAgIE5PIEFDVElPTlNcbiIKI34gbXNnc3RyICIgICAgU0lOIEFDQ0lPTkVTXG4iCgojfiBtc2dpZCAiTnVtYmVyLCBMaW5lLCBSdWxlIgojfiBtc2dzdHIgIk76bWVybywgTO1uZWEsIFJlZ2xhIgoKI34gbXNnaWQgIiAgJTNkICUzZCAlcyAtPiIKI34gbXNnc3RyICIgICUzZCAlM2QgJXMgLT4iCgojfiBtc2dpZCAiICAgU2tpcHBpbmcgdG8gbmV4dCBcXG4iCiN+IG1zZ3N0ciAiICAgU2FsdGFuZG8gYWwgc2lndWllbnRlIFxcbiIKCiN+IG1zZ2lkICIgICBTa2lwcGluZyB0byBuZXh0ICVjIgojfiBtc2dzdHIgIiAgIFNhbHRhbmRvIGFsIHNpZ3VpZW50ZSAlYyIKCiN+IG1zZ2lkICJ1bnRlcm1pbmF0ZWQgc3RyaW5nIgojfiBtc2dzdHIgImNhZGVuYSBzaW4gdGVybWluYXIiCgojfiBtc2dpZCAiJXMgaXMgaW52YWxpZCIKI34gbXNnc3RyICIlcyBubyBlcyB24WxpZG8iCgojfiBtc2dpZCAidW50ZXJtaW5hdGVkIGAleycgZGVmaW5pdGlvbiIKI34gbXNnc3RyICJkZWZpbmljafNuIGAleycgc2luIHRlcm1pbmFyIgoKI34gbXNnaWQgIlByZW1hdHVyZSBFT0YgYWZ0ZXIgJXMiCiN+IG1zZ3N0ciAiRU9GIHByZW1hdHVybyBkZXNwdelzIGRlICVzIgoKI34gbXNnaWQgImAlcycgaXMgaW52YWxpZCBpbiAlcyIKI34gbXNnc3RyICJgJXMnIG5vIGVzIHbhbGlkbyBlbiAlcyIKCiN+IG1zZ2lkICIldHlwZSBkZWNsYXJhdGlvbiBoYXMgbm8gPHR5cGVuYW1lPiIKI34gbXNnc3RyICJsYSBkZWNsYXJhY2nzbiAldHlwZSBubyB0aWVuZSA8bm9tYnJlLXRpcG8+IgoKI34gbXNnaWQgImludmFsaWQgJSV0eXBlIGRlY2xhcmF0aW9uIGR1ZSB0byBpdGVtOiAlcyIKI34gbXNnc3RyICJkZWNsYXJhY2nzbiBkZSAlJXR5cGUgbm8gduFsaWRhIGRlYmlkbyBhbCDtdGVtOiAlcyIKCiMgVW5hIGNvcnJlY2Np824gbWVub3I6IGVuIHJlYWxpZGFkLCBgc2hvdWxkJyBlcyBlbCBwYXNhZG8geSBjb25kaWNpb25hbAojIGRlICJ0byBtdXN0IiB5IGFxde0gc2UgZW1wbGVhIGVuIHN1IGZvcm1hIGNvbmRpY2lvbmFsLiBQb3IgZXNvLCBoZQojIGNhbWJpYWRvIGBkZWJlJyBwb3IgYGRlYmVy7WEnIC0gY2xsCiMgYWjtIG1lIGhhcyBwaWxsYWRvIGVuIHVuIG9sdmlkbyBkZWwgaW5nbOlzIC0gbmdwCiN+IG1zZ2lkICJpbnZhbGlkIHRleHQgKCVzKSAtIG51bWJlciBzaG91bGQgYmUgYWZ0ZXIgaWRlbnRpZmllciIKI34gbXNnc3RyICIiCiN+ICJ0ZXh0byBubyB24WxpZG8gKCVzKSAtIGVsIG76bWVybyBkZWJlcu1hIGVzdGFyIGRlc3B16XMgZGVsIGlkZW50aWZpY2Fkb3IiCgojIENhbWJpbyBlbCBvcmRlbiB5IGVsIHNleG8uIEFob3JhIGVzdOEgImVuIGVzcGHxb2wiLiBzdgojfiBtc2dpZCAidW5tYXRjaGVkICVzIgojfiBtc2dzdHIgIiVzIGRlc2VtcGFyZWphZG8vYSIKCiN+IG1zZ2lkICJhcmd1bWVudCBvZiAlJWV4cGVjdCBpcyBub3QgYW4gaW50ZWdlciIKI34gbXNnc3RyICJlbCBhcmd1bWVudG8gZGUgJSVleHBlY3Qgbm8gZXMgdW4gZW50ZXJvIgoKIyBObyB0ZSByZWNvbWllbmRvIHF1ZSBlbXBsZWVzIHBhcnRpY2lwaW9zIHBhcmEgZXhwcmVzYXIgYWNjaW9uZXMgKKFzaQojIG1lIG95ZXJhIG1pIGFudGlndWEgcHJvZmVzb3JhIGRlIGxlbmd1YSwgbGxvcmFy7WEgZGUgZW1vY2nzbiEgOikuIEVuCiMgdmV6IGRlIGVzbywgZW1wbGVhIGxhcyBjb25qdWdhY2lvbmVzIGhhYml0dWFsZXMsIHF1ZSBwYXJhIGVzbyBlc3ThbiA6KQojIC0gY2xsCiMgb2sgLSBuZ3AKIwojfiBtc2dpZCAidW5yZWNvZ25pemVkIGl0ZW0gJXMsIGV4cGVjdGVkIGFuIGlkZW50aWZpZXIiCiN+IG1zZ3N0ciAibm8gc2UgcmVjb25vY2UgZWwg7XRlbSAlcywgc2UgZXNwZXJhYmEgdW4gaWRlbnRpZmljYWRvciIKCiN+IG1zZ2lkICJleHBlY3RlZCBzdHJpbmcgY29uc3RhbnQgaW5zdGVhZCBvZiAlcyIKI34gbXNnc3RyICJzZSBlc3BlcmFiYSB1bmEgY2FkZW5hIGNvbnN0YW50ZSBlbiBsdWdhciBkZSAlcyIKCiN+IG1zZ2lkICJubyBpbnB1dCBncmFtbWFyIgojfiBtc2dzdHIgIm5vIGhheSBncmFt4XRpY2EgZGUgZW50cmFkYSIKCiN+IG1zZ2lkICJpbGwtZm9ybWVkIHJ1bGU6IGluaXRpYWwgc3ltYm9sIG5vdCBmb2xsb3dlZCBieSBjb2xvbiIKI34gbXNnc3RyICJyZWdsYSBtYWwgZm9ybWFkYTogZWwgc+1tYm9sbyBpbmljaWFsIG5vIGVzdOEgc2VndWlkbyBwb3IgOiIKCiN+IG1zZ2lkICJncmFtbWFyIHN0YXJ0cyB3aXRoIHZlcnRpY2FsIGJhciIKI34gbXNnc3RyICJsYSBncmFt4XRpY2EgY29taWVuemEgY29uIHVuYSBiYXJyYSB2ZXJ0aWNhbCIKCiN+IG1zZ2lkICJwcmV2aW91cyBydWxlIGxhY2tzIGFuIGVuZGluZyBgOyciCiN+IG1zZ3N0ciAiYSBsYSByZWdsYSBwcmV2aWEgbGUgZmFsdGEgdW4gYDsnIGFsIGZpbmFsIgoKI34gbXNnaWQgInR3byBAcHJlYydzIGluIGEgcm93IgojfiBtc2dzdHIgImRvcyBAcHJlYyBlbiB1bmEgbO1uZWEiCgojIEluc2lzdG8sIGVsIGVtcGxlbyBkZSBwYXJ0aWNpcGlvcyBhIHNlY2FzIG1lIHBhcmVjZSBjb21vIGhhYmxhciBlbgojIGluZGlvLiBQb3IgZmF2b3IsIHBlcm3tdGVtZSBxdWUgYfFhZGEgdW4gImVzdOEiIDopIC0gY2xsCiMgb2sgLSBuZ3AKI34gbXNnaWQgIiUlZ3VhcmQgcHJlc2VudCBidXQgJSVzZW1hbnRpY19wYXJzZXIgbm90IHNwZWNpZmllZCIKI34gbXNnc3RyICIlJWd1YXJkIHByZXNlbnRlIHBlcm8gJSVzZW1hbnRpY19wYXJzZXIgZXN04SBzaW4gZXNwZWNpZmljYXIiCgojfiBtc2dpZCAidHdvIGFjdGlvbnMgYXQgZW5kIG9mIG9uZSBydWxlIgojfiBtc2dzdHIgImRvcyBhY2Npb25lcyBhbCBmaW5hbCBkZSB1bmEgcmVnbGEiCgojINpuaWNhbWVudGUgY2FtYmlvIGxhIHBvc2ljafNuIGRlbCBhZGpldGl2byBgbeF4aW1vJy4gRW4gdmV6IGRlIGRlc3B16XMKIyBkZSBgdGFibGEnLCBkZXNwdelzIGRlIGB0YW1h8W8nIC0gY2xsCiMgZW4gaW5nbOlzIGVyYSBhc+0sIHBlcm8gcXVpeuFzIGVuIGVzcGHxb2wgc2VhIG1lam9yIGNvbW8gZGljZXMKIyBuZ3AKIwojfiBtc2dpZCAibWF4aW11bSB0YWJsZSBzaXplICglZCkgZXhjZWVkZWQiCiN+IG1zZ3N0ciAiZXhjZWRpZG8gZWwgdGFtYfFvIG3heGltbyBkZSBsYSB0YWJsYSAoJWQpIgoKI34gbXNnaWQgIiAgICAkICAgXHRnbyB0byBzdGF0ZSAlZFxuIgojfiBtc2dzdHIgIiAgICAkICAgXHRpciBhbCBlc3RhZG8gJWRcbiIKCiMgVGFsIHZleiBwdWVkYSBwYXJlY2VyIHBlZGFudGUsIHBlcm8gYGluY29uY2x1c2EnIG1lIHN1ZW5hIG11Y2jtc2ltbwojIG1lam9yIHF1ZSBgc2luIHRlcm1pbmFyJyBxdWUgbWUgcGFyZWNlIG3hcyAiY29tcHV0ZXJpemFkbyIgLSBjbGwKIyBxdWl64XMgdW4gcG9jbyBjYWNvZvNuaWNvIGxvIGRlIGNsYfpzdWxhIGluY29uY2x1c2EgLSBuZ3AKIwojfiBtc2dpZCAidW50ZXJtaW5hdGVkICVndWFyZCBjbGF1c2UiCiN+IG1zZ3N0ciAiY2zhdXN1bGEgJWd1YXJkIHNpbiB0ZXJtaW5hciIK