<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>125378</bug_id>
          
          <creation_ts>2013-12-06 20:53:16 -0800</creation_ts>
          <short_desc>CStack Branch: Enable basic JavaScript functionality in LLInt</short_desc>
          <delta_ts>2013-12-06 21:43:36 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>957472</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-12-06 20:53:16 -0800</bug_when>
    <thetext>This task is to allow simple javascript programs to run.  For example:

function foo(x)
{
    return x+1
}

print(foo(1))</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957474</commentid>
    <comment_count>1</comment_count>
      <attachid>218648</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-12-06 21:24:12 -0800</bug_when>
    <thetext>Created attachment 218648
Patch

This patch runs simple scripts.  When it runs v8-crypto.js, it exits with an exit code of 0 at the line &quot;rr = &quot;0&quot;.charCodeAt(0);&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957478</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-12-06 21:43:36 -0800</bug_when>
    <thetext>Committed r160267: &lt;http://trac.webkit.org/changeset/160267&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218648</attachid>
            <date>2013-12-06 21:24:12 -0800</date>
            <delta_ts>2013-12-06 21:41:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>125378.patch</filename>
            <type>text/plain</type>
            <size>28380</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTYwMjY2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU0IEBA
CisyMDEzLTEyLTA2ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIENTdGFjayBCcmFuY2g6IEVuYWJsZSBiYXNpYyBKYXZhU2NyaXB0IGZ1bmN0aW9uYWxpdHkg
aW4gTExJbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEyNTM3OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFRoaXMgcHJvdmlkZXMgYmFzaWMgTExJbnQgb25seSBmdW5jdGlvbmFsaXR5IGZvciBYODZfNjQu
ICBJdCBydW5zIHNpbXBsZSBzY3JpcHRzLgorICAgICAgICBUaGVyZSBhcmUgc2V2ZXJhbCBwbGFj
ZXMgd2hlcmUgdGhlIGNvZGUgaXMgdGFnZ2VkIHdpdGggIiYmJiYgRklYTUU6IC4uLiIgY29tbWVu
dHMKKyAgICAgICAgYXMgcGxhY2Vob2xkZXJzIHdoZXJlIG1vcmUgd29yayBuZWVkcyB0byBiZSBk
b25lLgorCisgICAgICAgIEFkZGVkIFg4NiBjb21wbGlhbnQgcHJvbG9ndWUgLyBlcGlsb2d1ZXMg
YXQgdGhlIGhlYWQgYW5kIHRhaWwgb2YgZnVuY3Rpb25zLgorICAgICAgICBDaGFuZ2VkIExMSW50
IGNhbGxzIHRvIGxlYXZlIHRoZSBjYWxsZXIgZnJhbWVQb2ludGVyIGluIGNhbGxGcmFtZSByZWdp
c3RlciBhbmQKKyAgICAgICAgcGFzcyB0aGUgY2FsbGVlIGZyYW1lUG9pbnRlciAoLTE2KSBpbiBT
UCBzbyB0aGF0IHRoZSBjYWxsZWUgcmVjZWl2aW5nIHByb2xvZ3VlCisgICAgICAgIHdpbGwgbWFr
ZSBzdG9yZSB0aGUgUmV0dXJuUEMgYW5kIENhbGxlckZyYW1lIGF0IHRoZSByaWdodCBsb2NhdGlv
biBpbiB0aGUgY2FsbAorICAgICAgICBmcmFtZSBoZWFkZXIuIENyZWF0ZWQgYSBzdGFjayBwb2lu
dGVyIHNhbml0eSBjaGVjayBtYWNybyAoY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQpCisgICAg
ICAgIGluIHRoZSBMTEludCB0aGF0IHdpbGwgY2F1c2UgYSBicmVha3BvaW50IG9uIGZhaWx1cmUu
CisKKyAgICAgICAgKiBkZmcvREZHSklUQ29tcGlsZXIuY3BwOgorICAgICAgICAoSlNDOjpERkc6
OkpJVENvbXBpbGVyOjpjb21waWxlRW50cnkpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2
ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6
CisgICAgICAgICogZnRsL0ZUTExpbmsuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OmNvbXBpbGVF
bnRyeSk6CisgICAgICAgIChKU0M6OkZUTDo6bGluayk6CisgICAgICAgICogZnRsL0ZUTFRodW5r
cy5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6b3NyRXhpdEdlbmVyYXRpb25UaHVua0dlbmVyYXRv
cik6CisgICAgICAgIChKU0M6OkZUTDo6c2xvd1BhdGhDYWxsVGh1bmtHZW5lcmF0b3IpOgorICAg
ICAgICAqIGludGVycHJldGVyL0ludGVycHJldGVyLmNwcDoKKyAgICAgICAgKEpTQzo6dW53aW5k
Q2FsbEZyYW1lKToKKyAgICAgICAgKiBpbnRlcnByZXRlci9Qcm90b0NhbGxGcmFtZS5jcHA6Cisg
ICAgICAgIChKU0M6OlByb3RvQ2FsbEZyYW1lOjppbml0KToKKyAgICAgICAgKiBqaXQvQXNzZW1i
bHlIZWxwZXJzLmg6CisgICAgICAgIChKU0M6OkFzc2VtYmx5SGVscGVyczo6ZW1pdEZ1bmN0aW9u
UHJvbG9ndWUpOgorICAgICAgICAoSlNDOjpBc3NlbWJseUhlbHBlcnM6OmVtaXRGdW5jdGlvbkVw
aWxvZ3VlKToKKyAgICAgICAgKiBqaXQvSklULmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpwcml2
YXRlQ29tcGlsZSk6CisgICAgICAgICogaml0L0pJVENhbGwuY3BwOgorICAgICAgICAoSlNDOjpK
SVQ6OnByaXZhdGVDb21waWxlQ2xvc3VyZUNhbGwpOgorICAgICAgICAqIGppdC9KSVRPcGNvZGVz
LmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29wX2VuZCk6CisgICAgICAgIChKU0M6OkpJ
VDo6ZW1pdF9vcF9yZXQpOgorICAgICAgICAoSlNDOjpKSVQ6OmVtaXRfb3BfcmV0X29iamVjdF9v
cl90aGlzKToKKyAgICAgICAgKiBqaXQvUmVwYXRjaC5jcHA6CisgICAgICAgIChKU0M6OmxpbmtD
bG9zdXJlQ2FsbCk6CisgICAgICAgICogaml0L1RodW5rR2VuZXJhdG9ycy5jcHA6CisgICAgICAg
IChKU0M6OnNsb3dQYXRoRm9yKToKKyAgICAgICAgKEpTQzo6bmF0aXZlRm9yR2VuZXJhdG9yKToK
KyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToKKyAgICAgICAgKiBsbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtOgorCiAyMDEzLTEyLTA2ICBNaWNoYWVsIFNhYm9m
ZiAgPG1zYWJvZmZAYXBwbGUuY29tPgogCiAgICAgTWVyZ2VkIGZyb20gdHJ1bmsgcjE2MDI0NDog
PGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzE2MDI0ND4KSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29tcGlsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29tcGlsZXIuY3BwCShyZXZpc2lvbiAxNjAyNTEp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtOTgsOCArOTgsNyBAQCB2b2lkIEpJVENvbXBpbGVyOjpjb21waWxlRW50cnko
KQogICAgIC8vIFdlJ2xsIG5lZWQgdG8gY29udmVydCB0aGUgcmVtYWluaW5nIGN0aV8gc3R5bGUg
Y2FsbHMgKHNwZWNpZmljYWxseSB0aGUgc3RhY2sKICAgICAvLyBjaGVjaykgd2hpY2ggd2lsbCBi
ZSBkZXBlbmRlbnQgb24gc3RhY2sgbGF5b3V0LiAoV2UnZCBuZWVkIHRvIGFjY291bnQgZm9yIHRo
aXMgaW4KICAgICAvLyBib3RoIG5vcm1hbCByZXR1cm4gY29kZSBhbmQgd2hlbiBqdW1waW5nIHRv
IGFuIGV4Y2VwdGlvbiBoYW5kbGVyKS4KLSAgICBwcmVzZXJ2ZVJldHVybkFkZHJlc3NBZnRlckNh
bGwoR1BSSW5mbzo6cmVnVDIpOwotICAgIGVtaXRQdXRSZXR1cm5QQ1RvQ2FsbEZyYW1lSGVhZGVy
KEdQUkluZm86OnJlZ1QyKTsKKyAgICBlbWl0RnVuY3Rpb25Qcm9sb2d1ZSgpOwogICAgIGVtaXRQ
dXRJbW1lZGlhdGVUb0NhbGxGcmFtZUhlYWRlcihtX2NvZGVCbG9jaywgSlNTdGFjazo6Q29kZUJs
b2NrKTsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVDY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUNjQuY3BwCShyZXZpc2lvbiAxNjAyNTEpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNDIz
LDEyICszNDIzLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQog
ICAgICAgICBKU1ZhbHVlT3BlcmFuZCBvcDEodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwogICAgICAg
ICBtX2ppdC5tb3ZlKG9wMS5ncHIoKSwgR1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIpOwogCi0gICAg
ICAgIC8vIEdyYWIgdGhlIHJldHVybiBhZGRyZXNzLgotICAgICAgICBtX2ppdC5lbWl0R2V0UmV0
dXJuUENGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKEdQUkluZm86OnJlZ1QxKTsKLSAgICAgICAgLy8g
UmVzdG9yZSBvdXIgY2FsbGVyJ3MgInIiLgotICAgICAgICBtX2ppdC5lbWl0R2V0Q2FsbGVyRnJh
bWVGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyKTsKLSAg
ICAgICAgLy8gUmV0dXJuLgotICAgICAgICBtX2ppdC5yZXN0b3JlUmV0dXJuQWRkcmVzc0JlZm9y
ZVJldHVybihHUFJJbmZvOjpyZWdUMSk7CisgICAgICAgIG1faml0LmVtaXRGdW5jdGlvbkVwaWxv
Z3VlKCk7CiAgICAgICAgIG1faml0LnJldCgpOwogICAgICAgICAKICAgICAgICAgbm9SZXN1bHQo
bm9kZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExpbmsuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTGluay5jcHAJKHJldmlzaW9u
IDE2MDI1MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTGluay5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTQ1LDggKzQ1LDcgQEAgdXNpbmcgbmFtZXNwYWNlIERGRzsKIAogc3RhdGlj
IHZvaWQgY29tcGlsZUVudHJ5KENDYWxsSGVscGVycyYgaml0KQogewotICAgIGppdC5wcmVzZXJ2
ZVJldHVybkFkZHJlc3NBZnRlckNhbGwoR1BSSW5mbzo6cmVnVDIpOwotICAgIGppdC5lbWl0UHV0
UmV0dXJuUENUb0NhbGxGcmFtZUhlYWRlcihHUFJJbmZvOjpyZWdUMik7CisgICAgaml0LmVtaXRG
dW5jdGlvblByb2xvZ3VlKCk7CiAgICAgaml0LmVtaXRQdXRJbW1lZGlhdGVUb0NhbGxGcmFtZUhl
YWRlcihqaXQuY29kZUJsb2NrKCksIEpTU3RhY2s6OkNvZGVCbG9jayk7CiB9CiAKQEAgLTk2LDkg
Kzk1LDcgQEAgdm9pZCBsaW5rKFN0YXRlJiBzdGF0ZSkKICAgICAgICAgICAgIENDYWxsSGVscGVy
czo6VHJ1c3RlZEltbVB0cihyZWludGVycHJldF9jYXN0PHZvaWQqPihzdGF0ZS5nZW5lcmF0ZWRG
dW5jdGlvbikpLAogICAgICAgICAgICAgR1BSSW5mbzo6bm9uQXJnR1BSMCk7CiAgICAgICAgIGpp
dC5jYWxsKEdQUkluZm86Om5vbkFyZ0dQUjApOwotICAgICAgICBqaXQuZW1pdEdldFJldHVyblBD
RnJvbUNhbGxGcmFtZUhlYWRlclB0cihHUFJJbmZvOjpyZWdUMSk7Ci0gICAgICAgIGppdC5lbWl0
R2V0Q2FsbGVyRnJhbWVGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKEdQUkluZm86OmNhbGxGcmFtZVJl
Z2lzdGVyKTsKLSAgICAgICAgaml0LnJlc3RvcmVSZXR1cm5BZGRyZXNzQmVmb3JlUmV0dXJuKEdQ
UkluZm86OnJlZ1QxKTsKKyAgICAgICAgaml0LmVtaXRGdW5jdGlvbkVwaWxvZ3VlKCk7CiAgICAg
ICAgIGppdC5yZXQoKTsKICAgICAgICAgCiAgICAgICAgIHN0YWNrQ2hlY2subGluaygmaml0KTsK
QEAgLTE2NSw5ICsxNjIsNyBAQCB2b2lkIGxpbmsoU3RhdGUmIHN0YXRlKQogICAgICAgICAgICAg
Q0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KHN0YXRl
LmdlbmVyYXRlZEZ1bmN0aW9uKSksCiAgICAgICAgICAgICBHUFJJbmZvOjpub25BcmdHUFIwKTsK
ICAgICAgICAgaml0LmNhbGwoR1BSSW5mbzo6bm9uQXJnR1BSMCk7Ci0gICAgICAgIGppdC5lbWl0
R2V0UmV0dXJuUENGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKEdQUkluZm86OnJlZ1QxKTsKLSAgICAg
ICAgaml0LmVtaXRHZXRDYWxsZXJGcmFtZUZyb21DYWxsRnJhbWVIZWFkZXJQdHIoR1BSSW5mbzo6
Y2FsbEZyYW1lUmVnaXN0ZXIpOwotICAgICAgICBqaXQucmVzdG9yZVJldHVybkFkZHJlc3NCZWZv
cmVSZXR1cm4oR1BSSW5mbzo6cmVnVDEpOworICAgICAgICBqaXQuZW1pdEZ1bmN0aW9uRXBpbG9n
dWUoKTsKICAgICAgICAgaml0LnJldCgpOwogICAgICAgICAKICAgICAgICAgbGlua0J1ZmZlciA9
IGFkb3B0UHRyKG5ldyBMaW5rQnVmZmVyKApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExUaHVua3MuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwv
RlRMVGh1bmtzLmNwcAkocmV2aXNpb24gMTYwMjUxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExUaHVua3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NCw2ICs3NCw3IEBAIE1hY3Jv
QXNzZW1ibGVyQ29kZVJlZiBvc3JFeGl0R2VuZXJhdGlvblQKICAgICAvLyBQcmVwYXJlIGZvciB0
YWlsIGNhbGwuCiAgICAgaml0LnBvcChHUFJJbmZvOjpyZWdUMSk7CiAgICAgaml0LnBvcChHUFJJ
bmZvOjpyZWdUMSk7CisgICAgLy8gJiYmJiYgRklYTUU6IE5lZWQgdG8gYWRkcmVzcyB0aGUgcmln
aHQgd2F5IHRvIGFkanVzdCBDRlIgYW5kIFNQCiAgICAgaml0LnBvcChNYWNyb0Fzc2VtYmxlcjo6
ZnJhbWVQb2ludGVyUmVnaXN0ZXIpOwogICAgIAogICAgIC8vIEF0IHRoaXMgcG9pbnQgd2UncmUg
c2l0dGluZyBvbiB0aGUgcmV0dXJuIGFkZHJlc3MgLSBzbyBpZiB3ZSBkaWQgYSBqdW1wIHJpZ2h0
IG5vdywgdGhlCkBAIC04MSw3ICs4Miw4IEBAIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBvc3JFeGl0
R2VuZXJhdGlvblQKICAgICAvLyByZXN0b3JlIGFsbCByZWdpc3RlcnMuCiAgICAgCiAgICAgaml0
LnJlc3RvcmVSZXR1cm5BZGRyZXNzQmVmb3JlUmV0dXJuKEdQUkluZm86OnJlZ1QwKTsKLSAgICAK
KyAgICAvLyAmJiYmIFRocm91Z2ggaGVyZQorCiAgICAgcmVzdG9yZUFsbFJlZ2lzdGVycyhqaXQs
IGJ1ZmZlcik7CiAKICAgICBqaXQucmV0KCk7CkBAIC0xMTksMTEgKzEyMSwxMyBAQCBNYWNyb0Fz
c2VtYmxlckNvZGVSZWYgc2xvd1BhdGhDYWxsVGh1bmtHCiAgICAgICAgIGN1cnJlbnRPZmZzZXQg
Kz0gc2l6ZW9mKGRvdWJsZSk7CiAgICAgfQogICAgIAorICAgIC8vICYmJiYgRklYTUU6IE5lZWQg
dG8gZG8gc29lbWV0aGluZyBsaWtlIGppdC5lbWl0RnVuY3Rpb25Qcm9sb2d1ZSgpOwogICAgIGpp
dC5wcmVzZXJ2ZVJldHVybkFkZHJlc3NBZnRlckNhbGwoR1BSSW5mbzo6bm9uQXJnR1BSMCk7CiAg
ICAgaml0LnN0b3JlUHRyKEdQUkluZm86Om5vbkFyZ0dQUjAsIEFzc2VtYmx5SGVscGVyczo6QWRk
cmVzcyhNYWNyb0Fzc2VtYmxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIsIGtleS5vZmZzZXQoKSkp
OwogICAgIAogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGwgPSBqaXQuY2FsbCgpOwotICAgIAor
CisgICAgLy8gJiYmJiBGSVhNRTogTmVlZCB0byBkbyBzb21ldGhpbmcgbGlrZSBqaXQuZW1pdEZ1
bmN0aW9uRXBpbG9ndWUoKTsKICAgICBqaXQubG9hZFB0cihBc3NlbWJseUhlbHBlcnM6OkFkZHJl
c3MoTWFjcm9Bc3NlbWJsZXI6OnN0YWNrUG9pbnRlclJlZ2lzdGVyLCBrZXkub2Zmc2V0KCkpLCBH
UFJJbmZvOjpub25QcmVzZXJ2ZWROb25SZXR1cm5HUFIpOwogICAgIGppdC5yZXN0b3JlUmV0dXJu
QWRkcmVzc0JlZm9yZVJldHVybihHUFJJbmZvOjpub25QcmVzZXJ2ZWROb25SZXR1cm5HUFIpOwog
ICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50
ZXJwcmV0ZXIuY3BwCShyZXZpc2lvbiAxNjAyNTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NTYsNyArNDU2
LDEwIEBAIHN0YXRpYyBib29sIHVud2luZENhbGxGcmFtZShTdGFja1Zpc2l0b3IKIAogICAgIENh
bGxGcmFtZSogY2FsbGVyRnJhbWUgPSBjYWxsRnJhbWUtPmNhbGxlckZyYW1lKCk7CiAgICAgaWYg
KGNhbGxlckZyYW1lLT5pc1ZNRW50cnlTZW50aW5lbCgpKSB7Ci0gICAgICAgIGNhbGxGcmFtZS0+
dm0oKS50b3BDYWxsRnJhbWUgPSBjYWxsZXJGcmFtZS0+dm1FbnRyeVNlbnRpbmVsQ2FsbGVyRnJh
bWUoKTsKKyAgICAgICAgaWYgKGNhbGxlckZyYW1lLT52bUVudHJ5U2VudGluZWxDYWxsZXJGcmFt
ZSgpKQorICAgICAgICAgICAgY2FsbEZyYW1lLT52bSgpLnRvcENhbGxGcmFtZSA9IGNhbGxlckZy
YW1lLT52bUVudHJ5U2VudGluZWxDYWxsZXJGcmFtZSgpOworICAgICAgICBlbHNlCisgICAgICAg
ICAgICBjYWxsRnJhbWUtPnZtKCkudG9wQ2FsbEZyYW1lID0gY2FsbEZyYW1lOyAvLyBfcmV0dXJu
RnJvbUphdmFTY3JpcHQgd2lsbCBwb3AgdGhlIGZyYW1lIG9mZi4KICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIH0KICAgICByZXR1cm4gdHJ1ZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnRlcnByZXRlci9Qcm90b0NhbGxGcmFtZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1Byb3RvQ2FsbEZyYW1lLmNwcAkocmV2aXNpb24gMTYw
MjUxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1Byb3RvQ2FsbEZyYW1l
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMsNiArNDMsMTAgQEAgdm9pZCBQcm90b0NhbGxGcmFt
ZTo6aW5pdChDb2RlQmxvY2sqIGNvZAogICAgICAgICBpZiAocGFkZGVkQXJnc0NvdW50IDwgbnVt
UGFyYW1ldGVycykKICAgICAgICAgICAgIHBhZGRlZEFyZ3NDb3VudCA9IG51bVBhcmFtZXRlcnM7
CiAgICAgfQorICAgIC8vICYmJiYgRklYTUU6IEFsaWduIHRoZSBjb21iaW5hdGlvbiBvZiBzZW50
aW5lbCBmcmFtZSArIGNhbGxlZSBmcmFtZQorICAgIC8vIE1heWJlIHRoaXMgc2hvdWxkIGJlIGlu
IGNhbGxUb0phdmFTY3JpcHQuCisgICAgaWYgKCEocGFkZGVkQXJnc0NvdW50ICYgMSkpCisgICAg
ICAgIHBhZGRlZEFyZ3NDb3VudCsrOwogICAgIHRoaXMtPnNldFBhZGRlZEFyZ3NDb3VudChwYWRk
ZWRBcmdzQ291bnQpOwogICAgIHRoaXMtPmNsZWFyQ3VycmVudFZQQygpOwogICAgIHRoaXMtPnNl
dFRoaXNWYWx1ZSh0aGlzVmFsdWUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9B
c3NlbWJseUhlbHBlcnMuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0Fzc2VtYmx5SGVscGVycy5oCShyZXZpc2lvbiAxNjAyNTEpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0Fzc2VtYmx5SGVscGVycy5oCSh3b3JraW5nIGNvcHkpCkBAIC02MCw2ICs2MCwx
OSBAQCBwdWJsaWM6CiAgICAgQXNzZW1ibGVyVHlwZV9UJiBhc3NlbWJsZXIoKSB7IHJldHVybiBt
X2Fzc2VtYmxlcjsgfQogICAgIAogI2lmIENQVShYODZfNjQpIHx8IENQVShYODYpCisgICAgdm9p
ZCBlbWl0RnVuY3Rpb25Qcm9sb2d1ZSgpCisgICAgeworICAgICAgICBwdXNoKGZyYW1lUG9pbnRl
clJlZ2lzdGVyKTsKKyAgICAgICAgbW92ZShzdGFja1BvaW50ZXJSZWdpc3RlciwgZnJhbWVQb2lu
dGVyUmVnaXN0ZXIpOworICAgIH0KKworICAgIHZvaWQgZW1pdEZ1bmN0aW9uRXBpbG9ndWUoKQor
ICAgIHsKKyAgICAgICAgLy8gRklYTUU6IFRoZSBzdGFjayBwb2ludGVyIG5lZWQgdG8gYmUgY2Fs
Y3VsYXRlZCBmcm9tIHRoZSBmcmFtZVBvaW50ZXIKKyAgICAgICAgbW92ZShmcmFtZVBvaW50ZXJS
ZWdpc3Rlciwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOworICAgICAgICBwb3AoZnJhbWVQb2ludGVy
UmVnaXN0ZXIpOworICAgIH0KKyAgICAKICAgICB2b2lkIHByZXNlcnZlUmV0dXJuQWRkcmVzc0Fm
dGVyQ2FsbChHUFJSZWcgcmVnKQogICAgIHsKICAgICAgICAgcG9wKHJlZyk7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9KSVQuY3BwCShyZXZpc2lvbiAxNjAyNTEpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwNiw4ICs1MDYsNyBAQCBD
b21waWxhdGlvblJlc3VsdCBKSVQ6OnByaXZhdGVDb21waWxlKEpJCiAgICAgaWYgKG1fcmFuZG9t
R2VuZXJhdG9yLmdldFVpbnQzMigpICYgMSkKICAgICAgICAgbm9wKCk7CiAKLSAgICBwcmVzZXJ2
ZVJldHVybkFkZHJlc3NBZnRlckNhbGwocmVnVDIpOwotICAgIGVtaXRQdXRSZXR1cm5QQ1RvQ2Fs
bEZyYW1lSGVhZGVyKHJlZ1QyKTsKKyAgICBlbWl0RnVuY3Rpb25Qcm9sb2d1ZSgpOwogICAgIGVt
aXRQdXRJbW1lZGlhdGVUb0NhbGxGcmFtZUhlYWRlcihtX2NvZGVCbG9jaywgSlNTdGFjazo6Q29k
ZUJsb2NrKTsKIAogICAgIExhYmVsIGJlZ2luTGFiZWwodGhpcyk7CkBAIC01NjQsOCArNTYzLDcg
QEAgQ29tcGlsYXRpb25SZXN1bHQgSklUOjpwcml2YXRlQ29tcGlsZShKSQogCiAgICAgICAgIGFy
aXR5Q2hlY2sgPSBsYWJlbCgpOwogICAgICAgICBzdG9yZTgoVHJ1c3RlZEltbTMyKDApLCAmbV9j
b2RlQmxvY2stPm1fc2hvdWxkQWx3YXlzQmVJbmxpbmVkKTsKLSAgICAgICAgcHJlc2VydmVSZXR1
cm5BZGRyZXNzQWZ0ZXJDYWxsKHJlZ1QyKTsKLSAgICAgICAgZW1pdFB1dFJldHVyblBDVG9DYWxs
RnJhbWVIZWFkZXIocmVnVDIpOworICAgICAgICBlbWl0RnVuY3Rpb25Qcm9sb2d1ZSgpOwogICAg
ICAgICBlbWl0UHV0SW1tZWRpYXRlVG9DYWxsRnJhbWVIZWFkZXIobV9jb2RlQmxvY2ssIEpTU3Rh
Y2s6OkNvZGVCbG9jayk7CiAKICAgICAgICAgbG9hZDMyKHBheWxvYWRGb3IoSlNTdGFjazo6QXJn
dW1lbnRDb3VudCksIHJlZ1QxKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
Q2FsbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRDYWxs
LmNwcAkocmV2aXNpb24gMTYwMjUzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRD
YWxsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI2LDcgKzIyNiw3IEBAIHZvaWQgSklUOjpjb21w
aWxlT3BDYWxsU2xvd0Nhc2UoT3Bjb2RlSUQKIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUNsb3N1
cmVDYWxsKENhbGxMaW5rSW5mbyogY2FsbExpbmtJbmZvLCBDb2RlQmxvY2sqIGNhbGxlZUNvZGVC
bG9jaywgU3RydWN0dXJlKiBleHBlY3RlZFN0cnVjdHVyZSwgRXhlY3V0YWJsZUJhc2UqIGV4cGVj
dGVkRXhlY3V0YWJsZSwgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyIGNvZGVQdHIpCiB7CiAgICAgSnVt
cExpc3Qgc2xvd0Nhc2VzOwotICAgIAorCiAgICAgc2xvd0Nhc2VzLmFwcGVuZChicmFuY2hUZXN0
UHRyKE5vblplcm8sIHJlZ1QwLCB0YWdNYXNrUmVnaXN0ZXIpKTsKICAgICBzbG93Q2FzZXMuYXBw
ZW5kKGJyYW5jaFB0cihOb3RFcXVhbCwgQWRkcmVzcyhyZWdUMCwgSlNDZWxsOjpzdHJ1Y3R1cmVP
ZmZzZXQoKSksIFRydXN0ZWRJbW1QdHIoZXhwZWN0ZWRTdHJ1Y3R1cmUpKSk7CiAgICAgc2xvd0Nh
c2VzLmFwcGVuZChicmFuY2hQdHIoTm90RXF1YWwsIEFkZHJlc3MocmVnVDAsIEpTRnVuY3Rpb246
Om9mZnNldE9mRXhlY3V0YWJsZSgpKSwgVHJ1c3RlZEltbVB0cihleHBlY3RlZEV4ZWN1dGFibGUp
KSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHJldmlz
aW9uIDE2MDI1MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTczLDcgKzczLDcgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfZW5kKElu
c3RydWN0aW9uKiBjdXJyZQogewogICAgIFJFTEVBU0VfQVNTRVJUKHJldHVyblZhbHVlR1BSICE9
IGNhbGxGcmFtZVJlZ2lzdGVyKTsKICAgICBlbWl0R2V0VmlydHVhbFJlZ2lzdGVyKGN1cnJlbnRJ
bnN0cnVjdGlvblsxXS51Lm9wZXJhbmQsIHJldHVyblZhbHVlR1BSKTsKLSAgICByZXN0b3JlUmV0
dXJuQWRkcmVzc0JlZm9yZVJldHVybihBZGRyZXNzKGNhbGxGcmFtZVJlZ2lzdGVyLCBDYWxsRnJh
bWU6OnJldHVyblBDT2Zmc2V0KCkpKTsKKyAgICBlbWl0RnVuY3Rpb25FcGlsb2d1ZSgpOwogICAg
IHJldCgpOwogfQogCkBAIC0yNjIsMTQgKzI2Miw3IEBAIHZvaWQgSklUOjplbWl0X29wX3JldChJ
bnN0cnVjdGlvbiogY3VycmUKICAgICAvLyBSZXR1cm4gdGhlIHJlc3VsdCBpbiAlZWF4LgogICAg
IGVtaXRHZXRWaXJ0dWFsUmVnaXN0ZXIoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCwg
cmV0dXJuVmFsdWVHUFIpOwogCi0gICAgLy8gR3JhYiB0aGUgcmV0dXJuIGFkZHJlc3MuCi0gICAg
ZW1pdEdldFJldHVyblBDRnJvbUNhbGxGcmFtZUhlYWRlclB0cihyZWdUMSk7Ci0KLSAgICAvLyBS
ZXN0b3JlIG91ciBjYWxsZXIncyAiciIuCi0gICAgZW1pdEdldENhbGxlckZyYW1lRnJvbUNhbGxG
cmFtZUhlYWRlclB0cihjYWxsRnJhbWVSZWdpc3Rlcik7Ci0KLSAgICAvLyBSZXR1cm4uCi0gICAg
cmVzdG9yZVJldHVybkFkZHJlc3NCZWZvcmVSZXR1cm4ocmVnVDEpOworICAgIGVtaXRGdW5jdGlv
bkVwaWxvZ3VlKCk7CiAgICAgcmV0KCk7CiB9CiAKQEAgLTI4OCwxMSArMjgxLDggQEAgdm9pZCBK
SVQ6OmVtaXRfb3BfcmV0X29iamVjdF9vcl90aGlzKElucwogICAgIC8vIEdyYWIgdGhlIHJldHVy
biBhZGRyZXNzLgogICAgIGVtaXRHZXRSZXR1cm5QQ0Zyb21DYWxsRnJhbWVIZWFkZXJQdHIocmVn
VDEpOwogCi0gICAgLy8gUmVzdG9yZSBvdXIgY2FsbGVyJ3MgInIiLgotICAgIGVtaXRHZXRDYWxs
ZXJGcmFtZUZyb21DYWxsRnJhbWVIZWFkZXJQdHIoY2FsbEZyYW1lUmVnaXN0ZXIpOwotCiAgICAg
Ly8gUmV0dXJuLgotICAgIHJlc3RvcmVSZXR1cm5BZGRyZXNzQmVmb3JlUmV0dXJuKHJlZ1QxKTsK
KyAgICBlbWl0RnVuY3Rpb25FcGlsb2d1ZSgpOwogICAgIHJldCgpOwogCiAgICAgLy8gUmV0dXJu
ICd0aGlzJyBpbiAlZWF4LgpAQCAtMzAwLDE0ICsyOTAsOCBAQCB2b2lkIEpJVDo6ZW1pdF9vcF9y
ZXRfb2JqZWN0X29yX3RoaXMoSW5zCiAgICAgbm90T2JqZWN0LmxpbmsodGhpcyk7CiAgICAgZW1p
dEdldFZpcnR1YWxSZWdpc3RlcihjdXJyZW50SW5zdHJ1Y3Rpb25bMl0udS5vcGVyYW5kLCByZXR1
cm5WYWx1ZUdQUik7CiAKLSAgICAvLyBHcmFiIHRoZSByZXR1cm4gYWRkcmVzcy4KLSAgICBlbWl0
R2V0UmV0dXJuUENGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKHJlZ1QxKTsKLQotICAgIC8vIFJlc3Rv
cmUgb3VyIGNhbGxlcidzICJyIi4KLSAgICBlbWl0R2V0Q2FsbGVyRnJhbWVGcm9tQ2FsbEZyYW1l
SGVhZGVyUHRyKGNhbGxGcmFtZVJlZ2lzdGVyKTsKLQogICAgIC8vIFJldHVybi4KLSAgICByZXN0
b3JlUmV0dXJuQWRkcmVzc0JlZm9yZVJldHVybihyZWdUMSk7CisgICAgZW1pdEZ1bmN0aW9uRXBp
bG9ndWUoKTsKICAgICByZXQoKTsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9SZXBhdGNoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1Jl
cGF0Y2guY3BwCShyZXZpc2lvbiAxNjAyNTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L1JlcGF0Y2guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzg0LDYgKzEzODQsOSBAQCB2b2lkIGxp
bmtDbG9zdXJlQ2FsbChFeGVjU3RhdGUqIGV4ZWMsIENhCiAgICAgc3R1YkppdC5tb3ZlKENDYWxs
SGVscGVyczo6VHJ1c3RlZEltbTMyKEpTVmFsdWU6OkNlbGxUYWcpLCBHUFJJbmZvOjpyZWdUMSk7
CiAjZW5kaWYKICAgICBzdHViSml0Lm1vdmUoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGNh
bGxMaW5rSW5mby5jYWxsUmV0dXJuTG9jYXRpb24uZXhlY3V0YWJsZUFkZHJlc3MoKSksIEdQUklu
Zm86Om5vbkFyZ0dQUjIpOworICAgIAorICAgIC8vICYmJiYgRklYTUU6IFRoaW5rIHRoZSBmb2xs
b3dpbmcgaW5zdHJ1Y3Rpb24gc2hvdWxkIGJlIGEgcG9rZQorICAgIHN0dWJKaXQuYnJlYWtwb2lu
dCgpOwogICAgIHN0dWJKaXQucmVzdG9yZVJldHVybkFkZHJlc3NCZWZvcmVSZXR1cm4oR1BSSW5m
bzo6bm9uQXJnR1BSMik7CiAgICAgQXNzZW1ibHlIZWxwZXJzOjpKdW1wIHNsb3cgPSBzdHViSml0
Lmp1bXAoKTsKICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5l
cmF0b3JzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5r
R2VuZXJhdG9ycy5jcHAJKHJldmlzaW9uIDE2MDI1MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODIsOSArODIsOSBA
QCBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgdGhyb3dFeGNlcHRpb25Gcm9tCiBzdGF0aWMgdm9pZCBz
bG93UGF0aEZvcigKICAgICBDQ2FsbEhlbHBlcnMmIGppdCwgVk0qIHZtLCBQX0pJVE9wZXJhdGlv
bl9FIHNsb3dQYXRoRnVuY3Rpb24pCiB7Ci0gICAgaml0LnByZXNlcnZlUmV0dXJuQWRkcmVzc0Fm
dGVyQ2FsbChHUFJJbmZvOjpub25BcmdHUFIyKTsKLSAgICBlbWl0UG9pbnRlclZhbGlkYXRpb24o
aml0LCBHUFJJbmZvOjpub25BcmdHUFIyKTsKLSAgICBqaXQuZW1pdFB1dFJldHVyblBDVG9DYWxs
RnJhbWVIZWFkZXIoR1BSSW5mbzo6bm9uQXJnR1BSMik7CisgICAgLy8gJiYmJiAgRklYTUU6IE5l
ZWQgdG8gY2xlYW51cCBmcmFtZSBiZWxvdyBsaWtlIGVtaXRGdW5jdGlvbkVwaWxvZ3VlKCkKKyAg
ICBqaXQuYnJlYWtwb2ludCgpOworICAgIGppdC5lbWl0RnVuY3Rpb25Qcm9sb2d1ZSgpOwogICAg
IGppdC5zdG9yZVB0cihHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgJnZtLT50b3BDYWxsRnJh
bWUpOwogICAgIGppdC5zZXR1cEFyZ3VtZW50c0V4ZWNTdGF0ZSgpOwogICAgIGppdC5tb3ZlKEND
YWxsSGVscGVyczo6VHJ1c3RlZEltbVB0cihiaXR3aXNlX2Nhc3Q8dm9pZCo+KHNsb3dQYXRoRnVu
Y3Rpb24pKSwgR1BSSW5mbzo6bm9uQXJnR1BSMCk7CkBAIC0yNTAsNyArMjUwLDggQEAgc3RhdGlj
IE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBuYXRpdmVGb3JHZQogICAgIGludCBleGVjdXRhYmxlT2Zm
c2V0VG9GdW5jdGlvbiA9IE5hdGl2ZUV4ZWN1dGFibGU6Om9mZnNldE9mTmF0aXZlRnVuY3Rpb25G
b3Ioa2luZCk7CiAgICAgCiAgICAgSlNJbnRlcmZhY2VKSVQgaml0KHZtKTsKLSAgICAKKworICAg
IGppdC5lbWl0RnVuY3Rpb25Qcm9sb2d1ZSgpOwogICAgIGppdC5lbWl0UHV0SW1tZWRpYXRlVG9D
YWxsRnJhbWVIZWFkZXIoMCwgSlNTdGFjazo6Q29kZUJsb2NrKTsKICAgICBqaXQuc3RvcmVQdHIo
SlNJbnRlcmZhY2VKSVQ6OmNhbGxGcmFtZVJlZ2lzdGVyLCAmdm0tPnRvcENhbGxGcmFtZSk7CiAK
QEAgLTI2MSw5ICsyNjIsNiBAQCBzdGF0aWMgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIG5hdGl2ZUZv
ckdlCiAgICAgaml0LmVtaXRHZXRGcm9tQ2FsbEZyYW1lSGVhZGVyUHRyKEpTU3RhY2s6OlNjb3Bl
Q2hhaW4sIEpTSW50ZXJmYWNlSklUOjpyZWdUMSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1QwKTsKICAg
ICBqaXQuZW1pdFB1dENlbGxUb0NhbGxGcmFtZUhlYWRlcihKU0ludGVyZmFjZUpJVDo6cmVnVDEs
IEpTU3RhY2s6OlNjb3BlQ2hhaW4pOwogCi0gICAgaml0LnBlZWsoSlNJbnRlcmZhY2VKSVQ6OnJl
Z1QxKTsKLSAgICBqaXQuZW1pdFB1dFJldHVyblBDVG9DYWxsRnJhbWVIZWFkZXIoSlNJbnRlcmZh
Y2VKSVQ6OnJlZ1QxKTsKLQogICAgIC8vIENhbGxpbmcgY29udmVudGlvbjogICAgICBmKGVjeCwg
ZWR4LCAuLi4pOwogICAgIC8vIEhvc3QgZnVuY3Rpb24gc2lnbmF0dXJlOiBmKEV4ZWNTdGF0ZSop
OwogICAgIGppdC5tb3ZlKEpTSW50ZXJmYWNlSklUOjpjYWxsRnJhbWVSZWdpc3RlciwgWDg2UmVn
aXN0ZXJzOjplY3gpOwpAQCAtMzkwLDYgKzM4OCw3IEBAIHN0YXRpYyBNYWNyb0Fzc2VtYmxlckNv
ZGVSZWYgbmF0aXZlRm9yR2UKICNlbmRpZgogCiAgICAgLy8gUmV0dXJuLgorICAgIGppdC5lbWl0
RnVuY3Rpb25FcGlsb2d1ZSgpOwogICAgIGppdC5yZXQoKTsKIAogICAgIC8vIEhhbmRsZSBhbiBl
eGNlcHRpb24KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtCShyZXZpc2lvbiAxNjAyNTMpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbQkod29ya2luZyBjb3B5
KQpAQCAtNTIsNiArNTIsNyBAQCBtYWNybyBkaXNwYXRjaEFmdGVyQ2FsbCgpCiBlbmQKIAogbWFj
cm8gY0NhbGwyKGZ1bmN0aW9uLCBhcmcxLCBhcmcyKQorICAgIGNoZWNrU3RhY2tQb2ludGVyQWxp
Z25tZW50KHQ1LCAweGJhZDBjMDAyKQogICAgIGlmIFg4Nl82NAogICAgICAgICBtb3ZlIGFyZzEs
IHQ1CiAgICAgICAgIG1vdmUgYXJnMiwgdDQKQEAgLTY5LDYgKzcwLDcgQEAgZW5kCiAKICMgVGhp
cyBiYXJlbHkgd29ya3MuIGFyZzMgYW5kIGFyZzQgc2hvdWxkIHByb2JhYmx5IGJlIGltbWVkaWF0
ZXMuCiBtYWNybyBjQ2FsbDQoZnVuY3Rpb24sIGFyZzEsIGFyZzIsIGFyZzMsIGFyZzQpCisgICAg
Y2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQodDUsIDB4YmFkMGMwMDQpCiAgICAgaWYgWDg2XzY0
CiAgICAgICAgIG1vdmUgYXJnMSwgdDUKICAgICAgICAgbW92ZSBhcmcyLCB0NApAQCAtODgsNiAr
OTAsMTUgQEAgbWFjcm8gY0NhbGw0KGZ1bmN0aW9uLCBhcmcxLCBhcmcyLCBhcmczLAogICAgIGVu
ZAogZW5kCiAKK21hY3JvIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KHRlbXBSZWcsIGxvY2F0
aW9uKQorICAgIGFuZHAgc3AsIDB4ZiwgdGVtcFJlZworICAgIGJ0cHogdGVtcFJlZywgLnN0YWNr
UG9pbnRlck9rYXkKKyAgICBtb3ZlIGxvY2F0aW9uLCB0ZW1wUmVnCisgICAgYnJlYWsKKy5zdGFj
a1BvaW50ZXJPa2F5OgorZW5kCisKKwogbWFjcm8gZnVuY3Rpb25Qcm9sb2d1ZShleHRyYVN0YWNr
U3BhY2UpCiAgICAgaWYgWDg2XzY0CiAgICAgICAgIHB1c2ggY2ZyCkBAIC05NSwzMiArMTA2LDcx
IEBAIG1hY3JvIGZ1bmN0aW9uUHJvbG9ndWUoZXh0cmFTdGFja1NwYWNlKQogICAgIGVsc2lmIEFS
TTY0CiAgICAgICAgIHB1c2hMUkFuZEZQCiAgICAgZW5kCisgICAgc3VicCBleHRyYVN0YWNrU3Bh
Y2UsIHNwCitlbmQKKworbWFjcm8gZnVuY3Rpb25FcGlsb2d1ZShleHRyYVN0YWNrU3BhY2UpCisg
ICAgYWRkcCBleHRyYVN0YWNrU3BhY2UsIHNwCisgICAgaWYgWDg2XzY0CisgICAgICAgIHBvcCBj
ZnIKKyAgICBlbHNpZiBBUk02NAorICAgICAgICBwb3BMUkFuZEZQCisgICAgZW5kCitlbmQKKwor
bWFjcm8gY2FsbFRvSmF2YVNjcmlwdFByb2xvZ3VlKGV4dHJhU3RhY2tTcGFjZSkKKyAgICBpZiBY
ODZfNjQKKyMgICAgICAgIHB1c2ggY2ZyCisjICAgICAgICBtb3ZlIHNwLCBjZnIKKyAgICBlbHNp
ZiBBUk02NAorICAgICAgICBwdXNoTFJBbmRGUAorICAgIGVuZAogICAgIHB1c2hDYWxsZWVTYXZl
cwogICAgIGlmIFg4Nl82NAogICAgICAgICBzdWJwIGV4dHJhU3RhY2tTcGFjZSwgc3AKICAgICBl
bmQKIGVuZAogCi1tYWNybyBmdW5jdGlvbkVwaWxvZ3VlKGV4dHJhU3RhY2tTcGFjZSkKK21hY3Jv
IGNhbGxUb0phdmFTY3JpcHRFcGlsb2d1ZShleHRyYVN0YWNrU3BhY2UpCisgICAgYWRkcCAoQ2Fs
bEZyYW1lSGVhZGVyU2xvdHMtMSkqOCwgY2ZyLCBzcAorICAgIGxvYWRwIENhbGxlckZyYW1lW2Nm
cl0sIGNmcgorCiAgICAgaWYgWDg2XzY0CiAgICAgICAgIGFkZHAgZXh0cmFTdGFja1NwYWNlLCBz
cAogICAgIGVuZAogICAgIHBvcENhbGxlZVNhdmVzCiAgICAgaWYgWDg2XzY0Ci0gICAgICAgIHBv
cCBjZnIKKyMgICAgICAgIHBvcCBjZnIKICAgICBlbHNpZiBBUk02NAogICAgICAgICBwb3BMUkFu
ZEZQCiAgICAgZW5kCiBlbmQKIAotbWFjcm8gZG9DYWxsVG9KYXZhU2NyaXB0KG1ha2VDYWxsLCBk
b1JldHVybikKK21hY3JvIG1vdmVTdGFja1BvaW50ZXJGb3JDYWxsZnJhbWUoY29kZWJsb2NrKQor
ICAgIGxvYWRpIENvZGVCbG9jazo6bV9udW1DYWxsZWVSZWdpc3RlcnNbY29kZWJsb2NrXSwgdDEK
KyAgICBsc2hpZnRwIDMsIHQxCisgICAgc3VicCBjZnIsIHQxLCBzcAorZW5kCisKK21hY3JvIHBy
ZXBhcmVTdGFja1BvaW50ZXJGb3JKU0NhbGwoY2FsbGVlRnJhbWVQdHIpCisgICAgYWRkcCAxNiwg
Y2FsbGVlRnJhbWVQdHIsIHNwCitlbmQKKworbWFjcm8gcmVzdG9yZVN0YWNrUG9pbnRlckFmdGVy
SlNDYWxsKCkKKyAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDEKKyAgICBsb2FkaSBDb2RlQmxv
Y2s6Om1fbnVtQ2FsbGVlUmVnaXN0ZXJzW3QxXSwgdDEKKyAgICBsc2hpZnRwIDMsIHQxCisgICAg
c3VicCBjZnIsIHQxLCBzcAorZW5kCisKK21hY3JvIGRvQ2FsbFRvSmF2YVNjcmlwdChtYWtlQ2Fs
bCkKICAgICBpZiBYODZfNjQKICAgICAgICAgY29uc3QgZW50cnkgPSB0NQogICAgICAgICBjb25z
dCB2bVRvcENhbGxGcmFtZSA9IHQ0CiAgICAgICAgIGNvbnN0IHByb3RvQ2FsbEZyYW1lID0gdDEK
ICAgICAgICAgY29uc3QgdG9wT2ZTdGFjayA9IHQyCiAKLSAgICAgICAgY29uc3QgZXh0cmFTdGFj
a1NwYWNlID0gOAorICAgICAgICBjb25zdCBleHRyYVN0YWNrU3BhY2UgPSAxNgogICAgICAgICBj
b25zdCBwcmV2aW91c0NGUiA9IHQwCiAgICAgICAgIGNvbnN0IHByZXZpb3VzUEMgPSB0NgogICAg
ICAgICBjb25zdCB0ZW1wMSA9IHQwCkBAIC0xNDQsMzEgKzE5NCwzMSBAQCBtYWNybyBkb0NhbGxU
b0phdmFTY3JpcHQobWFrZUNhbGwsIGRvUmV0CiAgICAgICAgIGxvYWRwIFtzcF0sIHByZXZpb3Vz
UEMKICAgICBlbmQKICAgICBtb3ZlIGNmciwgcHJldmlvdXNDRlIKLSAgICBmdW5jdGlvblByb2xv
Z3VlKGV4dHJhU3RhY2tTcGFjZSkKKyAgICBjYWxsVG9KYXZhU2NyaXB0UHJvbG9ndWUoZXh0cmFT
dGFja1NwYWNlKQogCi0gICAgbW92ZSB0b3BPZlN0YWNrLCBjZnIKKyAgICBjaGVja1N0YWNrUG9p
bnRlckFsaWdubWVudCh0ZW1wMiwgMHhiYWQwZGMwMSkKKworICAgIG1vdmUgc3AsIGNmcgogICAg
IHN1YnAgKENhbGxGcmFtZUhlYWRlclNsb3RzLTEpKjgsIGNmcgogICAgIHN0b3JlcCAwLCBBcmd1
bWVudENvdW50W2Nmcl0KICAgICBzdG9yZXAgdm1Ub3BDYWxsRnJhbWUsIENhbGxlZVtjZnJdCi0g
ICAgbG9hZHAgW3ZtVG9wQ2FsbEZyYW1lXSwgdGVtcDEKLSAgICBzdG9yZXAgdGVtcDEsIFNjb3Bl
Q2hhaW5bY2ZyXQorICAgIGxvYWRwIFt2bVRvcENhbGxGcmFtZV0sIHRlbXAyCisgICAgc3RvcmVw
IHRlbXAyLCBTY29wZUNoYWluW2Nmcl0KICAgICBzdG9yZXAgMSwgQ29kZUJsb2NrW2Nmcl0KICAg
ICBzdG9yZXAgcHJldmlvdXNQQywgUmV0dXJuUENbY2ZyXQogICAgIHN0b3JlcCBwcmV2aW91c0NG
UiwgQ2FsbGVyRnJhbWVbY2ZyXQotICAgIG1vdmUgY2ZyLCB0ZW1wMQogCiAgICAgbG9hZGkgUHJv
dG9DYWxsRnJhbWU6OnBhZGRlZEFyZ0NvdW50W3Byb3RvQ2FsbEZyYW1lXSwgdGVtcDIKICAgICBh
ZGRwIENhbGxGcmFtZUhlYWRlclNsb3RzLCB0ZW1wMiwgdGVtcDIKICAgICBsc2hpZnRwIDMsIHRl
bXAyCi0gICAgc3VicCB0ZW1wMiwgY2ZyCi0gICAgc3RvcmVwIHRlbXAxLCBDYWxsZXJGcmFtZVtj
ZnJdCisgICAgc3VicCBjZnIsIHRlbXAyLCBzcAogCiAgICAgbW92ZSA1LCB0ZW1wMQogCiAuY29w
eUhlYWRlckxvb3A6CiAgICAgc3ViaSAxLCB0ZW1wMQogICAgIGxvYWRwIFtwcm90b0NhbGxGcmFt
ZSwgdGVtcDEsIDhdLCB0ZW1wMwotICAgIHN0b3JlcCB0ZW1wMywgQ29kZUJsb2NrW2NmciwgdGVt
cDEsIDhdCisgICAgc3RvcmVwIHRlbXAzLCBDb2RlQmxvY2tbc3AsIHRlbXAxLCA4XQogICAgIGJ0
aW56IHRlbXAxLCAuY29weUhlYWRlckxvb3AKIAogICAgIGxvYWRpIFByb3RvQ2FsbEZyYW1lOjph
cmdDb3VudEFuZENvZGVPcmlnaW5WYWx1ZVtwcm90b0NhbGxGcmFtZV0sIHRlbXAyCkBAIC0xODAs
NyArMjMwLDcgQEAgbWFjcm8gZG9DYWxsVG9KYXZhU2NyaXB0KG1ha2VDYWxsLCBkb1JldAogICAg
IG1vdmUgVmFsdWVVbmRlZmluZWQsIHRlbXAxCiAuZmlsbEV4dHJhQXJnc0xvb3A6CiAgICAgc3Vi
aSAxLCB0ZW1wMwotICAgIHN0b3JlcCB0ZW1wMSwgVGhpc0FyZ3VtZW50T2Zmc2V0KzhbY2ZyLCB0
ZW1wMywgOF0KKyAgICBzdG9yZXAgdGVtcDEsIFRoaXNBcmd1bWVudE9mZnNldCs4W3NwLCB0ZW1w
MywgOF0KICAgICBiaW5lcSB0ZW1wMiwgdGVtcDMsIC5maWxsRXh0cmFBcmdzTG9vcAogCiAuY29w
eUFyZ3M6CkBAIC0xOTAsMTcgKzI0MCwyMSBAQCBtYWNybyBkb0NhbGxUb0phdmFTY3JpcHQobWFr
ZUNhbGwsIGRvUmV0CiAgICAgYnRpeiB0ZW1wMiwgLmNvcHlBcmdzRG9uZQogICAgIHN1YmkgMSwg
dGVtcDIKICAgICBsb2FkcCBbdGVtcDEsIHRlbXAyLCA4XSwgdGVtcDMKLSAgICBzdG9yZXAgdGVt
cDMsIFRoaXNBcmd1bWVudE9mZnNldCs4W2NmciwgdGVtcDIsIDhdCisgICAgc3RvcmVwIHRlbXAz
LCBUaGlzQXJndW1lbnRPZmZzZXQrOFtzcCwgdGVtcDIsIDhdCiAgICAgam1wIC5jb3B5QXJnc0xv
b3AKIAogLmNvcHlBcmdzRG9uZToKLSAgICBzdG9yZXAgY2ZyLCBbdm1Ub3BDYWxsRnJhbWVdCisg
ICAgc3RvcmVwIHNwLCBbdm1Ub3BDYWxsRnJhbWVdCiAKICAgICBtb3ZlIDB4ZmZmZjAwMDAwMDAw
MDAwMCwgY3NyMQogICAgIGFkZHAgMiwgY3NyMSwgY3NyMgogCisgICAgY2hlY2tTdGFja1BvaW50
ZXJBbGlnbm1lbnQodGVtcDMsIDB4YmFkMGRjMDIpCisKICAgICBtYWtlQ2FsbChlbnRyeSwgdGVt
cDEpCiAKKyAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCh0ZW1wMywgMHhiYWQwZGMwMykK
KwogICAgIGJwZXEgQ29kZUJsb2NrW2Nmcl0sIDEsIC5jYWxsZWVGcmFtZVBvcHBlZAogICAgIGxv
YWRwIENhbGxlckZyYW1lW2Nmcl0sIGNmcgogCkBAIC0yMDksMzMgKzI2Myw0OSBAQCBtYWNybyBk
b0NhbGxUb0phdmFTY3JpcHQobWFrZUNhbGwsIGRvUmV0CiAgICAgbG9hZHAgU2NvcGVDaGFpbltj
ZnJdLCB0ZW1wMwogICAgIHN0b3JlcCB0ZW1wMywgW3RlbXAyXQogCi0gICAgZG9SZXR1cm4oZXh0
cmFTdGFja1NwYWNlKQorICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KHRlbXAzLCAweGJh
ZDBkYzA0KQorCisgICAgY2FsbFRvSmF2YVNjcmlwdEVwaWxvZ3VlKGV4dHJhU3RhY2tTcGFjZSkK
KyAgICByZXQKIGVuZAogCisKIG1hY3JvIG1ha2VKYXZhU2NyaXB0Q2FsbChlbnRyeSwgdGVtcCkK
KyAgICBhZGRwIDE2LCBzcAogICAgIGNhbGwgZW50cnkKKyAgICBzdWJwIDE2LCBzcAogZW5kCiAK
KwogbWFjcm8gbWFrZUhvc3RGdW5jdGlvbkNhbGwoZW50cnksIHRlbXApCiAgICAgbW92ZSBlbnRy
eSwgdGVtcAogICAgIGlmIFg4Nl82NAotICAgICAgICBtb3ZlIGNmciwgdDUKKyAgICAgICAgbW92
ZSBzcCwgdDUKICAgICBlbHNpZiBBUk02NCBvciBDX0xPT1AKLSAgICAgICAgbW92ZSBjZnIsIGEw
CisgICAgICAgIG1vdmUgc3AsIGEwCiAgICAgZW5kCisgICAgYWRkcCAxNiwgc3AKICAgICBjYWxs
IHRlbXAKKyAgICBzdWJwIDE2LCBzcAogZW5kCiAKLW1hY3JvIGRvUmV0dXJuRnJvbUphdmFTY3Jp
cHQoZXh0cmFTdGFja1NwYWNlKQorCiBfcmV0dXJuRnJvbUphdmFTY3JpcHQ6Ci0gICAgZnVuY3Rp
b25FcGlsb2d1ZShleHRyYVN0YWNrU3BhY2UpCi0gICAgcmV0Ci1lbmQKKyAgICBzdWJwIDE2LCBz
cAorCisgICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQodDMsIDB4YmFkMGVlZWUpCisKKyAg
ICBicGVxIENvZGVCbG9ja1tjZnJdLCAxLCAuY2FsbGVlRnJhbWVQb3BwZWQKKyAgICBsb2FkcCBD
YWxsZXJGcmFtZVtjZnJdLCBjZnIKKworLmNhbGxlZUZyYW1lUG9wcGVkOgorICAgIGxvYWRwIENh
bGxlZVtjZnJdLCB0MyAjIFZNLnRvcENhbGxGcmFtZQorICAgIGxvYWRwIFNjb3BlQ2hhaW5bY2Zy
XSwgdDYKKyAgICBzdG9yZXAgdDYsIFt0M10KIAotbWFjcm8gZG9SZXR1cm5Gcm9tSG9zdEZ1bmN0
aW9uKGV4dHJhU3RhY2tTcGFjZSkKLSAgICBmdW5jdGlvbkVwaWxvZ3VlKGV4dHJhU3RhY2tTcGFj
ZSkKKyAgICBjYWxsVG9KYXZhU2NyaXB0RXBpbG9ndWUoMTYpCiAgICAgcmV0Ci1lbmQKKwogCiBt
YWNybyBwcmVwYXJlU3RhdGVGb3JDQ2FsbCgpCiAgICAgbGVhcCBbUEIsIFBDLCA4XSwgUEMKQEAg
LTI3Myw3ICszNDMsNiBAQCBtYWNybyBjYWxsQ2FsbFNsb3dQYXRoKHNsb3dQYXRoLCBhY3Rpb24p
CiAgICAgc3RvcmVpIFBDLCBBcmd1bWVudENvdW50ICsgVGFnT2Zmc2V0W2Nmcl0KICAgICBwcmVw
YXJlU3RhdGVGb3JDQ2FsbCgpCiAgICAgY0NhbGwyKHNsb3dQYXRoLCBjZnIsIFBDKQotICAgIG1v
dmUgdDEsIGNmcgogICAgIGFjdGlvbih0MCkKIGVuZAogCkBAIC0xNjc0LDEwICsxNzQzLDggQEAg
bWFjcm8gZG9DYWxsKHNsb3dQYXRoKQogICAgIHN0b3JlcSB0MCwgU2NvcGVDaGFpblt0M10KICAg
ICBsb2FkaXNGcm9tSW5zdHJ1Y3Rpb24oMywgdDIpCiAgICAgc3RvcmVpIFBDLCBBcmd1bWVudENv
dW50ICsgVGFnT2Zmc2V0W2Nmcl0KLSAgICBzdG9yZXEgY2ZyLCBDYWxsZXJGcmFtZVt0M10KICAg
ICBzdG9yZWkgdDIsIEFyZ3VtZW50Q291bnQgKyBQYXlsb2FkT2Zmc2V0W3QzXQotICAgIG1vdmUg
dDMsIGNmcgotICAgIGNhbGxUYXJnZXRGdW5jdGlvbih0MSkKKyAgICBjYWxsVGFyZ2V0RnVuY3Rp
b24odDEsdDMpCiAKIC5vcENhbGxTbG93OgogICAgIHNsb3dQYXRoRm9yQ2FsbChzbG93UGF0aCkK
QEAgLTE4MzEsMTEgKzE4OTgsMTMgQEAgX2xsaW50X3Rocm93X2Zyb21fc2xvd19wYXRoX3RyYW1w
b2xpbmU6CiAKIAogX2xsaW50X3Rocm93X2R1cmluZ19jYWxsX3RyYW1wb2xpbmU6Ci0gICAgcHJl
c2VydmVSZXR1cm5BZGRyZXNzQWZ0ZXJDYWxsKHQyKQorICAgIHBvcCB0MgogICAgIGptcCBfbGxp
bnRfdGhyb3dfZnJvbV9zbG93X3BhdGhfdHJhbXBvbGluZQogCiAKIG1hY3JvIG5hdGl2ZUNhbGxU
cmFtcG9saW5lKGV4ZWN1dGFibGVPZmZzZXRUb0Z1bmN0aW9uKQorCisgICAgZnVuY3Rpb25Qcm9s
b2d1ZSgwKQogICAgIHN0b3JlcCAwLCBDb2RlQmxvY2tbY2ZyXQogICAgIGlmIFg4Nl82NAogICAg
ICAgICBsb2FkcCBTY29wZUNoYWluW2Nmcl0sIHQwCkBAIC0xODQ1LDE1ICsxOTE0LDExIEBAIG1h
Y3JvIG5hdGl2ZUNhbGxUcmFtcG9saW5lKGV4ZWN1dGFibGVPZmYKICAgICAgICAgbG9hZHAgQ2Fs
bGVyRnJhbWVbY2ZyXSwgdDAKICAgICAgICAgbG9hZHEgU2NvcGVDaGFpblt0MF0sIHQxCiAgICAg
ICAgIHN0b3JlcSB0MSwgU2NvcGVDaGFpbltjZnJdCi0gICAgICAgIHBlZWsgMCwgdDEKLSAgICAg
ICAgc3RvcmVwIHQxLCBSZXR1cm5QQ1tjZnJdCiAgICAgICAgIG1vdmUgY2ZyLCB0NSAgIyB0NSA9
IHJkaQotICAgICAgICBzdWJwIDE2IC0gOCwgc3AKICAgICAgICAgbG9hZHAgQ2FsbGVlW2Nmcl0s
IHQ0ICMgdDQgPSByc2kKICAgICAgICAgbG9hZHAgSlNGdW5jdGlvbjo6bV9leGVjdXRhYmxlW3Q0
XSwgdDEKLSAgICAgICAgbW92ZSB0MCwgY2ZyICMgUmVzdG9yZSBjZnIgdG8gYXZvaWQgbG9hZGlu
ZyBmcm9tIHN0YWNrCisgICAgICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KHQzLCAweGRl
YWQwMDAxKQogICAgICAgICBjYWxsIGV4ZWN1dGFibGVPZmZzZXRUb0Z1bmN0aW9uW3QxXQotICAg
ICAgICBhZGRwIDE2IC0gOCwgc3AKICAgICAgICAgbG9hZHAgU2NvcGVDaGFpbltjZnJdLCB0Mwog
ICAgICAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDMKICAgICAgICAgbG9hZHAgTWFya2VkQmxv
Y2s6Om1fd2Vha1NldCArIFdlYWtTZXQ6Om1fdm1bdDNdLCB0MwpAQCAtMTkwNCw5ICsxOTY5LDEy
IEBAIG1hY3JvIG5hdGl2ZUNhbGxUcmFtcG9saW5lKGV4ZWN1dGFibGVPZmYKICAgICBlbmQKIAog
ICAgIGJ0cW56IFZNOjptX2V4Y2VwdGlvblt0M10sIC5leGNlcHRpb24KKyAgICBmdW5jdGlvbkVw
aWxvZ3VlKDApCiAgICAgcmV0CiAuZXhjZXB0aW9uOgotICAgIHByZXNlcnZlUmV0dXJuQWRkcmVz
c0FmdGVyQ2FsbCh0MSkgIyBUaGlzIGlzIHJlYWxseSBvbmx5IG5lZWRlZCBvbiBYODZfNjQKKyAg
ICBpZiBYODZfNjQKKyAgICAgICAgcG9wIHQxCisgICAgZW5kCiAgICAgbG9hZGkgQXJndW1lbnRD
b3VudCArIFRhZ09mZnNldFtjZnJdLCBQQwogICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCBQQgog
ICAgIGxvYWRwIENvZGVCbG9jazo6bV92bVtQQl0sIHQwCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCShyZXZpc2lvbiAx
NjAyNTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRl
ci5hc20JKHdvcmtpbmcgY29weSkKQEAgLTIwNiw2ICsyMDYsMjkgQEAgbWFjcm8gYXNzZXJ0KGFz
c2VydGlvbikKICAgICBlbmQKIGVuZAogCittYWNybyBwcmVzZXJ2ZUNhbGxlclBDQW5kQ0ZSKCkK
KyAgICBpZiBDX0xPT1Agb3IgQVJNIG9yIEFSTXY3IG9yIEFSTXY3X1RSQURJVElPTkFMIG9yIEFS
TTY0IG9yIE1JUFMgb3IgU0g0CisgICAgICAgICMgSW4gQ19MT09QIGNhc2UsIHdlJ3JlIG9ubHkg
cHJlc2VydmluZyB0aGUgYnl0ZWNvZGUgdlBDLgorICAgICAgICAjIEZJWE1FOiBOZWVkIHRvIGZp
eCBmb3Igb3RoZXIgcG9ydHMKKyAgICAgICAgIyBtb3ZlIGxyLCBkZXN0aW5hdGlvblJlZ2lzdGVy
CisgICAgZWxzaWYgWDg2IG9yIFg4Nl82NAorICAgICAgICBwdXNoIGNmcgorICAgICAgICBtb3Zl
IHNwLCBjZnIKKyAgICBlbHNlCisgICAgICAgIGVycm9yCisgICAgZW5kCitlbmQKKworbWFjcm8g
cmVzdG9yZUNhbGxlclBDQW5kQ0ZSKCkKKyAgICBpZiBDX0xPT1Agb3IgQVJNIG9yIEFSTXY3IG9y
IEFSTXY3X1RSQURJVElPTkFMIG9yIEFSTTY0IG9yIE1JUFMgb3IgU0g0CisgICAgICAgICMgSW4g
Q19MT09QIGNhc2UsIHdlJ3JlIG9ubHkgcHJlc2VydmluZyB0aGUgYnl0ZWNvZGUgdlBDLgorICAg
ICAgICAjIEZJWE1FOiBOZWVkIHRvIGZpeCBmb3Igb3RoZXIgcG9ydHMKKyAgICAgICAgIyBtb3Zl
IGxyLCBkZXN0aW5hdGlvblJlZ2lzdGVyCisgICAgZWxzaWYgWDg2IG9yIFg4Nl82NAorICAgICAg
ICBtb3ZlIGNmciwgc3AKKyAgICAgICAgcG9wIGNmcgorICAgIGVuZAorZW5kCiBtYWNybyBwcmVz
ZXJ2ZVJldHVybkFkZHJlc3NBZnRlckNhbGwoZGVzdGluYXRpb25SZWdpc3RlcikKICAgICBpZiBD
X0xPT1Agb3IgQVJNIG9yIEFSTXY3IG9yIEFSTXY3X1RSQURJVElPTkFMIG9yIEFSTTY0IG9yIE1J
UFMgb3IgU0g0CiAgICAgICAgICMgSW4gQ19MT09QIGNhc2UsIHdlJ3JlIG9ubHkgcHJlc2Vydmlu
ZyB0aGUgYnl0ZWNvZGUgdlBDLgpAQCAtMjM0LDExICsyNTcsMTMgQEAgbWFjcm8gdHJhY2VFeGVj
dXRpb24oKQogICAgIGVuZAogZW5kCiAKLW1hY3JvIGNhbGxUYXJnZXRGdW5jdGlvbihjYWxsTGlu
a0luZm8pCittYWNybyBjYWxsVGFyZ2V0RnVuY3Rpb24oY2FsbExpbmtJbmZvLCBjYWxsZWVGcmFt
ZVB0cikKICAgICBpZiBDX0xPT1AKICAgICAgICAgY2xvb3BDYWxsSlNGdW5jdGlvbiBMTEludENh
bGxMaW5rSW5mbzo6bWFjaGluZUNvZGVUYXJnZXRbY2FsbExpbmtJbmZvXQogICAgIGVsc2UKKyAg
ICAgICAgcHJlcGFyZVN0YWNrUG9pbnRlckZvckpTQ2FsbChjYWxsZWVGcmFtZVB0cikKICAgICAg
ICAgY2FsbCBMTEludENhbGxMaW5rSW5mbzo6bWFjaGluZUNvZGVUYXJnZXRbY2FsbExpbmtJbmZv
XQorICAgICAgICByZXN0b3JlU3RhY2tQb2ludGVyQWZ0ZXJKU0NhbGwoKQogICAgICAgICBkaXNw
YXRjaEFmdGVyQ2FsbCgpCiAgICAgZW5kCiBlbmQKQEAgLTI1MCw3ICsyNzUsOSBAQCBtYWNybyBz
bG93UGF0aEZvckNhbGwoc2xvd1BhdGgpCiAgICAgICAgICAgICBpZiBDX0xPT1AKICAgICAgICAg
ICAgICAgICBjbG9vcENhbGxKU0Z1bmN0aW9uIGNhbGxlZQogICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgIHByZXBhcmVTdGFja1BvaW50ZXJGb3JKU0NhbGwodDEpICMgVGhlIHNsb3cg
cGF0Y2ggbGVhdmVzIHRoZSBjYWxsZSBFeGVjU3RhdGUqIGluIHQxCiAgICAgICAgICAgICAgICAg
Y2FsbCBjYWxsZWUKKyAgICAgICAgICAgICAgICByZXN0b3JlU3RhY2tQb2ludGVyQWZ0ZXJKU0Nh
bGwoKQogICAgICAgICAgICAgICAgIGRpc3BhdGNoQWZ0ZXJDYWxsKCkKICAgICAgICAgICAgIGVu
ZAogICAgICAgICBlbmQpCkBAIC0zMTMsMTAgKzM0MCw5IEBAIGVuZAogIyBEbyB0aGUgYmFyZSBt
aW5pbXVtIHJlcXVpcmVkIHRvIGV4ZWN1dGUgY29kZS4gU2V0cyB1cCB0aGUgUEMsIGxlYXZlIHRo
ZSBDb2RlQmxvY2sqCiAjIGluIHQxLiBNYXkgYWxzbyB0cmlnZ2VyIHByb2xvZ3VlIGVudHJ5IE9T
Ui4KIG1hY3JvIHByb2xvZ3VlKGNvZGVCbG9ja0dldHRlciwgY29kZUJsb2NrU2V0dGVyLCBvc3JT
bG93UGF0aCwgdHJhY2VTbG93UGF0aCkKLSAgICBwcmVzZXJ2ZVJldHVybkFkZHJlc3NBZnRlckNh
bGwodDIpCi0gICAgCiAgICAgIyBTZXQgdXAgdGhlIGNhbGwgZnJhbWUgYW5kIGNoZWNrIGlmIHdl
IHNob3VsZCBPU1IuCi0gICAgc3RvcmVwIHQyLCBSZXR1cm5QQ1tjZnJdCisgICAgcHJlc2VydmVD
YWxsZXJQQ0FuZENGUigpCisKICAgICBpZiBFWEVDVVRJT05fVFJBQ0lORwogICAgICAgICBjYWxs
U2xvd1BhdGgodHJhY2VTbG93UGF0aCkKICAgICBlbmQKQEAgLTMyNiw4ICszNTIsMTAgQEAgbWFj
cm8gcHJvbG9ndWUoY29kZUJsb2NrR2V0dGVyLCBjb2RlQmxvYwogICAgICAgICBjQ2FsbDIob3Ny
U2xvd1BhdGgsIGNmciwgUEMpCiAgICAgICAgIG1vdmUgdDEsIGNmcgogICAgICAgICBidHB6IHQw
LCAucmVjb3ZlcgotICAgICAgICBsb2FkcCBSZXR1cm5QQ1tjZnJdLCB0MgotICAgICAgICByZXN0
b3JlUmV0dXJuQWRkcmVzc0JlZm9yZVJldHVybih0MikKKyAgICAgICAgIyAmJiYmIEZJWE1FOiBO
b3Qgc3VyZSB0aGlzIGlzIHJpZ2h0CisgICAgICAgIGJyZWFrCisgICAgICAgICMgbG9hZHAgUmV0
dXJuUENbY2ZyXSwgdDIKKyAgICAgICAgIyByZXN0b3JlUmV0dXJuQWRkcmVzc0JlZm9yZVJldHVy
bih0MikKICAgICAgICAgam1wIHQwCiAgICAgLnJlY292ZXI6CiAgICAgICAgIGNvZGVCbG9ja0dl
dHRlcih0MSkKQEAgLTMzNSw2ICszNjMsMTAgQEAgbWFjcm8gcHJvbG9ndWUoY29kZUJsb2NrR2V0
dGVyLCBjb2RlQmxvYwogICAgIGVuZAogICAgIGNvZGVCbG9ja1NldHRlcih0MSkKICAgICAKKyAg
ICBsb2FkaSBDb2RlQmxvY2s6Om1fbnVtQ2FsbGVlUmVnaXN0ZXJzW3QxXSwgdDIKKyAgICBsc2hp
ZnRwIDMsIHQyCisgICAgc3VicCB0Miwgc3AKKwogICAgICMgU2V0IHVwIHRoZSBQQy4KICAgICBp
ZiBKU1ZBTFVFNjQKICAgICAgICAgbG9hZHAgQ29kZUJsb2NrOjptX2luc3RydWN0aW9uc1t0MV0s
IFBCCkBAIC00MTUsOSArNDQ3LDcgQEAgbWFjcm8gYWxsb2NhdGVKU09iamVjdChhbGxvY2F0b3Is
IHN0cnVjdAogZW5kCiAKIG1hY3JvIGRvUmV0dXJuKCkKLSAgICBsb2FkcCBSZXR1cm5QQ1tjZnJd
LCB0MgotICAgIGxvYWRwIENhbGxlckZyYW1lW2Nmcl0sIGNmcgotICAgIHJlc3RvcmVSZXR1cm5B
ZGRyZXNzQmVmb3JlUmV0dXJuKHQyKQorICAgIHJlc3RvcmVDYWxsZXJQQ0FuZENGUigpCiAgICAg
cmV0CiBlbmQKIApAQCAtNDI5LDEwICs0NTksMTAgQEAgZWxzZQogIyBOb3RlLCBpZiB0aGVzZSBz
dHVicyBvciBvbmUgb2YgdGhlaXIgcmVsYXRlZCBtYWNyb3MgYXJlIGNoYW5nZWQsIG1ha2UgdGhl
CiAjIGVxdWl2YWxlbnQgY2hhbmdlcyBpbiBqaXQvSklUU3R1YnNYODYuaCBhbmQvb3Igaml0L0pJ
VFN0dWJzTVNWQzY0LmFzbQogX2NhbGxUb0phdmFTY3JpcHQ6Ci0gICAgZG9DYWxsVG9KYXZhU2Ny
aXB0KG1ha2VKYXZhU2NyaXB0Q2FsbCwgZG9SZXR1cm5Gcm9tSmF2YVNjcmlwdCkKKyAgICBkb0Nh
bGxUb0phdmFTY3JpcHQobWFrZUphdmFTY3JpcHRDYWxsKQogCiBfY2FsbFRvTmF0aXZlRnVuY3Rp
b246Ci0gICAgZG9DYWxsVG9KYXZhU2NyaXB0KG1ha2VIb3N0RnVuY3Rpb25DYWxsLCBkb1JldHVy
bkZyb21Ib3N0RnVuY3Rpb24pCisgICAgZG9DYWxsVG9KYXZhU2NyaXB0KG1ha2VIb3N0RnVuY3Rp
b25DYWxsKQogZW5kCiAKICMgSW5kaWNhdGUgdGhlIGJlZ2lubmluZyBvZiBMTEludC4K
</data>
<flag name="review"
          id="242123"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
          </attachment>
      

    </bug>

</bugzilla>