TuljZXNzaXRlIENBUF9ORVRfQURNSU4gKDEyKQpPbiBwZXV0IGRvbmMgYXVzc2kgbWV0dHJlIENBUF9ORVRfQklORF9TRVJWSUNFICgxMCkgcG91ciBhdXRvcmlzZXIgbGVzIHBvcnRzIDwgMTAyNAoKCmNoYXJnZXIgbGUgbW9kdWxlIDoKIyBtb2Rwcm9iZSBpcF9jb25udHJhY2sgaGFzaHNpemU9NjU1MzYKIyBtb2Rwcm9iZSBpcHRhYmxlX3Rwcm94eSBoYXNoc2l6ZT02NTUzNgojIGVjaG8gMTUgPiAvcHJvYy9zeXMvbmV0L2lwdjQvbmV0ZmlsdGVyL2lwX2Nvbm50cmFja190Y3BfdGltZW91dF90aW1lX3dhaXQgCiMgZWNobyAzMCA+IC9wcm9jL3N5cy9uZXQvaXB2NC9uZXRmaWx0ZXIvaXBfY29ubnRyYWNrX3RjcF90aW1lb3V0X2Zpbl93YWl0IAoKClNpIG9uIHV0aWxpc2UgInVzZXNyYyBjbGllbnQiLCBhbG9ycyBvbiByZW5jb250cmUgY2UgcHJvYmzobWUgZW4gY2FzCmRlIHLpdXRpbGlzYXRpb24gZCd1biBwb3J0IDoKCiMgZG1lc2cKSVBfVFBST1hZOiBlcnJvciBhcHBseWluZyBOQVQgbWFwcGluZywgaG9va251bT00IDAxMDMwMDBhOmU1YTIgLT4gMDUwMDAwMDE6ZDIwNApJUF9UUFJPWFk6IGVycm9yIGFwcGx5aW5nIE5BVCBtYXBwaW5nLCBob29rbnVtPTQgMDEwMzAwMGE6ZTVhMiAtPiAwNTAwMDAwMTpkMjA0CgpTb2x1dGlvbiByZXRlbnVlIHBvdXIgbGEgY29uZmlndXJhdGlvbiA6CgogIFlvdSBoYXZlIHRvIHdyaXRlICJ1c2VzcmMgWFhYWCIgb24gdGhlICJzb3VyY2UiIGxpbmUuICJYWFhYIiBpcyBlaXRoZXIKICBhbiBJUCBhZGRyZXNzIG9yIHRoZSBrZXl3b3JkICJjbGllbnRpcCIgdG8gcmV1c2UgdGhlIGNsaWVudCdzIElQIHdpdGgKICBhIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBwb3J0LCBvciAiY2xpZW50IiB0byByZXVzZSBib3RoIHRoZSBjbGllbnQncyBJUAogIGFuZCBwb3J0IChkYW5nZXJvdXMpLiBCdXQgZHVlIHRvIHRoZSB3YXkgY3R0cHJveHkgd29ya3MsIHRoZSBzb3VyY2UgYWRkcmVzcwogIGlzIG1hbmRhdG9yeS4gRWc6CgogIGJhY2tlbmQgc3RhdGljCiAgICAgIHNvdXJjZSAxOTIuMTY4LjEuMjU0IHVzZXNyYyBjbGllbnRpcAogICAgICBzZXJ2ZXIgc3RhdGljMSAxOTIuMTY4LjEuMTAgc291cmNlIDE5Mi4xNjguMS4yNTQgdXNlc3JjIGNsaWVudGlwCgoKLS0tLSBBbmNpZW5uZXMgculmbGV4aW9ucyAtLS0tCgpJbCBmYXVkcmFpdCBkb25jIHBldXQt6nRyZSB0b3Vqb3VycyBhdm9pciB1biBwb3J0IGR5bmFtaXF1ZSwgb3UgYmllbgp0cmFpdGVyIGxlIFRJTUVfV0FJVCBjb3JyZWN0ZW1lbnQgZW4gYXBwbGlxdWFudCBuYXRkZWwgPT4gY29ycmlnZSBwcmF0aXF1ZW1lbnQKdG91am91cnMgbGUgcHJvYmzobWUgKG1haXMgculkdWlyZSBsZXMgdGltZW91dHMgc2VtYmxlIGltcG9ydGFudCkKCgogIHNvdXJjZSAxMC4xLjIuMyBwcmVzZW50IDEwLjIuMy40CiAgc291cmNlIDEwLjEuMi4zIHByZXNlbnQgc2FtZV9pcAogIHNvdXJjZSAxMC4xLjIuMyBwcmVzZW50IHNhbWUKICBzb3VyY2UgMTAuMS4yLjM6NTAwMCBwcmVzZW50IHNhbWUKCiAgc291cmNlIDEwLjEuMi4zIGFwcGVhcl9hcyAxMC4yLjMuNAogIHNvdXJjZSAxMC4xLjIuMyBhcHBlYXJfYXMgc2FtZV9pcAogIHNvdXJjZSAxMC4xLjIuMyBhcHBlYXJfYXMgc2FtZQogIHNvdXJjZSAxMC4xLjIuMzo1MDAwIGFwcGVhcl9hcyBzYW1lCgogIHNvdXJjZSAxMC4xLjIuMyB7a2VlcHNyYyB8IGtlZXBpcCB8IHVzZXNyYyAxLjIuMy40fQoKICBzb3VyY2UgMTAuMS4yLjMgc25hdCB7IGNsaWVudCB8IGNsaWVudGlwIHwgMS4yLjMuNCB9CiAgc291cmNlIDEwLjEuMi4zIGV4dGJpbmQgc2FtZQogIHNvdXJjZSAxMC4xLjIuMyBpbnRlcmNlcHQgc2FtZQogIHNvdXJjZSAxMC4xLjIuMyBzcG9vZiBzYW1lCiAgc291cmNlIDEwLjEuMi4zIHNob3dzcmMgc2FtZQogIHNvdXJjZSAxMC4xLjIuMyB1c2VzcmMgc2FtZQogIHNvdXJjZSAxMC4xLjIuMyBzZXRzcmMgc2FtZQogIHNvdXJjZSAxMC4xLjIuMyB3aXRoc3JjIHNhbWUKICBzb3VyY2UgMTAuMS4yLjMgdXNlc3JjIGNsaWVudGlwOnNhbWVwb3J0CiAgc291cmNlIDEwLjEuMi4zIGFsaWFzIHNhbWUKICBzb3VyY2UgMTAuMS4yLjMgYXMgc2FtZQogIHNvdXJjZSAxMC4xLjIuMyBvdXRnb2luZyBzYW1lCiAgc291cmNlIDEwLjEuMi4zIHB1YmxpYyBzYW1lCiAgc291cmNlIDEwLjEuMi4zOjUwMDAgcHJldGVuZCBzYW1lCgogIHNvdXJjZSAxMC4xLjIuMz1zYW1lCiAgc291cmNlIDEwLjEuMi4zPTEwLjIuMy40CgogIHNvdXJjZSAxMC4xLjIuM15zYW1lCiAgc291cmNlIDEwLjEuMi4zXjEwLjIuMy40CgogIHNvdXJjZSAxMC4xLjIuM0BzYW1lCiAgc291cmNlIDEwLjEuMi4zQDEwLjIuMy40CgogIHNvdXJjZSAxMC4xLjIuMyFzYW1lCiAgc291cmNlIDEwLjEuMi4zITEwLjIuMy40CgogIHNvdXJjZSAxMC4xLjIuM3xzYW1lCiAgc291cmNlIDEwLjEuMi4zfDEwLjIuMy40CgogIHNvdXJjZSAxMC4xLjIuMyhzYW1lKQogIHNvdXJjZSAxMC4xLjIuMygxMC4yLjMuNCkKCiAgc291cmNlIDEwLjEuMi4zfnNhbWUKICBzb3VyY2UgMTAuMS4yLjN+MTAuMi4zLjQKCkEgbCdpbnZlcnNlLCBzaSAic291cmNlIiBjb250aWVudCBsJ2FkcmVzc2UgdnVlIDoKCiAgc291cmNlIHNhbWUgYmluZHRvIDEuMi4zLjQKICBzb3VyY2UgMi4zLjQuNSBiaW5kdG8gMS4yLjMuNAoKUHJvYmzobWU6IHNpICJiaW5kdG8iIGVzdCBvdWJsaeksIGxlIGJpbmQgc3VyIDIuMy40LjUgbmUgZm9uY3Rpb25uZXJhIHBhcy4KClBvdXIgbCdhZHJlc3NlIGRlIGxpc3RlbiAoYXZlYyAiYmluZCIpLCBpbCBzZXJhaXQgYmllbiBxdWUgbCdhZHJlc3NlCnRyYW5zbGF06WUgYXBwYXJhaXNzZSBhdSBt6m1lIG5pdmVhdSBxdWUgbCdJUCBhZmluIHF1ZSBsZXMgcGxhZ2VzIGV0Cmxpc3RlcyBjb250aW51ZW50IGRlIGZvbmN0aW9ubmVyIHBhciBhc3NvY2lhdGlvbi4KCkRpZmbpcmVuY2VzIGVudHJlIHNvdXJjZSBldCBiaW5kIDoKICAtIHNvdXJjZTogMSBzZXVsZSBJUCBzb3VyY2UsIOl2ZW50dWVsbGVtZW50IHVuIHBvcnQsIHBsdXMgdGFyZCB1bmUgcGxhZ2UKICAtIGJpbmQgIDogbGlzdGUgZGUgKElQIHNvdXJjZSBmYWN1bHRhdGl2ZXMsIHBvcnQgb2JsaWdhdG9pcmUsIHBhcmZvaXMgdW5lIHBsYWdlKQoK