From: Bjorn Munch Date: April 7 2011 12:33pm Subject: bzr push into mysql-trunk branch (bjorn.munch:3337 to 3339) List-Archive: http://lists.mysql.com/commits/134928 Message-Id: <201104071233.p37CXELT001458@khepri15.norway.sun.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 IDMzMzkgQmpvcm4gTXVuY2gJMjAxMS0wNC0wNyBbbWVyZ2VdCiAgICAgIG51bGwgdXBtZXJnZQoK IDMzMzggQmpvcm4gTXVuY2gJMjAxMS0wNC0wNyBbbWVyZ2VdCiAgICAgIG1lcmdlIGZyb20gdHJ1 bmstbXRyCgogICAgbW9kaWZpZWQ6CiAgICAgIG15c3FsLXRlc3QvZXh0cmEvcnBsX3Rlc3RzL3Jw bF9leHRyYV9jb2xfbWFzdGVyLnRlc3QKICAgICAgbXlzcWwtdGVzdC9pbmNsdWRlL21peDEuaW5j CiAgICAgIG15c3FsLXRlc3QvaW5jbHVkZS9tdHJfd2FybmluZ3Muc3FsCiAgICAgIG15c3FsLXRl c3QvaW5jbHVkZS9vcmRlcl9ieS5pbmMKICAgICAgbXlzcWwtdGVzdC9saWIvbXRyX21pc2MucGwK ICAgICAgbXlzcWwtdGVzdC9teXNxbC10ZXN0LXJ1bi5wbAogICAgICBteXNxbC10ZXN0L3Ivb3Jk ZXJfYnlfYWxsLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3Ivb3JkZXJfYnlfaWNwX21yci5yZXN1 bHQKICAgICAgbXlzcWwtdGVzdC9yL29yZGVyX2J5X25vbmUucmVzdWx0CiAgICAgIG15c3FsLXRl c3Qvci9zaG93X2NoZWNrLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3Ivc3AtZGVzdHJ1Y3QucmVz dWx0CiAgICAgIG15c3FsLXRlc3Qvc3VpdGUvcnBsL3IvcnBsX2V4dHJhX2NvbF9tYXN0ZXJfaW5u b2RiLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9leHRyYV9jb2xfbWFz dGVyX215aXNhbS5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC90L3Nob3dfY2hlY2sudGVzdAogICAg ICBteXNxbC10ZXN0L3Qvc3AtZGVzdHJ1Y3QudGVzdAogMzMzNyBKb3JnZW4gTG9sYW5kCTIwMTEt MDQtMDcgW21lcmdlXQogICAgICBBdXRvbWVyZ2Ugb3B0LXRlYW0gLT4gdHJ1bmsuIE5vIGNvbmZs aWN0cwoKICAgIG1vZGlmaWVkOgogICAgICBteXNxbC10ZXN0L2luY2x1ZGUvc3VicXVlcnlfbWF0 LmluYwogICAgICBteXNxbC10ZXN0L3IvaW5ub2RiX2ljcF9hbGwucmVzdWx0CiAgICAgIG15c3Fs LXRlc3Qvci9teWlzYW1faWNwX2FsbC5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9yL3N1YnF1ZXJ5 X2FsbC5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9yL3N1YnF1ZXJ5X2FsbF9qY2w2LnJlc3VsdAog ICAgICBteXNxbC10ZXN0L3Ivc3VicXVlcnlfbWF0LnJlc3VsdAogICAgICBteXNxbC10ZXN0L3Iv c3VicXVlcnlfbWF0X2FsbC5yZXN1bHQKICAgICAgbXlzcWwtdGVzdC9yL3N1YnF1ZXJ5X21hdF9u b25lLnJlc3VsdAogICAgICBteXNxbC10ZXN0L3Ivc3VicXVlcnlfbm9tYXRfbm9zal9qY2w2LnJl c3VsdAogICAgICBzcWwvaXRlbS5jYwo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9leHRy YS9ycGxfdGVzdHMvcnBsX2V4dHJhX2NvbF9tYXN0ZXIudGVzdCcKLS0tIGEvbXlzcWwtdGVzdC9l eHRyYS9ycGxfdGVzdHMvcnBsX2V4dHJhX2NvbF9tYXN0ZXIudGVzdAkyMDExLTAyLTIzIDIwOjAx OjI3ICswMDAwCisrKyBiL215c3FsLXRlc3QvZXh0cmEvcnBsX3Rlc3RzL3JwbF9leHRyYV9jb2xf bWFzdGVyLnRlc3QJMjAxMS0wMy0zMSAxMzo1Mjo1MyArMDAwMApAQCAtMTIyLDExICsxMjIsMTMg QEAgU0VMRUNUIGYxLGYyLGYzLGY0LGY1LGY2LGY3LGY4LGY5LAogCiAjY29ubmVjdGlvbiBzbGF2 ZTsKIAorLS1kaXNhYmxlX3F1ZXJ5X2xvZwogY2FsbCBtdHIuYWRkX3N1cHByZXNzaW9uKCJTbGF2 ZSBTUUwuKlRhYmxlIGRlZmluaXRpb24gb24gbWFzdGVyIGFuZCBzbGF2ZSBkb2VzIG5vdCBtYXRj aDogQ29sdW1uIDIgdHlwZSBtaXNtYXRjaC4qIDE1MzUiKTsKLWNhbGwgbXRyLmFkZF9zdXBwcmVz c2lvbigiU2xhdmUgU1FMLipFcnJvciAuQ2FuLnQgRFJPUCAuYzcuOyBjaGVjayB0aGF0IGNvbHVt bi5rZXkgZXhpc3RzLiBvbiBxdWVyeS4qIDEwOTEiKTsKLWNhbGwgbXRyLmFkZF9zdXBwcmVzc2lv bigiU2xhdmUgU1FMLipFcnJvciAuVW5rbm93biBjb2x1bW4gLmM3LiBpbiAudDE1Li4gb24gcXVl cnkuKiAxMDU0Iik7Ci1jYWxsIG10ci5hZGRfc3VwcHJlc3Npb24oIlNsYXZlIFNRTC4qRXJyb3Ig LktleSBjb2x1bW4gLmM2LiBkb2Vzbi50IGV4aXN0IGluIHRhYmxlLiBvbiBxdWVyeS4qIDEwNzIi KTsKK2NhbGwgbXRyLmFkZF9zdXBwcmVzc2lvbigiU2xhdmUuKkNhbi50IERST1AgLmM3LjsgY2hl Y2sgdGhhdCBjb2x1bW4ua2V5IGV4aXN0cy4qIEVycm9yX2NvZGU6IDEwOTEiKTsKK2NhbGwgbXRy LmFkZF9zdXBwcmVzc2lvbigiU2xhdmUuKlVua25vd24gY29sdW1uIC5jNy4gaW4gLnQxNS4qIEVy cm9yX2NvZGU6IDEwNTQiKTsKK2NhbGwgbXRyLmFkZF9zdXBwcmVzc2lvbigiU2xhdmUuKktleSBj b2x1bW4gLmM2LiBkb2Vzbi50IGV4aXN0IGluIHRhYmxlLiogRXJyb3JfY29kZTogMTA3MiIpOwog Y2FsbCBtdHIuYWRkX3N1cHByZXNzaW9uKCJTbGF2ZSBTUUwuKkNvbHVtbiAyIG9mIHRhYmxlIC50 ZXN0LnQxLi4gY2Fubm90IGJlIGNvbnZlcnRlZCBmcm9tIHR5cGUuKiBFcnJvcl9jb2RlOiAxNjc3 Iik7CistLWVuYWJsZV9xdWVyeV9sb2cKIAogc3luY19zbGF2ZV93aXRoX21hc3RlcjsKIC0tZWNo bwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3QvaW5jbHVkZS9taXgxLmluYycKLS0tIGEv bXlzcWwtdGVzdC9pbmNsdWRlL21peDEuaW5jCTIwMTAtMTItMTAgMDk6Mjc6NTUgKzAwMDAKKysr IGIvbXlzcWwtdGVzdC9pbmNsdWRlL21peDEuaW5jCTIwMTEtMDMtMzAgMTM6MzM6MjkgKzAwMDAK QEAgLTYzNCw2ICs2MzQsMTAgQEAgZHJvcCB0YWJsZSB0MTsKIGRyb3AgdGFibGUgYnVnMjk4MDc7 CiBjcmVhdGUgdGFibGUgYnVnMjk4MDcgKGEgaW50KTsKIGRyb3AgdGFibGUgYnVnMjk4MDc7Cist LWRpc2FibGVfcXVlcnlfbG9nCitjYWxsIG10ci5hZGRfc3VwcHJlc3Npb24oIklubm9EQjogRXJy b3I6IHRhYmxlIC50ZXN0Li4uYnVnMjk4MDcuIGRvZXMgbm90IGV4aXN0IGluIHRoZSBJbm5vREIg aW50ZXJuYWwiKTsKK2NhbGwgbXRyLmFkZF9zdXBwcmVzc2lvbigiQ2Fubm90IGZpbmQgb3Igb3Bl biB0YWJsZSB0ZXN0XC9idWcyOTgwNyBmcm9tIik7CistLWVuYWJsZV9xdWVyeV9sb2cKIAogCiAj Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC9pbmNsdWRlL210cl93YXJuaW5ncy5zcWwn Ci0tLSBhL215c3FsLXRlc3QvaW5jbHVkZS9tdHJfd2FybmluZ3Muc3FsCTIwMTEtMDQtMDUgMTY6 NDY6MjQgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9pbmNsdWRlL210cl93YXJuaW5ncy5zcWwJMjAx MS0wNC0wNiAxMDozNjoxMCArMDAwMApAQCAtNzEsNyArNzEsNyBAQCBTRVQgQEBjb2xsYXRpb25f Y29ubmVjdGlvbiA9IEBjb2xsYXRpb25fCiAtLSBJbnNlcnQgcGF0dGVybnMgdGhhdCBzaG91bGQg YWx3YXlzIGJlIHN1cHByZXNzZWQKIC0tCiBJTlNFUlQgSU5UTyBnbG9iYWxfc3VwcHJlc3Npb25z IFZBTFVFUwotICgiJ1NFTEVDVCBVTklYX1RJTUVTVEFNUFxcKFxcKScgZmFpbGVkIG9uIG1hc3Rl ciIpLAorICgiLlNFTEVDVCBVTklYX1RJTUVTVEFNUC4uLiBmYWlsZWQgb24gbWFzdGVyIiksCiAg KCJBYm9ydGVkIGNvbm5lY3Rpb24iKSwKICAoIkNsaWVudCByZXF1ZXN0ZWQgbWFzdGVyIHRvIHN0 YXJ0IHJlcGxpY2F0aW9uIGZyb20gaW1wb3NzaWJsZSBwb3NpdGlvbiIpLAogICgiQ291bGQgbm90 IGZpbmQgZmlyc3QgbG9nIGZpbGUgbmFtZSBpbiBiaW5hcnkgbG9nIiksCkBAIC0xMjgsNyArMTI4 LDYgQEAgSU5TRVJUIElOVE8gZ2xvYmFsX3N1cHByZXNzaW9ucyBWQUxVRVMKICAoIlNvcnQgYWJv cnRlZCIpLAogICgiVGltZS1vdXQgaW4gTkRCIiksCiAgKCJXYXJuaW5nOlxzK09uZSBjYW4gb25s eSB1c2UgdGhlIC0tdXNlci4qcm9vdCIpLAotICgiV2FybmluZzpccytTZXR0aW5nIGxvd2VyX2Nh c2VfdGFibGVfbmFtZXM9MiIpLAogICgiV2FybmluZzpccytUYWJsZTouKiBvbiAoZGVsZXRlfHJl bmFtZSkiKSwKICAoIllvdSBoYXZlIGFuIGVycm9yIGluIHlvdXIgU1FMIHN5bnRheCIpLAogICgi ZGVwcmVjYXRlZCIpLApAQCAtMTQxLDU5ICsxNDAsMjUgQEAgSU5TRVJUIElOVE8gZ2xvYmFsX3N1 cHByZXNzaW9ucyBWQUxVRVMKICAoInNsYXZlIFNRTCB0aHJlYWQgYWJvcnRlZCIpLAogICgiU2xh dmU6IC4qRHVwbGljYXRlIGVudHJ5IiksCiAKLSAvKgotICAgU3BlY2lhbCBjYXNlLCBtYWRlIGFz IHNwZWNpZmljIGFzIHBvc3NpYmxlLCBmb3I6Ci0gICBCdWcgIzI4NDM2OiBJbmNvcnJlY3QgcG9z aXRpb24gaW4gU0hPVyBCSU5MT0cgRVZFTlRTIGNhdXNlcwotICAgc2VydmVyIGNvcmVkdW1wCi0g Ki8KLQotICgiRXJyb3IgaW4gTG9nX2V2ZW50OjpyZWFkX2xvZ19ldmVudFxcXChcXFwpOiAnU2Fu aXR5IGNoZWNrIGZhaWxlZCcsIGRhdGFfbGVuOiAyNTgsIGV2ZW50X3R5cGU6IDQ5IiksCi0KICAo IlN0YXRlbWVudCBtYXkgbm90IGJlIHNhZmUgdG8gbG9nIGluIHN0YXRlbWVudCBmb3JtYXQiKSwK IAotIC8qIHRlc3QgY2FzZSBmb3IgQnVnI2J1ZzI5ODA3IGNvcGllcyBhIHN0cmF5IGZybSBpbnRv IGRhdGFiYXNlICovCi0gKCJJbm5vREI6IEVycm9yOiB0YWJsZSBgdGVzdGAuYGJ1ZzI5ODA3YCBk b2VzIG5vdCBleGlzdCBpbiB0aGUgSW5ub0RCIGludGVybmFsIiksCi0gKCJDYW5ub3QgZmluZCBv ciBvcGVuIHRhYmxlIHRlc3RcL2J1ZzI5ODA3IGZyb20iKSwKLQogIC8qIGlubm9kYiBmb3JlaWdu IGtleSB0ZXN0cyB0aGF0IGZhaWwgaW4gQUxURVIgb3IgUkVOQU1FIHByb2R1Y2UgdGhpcyAqLwog ICgiSW5ub0RCOiBFcnJvcjogaW4gQUxURVIgVEFCTEUgYHRlc3RgLmB0WzEyM11gIiksCiAgKCJJ bm5vREI6IEVycm9yOiBpbiBSRU5BTUUgVEFCTEUgdGFibGUgYHRlc3RgLmB0MWAiKSwKICAoIklu bm9EQjogRXJyb3I6IHRhYmxlIGB0ZXN0YC5gdFsxMjNdYCBkb2VzIG5vdCBleGlzdCBpbiB0aGUg SW5ub0RCIGludGVybmFsIiksCiAKLSAvKiBUZXN0IGNhc2UgZm9yIEJ1ZyMxNDIzMyBwcm9kdWNl cyB0aGUgZm9sbG93aW5nIHdhcm5pbmdzOiAqLwotICgiU3RvcmVkIHJvdXRpbmUgJ3Rlc3QnLidi dWcxNDIzM18xJzogaW52YWxpZCB2YWx1ZSBpbiBjb2x1bW4gbXlzcWwucHJvYyIpLAotICgiU3Rv cmVkIHJvdXRpbmUgJ3Rlc3QnLididWcxNDIzM18yJzogaW52YWxpZCB2YWx1ZSBpbiBjb2x1bW4g bXlzcWwucHJvYyIpLAotICgiU3RvcmVkIHJvdXRpbmUgJ3Rlc3QnLididWcxNDIzM18zJzogaW52 YWxpZCB2YWx1ZSBpbiBjb2x1bW4gbXlzcWwucHJvYyIpLAotCiAgLyoKICAgIEJVRyMzMjA4MCAt IEV4Y2Vzc2l2ZSB3YXJuaW5ncyBvbiBTb2xhcmlzOiBzZXRybGltaXQgY291bGQgbm90CiAgICBj aGFuZ2UgdGhlIHNpemUgb2YgY29yZSBmaWxlcwogICAqLwogICgic2V0cmxpbWl0IGNvdWxkIG5v dCBjaGFuZ2UgdGhlIHNpemUgb2YgY29yZSBmaWxlcyB0byAnaW5maW5pdHknIiksCiAKLSAvKgot ICAgcnBsX2V4dHJDb2xtYXN0ZXJfKi50ZXN0LCB0aGUgc2xhdmUgdGhyZWFkIHByb2R1Y2VzIHdh cm5pbmdzCi0gICB3aGVuIGl0IGdldCB1cGRhdGVzIHRvIGEgdGFibGUgdGhhdCBoYXMgbW9yZSBj b2x1bW5zIG9uIHRoZQotICAgbWFzdGVyCi0gICovCi0gKCJTbGF2ZTogVW5rbm93biBjb2x1bW4g J2M3JyBpbiAndDE1JyBFcnJvcl9jb2RlOiAxMDU0IiksCi0gKCJTbGF2ZTogQ2FuJ3QgRFJPUCAn YzcnLiogMTA5MSIpLAotICgiU2xhdmU6IEtleSBjb2x1bW4gJ2M2Jy4qIDEwNzIiKSwKICAoIlRo ZSBzbGF2ZSBJLk8gdGhyZWFkIHN0b3BzIGJlY2F1c2UgYSBmYXRhbCBlcnJvciBpcyBlbmNvdW50 ZXJlZCB3aGVuIGl0IHRyaWVzIHRvIGdldCB0aGUgdmFsdWUgb2YgU0VSVkVSX1VVSUQgdmFyaWFi bGUgZnJvbSBtYXN0ZXIuKiIpLAogICgiVGhlIGluaXRpYWxpemF0aW9uIGNvbW1hbmQgJy4qJyBm YWlsZWQgd2l0aCB0aGUgZm9sbG93aW5nIGVycm9yLioiKSwKLSAoIlRoZSBzbGF2ZSBJLk8gdGhy ZWFkIHN0b3BzIGJlY2F1c2UgYSBmYXRhbCBlcnJvciBpcyBlbmNvdW50ZXJlZCB3aGVuIGl0IHRy eSB0byBnZXQgdGhlIHZhbHVlIG9mIFNFUlZFUl9JRCB2YXJpYWJsZSBmcm9tIG1hc3Rlci4iKSwK LSAoIi5TRUxFQ1QgVU5JWF9USU1FU1RBTVAuLi4gZmFpbGVkIG9uIG1hc3RlciwgZG8gbm90IHRy dXN0IGNvbHVtbiBTZWNvbmRzX0JlaGluZF9NYXN0ZXIgb2YgU0hPVyBTTEFWRSBTVEFUVVMiKSwK IAogIC8qSXQgd2lsbCBwcmludCBhIHdhcm5pbmcgaWYgYSBuZXcgVVVJRCBvZiBzZXJ2ZXIgaXMg Z2VuZXJhdGVkLiovCiAgKCJObyBleGlzdGluZyBVVUlEIGhhcyBiZWVuIGZvdW5kLCBzbyB3ZSBh c3N1bWUgdGhhdCB0aGlzIGlzIHRoZSBmaXJzdCB0aW1lIHRoYXQgdGhpcyBzZXJ2ZXIgaGFzIGJl ZW4gc3RhcnRlZC4qIiksCiAKLSAvKiBTcGVjaWFsIGNhc2UgZm9yIEJ1ZyAjMjY0MDIgaW4gc2hv d19jaGVjay50ZXN0Ci0gICAgLSBRdWVzdGlvbiBtYXJrcyBhcmUgbm90IHZhbGlkIGZpbGUgbmFt ZSBwYXJ0cyBvbiBXaW5kb3dzLiBJZ25vcmUKLSAgICAgIHRoaXMgZXJyb3IgbWVzc2FnZS4KLSAg Ki8KLSAoIkNhbid0IGZpbmQgZmlsZTogJy5cXFxcdGVzdFxcXFxcXD97OH0uZnJtJyIpLAotICgi U2xhdmU6IFVua25vd24gdGFibGUgJ3Rlc3QudDEnIEVycm9yX2NvZGU6IDEwNTEiKSwKLQogIC8q IEFkZGVkIDIwMDktMDgtWFggYWZ0ZXIgZml4aW5nIEJ1ZyAjNDI0MDggKi8KIAogICgiQWx0aG91 Z2ggYSBwYXRoIHdhcyBzcGVjaWZpZWQgZm9yIHRoZSAuKiBvcHRpb24sIGxvZyB0YWJsZXMgYXJl IHVzZWQiKSwKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L2luY2x1ZGUvb3JkZXJfYnku aW5jJwotLS0gYS9teXNxbC10ZXN0L2luY2x1ZGUvb3JkZXJfYnkuaW5jCTIwMTEtMDItMDcgMDk6 NDY6NTMgKzAwMDAKKysrIGIvbXlzcWwtdGVzdC9pbmNsdWRlL29yZGVyX2J5LmluYwkyMDExLTAz LTMwIDEzOjMzOjI5ICswMDAwCkBAIC04NDcsOCArODQ3LDcgQEAgQ0FMTCBtdHIuYWRkX3N1cHBy ZXNzaW9uKCJPdXQgb2Ygc29ydCBtZQogLS1lcnJvciBFUl9PVVRfT0ZfU09SVE1FTU9SWQogc2Vs ZWN0ICogZnJvbSB0MSBvcmRlciBieSBiOwogZHJvcCB0YWJsZSB0MTsKLQotCitjYWxsIG10ci5h ZGRfc3VwcHJlc3Npb24oIk91dCBvZiBzb3J0IG1lbW9yeTsgaW5jcmVhc2Ugc2VydmVyIHNvcnQg YnVmZmVyIHNpemUiKTsKIC0tZWNobyAjCiAtLWVjaG8gIyBCdWcgIzM5ODQ0OiBRdWVyeSBDcmFz aCBNeXNxbCBTZXJ2ZXIgNS4wLjY3CiAtLWVjaG8gIwoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3Fs LXRlc3QvbGliL210cl9taXNjLnBsJwotLS0gYS9teXNxbC10ZXN0L2xpYi9tdHJfbWlzYy5wbAky MDExLTAxLTE4IDExOjA5OjQ5ICswMDAwCisrKyBiL215c3FsLXRlc3QvbGliL210cl9taXNjLnBs CTIwMTEtMDQtMDcgMDg6Mzk6MTAgKzAwMDAKQEAgLTEsNSArMSw1IEBACiAjIC0qLSBjcGVybCAt Ki0KLSMgQ29weXJpZ2h0IChjKSAyMDA0LCAyMDEwLCBPcmFjbGUgYW5kL29yIGl0cyBhZmZpbGlh dGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIyBDb3B5cmlnaHQgKGMpIDIwMDQsIDIwMTEsIE9y YWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjCiAjIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IKICMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh bCBQdWJsaWMKQEAgLTM2LDYgKzM2LDcgQEAgc3ViIHN0YXJ0X3RpbWVyKCQpOwogc3ViIGhhc19l eHBpcmVkKCQpOwogc3ViIGluaXRfdGltZXJzKCk7CiBzdWIgbWFya190aW1lX3VzZWQoJCk7Citz dWIgbWFya190aW1lX2lkbGUoKTsKIHN1YiBhZGRfdG90YWxfdGltZXMoJCk7CiBzdWIgcHJpbnRf dGltZXNfdXNlZCgkJCk7CiBzdWIgcHJpbnRfdG90YWxfdGltZXMoJCk7CkBAIC0yMjQsNiArMjI1 LDcgQEAgbXkgJXRpbWVfdXNlZD0gKAogICAnY2gtd2FybicgPT4gMCwKICAgJ3Rlc3QnICAgID0+ IDAsCiAgICdpbml0JyAgICA9PiAwLAorICAnYWRtaW4nICAgPT4gMCwKICk7CiAKIG15ICV0aW1l X3RleHQ9ICgKQEAgLTIzMiw3ICsyMzQsOCBAQCBteSAldGltZV90ZXh0PSAoCiAgJ2NoZWNrJyAg ID0+ICJDaGVjay10ZXN0Y2FzZSIsCiAgJ2NoLXdhcm4nID0+ICJDaGVjayBmb3Igd2FybmluZ3Mi LAogICd0ZXN0JyAgICA9PiAiVGVzdCBleGVjdXRpb24iLAotICdpbml0JyAgICA9PiAiSW5pdGlh bGl6YXRpb24gZXRjLiIsCisgJ2luaXQnICAgID0+ICJJbml0aWFsaXphdGlvbi9jbGVhbnVwIiwK KyAnYWRtaW4nICAgPT4gIlRlc3QgYWRtaW5pc3RyYXRpb24iLAogKTsKIAogIyBDb3VudHMgbnVt YmVyIG9mIHJlcG9ydHMgZnJvbSB3b3JrZXJzCkBAIC0yNTUsNiArMjU4LDEwIEBAIHN1YiBtYXJr X3RpbWVfdXNlZCgkKSB7CiAgICRsYXN0X3RpbWVyX3NldD0gJGN1cnJfdGltZTsKIH0KIAorc3Vi IG1hcmtfdGltZV9pZGxlKCkgeworICAkbGFzdF90aW1lcl9zZXQ9IGdldHRpbWVvZmRheSgpIGlm ICRvcHRfcmVwb3J0X3RpbWVzOworfQorCiBzdWIgYWRkX3RvdGFsX3RpbWVzKCQpIHsKICAgbXkg KCRkdW1teSwgJG51bSwgQGxpbmUpPSBzcGxpdCAoIiAiLCAkX1swXSk7CiAKCj09PSBtb2RpZmll ZCBmaWxlICdteXNxbC10ZXN0L215c3FsLXRlc3QtcnVuLnBsJwotLS0gYS9teXNxbC10ZXN0L215 c3FsLXRlc3QtcnVuLnBsCTIwMTEtMDMtMjMgMTE6Mzc6MDQgKzAwMDAKKysrIGIvbXlzcWwtdGVz dC9teXNxbC10ZXN0LXJ1bi5wbAkyMDExLTA0LTA3IDA4OjM5OjEwICswMDAwCkBAIC0yMjAsOSAr MjIwLDEyIEBAIG91ciAlZ3Byb2ZfZGlyczsKIG91ciAkZ2xvYl9kZWJ1Z2dlcj0gMDsKIG91ciAk b3B0X2dkYjsKIG91ciAkb3B0X2NsaWVudF9nZGI7CitvdXIgJG9wdF9kYng7CitvdXIgJG9wdF9j bGllbnRfZGJ4Owogb3VyICRvcHRfZGRkOwogb3VyICRvcHRfY2xpZW50X2RkZDsKIG91ciAkb3B0 X21hbnVhbF9nZGI7CitvdXIgJG9wdF9tYW51YWxfZGJ4Owogb3VyICRvcHRfbWFudWFsX2RkZDsK IG91ciAkb3B0X21hbnVhbF9kZWJ1ZzsKIG91ciAkb3B0X2RlYnVnZ2VyOwpAQCAtNTQ3LDcgKzU1 MCw5IEBAIHN1YiBydW5fdGVzdF9zZXJ2ZXIgKCQkJCkgewogICBteSAkcz0gSU86OlNlbGVjdC0+ bmV3KCk7CiAgICRzLT5hZGQoJHNlcnZlcik7CiAgIHdoaWxlICgxKSB7CisgICAgbWFya190aW1l X3VzZWQoJ2FkbWluJyk7CiAgICAgbXkgQHJlYWR5ID0gJHMtPmNhbl9yZWFkKDEpOyAjIFdha2Ug dXAgb25jZSBldmVyeSBzZWNvbmQKKyAgICBtYXJrX3RpbWVfaWRsZSgpOwogICAgIGZvcmVhY2gg bXkgJHNvY2sgKEByZWFkeSkgewogICAgICAgaWYgKCRzb2NrID09ICRzZXJ2ZXIpIHsKIAkjIE5l dyBjbGllbnQgY29ubmVjdGVkCkBAIC04ODksNyArODk0LDcgQEAgc3ViIHJ1bl93b3JrZXIgKCQp IHsKICAgICAgIGlmICggJG9wdF9ncHJvZiApIHsKIAlncHJvZl9jb2xsZWN0IChmaW5kX215c3Fs ZCgkYmFzZWRpciksIGtleXMgJWdwcm9mX2RpcnMpOwogICAgICAgfQotICAgICAgbWFya190aW1l X3VzZWQoJ2luaXQnKTsKKyAgICAgIG1hcmtfdGltZV91c2VkKCdhZG1pbicpOwogICAgICAgcHJp bnRfdGltZXNfdXNlZCgkc2VydmVyLCAkdGhyZWFkX251bSk7CiAgICAgICBleGl0KCR2YWxncmlu ZF9yZXBvcnRzKTsKICAgICB9CkBAIC0xMDAzLDYgKzEwMDgsOSBAQCBzdWIgY29tbWFuZF9saW5l X3NldHVwIHsKICAgICAgICAgICAgICAnZGRkJyAgICAgICAgICAgICAgICAgICAgICA9PiBcJG9w dF9kZGQsCiAgICAgICAgICAgICAgJ2NsaWVudC1kZGQnICAgICAgICAgICAgICAgPT4gXCRvcHRf Y2xpZW50X2RkZCwKICAgICAgICAgICAgICAnbWFudWFsLWRkZCcgICAgICAgICAgICAgICA9PiBc JG9wdF9tYW51YWxfZGRkLAorICAgICAgICAgICAgICdkYngnICAgICAgICAgICAgICAgICAgICAg ID0+IFwkb3B0X2RieCwKKwkgICAgICdjbGllbnQtZGJ4JyAgICAgICAgICAgICAgID0+IFwkb3B0 X2NsaWVudF9kYngsCisJICAgICAnbWFudWFsLWRieCcgICAgICAgICAgICAgICA9PiBcJG9wdF9t YW51YWxfZGJ4LAogCSAgICAgJ2RlYnVnZ2VyPXMnICAgICAgICAgICAgICAgPT4gXCRvcHRfZGVi dWdnZXIsCiAJICAgICAnY2xpZW50LWRlYnVnZ2VyPXMnICAgICAgICA9PiBcJG9wdF9jbGllbnRf ZGVidWdnZXIsCiAgICAgICAgICAgICAgJ3N0cmFjZS1jbGllbnQ6cycgICAgICAgICAgPT4gXCRv cHRfc3RyYWNlX2NsaWVudCwKQEAgLTE0MjgsNiArMTQzNiwxMiBAQCBzdWIgY29tbWFuZF9saW5l X3NldHVwIHsKICAgICAgICRvcHRfZGRkPSB1bmRlZjsKICAgICB9CiAKKyAgICBpZiAoJG9wdF9k YngpIHsKKyAgICAgIG10cl93YXJuaW5nKCJTaWxlbnRseSBjb252ZXJ0aW5nIC0tZGJ4IHRvIC0t Y2xpZW50LWRieCBpbiBlbWJlZGRlZCBtb2RlIik7CisgICAgICAkb3B0X2NsaWVudF9kYng9ICRv cHRfZGJ4OworICAgICAgJG9wdF9kYng9IHVuZGVmOworICAgIH0KKwogICAgIGlmICgkb3B0X2Rl YnVnZ2VyKQogICAgIHsKICAgICAgIG10cl93YXJuaW5nKCJTaWxlbnRseSBjb252ZXJ0aW5nIC0t ZGVidWdnZXIgdG8gLS1jbGllbnQtZGVidWdnZXIgaW4gZW1iZWRkZWQgbW9kZSIpOwpAQCAtMTQz Niw3ICsxNDUwLDcgQEAgc3ViIGNvbW1hbmRfbGluZV9zZXR1cCB7CiAgICAgfQogCiAgICAgaWYg KCAkb3B0X2dkYiB8fCAkb3B0X2RkZCB8fCAkb3B0X21hbnVhbF9nZGIgfHwgJG9wdF9tYW51YWxf ZGRkIHx8Ci0JICRvcHRfbWFudWFsX2RlYnVnIHx8ICRvcHRfZGVidWdnZXIgKQorCSAkb3B0X21h bnVhbF9kZWJ1ZyB8fCAkb3B0X2RlYnVnZ2VyIHx8ICRvcHRfZGJ4IHx8ICRvcHRfbWFudWFsX2Ri eCkKICAgICB7CiAgICAgICBtdHJfZXJyb3IoIllvdSBuZWVkIHRvIHVzZSB0aGUgY2xpZW50IGRl YnVnIG9wdGlvbnMgZm9yIHRoZSIsCiAJCSJlbWJlZGRlZCBzZXJ2ZXIuIEV4OiAtLWNsaWVudC1n ZGIiKTsKQEAgLTE0NjQsNiArMTQ3OCw3IEBAIHN1YiBjb21tYW5kX2xpbmVfc2V0dXAgewogICAj IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCiAgIGlmICggJG9wdF9nZGIgfHwgJG9wdF9jbGllbnRfZ2RiIHx8 ICRvcHRfZGRkIHx8ICRvcHRfY2xpZW50X2RkZCB8fAogICAgICAgICRvcHRfbWFudWFsX2dkYiB8 fCAkb3B0X21hbnVhbF9kZGQgfHwgJG9wdF9tYW51YWxfZGVidWcgfHwKKyAgICAgICAkb3B0X2Ri eCB8fCAkb3B0X2NsaWVudF9kYnggfHwgJG9wdF9tYW51YWxfZGJ4IHx8CiAgICAgICAgJG9wdF9k ZWJ1Z2dlciB8fCAkb3B0X2NsaWVudF9kZWJ1Z2dlciApCiAgIHsKICAgICAjIEluZGljYXRlIHRo YXQgd2UgYXJlIHVzaW5nIGRlYnVnZ2VyCkBAIC0zNzY0LDcgKzM3NzksNyBAQCBzdWIgcnVuX3Rl c3RjYXNlICgkKSB7CiAKICAgZG9fYmVmb3JlX3J1bl9teXNxbHRlc3QoJHRpbmZvKTsKIAotICBt YXJrX3RpbWVfdXNlZCgnaW5pdCcpOworICBtYXJrX3RpbWVfdXNlZCgnYWRtaW4nKTsKIAogICBp ZiAoICRvcHRfY2hlY2tfdGVzdGNhc2VzIGFuZCBjaGVja190ZXN0Y2FzZSgkdGluZm8sICJiZWZv cmUiKSApewogICAgICMgRmFpbGVkIHRvIHJlY29yZCBzdGF0ZSBvZiBzZXJ2ZXIgb3Igc2VydmVy IGNyYXNoZWQKQEAgLTQ3MDYsNiArNDcyMSw5IEBAIHN1YiBteXNxbGRfc3RhcnQgKCQkKSB7CiAg IHsKICAgICBkZGRfYXJndW1lbnRzKFwkYXJncywgXCRleGUsICRteXNxbGQtPm5hbWUoKSk7CiAg IH0KKyAgaWYgKCAkb3B0X2RieCB8fCAkb3B0X21hbnVhbF9kYnggKSB7CisgICAgZGJ4X2FyZ3Vt ZW50cyhcJGFyZ3MsIFwkZXhlLCAkbXlzcWxkLT5uYW1lKCkpOworICB9CiAgIGVsc2lmICggJG9w dF9kZWJ1Z2dlciApCiAgIHsKICAgICBkZWJ1Z2dlcl9hcmd1bWVudHMoXCRhcmdzLCBcJGV4ZSwg JG15c3FsZC0+bmFtZSgpKTsKQEAgLTUyNTcsNyArNTI3NSw3IEBAIHN1YiBzdGFydF9teXNxbHRl c3QgKCQpIHsKICAgbXkgJGV4ZT0gJGV4ZV9teXNxbHRlc3Q7CiAgIG15ICRhcmdzOwogCi0gIG1h cmtfdGltZV91c2VkKCdpbml0Jyk7CisgIG1hcmtfdGltZV91c2VkKCdhZG1pbicpOwogCiAgIG10 cl9pbml0X2FyZ3MoXCRhcmdzKTsKIApAQCAtNTQwNCw2ICs1NDIyLDkgQEAgc3ViIHN0YXJ0X215 c3FsdGVzdCAoJCkgewogICB7CiAgICAgZGRkX2FyZ3VtZW50cyhcJGFyZ3MsIFwkZXhlLCAiY2xp ZW50Iik7CiAgIH0KKyAgaWYgKCAkb3B0X2NsaWVudF9kYnggKSB7CisgICAgZGJ4X2FyZ3VtZW50 cyhcJGFyZ3MsIFwkZXhlLCAiY2xpZW50Iik7CisgIH0KICAgZWxzaWYgKCAkb3B0X2NsaWVudF9k ZWJ1Z2dlciApCiAgIHsKICAgICBkZWJ1Z2dlcl9hcmd1bWVudHMoXCRhcmdzLCBcJGV4ZSwgImNs aWVudCIpOwpAQCAtNTQzOCwyMyArNTQ1OSwxMSBAQCBzdWIgZ2RiX2FyZ3VtZW50cyB7CiAgICMg UmVtb3ZlIHRoZSBvbGQgZ2RiaW5pdCBmaWxlCiAgIHVubGluaygkZ2RiX2luaXRfZmlsZSk7CiAK LSAgaWYgKCAkdHlwZSBlcSAiY2xpZW50IiApCi0gIHsKLSAgICAjIHdyaXRlIGluaXQgZmlsZSBm b3IgY2xpZW50Ci0gICAgbXRyX3RvZmlsZSgkZ2RiX2luaXRfZmlsZSwKLQkgICAgICAgInNldCBh cmdzICRzdHJcbiIgLgotCSAgICAgICAiYnJlYWsgbWFpblxuIik7Ci0gIH0KLSAgZWxzZQotICB7 Ci0gICAgIyB3cml0ZSBpbml0IGZpbGUgZm9yIG15c3FsZAotICAgIG10cl90b2ZpbGUoJGdkYl9p bml0X2ZpbGUsCi0JICAgICAgICJzZXQgYXJncyAkc3RyXG4iIC4KLQkgICAgICAgImJyZWFrIG15 c3FsX3BhcnNlXG4iIC4KLQkgICAgICAgImNvbW1hbmRzIDFcbiIgLgotCSAgICAgICAiZGlzYWJs ZSAxXG4iIC4KLQkgICAgICAgImVuZFxuIik7Ci0gIH0KKyAgIyB3cml0ZSBpbml0IGZpbGUgZm9y IG15c3FsZCBvciBjbGllbnQKKyAgbXRyX3RvZmlsZSgkZ2RiX2luaXRfZmlsZSwKKwkgICAgICJz ZXQgYXJncyAkc3RyXG4iIC4KKwkgICAgICJicmVhayBtYWluXG4iIC4KKwkgICAgICJydW4iKTsK IAogICBpZiAoICRvcHRfbWFudWFsX2dkYiApCiAgIHsKQEAgLTU1MDEsMjQgKzU1MTAsMTIgQEAg c3ViIGRkZF9hcmd1bWVudHMgewogICAjIFJlbW92ZSB0aGUgb2xkIGdkYmluaXQgZmlsZQogICB1 bmxpbmsoJGdkYl9pbml0X2ZpbGUpOwogCi0gIGlmICggJHR5cGUgZXEgImNsaWVudCIgKQotICB7 Ci0gICAgIyB3cml0ZSBpbml0IGZpbGUgZm9yIGNsaWVudAotICAgIG10cl90b2ZpbGUoJGdkYl9p bml0X2ZpbGUsCi0JICAgICAgICJzZXQgYXJncyAkc3RyXG4iIC4KLQkgICAgICAgImJyZWFrIG1h aW5cbiIpOwotICB9Ci0gIGVsc2UKLSAgewotICAgICMgd3JpdGUgaW5pdCBmaWxlIGZvciBteXNx bGQKLSAgICBtdHJfdG9maWxlKCRnZGJfaW5pdF9maWxlLAotCSAgICAgICAiZmlsZSAuLi9zcWwv bXlzcWxkXG4iIC4KLQkgICAgICAgInNldCBhcmdzICRzdHJcbiIgLgotCSAgICAgICAiYnJlYWsg bXlzcWxfcGFyc2VcbiIgLgotCSAgICAgICAiY29tbWFuZHMgMVxuIiAuCi0JICAgICAgICJkaXNh YmxlIDFcbiIgLgotCSAgICAgICAiZW5kIik7Ci0gIH0KKyAgIyB3cml0ZSBpbml0IGZpbGUgZm9y IG15c3FsZCBvciBjbGllbnQKKyAgbXRyX3RvZmlsZSgkZ2RiX2luaXRfZmlsZSwKKwkgICAgICJm aWxlICQkZXhlXG4iIC4KKwkgICAgICJzZXQgYXJncyAkc3RyXG4iIC4KKwkgICAgICJicmVhayBt YWluXG4iIC4KKwkgICAgICJydW4iKTsKIAogICBpZiAoICRvcHRfbWFudWFsX2RkZCApCiAgIHsK QEAgLTU1NDgsNiArNTU0NSw0NiBAQCBzdWIgZGRkX2FyZ3VtZW50cyB7CiAKIAogIworIyBNb2Rp ZnkgdGhlIGV4ZSBhbmQgYXJncyBzbyB0aGF0IHByb2dyYW0gaXMgcnVuIGluIGRieCBpbiB4dGVy bQorIworc3ViIGRieF9hcmd1bWVudHMgeworICBteSAkYXJncz0gc2hpZnQ7CisgIG15ICRleGU9 ICBzaGlmdDsKKyAgbXkgJHR5cGU9IHNoaWZ0OworCisgICMgUHV0ICRhcmdzIGludG8gYSBzaW5n bGUgc3RyaW5nCisgIG15ICRzdHI9IGpvaW4gIiAiLCBAJCRhcmdzOworCisgIGlmICggJG9wdF9t YW51YWxfZGJ4ICkgeworICAgIHByaW50ICJcblRvIHN0YXJ0IGRieCBmb3IgJHR5cGUsIHR5cGUg aW4gYW5vdGhlciB3aW5kb3c6XG4iOworICAgIHByaW50ICJjZCAkZ2xvYl9teXNxbF90ZXN0X2Rp cjsgZGJ4IC1jIFwic3RvcCBpbiBtYWluOyAiIC4KKyAgICAgICAgICAicnVuICRzdHJcIiAkJGV4 ZVxuIjsKKworICAgICMgSW5kaWNhdGUgdGhlIGV4ZSBzaG91bGQgbm90IGJlIHN0YXJ0ZWQKKyAg ICAkJGV4ZT0gdW5kZWY7CisgICAgcmV0dXJuOworICB9CisKKyAgJCRhcmdzPSBbXTsKKyAgbXRy X2FkZF9hcmcoJCRhcmdzLCAiLXRpdGxlIik7CisgIG10cl9hZGRfYXJnKCQkYXJncywgIiR0eXBl Iik7CisgIG10cl9hZGRfYXJnKCQkYXJncywgIi1lIik7CisKKyAgaWYgKCAkZXhlX2xpYnRvb2wg KSB7CisgICAgbXRyX2FkZF9hcmcoJCRhcmdzLCAkZXhlX2xpYnRvb2wpOworICAgIG10cl9hZGRf YXJnKCQkYXJncywgIi0tbW9kZT1leGVjdXRlIik7CisgIH0KKworICBtdHJfYWRkX2FyZygkJGFy Z3MsICJkYngiKTsKKyAgbXRyX2FkZF9hcmcoJCRhcmdzLCAiLWMiKTsKKyAgbXRyX2FkZF9hcmco JCRhcmdzLCAic3RvcCBpbiBtYWluOyBydW4gJHN0ciIpOworICBtdHJfYWRkX2FyZygkJGFyZ3Ms ICIkJGV4ZSIpOworCisgICQkZXhlPSAieHRlcm0iOworfQorCisKKyMKICMgTW9kaWZ5IHRoZSBl eGUgYW5kIGFyZ3Mgc28gdGhhdCBwcm9ncmFtIGlzIHJ1biBpbiB0aGUgc2VsZWN0ZWQgZGVidWdn ZXIKICMKIHN1YiBkZWJ1Z2dlcl9hcmd1bWVudHMgewpAQCAtNTU3OCwxOCArNTYxNSw2IEBAIHN1 YiBkZWJ1Z2dlcl9hcmd1bWVudHMgewogICAgICQkZXhlPSAkZGVidWdnZXI7CiAKICAgfQotICBl bHNpZiAoICRkZWJ1Z2dlciBlcSAiZGJ4IiApCi0gIHsKLSAgICAjIHh0ZXJtIC1lIGRieCAtciBl eGUgYXJnMSAuLiBhcmduCi0KLSAgICB1bnNoaWZ0KEAkJGFyZ3MsICQkZXhlKTsKLSAgICB1bnNo aWZ0KEAkJGFyZ3MsICItciIpOwotICAgIHVuc2hpZnQoQCQkYXJncywgJGRlYnVnZ2VyKTsKLSAg ICB1bnNoaWZ0KEAkJGFyZ3MsICItZSIpOwotCi0gICAgJCRleGU9ICJ4dGVybSI7Ci0KLSAgfQog ICBlbHNlCiAgIHsKICAgICBtdHJfZXJyb3IoIlVua25vd24gYXJndW1lbnQgXCIkZGVidWdnZXJc IiBwYXNzZWQgdG8gLS1kZWJ1Z2dlciIpOwpAQCAtNTg5MSw2ICs1OTE2LDcgQEAgT3B0aW9ucyBm b3IgZGVidWdnaW5nIHRoZSBwcm9kdWN0CiAgIGNsaWVudC1kZGQgICAgICAgICAgICBTdGFydCBt eXNxbHRlc3QgY2xpZW50IGluIGRkZAogICBjbGllbnQtZGVidWdnZXI9TkFNRSAgU3RhcnQgbXlz cWx0ZXN0IGluIHRoZSBzZWxlY3RlZCBkZWJ1Z2dlcgogICBjbGllbnQtZ2RiICAgICAgICAgICAg U3RhcnQgbXlzcWx0ZXN0IGNsaWVudCBpbiBnZGIKKyAgY2xpZW50LWRieCAgICAgICAgICAgIFN0 YXJ0IG15c3FsdGVzdCBjbGllbnQgaW4gZGJ4CiAgIGRkZCAgICAgICAgICAgICAgICAgICBTdGFy dCBteXNxbGQgaW4gZGRkCiAgIGRlYnVnICAgICAgICAgICAgICAgICBEdW1wIHRyYWNlIG91dHB1 dCBmb3IgYWxsIHNlcnZlcnMgYW5kIGNsaWVudCBwcm9ncmFtcwogICBkZWJ1Zy1jb21tb24gICAg ICAgICAgU2FtZSBhcyBkZWJ1ZywgYnV0IHNldHMgJ2QnIGRlYnVnIGZsYWdzIHRvCkBAIC01ODk5 LDEyICs1OTI1LDE1IEBAIE9wdGlvbnMgZm9yIGRlYnVnZ2luZyB0aGUgcHJvZHVjdAogICAgICAg ICAgICAgICAgICAgICAgICAgdHJhY2luZwogICBkZWJ1Z2dlcj1OQU1FICAgICAgICAgU3RhcnQg bXlzcWxkIGluIHRoZSBzZWxlY3RlZCBkZWJ1Z2dlcgogICBnZGIgICAgICAgICAgICAgICAgICAg U3RhcnQgdGhlIG15c3FsZChzKSBpbiBnZGIKKyAgZGJ4ICAgICAgICAgICAgICAgICAgIFN0YXJ0 IHRoZSBteXNxbGQocykgaW4gZGJ4CiAgIG1hbnVhbC1kZWJ1ZyAgICAgICAgICBMZXQgdXNlciBt YW51YWxseSBzdGFydCBteXNxbGQgaW4gZGVidWdnZXIsIGJlZm9yZQogICAgICAgICAgICAgICAg ICAgICAgICAgcnVubmluZyB0ZXN0KHMpCiAgIG1hbnVhbC1nZGIgICAgICAgICAgICBMZXQgdXNl ciBtYW51YWxseSBzdGFydCBteXNxbGQgaW4gZ2RiLCBiZWZvcmUgcnVubmluZwogICAgICAgICAg ICAgICAgICAgICAgICAgdGVzdChzKQogICBtYW51YWwtZGRkICAgICAgICAgICAgTGV0IHVzZXIg bWFudWFsbHkgc3RhcnQgbXlzcWxkIGluIGRkZCwgYmVmb3JlIHJ1bm5pbmcKICAgICAgICAgICAg ICAgICAgICAgICAgIHRlc3QocykKKyAgbWFudWFsLWRieCAgICAgICAgICAgIExldCB1c2VyIG1h bnVhbGx5IHN0YXJ0IG15c3FsZCBpbiBkYngsIGJlZm9yZSBydW5uaW5nCisgICAgICAgICAgICAg ICAgICAgICAgICB0ZXN0KHMpCiAgIHN0cmFjZS1jbGllbnRbPXBhdGhdICBDcmVhdGUgc3RyYWNl IG91dHB1dCBmb3IgbXlzcWx0ZXN0IGNsaWVudCwgb3B0aW9uYWxseQogICAgICAgICAgICAgICAg ICAgICAgICAgc3BlY2lmeWluZyBuYW1lIGFuZCBwYXRoIHRvIHRoZSB0cmFjZSBwcm9ncmFtIHRv IHVzZS4KICAgICAgICAgICAgICAgICAgICAgICAgIEV4YW1wbGU6ICQwIC0tc3RyYWNlLWNsaWVu dD1rdHJhY2UKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3Ivb3JkZXJfYnlfYWxsLnJl c3VsdCcKLS0tIGEvbXlzcWwtdGVzdC9yL29yZGVyX2J5X2FsbC5yZXN1bHQJMjAxMS0wMi0wNyAw OTo0Njo1MyArMDAwMAorKysgYi9teXNxbC10ZXN0L3Ivb3JkZXJfYnlfYWxsLnJlc3VsdAkyMDEx LTAzLTMwIDEzOjMzOjI5ICswMDAwCkBAIC0xNDMwLDYgKzE0MzAsNyBAQCBDQUxMIG10ci5hZGRf c3VwcHJlc3Npb24oIk91dCBvZiBzb3J0IG1lCiBzZWxlY3QgKiBmcm9tIHQxIG9yZGVyIGJ5IGI7 CiBFUlJPUiBIWTAwMTogT3V0IG9mIHNvcnQgbWVtb3J5LCBjb25zaWRlciBpbmNyZWFzaW5nIHNl cnZlciBzb3J0IGJ1ZmZlciBzaXplCiBkcm9wIHRhYmxlIHQxOworY2FsbCBtdHIuYWRkX3N1cHBy ZXNzaW9uKCJPdXQgb2Ygc29ydCBtZW1vcnk7IGluY3JlYXNlIHNlcnZlciBzb3J0IGJ1ZmZlciBz aXplIik7CiAjCiAjIEJ1ZyAjMzk4NDQ6IFF1ZXJ5IENyYXNoIE15c3FsIFNlcnZlciA1LjAuNjcK ICMKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3Ivb3JkZXJfYnlfaWNwX21yci5yZXN1 bHQnCi0tLSBhL215c3FsLXRlc3Qvci9vcmRlcl9ieV9pY3BfbXJyLnJlc3VsdAkyMDExLTA0LTAx IDE0OjA0OjUyICswMDAwCisrKyBiL215c3FsLXRlc3Qvci9vcmRlcl9ieV9pY3BfbXJyLnJlc3Vs dAkyMDExLTA0LTA1IDEzOjI4OjM0ICswMDAwCkBAIC0xNDMwLDYgKzE0MzAsNyBAQCBDQUxMIG10 ci5hZGRfc3VwcHJlc3Npb24oIk91dCBvZiBzb3J0IG1lCiBzZWxlY3QgKiBmcm9tIHQxIG9yZGVy IGJ5IGI7CiBFUlJPUiBIWTAwMTogT3V0IG9mIHNvcnQgbWVtb3J5LCBjb25zaWRlciBpbmNyZWFz aW5nIHNlcnZlciBzb3J0IGJ1ZmZlciBzaXplCiBkcm9wIHRhYmxlIHQxOworY2FsbCBtdHIuYWRk X3N1cHByZXNzaW9uKCJPdXQgb2Ygc29ydCBtZW1vcnk7IGluY3JlYXNlIHNlcnZlciBzb3J0IGJ1 ZmZlciBzaXplIik7CiAjCiAjIEJ1ZyAjMzk4NDQ6IFF1ZXJ5IENyYXNoIE15c3FsIFNlcnZlciA1 LjAuNjcKICMKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3Ivb3JkZXJfYnlfbm9uZS5y ZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvci9vcmRlcl9ieV9ub25lLnJlc3VsdAkyMDExLTA0LTAx IDE0OjA0OjUyICswMDAwCisrKyBiL215c3FsLXRlc3Qvci9vcmRlcl9ieV9ub25lLnJlc3VsdAky MDExLTA0LTA1IDEzOjI4OjM0ICswMDAwCkBAIC0xNDI5LDYgKzE0MjksNyBAQCBDQUxMIG10ci5h ZGRfc3VwcHJlc3Npb24oIk91dCBvZiBzb3J0IG1lCiBzZWxlY3QgKiBmcm9tIHQxIG9yZGVyIGJ5 IGI7CiBFUlJPUiBIWTAwMTogT3V0IG9mIHNvcnQgbWVtb3J5LCBjb25zaWRlciBpbmNyZWFzaW5n IHNlcnZlciBzb3J0IGJ1ZmZlciBzaXplCiBkcm9wIHRhYmxlIHQxOworY2FsbCBtdHIuYWRkX3N1 cHByZXNzaW9uKCJPdXQgb2Ygc29ydCBtZW1vcnk7IGluY3JlYXNlIHNlcnZlciBzb3J0IGJ1ZmZl ciBzaXplIik7CiAjCiAjIEJ1ZyAjMzk4NDQ6IFF1ZXJ5IENyYXNoIE15c3FsIFNlcnZlciA1LjAu NjcKICMKCj09PSBtb2RpZmllZCBmaWxlICdteXNxbC10ZXN0L3Ivc2hvd19jaGVjay5yZXN1bHQn Ci0tLSBhL215c3FsLXRlc3Qvci9zaG93X2NoZWNrLnJlc3VsdAkyMDExLTAxLTE4IDEzOjA5OjM1 ICswMDAwCisrKyBiL215c3FsLXRlc3Qvci9zaG93X2NoZWNrLnJlc3VsdAkyMDExLTAzLTMwIDEz OjMzOjI5ICswMDAwCkBAIC0xMzM4LDYgKzEzMzgsNyBAQCBOYW1lCUVuZ2luZQlWZXJzaW9uCVJv d19mb3JtYXQJUm93cwlBdmdfCiBEUk9QIERBVEFCQVNFIGDvv71gOwogc2hvdyBjb2x1bW5zIGZy b20gYCNteXNxbDUwIz8/Pz8/Pz8/YDsKIEdvdCBvbmUgb2YgdGhlIGxpc3RlZCBlcnJvcnMKK2Nh bGwgbXRyLmFkZF9zdXBwcmVzc2lvbigiQ2FuLnQgZmluZCBmaWxlOiAnLlxcXFx0ZXN0XFxcXFxc P3s4fS5mcm0nIik7CiBEUk9QIFRBQkxFIElGIEVYSVNUUyB0MTsKIERST1AgUFJPQ0VEVVJFIElG IEVYSVNUUyBwMTsKIENSRUFURSBUQUJMRSB0MShjMSBJTlQpOwoKPT09IG1vZGlmaWVkIGZpbGUg J215c3FsLXRlc3Qvci9zcC1kZXN0cnVjdC5yZXN1bHQnCi0tLSBhL215c3FsLXRlc3Qvci9zcC1k ZXN0cnVjdC5yZXN1bHQJMjAxMC0xMi0xNiAxODoxODoyMCArMDAwMAorKysgYi9teXNxbC10ZXN0 L3Ivc3AtZGVzdHJ1Y3QucmVzdWx0CTIwMTEtMDMtMzAgMTM6MzM6MjkgKzAwMDAKQEAgLTEsNCAr MSw1IEBACiBjYWxsIG10ci5hZGRfc3VwcHJlc3Npb24oIkNvbHVtbiBjb3VudCBvZiBteXNxbC5w cm9jIGlzIHdyb25nLiBFeHBlY3RlZCAyMCwgZm91bmQgMTkuIFRoZSB0YWJsZSBpcyBwcm9iYWJs eSBjb3JydXB0ZWQiKTsKK2NhbGwgbXRyLmFkZF9zdXBwcmVzc2lvbigiU3RvcmVkIHJvdXRpbmUg LnRlc3QuLi5idWcxNDIzM19bMTIzXS46IGludmFsaWQgdmFsdWUgaW4gY29sdW1uIG15c3FsLnBy b2MiKTsKIHVzZSB0ZXN0OwogZHJvcCBwcm9jZWR1cmUgaWYgZXhpc3RzIGJ1ZzE0MjMzOwogZHJv cCBmdW5jdGlvbiBpZiBleGlzdHMgYnVnMTQyMzM7Cgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwt dGVzdC9zdWl0ZS9ycGwvci9ycGxfZXh0cmFfY29sX21hc3Rlcl9pbm5vZGIucmVzdWx0JwotLS0g YS9teXNxbC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9leHRyYV9jb2xfbWFzdGVyX2lubm9kYi5yZXN1 bHQJMjAxMS0wMi0yMyAyMDowMToyNyArMDAwMAorKysgYi9teXNxbC10ZXN0L3N1aXRlL3JwbC9y L3JwbF9leHRyYV9jb2xfbWFzdGVyX2lubm9kYi5yZXN1bHQJMjAxMS0wMy0zMSAwODozOTo1NSAr MDAwMApAQCAtNTcsMTEgKzU3LDYgQEAgZjEJZjIJZjMJZjQJZjUJZjYJZjcJZjgJZjkJaGV4KGYx MCkJaGV4KAogMjcJMjcJMjcJbmV4dAkyCWtha3MJMglnb3Qgc3RvbGVuIGZyb20gdGhlIHBhcmFk aXNlCXZlcnkgZmF0IGJsb2IJMTU1NQkxMjM0NTYKIDI5CTI5CTI5CXNlY29uZAkyCWtha3MJMgln b3Qgc3RvbGVuIGZyb20gdGhlIHBhcmFkaXNlCXZlcnkgZmF0IGJsb2IJMTU1NQkxMjM0NTYKIDMw CTMwCTMwCW5leHQJMglrYWtzCTIJZ290IHN0b2xlbiBmcm9tIHRoZSBwYXJhZGlzZQl2ZXJ5IGZh dCBibG9iCTE1NTUJMTIzNDU2Ci1jYWxsIG10ci5hZGRfc3VwcHJlc3Npb24oIlNsYXZlIFNRTC4q VGFibGUgZGVmaW5pdGlvbiBvbiBtYXN0ZXIgYW5kIHNsYXZlIGRvZXMgbm90IG1hdGNoOiBDb2x1 bW4gMiB0eXBlIG1pc21hdGNoLiogMTUzNSIpOwotY2FsbCBtdHIuYWRkX3N1cHByZXNzaW9uKCJT bGF2ZSBTUUwuKkVycm9yIC5DYW4udCBEUk9QIC5jNy47IGNoZWNrIHRoYXQgY29sdW1uLmtleSBl eGlzdHMuIG9uIHF1ZXJ5LiogMTA5MSIpOwotY2FsbCBtdHIuYWRkX3N1cHByZXNzaW9uKCJTbGF2 ZSBTUUwuKkVycm9yIC5Vbmtub3duIGNvbHVtbiAuYzcuIGluIC50MTUuLiBvbiBxdWVyeS4qIDEw NTQiKTsKLWNhbGwgbXRyLmFkZF9zdXBwcmVzc2lvbigiU2xhdmUgU1FMLipFcnJvciAuS2V5IGNv bHVtbiAuYzYuIGRvZXNuLnQgZXhpc3QgaW4gdGFibGUuIG9uIHF1ZXJ5LiogMTA3MiIpOwotY2Fs bCBtdHIuYWRkX3N1cHByZXNzaW9uKCJTbGF2ZSBTUUwuKkNvbHVtbiAyIG9mIHRhYmxlIC50ZXN0 LnQxLi4gY2Fubm90IGJlIGNvbnZlcnRlZCBmcm9tIHR5cGUuKiBFcnJvcl9jb2RlOiAxNjc3Iik7 CiAKICogU2VsZWN0IGNvdW50IGFuZCAyMCByb3dzIGZyb20gU2xhdmUgKgogCgo9PT0gbW9kaWZp ZWQgZmlsZSAnbXlzcWwtdGVzdC9zdWl0ZS9ycGwvci9ycGxfZXh0cmFfY29sX21hc3Rlcl9teWlz YW0ucmVzdWx0JwotLS0gYS9teXNxbC10ZXN0L3N1aXRlL3JwbC9yL3JwbF9leHRyYV9jb2xfbWFz dGVyX215aXNhbS5yZXN1bHQJMjAxMS0wMi0yMyAyMDowMToyNyArMDAwMAorKysgYi9teXNxbC10 ZXN0L3N1aXRlL3JwbC9yL3JwbF9leHRyYV9jb2xfbWFzdGVyX215aXNhbS5yZXN1bHQJMjAxMS0w My0zMSAwODozOTo1NSArMDAwMApAQCAtNTcsMTEgKzU3LDYgQEAgZjEJZjIJZjMJZjQJZjUJZjYJ ZjcJZjgJZjkJaGV4KGYxMCkJaGV4KAogMjcJMjcJMjcJbmV4dAkyCWtha3MJMglnb3Qgc3RvbGVu IGZyb20gdGhlIHBhcmFkaXNlCXZlcnkgZmF0IGJsb2IJMTU1NQkxMjM0NTYKIDI5CTI5CTI5CXNl Y29uZAkyCWtha3MJMglnb3Qgc3RvbGVuIGZyb20gdGhlIHBhcmFkaXNlCXZlcnkgZmF0IGJsb2IJ MTU1NQkxMjM0NTYKIDMwCTMwCTMwCW5leHQJMglrYWtzCTIJZ290IHN0b2xlbiBmcm9tIHRoZSBw YXJhZGlzZQl2ZXJ5IGZhdCBibG9iCTE1NTUJMTIzNDU2Ci1jYWxsIG10ci5hZGRfc3VwcHJlc3Np b24oIlNsYXZlIFNRTC4qVGFibGUgZGVmaW5pdGlvbiBvbiBtYXN0ZXIgYW5kIHNsYXZlIGRvZXMg bm90IG1hdGNoOiBDb2x1bW4gMiB0eXBlIG1pc21hdGNoLiogMTUzNSIpOwotY2FsbCBtdHIuYWRk X3N1cHByZXNzaW9uKCJTbGF2ZSBTUUwuKkVycm9yIC5DYW4udCBEUk9QIC5jNy47IGNoZWNrIHRo YXQgY29sdW1uLmtleSBleGlzdHMuIG9uIHF1ZXJ5LiogMTA5MSIpOwotY2FsbCBtdHIuYWRkX3N1 cHByZXNzaW9uKCJTbGF2ZSBTUUwuKkVycm9yIC5Vbmtub3duIGNvbHVtbiAuYzcuIGluIC50MTUu LiBvbiBxdWVyeS4qIDEwNTQiKTsKLWNhbGwgbXRyLmFkZF9zdXBwcmVzc2lvbigiU2xhdmUgU1FM LipFcnJvciAuS2V5IGNvbHVtbiAuYzYuIGRvZXNuLnQgZXhpc3QgaW4gdGFibGUuIG9uIHF1ZXJ5 LiogMTA3MiIpOwotY2FsbCBtdHIuYWRkX3N1cHByZXNzaW9uKCJTbGF2ZSBTUUwuKkNvbHVtbiAy IG9mIHRhYmxlIC50ZXN0LnQxLi4gY2Fubm90IGJlIGNvbnZlcnRlZCBmcm9tIHR5cGUuKiBFcnJv cl9jb2RlOiAxNjc3Iik7CiAKICogU2VsZWN0IGNvdW50IGFuZCAyMCByb3dzIGZyb20gU2xhdmUg KgogCgo9PT0gbW9kaWZpZWQgZmlsZSAnbXlzcWwtdGVzdC90L3Nob3dfY2hlY2sudGVzdCcKLS0t IGEvbXlzcWwtdGVzdC90L3Nob3dfY2hlY2sudGVzdAkyMDExLTAzLTA3IDE1OjE3OjM5ICswMDAw CisrKyBiL215c3FsLXRlc3QvdC9zaG93X2NoZWNrLnRlc3QJMjAxMS0wMy0zMCAxMzozMzoyOSAr MDAwMApAQCAtMTA4Miw2ICsxMDgyLDcgQEAgRFJPUCBEQVRBQkFTRSBg77+9YDsKICMKIC0tZXJy b3IgRVJfTk9fU1VDSF9UQUJMRSxFUl9GSUxFX05PVF9GT1VORAogc2hvdyBjb2x1bW5zIGZyb20g YCNteXNxbDUwIz8/Pz8/Pz8/YDsKK2NhbGwgbXRyLmFkZF9zdXBwcmVzc2lvbigiQ2FuLnQgZmlu ZCBmaWxlOiAnLlxcXFx0ZXN0XFxcXFxcP3s4fS5mcm0nIik7CiAKICMKICMgU0hPVyBDUkVBVEUg VFJJR0dFUiB0ZXN0LgoKPT09IG1vZGlmaWVkIGZpbGUgJ215c3FsLXRlc3QvdC9zcC1kZXN0cnVj dC50ZXN0JwotLS0gYS9teXNxbC10ZXN0L3Qvc3AtZGVzdHJ1Y3QudGVzdAkyMDEwLTEyLTE2IDE4 OjE4OjIwICswMDAwCisrKyBiL215c3FsLXRlc3QvdC9zcC1kZXN0cnVjdC50ZXN0CTIwMTEtMDMt MzAgMTM6MzM6MjkgKzAwMDAKQEAgLTE0LDYgKzE0LDcgQEAKIAogIyBTdXByZXNzIHdhcm5pbmdz IHdyaXR0ZW4gdG8gdGhlIGxvZyBmaWxlCiBjYWxsIG10ci5hZGRfc3VwcHJlc3Npb24oIkNvbHVt biBjb3VudCBvZiBteXNxbC5wcm9jIGlzIHdyb25nLiBFeHBlY3RlZCAyMCwgZm91bmQgMTkuIFRo ZSB0YWJsZSBpcyBwcm9iYWJseSBjb3JydXB0ZWQiKTsKK2NhbGwgbXRyLmFkZF9zdXBwcmVzc2lv bigiU3RvcmVkIHJvdXRpbmUgLnRlc3QuLi5idWcxNDIzM19bMTIzXS46IGludmFsaWQgdmFsdWUg aW4gY29sdW1uIG15c3FsLnByb2MiKTsKIAogIyBCYWNrdXAgcHJvYyB0YWJsZQogbGV0ICRNWVNR TERfREFUQURJUj0gYHNlbGVjdCBAQGRhdGFkaXJgOwoKTm8gYnVuZGxlIChyZWFzb246IHVzZWxl c3MgZm9yIHB1c2ggZW1haWxzKS4=