Return-Path: MIME-Version: 1.0 From: Lucas De Marchi Date: Tue, 22 May 2012 12:38:11 -0300 Message-ID: Subject: [HEADS UP] vim users To: BlueZ development , ofono@ofono.org, connman@connman.net Cc: Marcel Holtmann , Denis Kenzior Content-Type: multipart/mixed; boundary=14dae93404cd9fa1f104c0a1cff8 List-ID: --14dae93404cd9fa1f104c0a1cff8 Content-Type: text/plain; charset=ISO-8859-1 Hey, As I sent previously to BlueZ mailing list, the patches for d-bus introspection exposes a bug in vim c syntax highlight. There's already a fix for that: https://groups.google.com/forum/#!msg/vim_dev/_IL5jM1-t_w/D-vIwZM2RfwJ I'm not sure when there will be a new version, so I'm attaching to this email the fixed c.vim file. Replace /usr/share/vim/vim73/syntax/c.vim with this one and highlight will be fixed. Regards, Lucas De Marchi --14dae93404cd9fa1f104c0a1cff8 Content-Type: application/octet-stream; name="c.vim" Content-Disposition: attachment; filename="c.vim" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h2j4mlhy0 IiBWaW0gc3ludGF4IGZpbGUKIiBMYW5ndWFnZToJQwoiIE1haW50YWluZXI6CUJyYW0gTW9vbGVu YWFyIDxCcmFtQHZpbS5vcmc+CiIgTGFzdCBDaGFuZ2U6CTIwMTIgTWF5IDAzCgoiIFF1aXQgd2hl biBhIChjdXN0b20pIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAppZiBleGlzdHMoImI6 Y3VycmVudF9zeW50YXgiKQogIGZpbmlzaAplbmRpZgoKbGV0IHM6Y3BvX3NhdmUgPSAmY3BvCnNl dCBjcG8mdmltCgoiIEEgYnVuY2ggb2YgdXNlZnVsIEMga2V5d29yZHMKc3luIGtleXdvcmQJY1N0 YXRlbWVudAlnb3RvIGJyZWFrIHJldHVybiBjb250aW51ZSBhc20Kc3luIGtleXdvcmQJY0xhYmVs CQljYXNlIGRlZmF1bHQKc3luIGtleXdvcmQJY0NvbmRpdGlvbmFsCWlmIGVsc2Ugc3dpdGNoCnN5 biBrZXl3b3JkCWNSZXBlYXQJCXdoaWxlIGZvciBkbwoKc3luIGtleXdvcmQJY1RvZG8JCWNvbnRh aW5lZCBUT0RPIEZJWE1FIFhYWAoKIiBJdCdzIGVhc3kgdG8gYWNjaWRlbnRhbGx5IGFkZCBhIHNw YWNlIGFmdGVyIGEgYmFja3NsYXNoIHRoYXQgd2FzIGludGVuZGVkCiIgZm9yIGxpbmUgY29udGlu dWF0aW9uLiAgU29tZSBjb21waWxlcnMgYWxsb3cgaXQsIHdoaWNoIG1ha2VzIGl0CiIgdW5wcmVk aWNhdGFibGUgYW5kIHNob3VsZCBiZSBhdm9pZGVkLgpzeW4gbWF0Y2gJY0JhZENvbnRpbnVhdGlv biBjb250YWluZWQgIlxcXHNcKyQiCgoiIGNDb21tZW50R3JvdXAgYWxsb3dzIGFkZGluZyBtYXRj aGVzIGZvciBzcGVjaWFsIHRoaW5ncyBpbiBjb21tZW50cwpzeW4gY2x1c3RlcgljQ29tbWVudEdy b3VwCWNvbnRhaW5zPWNUb2RvLGNCYWRDb250aW51YXRpb24KCiIgU3RyaW5nIGFuZCBDaGFyYWN0 ZXIgY29uc3RhbnRzCiIgSGlnaGxpZ2h0IHNwZWNpYWwgY2hhcmFjdGVycyAodGhvc2Ugd2hpY2gg aGF2ZSBhIGJhY2tzbGFzaCkgZGlmZmVyZW50bHkKc3luIG1hdGNoCWNTcGVjaWFsCWRpc3BsYXkg Y29udGFpbmVkICJcXFwoeFx4XCtcfFxvXHsxLDN9XHwuXHwkXCkiCmlmICFleGlzdHMoImNfbm9f dXRmIikKICBzeW4gbWF0Y2gJY1NwZWNpYWwJZGlzcGxheSBjb250YWluZWQgIlxcXCh1XHhcezR9 XHxVXHhcezh9XCkiCmVuZGlmCmlmIGV4aXN0cygiY19ub19jZm9ybWF0IikKICBzeW4gcmVnaW9u CWNTdHJpbmcJCXN0YXJ0PStMXD0iKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgY29udGFpbnM9 Y1NwZWNpYWwsQFNwZWxsIGV4dGVuZAogICIgY0NwcFN0cmluZzogc2FtZSBhcyBjU3RyaW5nLCBi dXQgZW5kcyBhdCBlbmQgb2YgbGluZQogIHN5biByZWdpb24JY0NwcFN0cmluZwlzdGFydD0rTFw9 Iisgc2tpcD0rXFxcXFx8XFwiXHxcXCQrIGV4Y2x1ZGVubCBlbmQ9KyIrIGVuZD0nJCcgY29udGFp bnM9Y1NwZWNpYWwsQFNwZWxsCmVsc2UKICBpZiAhZXhpc3RzKCJjX25vX2M5OSIpICIgSVNPIEM5 OQogICAgc3luIG1hdGNoCWNGb3JtYXQJCWRpc3BsYXkgIiVcKFxkXCtcJFwpXD1bLSsnICMwKl0q XChcZCpcfFwqXHxcKlxkXCtcJFwpXChcLlwoXGQqXHxcKlx8XCpcZFwrXCRcKVwpXD1cKFtobExq enRdXHxsbFx8aGhcKVw9XChbYUFiZGl1b3hYRE9VZkZlRWdHY0NzU3BuXVx8XFtcXlw9LlteXV0q XF1cKSIgY29udGFpbmVkCiAgZWxzZQogICAgc3luIG1hdGNoCWNGb3JtYXQJCWRpc3BsYXkgIiVc KFxkXCtcJFwpXD1bLSsnICMwKl0qXChcZCpcfFwqXHxcKlxkXCtcJFwpXChcLlwoXGQqXHxcKlx8 XCpcZFwrXCRcKVwpXD1cKFtobExdXHxsbFwpXD1cKFtiZGl1b3hYRE9VZmVFZ0djQ3NTcG5dXHxc W1xeXD0uW15dXSpcXVwpIiBjb250YWluZWQKICBlbmRpZgogIHN5biBtYXRjaAljRm9ybWF0CQlk aXNwbGF5ICIlJSIgY29udGFpbmVkCiAgc3luIHJlZ2lvbgljU3RyaW5nCQlzdGFydD0rTFw9Iisg c2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGNvbnRhaW5zPWNTcGVjaWFsLGNGb3JtYXQsQFNwZWxs IGV4dGVuZAogICIgY0NwcFN0cmluZzogc2FtZSBhcyBjU3RyaW5nLCBidXQgZW5kcyBhdCBlbmQg b2YgbGluZQogIHN5biByZWdpb24JY0NwcFN0cmluZwlzdGFydD0rTFw9Iisgc2tpcD0rXFxcXFx8 XFwiXHxcXCQrIGV4Y2x1ZGVubCBlbmQ9KyIrIGVuZD0nJCcgY29udGFpbnM9Y1NwZWNpYWwsY0Zv cm1hdCxAU3BlbGwKZW5kaWYKCnN5biBtYXRjaAljQ2hhcmFjdGVyCSJMXD0nW15cXF0nIgpzeW4g bWF0Y2gJY0NoYXJhY3RlcgkiTCdbXiddKiciIGNvbnRhaW5zPWNTcGVjaWFsCmlmIGV4aXN0cygi Y19nbnUiKQogIHN5biBtYXRjaAljU3BlY2lhbEVycm9yCSJMXD0nXFxbXidcIj9cXGFiZWZucnR2 XSciCiAgc3luIG1hdGNoCWNTcGVjaWFsQ2hhcmFjdGVyICJMXD0nXFxbJ1wiP1xcYWJlZm5ydHZd JyIKZWxzZQogIHN5biBtYXRjaAljU3BlY2lhbEVycm9yCSJMXD0nXFxbXidcIj9cXGFiZm5ydHZd JyIKICBzeW4gbWF0Y2gJY1NwZWNpYWxDaGFyYWN0ZXIgIkxcPSdcXFsnXCI/XFxhYmZucnR2XSci CmVuZGlmCnN5biBtYXRjaAljU3BlY2lhbENoYXJhY3RlciBkaXNwbGF5ICJMXD0nXFxcb1x7MSwz fSciCnN5biBtYXRjaAljU3BlY2lhbENoYXJhY3RlciBkaXNwbGF5ICInXFx4XHhcezEsMn0nIgpz eW4gbWF0Y2gJY1NwZWNpYWxDaGFyYWN0ZXIgZGlzcGxheSAiTCdcXHhceFwrJyIKCmlmICFleGlz dHMoImNfbm9fYzExIikgIiBJU08gQzExCiAgaWYgZXhpc3RzKCJjX25vX2Nmb3JtYXQiKQogICAg c3luIHJlZ2lvbgljU3RyaW5nCQlzdGFydD0rXCUoVVx8dThcPVwpIisgc2tpcD0rXFxcXFx8XFwi KyBlbmQ9KyIrIGNvbnRhaW5zPWNTcGVjaWFsLEBTcGVsbCBleHRlbmQKICBlbHNlCiAgICBzeW4g cmVnaW9uCWNTdHJpbmcJCXN0YXJ0PStcJShVXHx1OFw9XCkiKyBza2lwPStcXFxcXHxcXCIrIGVu ZD0rIisgY29udGFpbnM9Y1NwZWNpYWwsY0Zvcm1hdCxAU3BlbGwgZXh0ZW5kCiAgZW5kaWYKICBz eW4gbWF0Y2gJY0NoYXJhY3RlcgkiW1V1XSdbXlxcXSciCiAgc3luIG1hdGNoCWNDaGFyYWN0ZXIJ IltVdV0nW14nXSonIiBjb250YWlucz1jU3BlY2lhbAogIGlmIGV4aXN0cygiY19nbnUiKQogICAg c3luIG1hdGNoCWNTcGVjaWFsRXJyb3IJIltVdV0nXFxbXidcIj9cXGFiZWZucnR2XSciCiAgICBz eW4gbWF0Y2gJY1NwZWNpYWxDaGFyYWN0ZXIgIltVdV0nXFxbJ1wiP1xcYWJlZm5ydHZdJyIKICBl bHNlCiAgICBzeW4gbWF0Y2gJY1NwZWNpYWxFcnJvcgkiW1V1XSdcXFteJ1wiP1xcYWJmbnJ0dl0n IgogICAgc3luIG1hdGNoCWNTcGVjaWFsQ2hhcmFjdGVyICJbVXVdJ1xcWydcIj9cXGFiZm5ydHZd JyIKICBlbmRpZgogIHN5biBtYXRjaAljU3BlY2lhbENoYXJhY3RlciBkaXNwbGF5ICJbVXVdJ1xc XG9cezEsM30nIgogIHN5biBtYXRjaAljU3BlY2lhbENoYXJhY3RlciBkaXNwbGF5ICJbVXVdJ1xc eFx4XCsnIgplbmRpZgoKIndoZW4gd2FudGVkLCBoaWdobGlnaHQgdHJhaWxpbmcgd2hpdGUgc3Bh Y2UKaWYgZXhpc3RzKCJjX3NwYWNlX2Vycm9ycyIpCiAgaWYgIWV4aXN0cygiY19ub190cmFpbF9z cGFjZV9lcnJvciIpCiAgICBzeW4gbWF0Y2gJY1NwYWNlRXJyb3IJZGlzcGxheSBleGNsdWRlbmwg IlxzXCskIgogIGVuZGlmCiAgaWYgIWV4aXN0cygiY19ub190YWJfc3BhY2VfZXJyb3IiKQogICAg c3luIG1hdGNoCWNTcGFjZUVycm9yCWRpc3BsYXkgIiBcK1x0Im1lPWUtMQogIGVuZGlmCmVuZGlm CgoiIFRoaXMgc2hvdWxkIGJlIGJlZm9yZSBjRXJySW5QYXJlbiB0byBhdm9pZCBwcm9ibGVtcyB3 aXRoICNkZWZpbmUgKHsgeHh4IH0pCmlmIGV4aXN0cygiY19jdXJseV9lcnJvciIpCiAgc3ludGF4 IG1hdGNoIGNDdXJseUVycm9yICJ9IgogIHN5bnRheCByZWdpb24JY0Jsb2NrCQlzdGFydD0ieyIg ZW5kPSJ9IiBjb250YWlucz1BTExCVVQsY0JhZEJsb2NrLGNDdXJseUVycm9yLEBjUGFyZW5Hcm91 cCxjRXJySW5QYXJlbixjQ3BwUGFyZW4sY0VyckluQnJhY2tldCxjQ3BwQnJhY2tldCxjQ3BwU3Ry aW5nLEBTcGVsbCBmb2xkCmVsc2UKICBzeW50YXggcmVnaW9uCWNCbG9jawkJc3RhcnQ9InsiIGVu ZD0ifSIgdHJhbnNwYXJlbnQgZm9sZAplbmRpZgoKImNhdGNoIGVycm9ycyBjYXVzZWQgYnkgd3Jv bmcgcGFyZW50aGVzaXMgYW5kIGJyYWNrZXRzCiIgYWxzbyBhY2NlcHQgPCUgZm9yIHssICU+IGZv ciB9LCA8OiBmb3IgWyBhbmQgOj4gZm9yIF0gKEM5OSkKIiBCdXQgYXZvaWQgbWF0Y2hpbmcgPDo6 LgpzeW4gY2x1c3RlcgljUGFyZW5Hcm91cAljb250YWlucz1jUGFyZW5FcnJvcixjSW5jbHVkZWQs Y1NwZWNpYWwsY0NvbW1lbnRTa2lwLGNDb21tZW50U3RyaW5nLGNDb21tZW50MlN0cmluZyxAY0Nv bW1lbnRHcm91cCxjQ29tbWVudFN0YXJ0RXJyb3IsY1VzZXJDb250LGNVc2VyTGFiZWwsY0JpdEZp ZWxkLGNPY3RhbFplcm8sQGNDcHBPdXRJbkdyb3VwLGNGb3JtYXQsY051bWJlcixjRmxvYXQsY09j dGFsLGNPY3RhbEVycm9yLGNOdW1iZXJzQ29tCmlmIGV4aXN0cygiY19ub19jdXJseV9lcnJvciIp CiAgc3luIHJlZ2lvbgljUGFyZW4JCXRyYW5zcGFyZW50IHN0YXJ0PScoJyBlbmQ9JyknIGVuZD0n fSdtZT1zLTEgY29udGFpbnM9QUxMQlVULGNCbG9jayxAY1BhcmVuR3JvdXAsY0NwcFBhcmVuLGND cHBTdHJpbmcsQFNwZWxsCiAgIiBjQ3BwUGFyZW46IHNhbWUgYXMgY1BhcmVuIGJ1dCBlbmRzIGF0 IGVuZC1vZi1saW5lOyB1c2VkIGluIGNEZWZpbmUKICBzeW4gcmVnaW9uCWNDcHBQYXJlbgl0cmFu c3BhcmVudCBzdGFydD0nKCcgc2tpcD0nXFwkJyBleGNsdWRlbmwgZW5kPScpJyBlbmQ9JyQnIGNv bnRhaW5lZCBjb250YWlucz1BTExCVVQsQGNQYXJlbkdyb3VwLGNQYXJlbixjU3RyaW5nLEBTcGVs bAogIHN5biBtYXRjaAljUGFyZW5FcnJvcglkaXNwbGF5ICIpIgogIHN5biBtYXRjaAljRXJySW5Q YXJlbglkaXNwbGF5IGNvbnRhaW5lZCAiXlt7fV1cfF48JVx8XiU+IgplbHNlaWYgZXhpc3RzKCJj X25vX2JyYWNrZXRfZXJyb3IiKQogIHN5biByZWdpb24JY1BhcmVuCQl0cmFuc3BhcmVudCBzdGFy dD0nKCcgZW5kPScpJyBlbmQ9J30nbWU9cy0xIGNvbnRhaW5zPUFMTEJVVCxjQmxvY2ssQGNQYXJl bkdyb3VwLGNDcHBQYXJlbixjQ3BwU3RyaW5nLEBTcGVsbAogICIgY0NwcFBhcmVuOiBzYW1lIGFz IGNQYXJlbiBidXQgZW5kcyBhdCBlbmQtb2YtbGluZTsgdXNlZCBpbiBjRGVmaW5lCiAgc3luIHJl Z2lvbgljQ3BwUGFyZW4JdHJhbnNwYXJlbnQgc3RhcnQ9JygnIHNraXA9J1xcJCcgZXhjbHVkZW5s IGVuZD0nKScgZW5kPSckJyBjb250YWluZWQgY29udGFpbnM9QUxMQlVULEBjUGFyZW5Hcm91cCxj UGFyZW4sY1N0cmluZyxAU3BlbGwKICBzeW4gbWF0Y2gJY1BhcmVuRXJyb3IJZGlzcGxheSAiKSIK ICBzeW4gbWF0Y2gJY0VyckluUGFyZW4JZGlzcGxheSBjb250YWluZWQgIlt7fV1cfDwlXHwlPiIK ZWxzZQogIHN5biByZWdpb24JY1BhcmVuCQl0cmFuc3BhcmVudCBzdGFydD0nKCcgZW5kPScpJyBl bmQ9J30nbWU9cy0xIGNvbnRhaW5zPUFMTEJVVCxjQmxvY2ssQGNQYXJlbkdyb3VwLGNDcHBQYXJl bixjRXJySW5CcmFja2V0LGNDcHBCcmFja2V0LGNDcHBTdHJpbmcsQFNwZWxsCiAgIiBjQ3BwUGFy ZW46IHNhbWUgYXMgY1BhcmVuIGJ1dCBlbmRzIGF0IGVuZC1vZi1saW5lOyB1c2VkIGluIGNEZWZp bmUKICBzeW4gcmVnaW9uCWNDcHBQYXJlbgl0cmFuc3BhcmVudCBzdGFydD0nKCcgc2tpcD0nXFwk JyBleGNsdWRlbmwgZW5kPScpJyBlbmQ9JyQnIGNvbnRhaW5lZCBjb250YWlucz1BTExCVVQsQGNQ YXJlbkdyb3VwLGNFcnJJbkJyYWNrZXQsY1BhcmVuLGNCcmFja2V0LGNTdHJpbmcsQFNwZWxsCiAg c3luIG1hdGNoCWNQYXJlbkVycm9yCWRpc3BsYXkgIltcXSldIgogIHN5biBtYXRjaAljRXJySW5Q YXJlbglkaXNwbGF5IGNvbnRhaW5lZCAiW1xde31dXHw8JVx8JT4iCiAgc3luIHJlZ2lvbgljQnJh Y2tldAl0cmFuc3BhcmVudCBzdGFydD0nXFtcfDw6OlxAIScgZW5kPSddXHw6PicgZW5kPSd9J21l PXMtMSBjb250YWlucz1BTExCVVQsY0Jsb2NrLEBjUGFyZW5Hcm91cCxjRXJySW5QYXJlbixjQ3Bw UGFyZW4sY0NwcEJyYWNrZXQsY0NwcFN0cmluZyxAU3BlbGwKICAiIGNDcHBCcmFja2V0OiBzYW1l IGFzIGNQYXJlbiBidXQgZW5kcyBhdCBlbmQtb2YtbGluZTsgdXNlZCBpbiBjRGVmaW5lCiAgc3lu IHJlZ2lvbgljQ3BwQnJhY2tldAl0cmFuc3BhcmVudCBzdGFydD0nXFtcfDw6OlxAIScgc2tpcD0n XFwkJyBleGNsdWRlbmwgZW5kPSddXHw6PicgZW5kPSckJyBjb250YWluZWQgY29udGFpbnM9QUxM QlVULEBjUGFyZW5Hcm91cCxjRXJySW5QYXJlbixjUGFyZW4sY0JyYWNrZXQsY1N0cmluZyxAU3Bl bGwKICBzeW4gbWF0Y2gJY0VyckluQnJhY2tldAlkaXNwbGF5IGNvbnRhaW5lZCAiWyk7e31dXHw8 JVx8JT4iCmVuZGlmCgpzeW50YXggcmVnaW9uCWNCYWRCbG9jawlrZWVwZW5kIHN0YXJ0PSJ7IiBl bmQ9In0iIGNvbnRhaW5lZCBjb250YWluZWRpbj1jUGFyZW4sY0JyYWNrZXQsY0JhZEJsb2NrIHRy YW5zcGFyZW50IGZvbGQKCiJpbnRlZ2VyIG51bWJlciwgb3IgZmxvYXRpbmcgcG9pbnQgbnVtYmVy IHdpdGhvdXQgYSBkb3QgYW5kIHdpdGggImYiLgpzeW4gY2FzZSBpZ25vcmUKc3luIG1hdGNoCWNO dW1iZXJzCWRpc3BsYXkgdHJhbnNwYXJlbnQgIlw8XGRcfFwuXGQiIGNvbnRhaW5zPWNOdW1iZXIs Y0Zsb2F0LGNPY3RhbEVycm9yLGNPY3RhbAoiIFNhbWUsIGJ1dCB3aXRob3V0IG9jdGFsIGVycm9y IChmb3IgY29tbWVudHMpCnN5biBtYXRjaAljTnVtYmVyc0NvbQlkaXNwbGF5IGNvbnRhaW5lZCB0 cmFuc3BhcmVudCAiXDxcZFx8XC5cZCIgY29udGFpbnM9Y051bWJlcixjRmxvYXQsY09jdGFsCnN5 biBtYXRjaAljTnVtYmVyCQlkaXNwbGF5IGNvbnRhaW5lZCAiXGRcK1wodVw9bFx7MCwyfVx8bGxc PXVcKVw+IgoiaGV4IG51bWJlcgpzeW4gbWF0Y2gJY051bWJlcgkJZGlzcGxheSBjb250YWluZWQg IjB4XHhcK1wodVw9bFx7MCwyfVx8bGxcPXVcKVw+IgoiIEZsYWcgdGhlIGZpcnN0IHplcm8gb2Yg YW4gb2N0YWwgbnVtYmVyIGFzIHNvbWV0aGluZyBzcGVjaWFsCnN5biBtYXRjaAljT2N0YWwJCWRp c3BsYXkgY29udGFpbmVkICIwXG9cK1wodVw9bFx7MCwyfVx8bGxcPXVcKVw+IiBjb250YWlucz1j T2N0YWxaZXJvCnN5biBtYXRjaAljT2N0YWxaZXJvCWRpc3BsYXkgY29udGFpbmVkICJcPDAiCnN5 biBtYXRjaAljRmxvYXQJCWRpc3BsYXkgY29udGFpbmVkICJcZFwrZiIKImZsb2F0aW5nIHBvaW50 IG51bWJlciwgd2l0aCBkb3QsIG9wdGlvbmFsIGV4cG9uZW50CnN5biBtYXRjaAljRmxvYXQJCWRp c3BsYXkgY29udGFpbmVkICJcZFwrXC5cZCpcKGVbLStdXD1cZFwrXClcPVtmbF1cPSIKImZsb2F0 aW5nIHBvaW50IG51bWJlciwgc3RhcnRpbmcgd2l0aCBhIGRvdCwgb3B0aW9uYWwgZXhwb25lbnQK c3luIG1hdGNoCWNGbG9hdAkJZGlzcGxheSBjb250YWluZWQgIlwuXGRcK1woZVstK11cPVxkXCtc KVw9W2ZsXVw9XD4iCiJmbG9hdGluZyBwb2ludCBudW1iZXIsIHdpdGhvdXQgZG90LCB3aXRoIGV4 cG9uZW50CnN5biBtYXRjaAljRmxvYXQJCWRpc3BsYXkgY29udGFpbmVkICJcZFwrZVstK11cPVxk XCtbZmxdXD1cPiIKaWYgIWV4aXN0cygiY19ub19jOTkiKQogICJoZXhhZGVjaW1hbCBmbG9hdGlu ZyBwb2ludCBudW1iZXIsIG9wdGlvbmFsIGxlYWRpbmcgZGlnaXRzLCB3aXRoIGRvdCwgd2l0aCBl eHBvbmVudAogIHN5biBtYXRjaAljRmxvYXQJCWRpc3BsYXkgY29udGFpbmVkICIweFx4KlwuXHhc K3BbLStdXD1cZFwrW2ZsXVw9XD4iCiAgImhleGFkZWNpbWFsIGZsb2F0aW5nIHBvaW50IG51bWJl ciwgd2l0aCBsZWFkaW5nIGRpZ2l0cywgb3B0aW9uYWwgZG90LCB3aXRoIGV4cG9uZW50CiAgc3lu IG1hdGNoCWNGbG9hdAkJZGlzcGxheSBjb250YWluZWQgIjB4XHhcK1wuXD1wWy0rXVw9XGRcK1tm bF1cPVw+IgplbmRpZgoKIiBmbGFnIGFuIG9jdGFsIG51bWJlciB3aXRoIHdyb25nIGRpZ2l0cwpz eW4gbWF0Y2gJY09jdGFsRXJyb3IJZGlzcGxheSBjb250YWluZWQgIjBcbypbODldXGQqIgpzeW4g Y2FzZSBtYXRjaAoKaWYgZXhpc3RzKCJjX2NvbW1lbnRfc3RyaW5ncyIpCiAgIiBBIGNvbW1lbnQg Y2FuIGNvbnRhaW4gY1N0cmluZywgY0NoYXJhY3RlciBhbmQgY051bWJlci4KICAiIEJ1dCBhICIq LyIgaW5zaWRlIGEgY1N0cmluZyBpbiBhIGNDb21tZW50IERPRVMgZW5kIHRoZSBjb21tZW50ISAg U28gd2UKICAiIG5lZWQgdG8gdXNlIGEgc3BlY2lhbCB0eXBlIG9mIGNTdHJpbmc6IGNDb21tZW50 U3RyaW5nLCB3aGljaCBhbHNvIGVuZHMgb24KICAiICIqLyIsIGFuZCBzZWVzIGEgIioiIGF0IHRo ZSBzdGFydCBvZiB0aGUgbGluZSBhcyBjb21tZW50IGFnYWluLgogICIgVW5mb3J0dW5hdGVseSB0 aGlzIGRvZXNuJ3QgdmVyeSB3ZWxsIHdvcmsgZm9yIC8vIHR5cGUgb2YgY29tbWVudHMgOi0oCiAg c3ludGF4IG1hdGNoCWNDb21tZW50U2tpcAljb250YWluZWQgIl5ccypcKlwoJFx8XHNcK1wpIgog IHN5bnRheCByZWdpb24gY0NvbW1lbnRTdHJpbmcJY29udGFpbmVkIHN0YXJ0PStMXD1cXFxAPCEi KyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgZW5kPStcKi8rbWU9cy0xIGNvbnRhaW5zPWNTcGVj aWFsLGNDb21tZW50U2tpcAogIHN5bnRheCByZWdpb24gY0NvbW1lbnQyU3RyaW5nCWNvbnRhaW5l ZCBzdGFydD0rTFw9XFxcQDwhIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGVuZD0iJCIgY29u dGFpbnM9Y1NwZWNpYWwKICBzeW50YXggcmVnaW9uICBjQ29tbWVudEwJc3RhcnQ9Ii8vIiBza2lw PSJcXCQiIGVuZD0iJCIga2VlcGVuZCBjb250YWlucz1AY0NvbW1lbnRHcm91cCxjQ29tbWVudDJT dHJpbmcsY0NoYXJhY3RlcixjTnVtYmVyc0NvbSxjU3BhY2VFcnJvcixAU3BlbGwKICBpZiBleGlz dHMoImNfbm9fY29tbWVudF9mb2xkIikKICAgICIgVXNlICJleHRlbmQiIGhlcmUgdG8gaGF2ZSBw cmVwcm9jZXNzb3IgbGluZXMgbm90IHRlcm1pbmF0ZSBoYWxmd2F5IGEKICAgICIgY29tbWVudC4K ICAgIHN5bnRheCByZWdpb24gY0NvbW1lbnQJbWF0Y2hncm91cD1jQ29tbWVudFN0YXJ0IHN0YXJ0 PSIvXCoiIGVuZD0iXCovIiBjb250YWlucz1AY0NvbW1lbnRHcm91cCxjQ29tbWVudFN0YXJ0RXJy b3IsY0NvbW1lbnRTdHJpbmcsY0NoYXJhY3RlcixjTnVtYmVyc0NvbSxjU3BhY2VFcnJvcixAU3Bl bGwgZXh0ZW5kCiAgZWxzZQogICAgc3ludGF4IHJlZ2lvbiBjQ29tbWVudAltYXRjaGdyb3VwPWND b21tZW50U3RhcnQgc3RhcnQ9Ii9cKiIgZW5kPSJcKi8iIGNvbnRhaW5zPUBjQ29tbWVudEdyb3Vw LGNDb21tZW50U3RhcnRFcnJvcixjQ29tbWVudFN0cmluZyxjQ2hhcmFjdGVyLGNOdW1iZXJzQ29t LGNTcGFjZUVycm9yLEBTcGVsbCBmb2xkIGV4dGVuZAogIGVuZGlmCmVsc2UKICBzeW4gcmVnaW9u CWNDb21tZW50TAlzdGFydD0iLy8iIHNraXA9IlxcJCIgZW5kPSIkIiBrZWVwZW5kIGNvbnRhaW5z PUBjQ29tbWVudEdyb3VwLGNTcGFjZUVycm9yLEBTcGVsbAogIGlmIGV4aXN0cygiY19ub19jb21t ZW50X2ZvbGQiKQogICAgc3luIHJlZ2lvbgljQ29tbWVudAltYXRjaGdyb3VwPWNDb21tZW50U3Rh cnQgc3RhcnQ9Ii9cKiIgZW5kPSJcKi8iIGNvbnRhaW5zPUBjQ29tbWVudEdyb3VwLGNDb21tZW50 U3RhcnRFcnJvcixjU3BhY2VFcnJvcixAU3BlbGwgZXh0ZW5kCiAgZWxzZQogICAgc3luIHJlZ2lv bgljQ29tbWVudAltYXRjaGdyb3VwPWNDb21tZW50U3RhcnQgc3RhcnQ9Ii9cKiIgZW5kPSJcKi8i IGNvbnRhaW5zPUBjQ29tbWVudEdyb3VwLGNDb21tZW50U3RhcnRFcnJvcixjU3BhY2VFcnJvcixA U3BlbGwgZm9sZCBleHRlbmQKICBlbmRpZgplbmRpZgoiIGtlZXAgYSAvLyBjb21tZW50IHNlcGFy YXRlbHksIGl0IHRlcm1pbmF0ZXMgYSBwcmVwcm9jLiBjb25kaXRpb25hbApzeW50YXggbWF0Y2gJ Y0NvbW1lbnRFcnJvcglkaXNwbGF5ICJcKi8iCnN5bnRheCBtYXRjaAljQ29tbWVudFN0YXJ0RXJy b3IgZGlzcGxheSAiL1wqIm1lPWUtMSBjb250YWluZWQKCnN5biBrZXl3b3JkCWNPcGVyYXRvcglz aXplb2YKaWYgZXhpc3RzKCJjX2dudSIpCiAgc3luIGtleXdvcmQJY1N0YXRlbWVudAlfX2FzbV9f CiAgc3luIGtleXdvcmQJY09wZXJhdG9yCXR5cGVvZiBfX3JlYWxfXyBfX2ltYWdfXwplbmRpZgpz eW4ga2V5d29yZAljVHlwZQkJaW50IGxvbmcgc2hvcnQgY2hhciB2b2lkCnN5biBrZXl3b3JkCWNU eXBlCQlzaWduZWQgdW5zaWduZWQgZmxvYXQgZG91YmxlCmlmICFleGlzdHMoImNfbm9fYW5zaSIp IHx8IGV4aXN0cygiY19hbnNpX3R5cGVkZWZzIikKICBzeW4ga2V5d29yZCAgIGNUeXBlCQlzaXpl X3Qgc3NpemVfdCBvZmZfdCB3Y2hhcl90IHB0cmRpZmZfdCBzaWdfYXRvbWljX3QgZnBvc190CiAg c3luIGtleXdvcmQgICBjVHlwZQkJY2xvY2tfdCB0aW1lX3QgdmFfbGlzdCBqbXBfYnVmIEZJTEUg RElSIGRpdl90IGxkaXZfdAogIHN5biBrZXl3b3JkICAgY1R5cGUJCW1ic3RhdGVfdCB3Y3RyYW5z X3Qgd2ludF90IHdjdHlwZV90CmVuZGlmCmlmICFleGlzdHMoImNfbm9fYzk5IikgIiBJU08gQzk5 CiAgc3luIGtleXdvcmQJY1R5cGUJCV9Cb29sIGJvb2wgX0NvbXBsZXggY29tcGxleCBfSW1hZ2lu YXJ5IGltYWdpbmFyeQogIHN5biBrZXl3b3JkCWNUeXBlCQlpbnQ4X3QgaW50MTZfdCBpbnQzMl90 IGludDY0X3QKICBzeW4ga2V5d29yZAljVHlwZQkJdWludDhfdCB1aW50MTZfdCB1aW50MzJfdCB1 aW50NjRfdAogIHN5biBrZXl3b3JkCWNUeXBlCQlpbnRfbGVhc3Q4X3QgaW50X2xlYXN0MTZfdCBp bnRfbGVhc3QzMl90IGludF9sZWFzdDY0X3QKICBzeW4ga2V5d29yZAljVHlwZQkJdWludF9sZWFz dDhfdCB1aW50X2xlYXN0MTZfdCB1aW50X2xlYXN0MzJfdCB1aW50X2xlYXN0NjRfdAogIHN5biBr ZXl3b3JkCWNUeXBlCQlpbnRfZmFzdDhfdCBpbnRfZmFzdDE2X3QgaW50X2Zhc3QzMl90IGludF9m YXN0NjRfdAogIHN5biBrZXl3b3JkCWNUeXBlCQl1aW50X2Zhc3Q4X3QgdWludF9mYXN0MTZfdCB1 aW50X2Zhc3QzMl90IHVpbnRfZmFzdDY0X3QKICBzeW4ga2V5d29yZAljVHlwZQkJaW50cHRyX3Qg dWludHB0cl90CiAgc3luIGtleXdvcmQJY1R5cGUJCWludG1heF90IHVpbnRtYXhfdAplbmRpZgpp ZiBleGlzdHMoImNfZ251IikKICBzeW4ga2V5d29yZAljVHlwZQkJX19sYWJlbF9fIF9fY29tcGxl eF9fIF9fdm9sYXRpbGVfXwplbmRpZgoKc3luIGtleXdvcmQJY1N0cnVjdHVyZQlzdHJ1Y3QgdW5p b24gZW51bSB0eXBlZGVmCnN5biBrZXl3b3JkCWNTdG9yYWdlQ2xhc3MJc3RhdGljIHJlZ2lzdGVy IGF1dG8gdm9sYXRpbGUgZXh0ZXJuIGNvbnN0CmlmIGV4aXN0cygiY19nbnUiKQogIHN5biBrZXl3 b3JkCWNTdG9yYWdlQ2xhc3MJaW5saW5lIF9fYXR0cmlidXRlX18KZW5kaWYKaWYgIWV4aXN0cygi Y19ub19jOTkiKQogIHN5biBrZXl3b3JkCWNTdG9yYWdlQ2xhc3MJaW5saW5lIHJlc3RyaWN0CmVu ZGlmCmlmICFleGlzdHMoImNfbm9fYzExIikKICBzeW4ga2V5d29yZAljU3RvcmFnZUNsYXNzCV9B bGlnbmFzIGFsaWduYXMKICBzeW4ga2V5d29yZAljT3BlcmF0b3IJX0FsaWdub2YgYWxpZ25vZgog IHN5biBrZXl3b3JkCWNTdG9yYWdlQ2xhc3MJX0F0b21pYwogIHN5biBrZXl3b3JkCWNPcGVyYXRv cglfR2VuZXJpYwogIHN5biBrZXl3b3JkCWNTdG9yYWdlQ2xhc3MJX05vcmV0dXJuIG5vcmV0dXJu CiAgc3luIGtleXdvcmQJY09wZXJhdG9yCV9TdGF0aWNfYXNzZXJ0IHN0YXRpY19hc3NlcnQKICBz eW4ga2V5d29yZAljU3RvcmFnZUNsYXNzCV9UaHJlYWRfbG9jYWwgdGhyZWFkX2xvY2FsCiAgc3lu IGtleXdvcmQgICBjVHlwZQkJY2hhcjE2X3QgY2hhcjMyX3QKZW5kaWYKCmlmICFleGlzdHMoImNf bm9fYW5zaSIpIHx8IGV4aXN0cygiY19hbnNpX2NvbnN0YW50cyIpIHx8IGV4aXN0cygiY19nbnUi KQogIGlmIGV4aXN0cygiY19nbnUiKQogICAgc3luIGtleXdvcmQgY0NvbnN0YW50IF9fR05VQ19f IF9fRlVOQ1RJT05fXyBfX1BSRVRUWV9GVU5DVElPTl9fIF9fZnVuY19fCiAgZW5kaWYKICBzeW4g a2V5d29yZCBjQ29uc3RhbnQgX19MSU5FX18gX19GSUxFX18gX19EQVRFX18gX19USU1FX18gX19T VERDX18KICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgX19TVERDX1ZFUlNJT05fXwogIHN5biBrZXl3 b3JkIGNDb25zdGFudCBDSEFSX0JJVCBNQl9MRU5fTUFYIE1CX0NVUl9NQVgKICBzeW4ga2V5d29y ZCBjQ29uc3RhbnQgVUNIQVJfTUFYIFVJTlRfTUFYIFVMT05HX01BWCBVU0hSVF9NQVgKICBzeW4g a2V5d29yZCBjQ29uc3RhbnQgQ0hBUl9NSU4gSU5UX01JTiBMT05HX01JTiBTSFJUX01JTgogIHN5 biBrZXl3b3JkIGNDb25zdGFudCBDSEFSX01BWCBJTlRfTUFYIExPTkdfTUFYIFNIUlRfTUFYCiAg c3luIGtleXdvcmQgY0NvbnN0YW50IFNDSEFSX01JTiBTSU5UX01JTiBTTE9OR19NSU4gU1NIUlRf TUlOCiAgc3luIGtleXdvcmQgY0NvbnN0YW50IFNDSEFSX01BWCBTSU5UX01BWCBTTE9OR19NQVgg U1NIUlRfTUFYCiAgaWYgIWV4aXN0cygiY19ub19jOTkiKQogICAgc3luIGtleXdvcmQgY0NvbnN0 YW50IF9fZnVuY19fCiAgICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgTExPTkdfTUlOIExMT05HX01B WCBVTExPTkdfTUFYCiAgICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgSU5UOF9NSU4gSU5UMTZfTUlO IElOVDMyX01JTiBJTlQ2NF9NSU4KICAgIHN5biBrZXl3b3JkIGNDb25zdGFudCBJTlQ4X01BWCBJ TlQxNl9NQVggSU5UMzJfTUFYIElOVDY0X01BWAogICAgc3luIGtleXdvcmQgY0NvbnN0YW50IFVJ TlQ4X01BWCBVSU5UMTZfTUFYIFVJTlQzMl9NQVggVUlOVDY0X01BWAogICAgc3luIGtleXdvcmQg Y0NvbnN0YW50IElOVF9MRUFTVDhfTUlOIElOVF9MRUFTVDE2X01JTiBJTlRfTEVBU1QzMl9NSU4g SU5UX0xFQVNUNjRfTUlOCiAgICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgSU5UX0xFQVNUOF9NQVgg SU5UX0xFQVNUMTZfTUFYIElOVF9MRUFTVDMyX01BWCBJTlRfTEVBU1Q2NF9NQVgKICAgIHN5biBr ZXl3b3JkIGNDb25zdGFudCBVSU5UX0xFQVNUOF9NQVggVUlOVF9MRUFTVDE2X01BWCBVSU5UX0xF QVNUMzJfTUFYIFVJTlRfTEVBU1Q2NF9NQVgKICAgIHN5biBrZXl3b3JkIGNDb25zdGFudCBJTlRf RkFTVDhfTUlOIElOVF9GQVNUMTZfTUlOIElOVF9GQVNUMzJfTUlOIElOVF9GQVNUNjRfTUlOCiAg ICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgSU5UX0ZBU1Q4X01BWCBJTlRfRkFTVDE2X01BWCBJTlRf RkFTVDMyX01BWCBJTlRfRkFTVDY0X01BWAogICAgc3luIGtleXdvcmQgY0NvbnN0YW50IFVJTlRf RkFTVDhfTUFYIFVJTlRfRkFTVDE2X01BWCBVSU5UX0ZBU1QzMl9NQVggVUlOVF9GQVNUNjRfTUFY CiAgICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgSU5UUFRSX01JTiBJTlRQVFJfTUFYIFVJTlRQVFJf TUFYCiAgICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgSU5UTUFYX01JTiBJTlRNQVhfTUFYIFVJTlRN QVhfTUFYCiAgICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgUFRSRElGRl9NSU4gUFRSRElGRl9NQVgg U0lHX0FUT01JQ19NSU4gU0lHX0FUT01JQ19NQVgKICAgIHN5biBrZXl3b3JkIGNDb25zdGFudCBT SVpFX01BWCBXQ0hBUl9NSU4gV0NIQVJfTUFYIFdJTlRfTUlOIFdJTlRfTUFYCiAgZW5kaWYKICBz eW4ga2V5d29yZCBjQ29uc3RhbnQgRkxUX1JBRElYIEZMVF9ST1VORFMKICBzeW4ga2V5d29yZCBj Q29uc3RhbnQgRkxUX0RJRyBGTFRfTUFOVF9ESUcgRkxUX0VQU0lMT04KICBzeW4ga2V5d29yZCBj Q29uc3RhbnQgREJMX0RJRyBEQkxfTUFOVF9ESUcgREJMX0VQU0lMT04KICBzeW4ga2V5d29yZCBj Q29uc3RhbnQgTERCTF9ESUcgTERCTF9NQU5UX0RJRyBMREJMX0VQU0lMT04KICBzeW4ga2V5d29y ZCBjQ29uc3RhbnQgRkxUX01JTiBGTFRfTUFYIEZMVF9NSU5fRVhQIEZMVF9NQVhfRVhQCiAgc3lu IGtleXdvcmQgY0NvbnN0YW50IEZMVF9NSU5fMTBfRVhQIEZMVF9NQVhfMTBfRVhQCiAgc3luIGtl eXdvcmQgY0NvbnN0YW50IERCTF9NSU4gREJMX01BWCBEQkxfTUlOX0VYUCBEQkxfTUFYX0VYUAog IHN5biBrZXl3b3JkIGNDb25zdGFudCBEQkxfTUlOXzEwX0VYUCBEQkxfTUFYXzEwX0VYUAogIHN5 biBrZXl3b3JkIGNDb25zdGFudCBMREJMX01JTiBMREJMX01BWCBMREJMX01JTl9FWFAgTERCTF9N QVhfRVhQCiAgc3luIGtleXdvcmQgY0NvbnN0YW50IExEQkxfTUlOXzEwX0VYUCBMREJMX01BWF8x MF9FWFAKICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgSFVHRV9WQUwgQ0xPQ0tTX1BFUl9TRUMgTlVM TAogIHN5biBrZXl3b3JkIGNDb25zdGFudCBMQ19BTEwgTENfQ09MTEFURSBMQ19DVFlQRSBMQ19N T05FVEFSWQogIHN5biBrZXl3b3JkIGNDb25zdGFudCBMQ19OVU1FUklDIExDX1RJTUUKICBzeW4g a2V5d29yZCBjQ29uc3RhbnQgU0lHX0RGTCBTSUdfRVJSIFNJR19JR04KICBzeW4ga2V5d29yZCBj Q29uc3RhbnQgU0lHQUJSVCBTSUdGUEUgU0lHSUxMIFNJR0hVUCBTSUdJTlQgU0lHU0VHViBTSUdU RVJNCiAgIiBBZGQgUE9TSVggc2lnbmFscyBhcyB3ZWxsLi4uCiAgc3luIGtleXdvcmQgY0NvbnN0 YW50IFNJR0FCUlQgU0lHQUxSTSBTSUdDSExEIFNJR0NPTlQgU0lHRlBFIFNJR0hVUAogIHN5biBr ZXl3b3JkIGNDb25zdGFudCBTSUdJTEwgU0lHSU5UIFNJR0tJTEwgU0lHUElQRSBTSUdRVUlUIFNJ R1NFR1YKICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgU0lHU1RPUCBTSUdURVJNIFNJR1RSQVAgU0lH VFNUUCBTSUdUVElOIFNJR1RUT1UKICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgU0lHVVNSMSBTSUdV U1IyCiAgc3luIGtleXdvcmQgY0NvbnN0YW50IF9JT0ZCRiBfSU9MQkYgX0lPTkJGIEJVRlNJWiBF T0YgV0VPRgogIHN5biBrZXl3b3JkIGNDb25zdGFudCBGT1BFTl9NQVggRklMRU5BTUVfTUFYIExf dG1wbmFtCiAgc3luIGtleXdvcmQgY0NvbnN0YW50IFNFRUtfQ1VSIFNFRUtfRU5EIFNFRUtfU0VU CiAgc3luIGtleXdvcmQgY0NvbnN0YW50IFRNUF9NQVggc3RkZXJyIHN0ZGluIHN0ZG91dAogIHN5 biBrZXl3b3JkIGNDb25zdGFudCBFWElUX0ZBSUxVUkUgRVhJVF9TVUNDRVNTIFJBTkRfTUFYCiAg IiBBZGQgUE9TSVggZXJyb3JzIGFzIHdlbGwKICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgRTJCSUcg RUFDQ0VTIEVBR0FJTiBFQkFERiBFQkFETVNHIEVCVVNZCiAgc3luIGtleXdvcmQgY0NvbnN0YW50 IEVDQU5DRUxFRCBFQ0hJTEQgRURFQURMSyBFRE9NIEVFWElTVCBFRkFVTFQKICBzeW4ga2V5d29y ZCBjQ29uc3RhbnQgRUZCSUcgRUlMU0VRIEVJTlBST0dSRVNTIEVJTlRSIEVJTlZBTCBFSU8gRUlT RElSCiAgc3luIGtleXdvcmQgY0NvbnN0YW50IEVNRklMRSBFTUxJTksgRU1TR1NJWkUgRU5BTUVU T09MT05HIEVORklMRSBFTk9ERVYKICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgRU5PRU5UIEVOT0VY RUMgRU5PTENLIEVOT01FTSBFTk9TUEMgRU5PU1lTCiAgc3luIGtleXdvcmQgY0NvbnN0YW50IEVO T1RESVIgRU5PVEVNUFRZIEVOT1RTVVAgRU5PVFRZIEVOWElPIEVQRVJNCiAgc3luIGtleXdvcmQg Y0NvbnN0YW50IEVQSVBFIEVSQU5HRSBFUk9GUyBFU1BJUEUgRVNSQ0ggRVRJTUVET1VUIEVYREVW CiAgIiBtYXRoLmgKICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgTV9FIE1fTE9HMkUgTV9MT0cxMEUg TV9MTjIgTV9MTjEwIE1fUEkgTV9QSV8yIE1fUElfNAogIHN5biBrZXl3b3JkIGNDb25zdGFudCBN XzFfUEkgTV8yX1BJIE1fMl9TUVJUUEkgTV9TUVJUMiBNX1NRUlQxXzIKZW5kaWYKaWYgIWV4aXN0 cygiY19ub19jOTkiKSAiIElTTyBDOTkKICBzeW4ga2V5d29yZCBjQ29uc3RhbnQgdHJ1ZSBmYWxz ZQplbmRpZgoKIiBBY2NlcHQgJTogZm9yICMgKEM5OSkKc3luIHJlZ2lvbgljUHJlQ29uZGl0CXN0 YXJ0PSJeXHMqXCglOlx8I1wpXHMqXChpZlx8aWZkZWZcfGlmbmRlZlx8ZWxpZlwpXD4iIHNraXA9 IlxcJCIgZW5kPSIkIiBrZWVwZW5kIGNvbnRhaW5zPWNDb21tZW50LGNDb21tZW50TCxjQ3BwU3Ry aW5nLGNDaGFyYWN0ZXIsY0NwcFBhcmVuLGNQYXJlbkVycm9yLGNOdW1iZXJzLGNDb21tZW50RXJy b3IsY1NwYWNlRXJyb3IKc3luIG1hdGNoCWNQcmVDb25kaXRNYXRjaAlkaXNwbGF5ICJeXHMqXCgl Olx8I1wpXHMqXChlbHNlXHxlbmRpZlwpXD4iCmlmICFleGlzdHMoImNfbm9faWYwIikKICBzeW4g Y2x1c3RlcgljQ3BwT3V0SW5Hcm91cAljb250YWlucz1jQ3BwSW5JZixjQ3BwSW5FbHNlLGNDcHBJ bkVsc2UyLGNDcHBPdXRJZixjQ3BwT3V0SWYyLGNDcHBPdXRFbHNlLGNDcHBJblNraXAsY0NwcE91 dFNraXAKICBzeW4gcmVnaW9uCWNDcHBPdXRXcmFwcGVyCXN0YXJ0PSJeXHMqXCglOlx8I1wpXHMq aWZcc1wrMFwrXHMqXCgkXHwvL1x8L1wqXHwmXCkiIGVuZD0iLlxAPVx8JCIgY29udGFpbnM9Y0Nw cE91dElmLGNDcHBPdXRFbHNlIGZvbGQKICBzeW4gcmVnaW9uCWNDcHBPdXRJZgljb250YWluZWQg c3RhcnQ9IjBcKyIgbWF0Y2hncm91cD1jQ3BwT3V0V3JhcHBlciBlbmQ9Il5ccypcKCU6XHwjXClc cyplbmRpZlw+IiBjb250YWlucz1jQ3BwT3V0SWYyLGNDcHBPdXRFbHNlCiAgaWYgIWV4aXN0cygi Y19ub19pZjBfZm9sZCIpCiAgICBzeW4gcmVnaW9uCWNDcHBPdXRJZjIJY29udGFpbmVkIG1hdGNo Z3JvdXA9Y0NwcE91dFdyYXBwZXIgc3RhcnQ9IjBcKyIgZW5kPSJeXHMqXCglOlx8I1wpXHMqXChl bHNlXD5cfGVsaWZcc1wrXCgwXCtccypcKCRcfC8vXHwvXCpcfCZcKVwpXEAhXHxlbmRpZlw+XCki bWU9cy0xIGNvbnRhaW5zPWNTcGFjZUVycm9yLGNDcHBPdXRTa2lwIGZvbGQKICBlbHNlCiAgICBz eW4gcmVnaW9uCWNDcHBPdXRJZjIJY29udGFpbmVkIG1hdGNoZ3JvdXA9Y0NwcE91dFdyYXBwZXIg c3RhcnQ9IjBcKyIgZW5kPSJeXHMqXCglOlx8I1wpXHMqXChlbHNlXD5cfGVsaWZcc1wrXCgwXCtc cypcKCRcfC8vXHwvXCpcfCZcKVwpXEAhXHxlbmRpZlw+XCkibWU9cy0xIGNvbnRhaW5zPWNTcGFj ZUVycm9yLGNDcHBPdXRTa2lwCiAgZW5kaWYKICBzeW4gcmVnaW9uCWNDcHBPdXRFbHNlCWNvbnRh aW5lZCBtYXRjaGdyb3VwPWNDcHBPdXRXcmFwcGVyIHN0YXJ0PSJeXHMqXCglOlx8I1wpXHMqXChl bHNlXHxlbGlmXCkiIGVuZD0iXlxzKlwoJTpcfCNcKVxzKmVuZGlmXD4ibWU9cy0xIGNvbnRhaW5z PVRPUCxjUHJlQ29uZGl0CiAgc3luIHJlZ2lvbgljQ3BwSW5XcmFwcGVyCXN0YXJ0PSJeXHMqXCgl Olx8I1wpXHMqaWZcc1wrMCpbMS05XVxkKlxzKlwoJFx8Ly9cfC9cKlx8fFwpIiBlbmQ9Ii5cQD1c fCQiIGNvbnRhaW5zPWNDcHBJbklmLGNDcHBJbkVsc2UgZm9sZAogIHN5biByZWdpb24JY0NwcElu SWYJY29udGFpbmVkIG1hdGNoZ3JvdXA9Y0NwcEluV3JhcHBlciBzdGFydD0iXGRcKyIgZW5kPSJe XHMqXCglOlx8I1wpXHMqZW5kaWZcPiIgY29udGFpbnM9VE9QLGNQcmVDb25kaXQKICBpZiAhZXhp c3RzKCJjX25vX2lmMF9mb2xkIikKICAgIHN5biByZWdpb24JY0NwcEluRWxzZQljb250YWluZWQg c3RhcnQ9Il5ccypcKCU6XHwjXClccypcKGVsc2VcPlx8ZWxpZlxzXCtcKDAqWzEtOV1cZCpccypc KCRcfC8vXHwvXCpcfHxcKVwpXEAhXCkiIGVuZD0iLlxAPVx8JCIgY29udGFpbmVkaW49Y0NwcElu SWYgY29udGFpbnM9Y0NwcEluRWxzZTIgZm9sZAogIGVsc2UKICAgIHN5biByZWdpb24JY0NwcElu RWxzZQljb250YWluZWQgc3RhcnQ9Il5ccypcKCU6XHwjXClccypcKGVsc2VcPlx8ZWxpZlxzXCtc KDAqWzEtOV1cZCpccypcKCRcfC8vXHwvXCpcfHxcKVwpXEAhXCkiIGVuZD0iLlxAPVx8JCIgY29u dGFpbmVkaW49Y0NwcEluSWYgY29udGFpbnM9Y0NwcEluRWxzZTIKICBlbmRpZgogIHN5biByZWdp b24JY0NwcEluRWxzZTIJY29udGFpbmVkIG1hdGNoZ3JvdXA9Y0NwcEluV3JhcHBlciBzdGFydD0i XlxzKlwoJTpcfCNcKVxzKlwoZWxzZVx8ZWxpZlwpXChbXi9dXHwvW14vKl1cKSoiIGVuZD0iXlxz KlwoJTpcfCNcKVxzKmVuZGlmXD4ibWU9cy0xIGNvbnRhaW5zPWNTcGFjZUVycm9yLGNDcHBPdXRT a2lwCiAgc3luIHJlZ2lvbgljQ3BwT3V0U2tpcAljb250YWluZWQgc3RhcnQ9Il5ccypcKCU6XHwj XClccypcKGlmXD5cfGlmZGVmXD5cfGlmbmRlZlw+XCkiIHNraXA9IlxcJCIgZW5kPSJeXHMqXCgl Olx8I1wpXHMqZW5kaWZcPiIgY29udGFpbnM9Y1NwYWNlRXJyb3IsY0NwcE91dFNraXAKICBzeW4g cmVnaW9uCWNDcHBJblNraXAJY29udGFpbmVkIG1hdGNoZ3JvdXA9Y0NwcEluV3JhcHBlciBzdGFy dD0iXlxzKlwoJTpcfCNcKVxzKlwoaWZcc1wrXChcZFwrXHMqXCgkXHwvL1x8L1wqXHx8XHwmXClc KVxAIVx8aWZkZWZcPlx8aWZuZGVmXD5cKSIgc2tpcD0iXFwkIiBlbmQ9Il5ccypcKCU6XHwjXClc cyplbmRpZlw+IiBjb250YWluZWRpbj1jQ3BwT3V0RWxzZSxjQ3BwSW5JZixjQ3BwSW5Ta2lwIGNv bnRhaW5zPVRPUCxjUHJlUHJvYwplbmRpZgpzeW4gcmVnaW9uCWNJbmNsdWRlZAlkaXNwbGF5IGNv bnRhaW5lZCBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrCnN5biBtYXRjaAljSW5j bHVkZWQJZGlzcGxheSBjb250YWluZWQgIjxbXj5dKj4iCnN5biBtYXRjaAljSW5jbHVkZQlkaXNw bGF5ICJeXHMqXCglOlx8I1wpXHMqaW5jbHVkZVw+XHMqWyI8XSIgY29udGFpbnM9Y0luY2x1ZGVk CiJzeW4gbWF0Y2ggY0xpbmVTa2lwCSJcXCQiCnN5biBjbHVzdGVyCWNQcmVQcm9jR3JvdXAJY29u dGFpbnM9Y1ByZUNvbmRpdCxjSW5jbHVkZWQsY0luY2x1ZGUsY0RlZmluZSxjRXJySW5QYXJlbixj RXJySW5CcmFja2V0LGNVc2VyTGFiZWwsY1NwZWNpYWwsY09jdGFsWmVybyxjQ3BwT3V0V3JhcHBl cixjQ3BwSW5XcmFwcGVyLEBjQ3BwT3V0SW5Hcm91cCxjRm9ybWF0LGNOdW1iZXIsY0Zsb2F0LGNP Y3RhbCxjT2N0YWxFcnJvcixjTnVtYmVyc0NvbSxjU3RyaW5nLGNDb21tZW50U2tpcCxjQ29tbWVu dFN0cmluZyxjQ29tbWVudDJTdHJpbmcsQGNDb21tZW50R3JvdXAsY0NvbW1lbnRTdGFydEVycm9y LGNQYXJlbixjQnJhY2tldCxjTXVsdGksY0JhZEJsb2NrCnN5biByZWdpb24JY0RlZmluZQkJc3Rh cnQ9Il5ccypcKCU6XHwjXClccypcKGRlZmluZVx8dW5kZWZcKVw+IiBza2lwPSJcXCQiIGVuZD0i JCIga2VlcGVuZCBjb250YWlucz1BTExCVVQsQGNQcmVQcm9jR3JvdXAsQFNwZWxsCnN5biByZWdp b24JY1ByZVByb2MJc3RhcnQ9Il5ccypcKCU6XHwjXClccypcKHByYWdtYVw+XHxsaW5lXD5cfHdh cm5pbmdcPlx8d2Fyblw+XHxlcnJvclw+XCkiIHNraXA9IlxcJCIgZW5kPSIkIiBrZWVwZW5kIGNv bnRhaW5zPUFMTEJVVCxAY1ByZVByb2NHcm91cCxAU3BlbGwKCiIgSGlnaGxpZ2h0IFVzZXIgTGFi ZWxzCnN5biBjbHVzdGVyCWNNdWx0aUdyb3VwCWNvbnRhaW5zPWNJbmNsdWRlZCxjU3BlY2lhbCxj Q29tbWVudFNraXAsY0NvbW1lbnRTdHJpbmcsY0NvbW1lbnQyU3RyaW5nLEBjQ29tbWVudEdyb3Vw LGNDb21tZW50U3RhcnRFcnJvcixjVXNlckNvbnQsY1VzZXJMYWJlbCxjQml0RmllbGQsY09jdGFs WmVybyxjQ3BwT3V0V3JhcHBlcixjQ3BwSW5XcmFwcGVyLEBjQ3BwT3V0SW5Hcm91cCxjRm9ybWF0 LGNOdW1iZXIsY0Zsb2F0LGNPY3RhbCxjT2N0YWxFcnJvcixjTnVtYmVyc0NvbSxjQ3BwUGFyZW4s Y0NwcEJyYWNrZXQsY0NwcFN0cmluZwpzeW4gcmVnaW9uCWNNdWx0aQkJdHJhbnNwYXJlbnQgc3Rh cnQ9Jz8nIHNraXA9Jzo6JyBlbmQ9JzonIGNvbnRhaW5zPUFMTEJVVCxAY011bHRpR3JvdXAsQFNw ZWxsCiIgQXZvaWQgbWF0Y2hpbmcgZm9vOjpiYXIoKSBpbiBDKysgYnkgcmVxdWlyaW5nIHRoYXQg dGhlIG5leHQgY2hhciBpcyBub3QgJzonCnN5biBjbHVzdGVyCWNMYWJlbEdyb3VwCWNvbnRhaW5z PWNVc2VyTGFiZWwKc3luIG1hdGNoCWNVc2VyQ29udAlkaXNwbGF5ICJeXHMqXElcaSpccyo6JCIg Y29udGFpbnM9QGNMYWJlbEdyb3VwCnN5biBtYXRjaAljVXNlckNvbnQJZGlzcGxheSAiO1xzKlxJ XGkqXHMqOiQiIGNvbnRhaW5zPUBjTGFiZWxHcm91cApzeW4gbWF0Y2gJY1VzZXJDb250CWRpc3Bs YXkgIl5ccypcSVxpKlxzKjpbXjpdIm1lPWUtMSBjb250YWlucz1AY0xhYmVsR3JvdXAKc3luIG1h dGNoCWNVc2VyQ29udAlkaXNwbGF5ICI7XHMqXElcaSpccyo6W146XSJtZT1lLTEgY29udGFpbnM9 QGNMYWJlbEdyb3VwCgpzeW4gbWF0Y2gJY1VzZXJMYWJlbAlkaXNwbGF5ICJcSVxpKiIgY29udGFp bmVkCgoiIEF2b2lkIHJlY29nbml6aW5nIG1vc3QgYml0ZmllbGRzIGFzIGxhYmVscwpzeW4gbWF0 Y2gJY0JpdEZpZWxkCWRpc3BsYXkgIl5ccypcSVxpKlxzKjpccypbMS05XSJtZT1lLTEgY29udGFp bnM9Y1R5cGUKc3luIG1hdGNoCWNCaXRGaWVsZAlkaXNwbGF5ICI7XHMqXElcaSpccyo6XHMqWzEt OV0ibWU9ZS0xIGNvbnRhaW5zPWNUeXBlCgppZiBleGlzdHMoImNfbWlubGluZXMiKQogIGxldCBi OmNfbWlubGluZXMgPSBjX21pbmxpbmVzCmVsc2UKICBpZiAhZXhpc3RzKCJjX25vX2lmMCIpCiAg ICBsZXQgYjpjX21pbmxpbmVzID0gNTAJIiAjaWYgMCBjb25zdHJ1Y3RzIGNhbiBiZSBsb25nCiAg ZWxzZQogICAgbGV0IGI6Y19taW5saW5lcyA9IDE1CSIgbW9zdGx5IGZvciAoKSBjb25zdHJ1Y3Rz CiAgZW5kaWYKZW5kaWYKaWYgZXhpc3RzKCJjX2N1cmx5X2Vycm9yIikKICBzeW4gc3luYyBmcm9t c3RhcnQKZWxzZQogIGV4ZWMgInN5biBzeW5jIGNjb21tZW50IGNDb21tZW50IG1pbmxpbmVzPSIg LiBiOmNfbWlubGluZXMKZW5kaWYKCiIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4K IiBPbmx5IHVzZWQgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Cmhp IGRlZiBsaW5rIGNGb3JtYXQJCWNTcGVjaWFsCmhpIGRlZiBsaW5rIGNDcHBTdHJpbmcJCWNTdHJp bmcKaGkgZGVmIGxpbmsgY0NvbW1lbnRMCQljQ29tbWVudApoaSBkZWYgbGluayBjQ29tbWVudFN0 YXJ0CWNDb21tZW50CmhpIGRlZiBsaW5rIGNMYWJlbAkJTGFiZWwKaGkgZGVmIGxpbmsgY1VzZXJM YWJlbAkJTGFiZWwKaGkgZGVmIGxpbmsgY0NvbmRpdGlvbmFsCUNvbmRpdGlvbmFsCmhpIGRlZiBs aW5rIGNSZXBlYXQJCVJlcGVhdApoaSBkZWYgbGluayBjQ2hhcmFjdGVyCQlDaGFyYWN0ZXIKaGkg ZGVmIGxpbmsgY1NwZWNpYWxDaGFyYWN0ZXIJY1NwZWNpYWwKaGkgZGVmIGxpbmsgY051bWJlcgkJ TnVtYmVyCmhpIGRlZiBsaW5rIGNPY3RhbAkJTnVtYmVyCmhpIGRlZiBsaW5rIGNPY3RhbFplcm8J CVByZVByb2MJICIgbGluayB0aGlzIHRvIEVycm9yIGlmIHlvdSB3YW50CmhpIGRlZiBsaW5rIGNG bG9hdAkJRmxvYXQKaGkgZGVmIGxpbmsgY09jdGFsRXJyb3IJCWNFcnJvcgpoaSBkZWYgbGluayBj UGFyZW5FcnJvcgkJY0Vycm9yCmhpIGRlZiBsaW5rIGNFcnJJblBhcmVuCQljRXJyb3IKaGkgZGVm IGxpbmsgY0VyckluQnJhY2tldAljRXJyb3IKaGkgZGVmIGxpbmsgY0NvbW1lbnRFcnJvcgljRXJy b3IKaGkgZGVmIGxpbmsgY0NvbW1lbnRTdGFydEVycm9yCWNFcnJvcgpoaSBkZWYgbGluayBjU3Bh Y2VFcnJvcgkJY0Vycm9yCmhpIGRlZiBsaW5rIGNTcGVjaWFsRXJyb3IJY0Vycm9yCmhpIGRlZiBs aW5rIGNDdXJseUVycm9yCQljRXJyb3IKaGkgZGVmIGxpbmsgY09wZXJhdG9yCQlPcGVyYXRvcgpo aSBkZWYgbGluayBjU3RydWN0dXJlCQlTdHJ1Y3R1cmUKaGkgZGVmIGxpbmsgY1N0b3JhZ2VDbGFz cwlTdG9yYWdlQ2xhc3MKaGkgZGVmIGxpbmsgY0luY2x1ZGUJCUluY2x1ZGUKaGkgZGVmIGxpbmsg Y1ByZVByb2MJCVByZVByb2MKaGkgZGVmIGxpbmsgY0RlZmluZQkJTWFjcm8KaGkgZGVmIGxpbmsg Y0luY2x1ZGVkCQljU3RyaW5nCmhpIGRlZiBsaW5rIGNFcnJvcgkJRXJyb3IKaGkgZGVmIGxpbmsg Y1N0YXRlbWVudAkJU3RhdGVtZW50CmhpIGRlZiBsaW5rIGNDcHBJbldyYXBwZXIJY0NwcE91dFdy YXBwZXIKaGkgZGVmIGxpbmsgY0NwcE91dFdyYXBwZXIJY1ByZUNvbmRpdApoaSBkZWYgbGluayBj UHJlQ29uZGl0TWF0Y2gJY1ByZUNvbmRpdApoaSBkZWYgbGluayBjUHJlQ29uZGl0CQlQcmVDb25k aXQKaGkgZGVmIGxpbmsgY1R5cGUJCVR5cGUKaGkgZGVmIGxpbmsgY0NvbnN0YW50CQlDb25zdGFu dApoaSBkZWYgbGluayBjQ29tbWVudFN0cmluZwljU3RyaW5nCmhpIGRlZiBsaW5rIGNDb21tZW50 MlN0cmluZwljU3RyaW5nCmhpIGRlZiBsaW5rIGNDb21tZW50U2tpcAljQ29tbWVudApoaSBkZWYg bGluayBjU3RyaW5nCQlTdHJpbmcKaGkgZGVmIGxpbmsgY0NvbW1lbnQJCUNvbW1lbnQKaGkgZGVm IGxpbmsgY1NwZWNpYWwJCVNwZWNpYWxDaGFyCmhpIGRlZiBsaW5rIGNUb2RvCQlUb2RvCmhpIGRl ZiBsaW5rIGNCYWRDb250aW51YXRpb24JRXJyb3IKaGkgZGVmIGxpbmsgY0NwcE91dFNraXAJCWND cHBPdXRJZjIKaGkgZGVmIGxpbmsgY0NwcEluRWxzZTIJCWNDcHBPdXRJZjIKaGkgZGVmIGxpbmsg Y0NwcE91dElmMgkJY0NwcE91dDIgICIgT2xkIHN5bnRheCBncm91cCBmb3IgI2lmIDAgYm9keQpo aSBkZWYgbGluayBjQ3BwT3V0MgkJY0NwcE91dCAgIiBPbGQgc3ludGF4IGdyb3VwIGZvciAjaWYg b2YgI2lmIDAKaGkgZGVmIGxpbmsgY0NwcE91dAkJQ29tbWVudAoKbGV0IGI6Y3VycmVudF9zeW50 YXggPSAiYyIKCmxldCAmY3BvID0gczpjcG9fc2F2ZQp1bmxldCBzOmNwb19zYXZlCiIgdmltOiB0 cz04Cg== --14dae93404cd9fa1f104c0a1cff8--