<?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>127407</bug_id>
          
          <creation_ts>2014-01-21 22:50:59 -0800</creation_ts>
          <short_desc>CStack Branch: Fix DFG for X86-32</short_desc>
          <delta_ts>2014-01-22 09:15:10 -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>970589</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-01-21 22:50:59 -0800</bug_when>
    <thetext>This is to make the appropriate changes so the DFG  will build and run on X86-32.  This will likely require changes in other engines as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970590</commentid>
    <comment_count>1</comment_count>
      <attachid>221830</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-01-21 23:08:29 -0800</bug_when>
    <thetext>Created attachment 221830
Patch

With this patch X86-32 runs the JSC stress tests with 20 errors.
** The following JSC stress test failures have been introduced:
	v8-v6/v8-crypto.js.dfg-eager
	v8-v6/v8-crypto.js.dfg-eager-no-cjit-validate
	regress/script-tests/fold-double-to-int.js.default
	regress/script-tests/fold-double-to-int.js.no-llint
	regress/script-tests/fold-double-to-int.js.always-trigger-copy-phase
	regress/script-tests/fold-double-to-int.js.no-cjit-validate-phases
	regress/script-tests/fold-double-to-int.js.dfg-eager
	regress/script-tests/fold-double-to-int.js.dfg-eager-no-cjit-validate
	regress/script-tests/Int16Array-bubble-sort-with-byteLength.js.default
	regress/script-tests/Int16Array-bubble-sort-with-byteLength.js.no-llint
	regress/script-tests/Int16Array-bubble-sort-with-byteLength.js.always-trigger-copy-phase
	regress/script-tests/Int16Array-bubble-sort-with-byteLength.js.no-cjit-validate-phases
	regress/script-tests/Int16Array-bubble-sort-with-byteLength.js.dfg-eager
	regress/script-tests/Int16Array-bubble-sort-with-byteLength.js.dfg-eager-no-cjit-validate
	regress/script-tests/Int16Array-bubble-sort.js.default
	regress/script-tests/Int16Array-bubble-sort.js.no-llint
	regress/script-tests/Int16Array-bubble-sort.js.always-trigger-copy-phase
	regress/script-tests/Int16Array-bubble-sort.js.no-cjit-validate-phases
	regress/script-tests/Int16Array-bubble-sort.js.dfg-eager
	regress/script-tests/Int16Array-bubble-sort.js.dfg-eager-no-cjit-validate

Results for JSC stress tests:
    20 failures found.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>970703</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2014-01-22 09:15:10 -0800</bug_when>
    <thetext>Committed r162521: &lt;http://trac.webkit.org/changeset/162521&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>221830</attachid>
            <date>2014-01-21 23:08:29 -0800</date>
            <delta_ts>2014-01-22 07:17:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>127407.patch</filename>
            <type>text/plain</type>
            <size>19627</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTYyNTA2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU4IEBA
CisyMDE0LTAxLTIxICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIENTdGFjayBCcmFuY2g6IEZpeCBERkcgZm9yIFg4Ni0zMgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI3NDA3CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFkZSBERkcgY2FsbGluZyBjb252ZW50aW9u
IGNoYW5nZXMuICBDaGFuZ2UgZnJhbWVSZWdpc3RlckNvdW50KCkgdG8KKyAgICAgICAgYXBwcm9w
cmlhdGVseSByb3VuZCBzbyB0aGUgc3RhY2sgcG9pbnRlciB3aWxsIGVuZCB1cCBiZWluZyBwcm9w
ZXJseSBhbGlnbmVkLgorICAgICAgICBSZW1vdmVkIHNvbWUgc3RhY2sgcG9pbnRlciBhbGlnbm1l
bnQgY2hlY2tzIHRoYXQgYXJlIGJlZm9yZSBzZXR0aW5nCisgICAgICAgIHRoZSBzdGFjayBwb2lu
dGVyLgorCisgICAgICAgIEZpeGVkIG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsIHRvIGFj
Y291bnQgdGhhdCB0aGUgbW9zdCBhcmd1bWVudHMgd2UKKyAgICAgICAgYWN0dWFsbHkgdXNlIHdo
ZW4gY2FsbGluZyBhIGhlbHBlciBpcyA3LiAgQWRkZWQgYSBjb21waWxlIGFzc2VydCB0byBtYWtl
CisgICAgICAgIHN1cmUgdGhhdCBtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCBoYXMgdGhl
IHJpZ2h0IHBhZGRpbmcuICBNYWRlIHRoZQorICAgICAgICBjb3JyZXNwb25kaW5nIGNoYW5nZXMg
aW4gdGhlIExMSW50LgorCisgICAgICAgIE1vdmVkIHRoZSBzdGFjayBwb2ludGVyIGRvd24gYnkg
bWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwgYmVmb3JlIGNhbGxpbmcKKyAgICAgICAgYSBo
ZWxwZXIgd2hlbiB0aGUgc3RhY2sgcG9pbnRlciBoYXNuJ3QgYmVlbiBwcm9wZXJseSBzZXQgdXAu
CisKKyAgICAgICAgRWxpbWluYXRlZCBlbWl0R2V0UmV0dXJuUENGcm9tQ2FsbEZyYW1lSGVhZGVy
UHRyKCkgc2luY2UgaXQgaXMgbm8gbG9uZ2VyIGNhbGxlZC4KKworICAgICAgICBNb3ZlZCB0aGUg
c3RhY2sgcG9pbnRlciBkb3duIGluIFRodW5rR2VuZXJhdG9yczo6ZGVmaW5lVW5hcnlEb3VibGVP
cFdyYXBwZXIoKQorICAgICAgICB0byBhbGlnbiBpdCBmb3Igc3RvcmluZyB4bW0gYXJndW1lbnRz
IGFuZCBtYWtpbmcgYSBjYWxsIHRvIHRoZSBoZWxwZXIuCisKKyAgICAgICAgRml4ZWQgYW4gaXNz
dWUgd2hlcmUgQXJpdHlDaGVja0ZhaWxSZXR1cm5UaHVua3Mgd2FzIGNsb2JiZXJpbmcgZWR4LiAg
Q2hhbmdlZAorICAgICAgICBpdCB0byB1c2UgcmVnVDQgKGVkaSkgaW5zdGVhZCBvZiByZWdUMSAo
ZWR4KS4KKworICAgICAgICBNYWRlIHRlbXBvcmFyeSBzcGFjZSBvbiB0aGUgc3RhY2sgZm9yIGlu
IHRoZSBMTEludCB3aGVuIGNhbGxpbmcgb3V0IHRvIEMgY29kZSAKKyAgICAgICAgd2hlbiB0aGUg
c3RhY2sgcG9udGVyIGhhc24ndCBiZWVuIHByb3Blcmx5IHNldCB1cCBmb3IgYSBjb2RlIGJsb2Nr
LgorCisgICAgICAgICogYXNzZW1ibGVyL01heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsLmg6
IAorICAgICAgICAqIGRmZy9ERkdHcmFwaC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6R3JhcGg6
OmZyYW1lUmVnaXN0ZXJDb3VudCk6CisgICAgICAgICogZGZnL0RGR0pJVENvbXBpbGVyLmNwcDoK
KyAgICAgICAgKEpTQzo6REZHOjpKSVRDb21waWxlcjo6Y29tcGlsZSk6CisgICAgICAgIChKU0M6
OkRGRzo6SklUQ29tcGlsZXI6OmNvbXBpbGVGdW5jdGlvbik6CisgICAgICAgICogZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklU
OjplbWl0Q2FsbCk6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUp
OgorICAgICAgICAqIGppdC9Bcml0eUNoZWNrRmFpbFJldHVyblRodW5rcy5jcHA6CisgICAgICAg
IChKU0M6OkFyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzOjpyZXR1cm5QQ3NGb3IpOgorICAgICAg
ICAqIGppdC9Bc3NlbWJseUhlbHBlcnMuaDoKKyAgICAgICAgKiBqaXQvSklULmNwcDoKKyAgICAg
ICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZSk6CisgICAgICAgICogaml0L0pJVENhbGwzMl82
NC5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6Y29tcGlsZU9wQ2FsbCk6CisgICAgICAgICogaml0
L0pJVElubGluZXMuaDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0TmFrZWRDYWxsKToKKyAgICAg
ICAgKiBqaXQvVGh1bmtHZW5lcmF0b3JzLmNwcDoKKyAgICAgICAgKEpTQzo6bmF0aXZlRm9yR2Vu
ZXJhdG9yKToKKyAgICAgICAgKiBsbGludC9MTEludERhdGEuY3BwOgorICAgICAgICAoSlNDOjpM
TEludDo6RGF0YTo6cGVyZm9ybUFzc2VydGlvbnMpOgorICAgICAgICAqIGxsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIuYXNtOgorCiAyMDE0LTAxLTIxICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBs
ZS5jb20+CiAKICAgICAgICAgQWRkIGEgLS1lbmFibGVFeHBlcmltZW50YWxGVExDb3ZlcmFnZSBv
cHRpb24gYW5kIHVzZSBpdCB0byBwcm90ZWN0IHJlY2VudGx5IGFkZGVkIGZlYXR1cmVzLgpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYXhGcmFtZUV4dGVudEZvclNsb3dQ
YXRoQ2FsbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
TWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwuaAkocmV2aXNpb24gMTYyMjQxKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9NYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2Fs
bC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw3ICsyNiw5IEBACiAjaWZuZGVmIE1heEZyYW1lRXh0
ZW50Rm9yU2xvd1BhdGhDYWxsX2gKICNkZWZpbmUgTWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENh
bGxfaAogCisjaW5jbHVkZSAiSlNTdGFjay5oIgogI2luY2x1ZGUgIlJlZ2lzdGVyLmgiCisjaW5j
bHVkZSAiU3RhY2tBbGlnbm1lbnQuaCIKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogCiBu
YW1lc3BhY2UgSlNDIHsKQEAgLTQwLDE1ICs0MiwxNSBAQCBzdGF0aWMgY29uc3Qgc2l6ZV90IG1h
eEZyYW1lRXh0ZW50Rm9yU2xvCiAKICNlbGlmIENQVShYODZfNjQpICYmIE9TKFdJTkRPV1MpCiAv
LyA0IGFyZ3MgaW4gcmVnaXN0ZXJzLCBidXQgc3RhY2sgc3BhY2UgbmVlZHMgdG8gYmUgYWxsb2Nh
dGVkIGZvciBhbGwgYXJncy4KLXN0YXRpYyBjb25zdCBzaXplX3QgbWF4RnJhbWVFeHRlbnRGb3JT
bG93UGF0aENhbGwgPSA0ODsKK3N0YXRpYyBjb25zdCBzaXplX3QgbWF4RnJhbWVFeHRlbnRGb3JT
bG93UGF0aENhbGwgPSA2NDsKIAogI2VsaWYgQ1BVKFg4Nl82NCkKIC8vIEFsbCBhcmdzIGluIHJl
Z2lzdGVycy4KIHN0YXRpYyBjb25zdCBzaXplX3QgbWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENh
bGwgPSAwOwogCiAjZWxpZiBDUFUoWDg2KQotLy8gNiBhcmdzIG9uIHN0YWNrICgyNCBieXRlcyku
Ci1zdGF0aWMgY29uc3Qgc2l6ZV90IG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsID0gMjQ7
CisvLyA3IGFyZ3Mgb24gc3RhY2sgKDI4IGJ5dGVzKS4KK3N0YXRpYyBjb25zdCBzaXplX3QgbWF4
RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwgPSA0MDsKIAogI2VsaWYgQ1BVKEFSTTY0KQogLy8g
QWxsIGFyZ3MgaW4gcmVnaXN0ZXJzLgpAQCAtNjQsNyArNjYsNyBAQCBzdGF0aWMgY29uc3Qgc2l6
ZV90IG1heEZyYW1lRXh0ZW50Rm9yU2xvCiAKICNlbGlmIENQVShNSVBTKQogLy8gVGhvdWdoIGFy
Z3MgYXJlIGluIHJlZ2lzdGVycywgdGhlcmUgbmVlZCB0byBiZSBzcGFjZSBvbiB0aGUgc3RhY2sg
Zm9yIGFsbCBhcmdzLgotc3RhdGljIGNvbnN0IHNpemVfdCBtYXhGcmFtZUV4dGVudEZvclNsb3dQ
YXRoQ2FsbCA9IDMyOworc3RhdGljIGNvbnN0IHNpemVfdCBtYXhGcmFtZUV4dGVudEZvclNsb3dQ
YXRoQ2FsbCA9IDQwOwogCiAjZWxzZQogI2Vycm9yICJVbnN1cHBvcnRlZCBDUFU6IG5lZWQgdmFs
dWUgZm9yIG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsIgpAQCAtNzIsNiArNzQsOCBAQCBz
dGF0aWMgY29uc3Qgc2l6ZV90IG1heEZyYW1lRXh0ZW50Rm9yU2xvCiAjZW5kaWYKIAogQ09NUElM
RV9BU1NFUlQoIShtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCAlIHNpemVvZihSZWdpc3Rl
cikpLCBleHRlbnRfbXVzdF9iZV9pbl9tdWx0aXBsZXNfb2ZfcmVnaXN0ZXJzKTsKKy8vIE1ha2Ug
c3VyZSB0aGF0IGNmciAtIG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsIGJ5dGVzIHdpbGwg
bWFrZSB0aGUgc3RhY2sgcG9pbnRlciBhbGlnbmVkCitDT01QSUxFX0FTU0VSVCgobWF4RnJhbWVF
eHRlbnRGb3JTbG93UGF0aENhbGwgJSAxNikgPT0gMTYgLSBzaXplb2YoQ2FsbGVyRnJhbWVBbmRQ
QyksIGV4dGVudF9tdXN0X2FsaWduX3N0YWNrX2Zyb21fY2FsbGZyYW1lX3BvaW50ZXIpOwogCiBz
dGF0aWMgY29uc3Qgc2l6ZV90IG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsSW5SZWdpc3Rl
cnMgPSBtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCAvIHNpemVvZihSZWdpc3Rlcik7CiAK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguY3BwCShyZXZpc2lvbiAxNjIy
NDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNzE0LDggKzcxNCw3IEBAIGJvb2wgR3JhcGg6OmlzTGl2ZUluQnl0ZWNvZGUoVmly
dHVhbFJlZ2kKIHVuc2lnbmVkIEdyYXBoOjpmcmFtZVJlZ2lzdGVyQ291bnQoKQogewogICAgIHVu
c2lnbmVkIHJlc3VsdCA9IG1fbmV4dE1hY2hpbmVMb2NhbCArIHN0ZDo6bWF4KG1fcGFyYW1ldGVy
U2xvdHMsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2Fs
bEluUmVnaXN0ZXJzKSk7Ci0gICAgcmVzdWx0ID0gV1RGOjpyb3VuZFVwVG9NdWx0aXBsZU9mKHN0
YWNrQWxpZ25tZW50UmVnaXN0ZXJzKCksIHJlc3VsdCk7Ci0gICAgcmV0dXJuIHJlc3VsdDsKKyAg
ICByZXR1cm4gcm91bmRMb2NhbFJlZ2lzdGVyQ291bnRGb3JGcmFtZVBvaW50ZXJPZmZzZXQocmVz
dWx0KTsKIH0KIAogdW5zaWduZWQgR3JhcGg6OnN0YWNrUG9pbnRlck9mZnNldCgpCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmNwcAkocmV2aXNpb24g
MTYyMjQxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21waWxlci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJERkdTcGVjdWxhdGl2
ZUpJVC5oIgogI2luY2x1ZGUgIkRGR1RodW5rcy5oIgogI2luY2x1ZGUgIkpTQ0pTVmFsdWVJbmxp
bmVzLmgiCisjaW5jbHVkZSAiTWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwuaCIKICNpbmNs
dWRlICJWTS5oIgogI2luY2x1ZGUgIkxpbmtCdWZmZXIuaCIKIApAQCAtMjgzLDcgKzI4NCw2IEBA
IHZvaWQgSklUQ29tcGlsZXI6OmNvbXBpbGUoKQogICAgIHNldFN0YXJ0T2ZDb2RlKCk7CiAgICAg
Y29tcGlsZUVudHJ5KCk7CiAgICAgbV9zcGVjdWxhdGl2ZSA9IGFkb3B0UHRyKG5ldyBTcGVjdWxh
dGl2ZUpJVCgqdGhpcykpOwotICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KCk7CiAgICAg
YWRkUHRyKFRydXN0ZWRJbW0zMihtX2dyYXBoLnN0YWNrUG9pbnRlck9mZnNldCgpICogc2l6ZW9m
KFJlZ2lzdGVyKSksIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBzdGFja1BvaW50ZXJSZWdp
c3Rlcik7CiAgICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQoKTsKICAgICBjb21waWxlQm9k
eSgpOwpAQCAtMzM2LDggKzMzNiw2IEBAIHZvaWQgSklUQ29tcGlsZXI6OmNvbXBpbGVGdW5jdGlv
bigpCiAgICAgYWRkUHRyKFRydXN0ZWRJbW0zMih2aXJ0dWFsUmVnaXN0ZXJGb3JMb2NhbChtX2dy
YXBoLnJlcXVpcmVkUmVnaXN0ZXJDb3VudEZvckV4ZWN1dGlvbkFuZEV4aXQoKSAtIDEpLm9mZnNl
dCgpICogc2l6ZW9mKFJlZ2lzdGVyKSksIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBHUFJJ
bmZvOjpyZWdUMSk7CiAgICAgSnVtcCBzdGFja092ZXJmbG93ID0gYnJhbmNoUHRyKEFib3ZlLCBB
YnNvbHV0ZUFkZHJlc3MobV92bS0+YWRkcmVzc09mSlNTdGFja0xpbWl0KCkpLCBHUFJJbmZvOjpy
ZWdUMSk7CiAKLSAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCgpOwotCiAgICAgLy8gTW92
ZSB0aGUgc3RhY2sgcG9pbnRlciBkb3duIHRvIGFjY29tbW9kYXRlIGxvY2FscwogICAgIGFkZFB0
cihUcnVzdGVkSW1tMzIobV9ncmFwaC5zdGFja1BvaW50ZXJPZmZzZXQoKSAqIHNpemVvZihSZWdp
c3RlcikpLCBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rlciwgc3RhY2tQb2ludGVyUmVnaXN0ZXIp
OwogICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KCk7CkBAIC0zNTcsNiArMzU1LDEwIEBA
IHZvaWQgSklUQ29tcGlsZXI6OmNvbXBpbGVGdW5jdGlvbigpCiAgICAgc3RhY2tPdmVyZmxvdy5s
aW5rKHRoaXMpOwogCiAgICAgZW1pdFN0b3JlQ29kZU9yaWdpbihDb2RlT3JpZ2luKDApKTsKKwor
ICAgIGlmIChtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCkKKyAgICAgICAgYWRkUHRyKFRy
dXN0ZWRJbW0zMigtbWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwpLCBzdGFja1BvaW50ZXJS
ZWdpc3Rlcik7CisKICAgICBtX3NwZWN1bGF0aXZlLT5jYWxsT3BlcmF0aW9uV2l0aENhbGxGcmFt
ZVJvbGxiYWNrT25FeGNlcHRpb24ob3BlcmF0aW9uVGhyb3dTdGFja092ZXJmbG93RXJyb3IsIG1f
Y29kZUJsb2NrKTsKICAgICAKICAgICAvLyBUaGUgZmFzdCBlbnRyeSBwb2ludCBpbnRvIGEgZnVu
Y3Rpb24gZG9lcyBub3QgY2hlY2sgdGhlIGNvcnJlY3QgbnVtYmVyIG9mIGFyZ3VtZW50cwpAQCAt
MzcwLDcgKzM3MiwxMSBAQCB2b2lkIEpJVENvbXBpbGVyOjpjb21waWxlRnVuY3Rpb24oKQogICAg
IGxvYWQzMihBc3NlbWJseUhlbHBlcnM6OnBheWxvYWRGb3IoKFZpcnR1YWxSZWdpc3RlcilKU1N0
YWNrOjpBcmd1bWVudENvdW50KSwgR1BSSW5mbzo6cmVnVDEpOwogICAgIGJyYW5jaDMyKEFib3Zl
T3JFcXVhbCwgR1BSSW5mbzo6cmVnVDEsIFRydXN0ZWRJbW0zMihtX2NvZGVCbG9jay0+bnVtUGFy
YW1ldGVycygpKSkubGlua1RvKGZyb21Bcml0eUNoZWNrLCB0aGlzKTsKICAgICBlbWl0U3RvcmVD
b2RlT3JpZ2luKENvZGVPcmlnaW4oMCkpOworICAgIGlmIChtYXhGcmFtZUV4dGVudEZvclNsb3dQ
YXRoQ2FsbCkKKyAgICAgICAgYWRkUHRyKFRydXN0ZWRJbW0zMigtbWF4RnJhbWVFeHRlbnRGb3JT
bG93UGF0aENhbGwpLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7CiAgICAgbV9zcGVjdWxhdGl2ZS0+
Y2FsbE9wZXJhdGlvbldpdGhDYWxsRnJhbWVSb2xsYmFja09uRXhjZXB0aW9uKG1fY29kZUJsb2Nr
LT5tX2lzQ29uc3RydWN0b3IgPyBvcGVyYXRpb25Db25zdHJ1Y3RBcml0eUNoZWNrIDogb3BlcmF0
aW9uQ2FsbEFyaXR5Q2hlY2ssIEdQUkluZm86OnJlZ1QwKTsKKyAgICBpZiAobWF4RnJhbWVFeHRl
bnRGb3JTbG93UGF0aENhbGwpCisgICAgICAgIGFkZFB0cihUcnVzdGVkSW1tMzIobWF4RnJhbWVF
eHRlbnRGb3JTbG93UGF0aENhbGwpLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7CiAgICAgYnJhbmNo
VGVzdDMyKFplcm8sIEdQUkluZm86OnJlZ1QwKS5saW5rVG8oZnJvbUFyaXR5Q2hlY2ssIHRoaXMp
OwogICAgIGVtaXRTdG9yZUNvZGVPcmlnaW4oQ29kZU9yaWdpbigwKSk7CiAgICAgbW92ZShUcnVz
dGVkSW1tUHRyKG1fdm0tPmFyaXR5Q2hlY2tGYWlsUmV0dXJuVGh1bmtzLT5yZXR1cm5QQ3NGb3Io
Km1fdm0sIG1fY29kZUJsb2NrLT5udW1QYXJhbWV0ZXJzKCkpKSwgR1BSSW5mbzo6cmVnVDUpOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklUMzJfNjQuY3BwCShyZXZpc2lvbiAxNjIyNDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02MzMsNyAr
NjMzLDYgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6ZW1pdENhbGwoTm9kZSogbm9kZQogICAgIGlu
dCBudW1BcmdzID0gbnVtUGFzc2VkQXJncyArIGR1bW15VGhpc0FyZ3VtZW50OwogCiAgICAgbV9q
aXQuc3RvcmUzMihNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbTMyKG51bUFyZ3MpLCBjYWxsZWVG
cmFtZVBheWxvYWRTbG90KEpTU3RhY2s6OkFyZ3VtZW50Q291bnQpKTsKLSAgICBtX2ppdC5zdG9y
ZVB0cihHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgY2FsbGVlRnJhbWVDYWxsZXJGcmFtZSgp
KTsKICAgICBtX2ppdC5zdG9yZTMyKGNhbGxlZVBheWxvYWRHUFIsIGNhbGxlZUZyYW1lUGF5bG9h
ZFNsb3QoSlNTdGFjazo6Q2FsbGVlKSk7CiAgICAgbV9qaXQuc3RvcmUzMihjYWxsZWVUYWdHUFIs
IGNhbGxlZUZyYW1lVGFnU2xvdChKU1N0YWNrOjpDYWxsZWUpKTsKIApAQCAtNjYwLDEzICs2NTks
MTEgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6ZW1pdENhbGwoTm9kZSogbm9kZQogCiAgICAgbV9q
aXQuZW1pdFN0b3JlQ29kZU9yaWdpbihub2RlLT5jb2RlT3JpZ2luKTsKICAgICAKLSAgICBtX2pp
dC5hZGRQdHIoVHJ1c3RlZEltbTMyKGNhbGxlZUZyYW1lT2Zmc2V0KG51bUFyZ3MpKSwgR1BSSW5m
bzo6Y2FsbEZyYW1lUmVnaXN0ZXIpOwotICAgIAogICAgIHNsb3dQYXRoLmFwcGVuZChtX2ppdC5i
cmFuY2gzMihNYWNyb0Fzc2VtYmxlcjo6Tm90RXF1YWwsIGNhbGxlZVRhZ0dQUiwgVHJ1c3RlZElt
bTMyKEpTVmFsdWU6OkNlbGxUYWcpKSk7CiAgICAgc2xvd1BhdGguYXBwZW5kKG1faml0LmJyYW5j
aFB0cldpdGhQYXRjaChNYWNyb0Fzc2VtYmxlcjo6Tm90RXF1YWwsIGNhbGxlZVBheWxvYWRHUFIs
IHRhcmdldFRvQ2hlY2spKTsKICAgICBtX2ppdC5sb2FkUHRyKE1hY3JvQXNzZW1ibGVyOjpBZGRy
ZXNzKGNhbGxlZVBheWxvYWRHUFIsIE9CSkVDVF9PRkZTRVRPRihKU0Z1bmN0aW9uLCBtX3Njb3Bl
KSksIHJlc3VsdFBheWxvYWRHUFIpOwotICAgIG1faml0LnN0b3JlUHRyKHJlc3VsdFBheWxvYWRH
UFIsIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBz
dGF0aWNfY2FzdDxwdHJkaWZmX3Q+KHNpemVvZihSZWdpc3RlcikpICogSlNTdGFjazo6U2NvcGVD
aGFpbiArIE9CSkVDVF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMucGF5
bG9hZCkpKTsKLSAgICBtX2ppdC5zdG9yZTMyKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIo
SlNWYWx1ZTo6Q2VsbFRhZyksIE1hY3JvQXNzZW1ibGVyOjpBZGRyZXNzKEdQUkluZm86OmNhbGxG
cmFtZVJlZ2lzdGVyLCBzdGF0aWNfY2FzdDxwdHJkaWZmX3Q+KHNpemVvZihSZWdpc3RlcikpICog
SlNTdGFjazo6U2NvcGVDaGFpbiArIE9CSkVDVF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlw
dG9yLCBhc0JpdHMudGFnKSkpOworICAgIG1faml0LnN0b3JlUHRyKHJlc3VsdFBheWxvYWRHUFIs
IGNhbGxlZUZyYW1lUGF5bG9hZFNsb3QoSlNTdGFjazo6U2NvcGVDaGFpbikpOworICAgIG1faml0
LnN0b3JlUHRyKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6Q2VsbFRhZyks
IGNhbGxlZUZyYW1lVGFnU2xvdChKU1N0YWNrOjpTY29wZUNoYWluKSk7CiAKICAgICBKSVRDb21w
aWxlcjo6Q2FsbCBmYXN0Q2FsbCA9IG1faml0Lm5lYXJDYWxsKCk7CiAKQEAgLTMwNTIsMTIgKzMw
NDksNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KIAotICAgICAgICAvLyBHcmFiIHRoZSByZXR1cm4gYWRkcmVzcy4K
LSAgICAgICAgbV9qaXQuZW1pdEdldFJldHVyblBDRnJvbUNhbGxGcmFtZUhlYWRlclB0cihHUFJJ
bmZvOjpyZWdUMik7Ci0gICAgICAgIC8vIFJlc3RvcmUgb3VyIGNhbGxlcidzICJyIi4KLSAgICAg
ICAgbV9qaXQuZW1pdEdldENhbGxlckZyYW1lRnJvbUNhbGxGcmFtZUhlYWRlclB0cihHUFJJbmZv
OjpjYWxsRnJhbWVSZWdpc3Rlcik7Ci0gICAgICAgIC8vIFJldHVybi4KLSAgICAgICAgbV9qaXQu
cmVzdG9yZVJldHVybkFkZHJlc3NCZWZvcmVSZXR1cm4oR1BSSW5mbzo6cmVnVDIpOworICAgICAg
ICBtX2ppdC5lbWl0RnVuY3Rpb25FcGlsb2d1ZSgpOwogICAgICAgICBtX2ppdC5yZXQoKTsKICAg
ICAgICAgCiAgICAgICAgIG5vUmVzdWx0KG5vZGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9Bcml0eUNoZWNrRmFpbFJldHVyblRodW5rcy5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bcml0eUNoZWNrRmFpbFJldHVyblRodW5rcy5jcHAJKHJl
dmlzaW9uIDE2MjI0MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXJpdHlDaGVja0Zh
aWxSZXR1cm5UaHVua3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03MywxMSArNzMsMTEgQEAgQ29k
ZUxvY2F0aW9uTGFiZWwqIEFyaXR5Q2hlY2tGYWlsUmV0dXJuVAogICAgICAgICAgICAgICAgIEFz
c2VtYmx5SGVscGVyczo6c3RhY2tQb2ludGVyUmVnaXN0ZXIsCiAgICAgICAgICAgICAgICAgKEpT
U3RhY2s6OkFyZ3VtZW50Q291bnQgLSBKU1N0YWNrOjpDYWxsZXJGcmFtZUFuZFBDU2l6ZSkgKiBz
aXplb2YoUmVnaXN0ZXIpICsKICAgICAgICAgICAgICAgICBQYXlsb2FkT2Zmc2V0KSwKLSAgICAg
ICAgICAgIEdQUkluZm86OnJlZ1QxKTsKKyAgICAgICAgICAgIEdQUkluZm86OnJlZ1Q0KTsKICAg
ICAgICAgaml0LmFkZDMyKAogICAgICAgICAgICAgQXNzZW1ibHlIZWxwZXJzOjpUcnVzdGVkSW1t
MzIoCiAgICAgICAgICAgICAgICAgSlNTdGFjazo6Q2FsbEZyYW1lSGVhZGVyU2l6ZSAtIEpTU3Rh
Y2s6OkNhbGxlckZyYW1lQW5kUENTaXplICsgc2l6ZSAtIDEpLAotICAgICAgICAgICAgR1BSSW5m
bzo6cmVnVDEsIEdQUkluZm86OnJlZ1QyKTsKKyAgICAgICAgICAgIEdQUkluZm86OnJlZ1Q0LCBH
UFJJbmZvOjpyZWdUMik7CiAgICAgICAgIGppdC5sc2hpZnQzMihBc3NlbWJseUhlbHBlcnM6OlRy
dXN0ZWRJbW0zMigzKSwgR1BSSW5mbzo6cmVnVDIpOwogICAgICAgICBqaXQuYWRkUHRyKEFzc2Vt
Ymx5SGVscGVyczo6c3RhY2tQb2ludGVyUmVnaXN0ZXIsIEdQUkluZm86OnJlZ1QyKTsKICAgICAg
ICAgaml0LmxvYWRQdHIoR1BSSW5mbzo6cmVnVDIsIEdQUkluZm86OnJlZ1QyKTsKQEAgLTg5LDcg
Kzg5LDcgQEAgQ29kZUxvY2F0aW9uTGFiZWwqIEFyaXR5Q2hlY2tGYWlsUmV0dXJuVAogICAgICAg
ICAvLyBUaHVua3MgbGlrZSBvdXJzIHdhbnQgdG8gdXNlIHRoZSByZXR1cm4gUEMgdG8gZmlndXJl
IG91dCB3aGVyZSB0aGluZ3MKICAgICAgICAgLy8gd2VyZSBzYXZlZC4gU28sIHdlIHBheSBpdCBm
b3J3YXJkLgogICAgICAgICBqaXQuc3RvcmUzMigKLSAgICAgICAgICAgIEdQUkluZm86OnJlZ1Qx
LAorICAgICAgICAgICAgR1BSSW5mbzo6cmVnVDQsCiAgICAgICAgICAgICBBc3NlbWJseUhlbHBl
cnM6OkFkZHJlc3MoCiAgICAgICAgICAgICAgICAgQXNzZW1ibHlIZWxwZXJzOjpzdGFja1BvaW50
ZXJSZWdpc3RlciwKICAgICAgICAgICAgICAgICAoSlNTdGFjazo6QXJndW1lbnRDb3VudCAtIEpT
U3RhY2s6OkNhbGxlckZyYW1lQW5kUENTaXplKSAqIHNpemVvZihSZWdpc3RlcikgKwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVycy5oCShyZXZpc2lvbiAx
NjIyNDEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVycy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yMDgsMTAgKzIwOCw2IEBAIHB1YmxpYzoKICAgICAgICAgc3RvcmVQ
dHIoZnJvbSwgQWRkcmVzcyhHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgQ2FsbEZyYW1lOjpj
YWxsZXJGcmFtZU9mZnNldCgpKSk7CiAgICAgfQogCi0gICAgdm9pZCBlbWl0R2V0UmV0dXJuUENG
cm9tQ2FsbEZyYW1lSGVhZGVyUHRyKFJlZ2lzdGVySUQgdG8pCi0gICAgewotICAgICAgICBsb2Fk
UHRyKEFkZHJlc3MoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIENhbGxGcmFtZTo6cmV0dXJu
UENPZmZzZXQoKSksIHRvKTsKLSAgICB9CiAgICAgdm9pZCBlbWl0UHV0UmV0dXJuUENUb0NhbGxG
cmFtZUhlYWRlcihSZWdpc3RlcklEIGZyb20pCiAgICAgewogICAgICAgICBzdG9yZVB0cihmcm9t
LCBBZGRyZXNzKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBDYWxsRnJhbWU6OnJldHVyblBD
T2Zmc2V0KCkpKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAJKHJldmlzaW9uIDE2
MjI0MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNTY1LDcgKzU2NSwxMSBAQCBDb21waWxhdGlvblJlc3VsdCBKSVQ6OnByaXZhdGVDb21w
aWxlKEpJCiAKICAgICAgICAgbV9ieXRlY29kZU9mZnNldCA9IDA7CiAKKyAgICAgICAgaWYgKG1h
eEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsKQorICAgICAgICAgICAgYWRkUHRyKFRydXN0ZWRJ
bW0zMigtbWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0aENhbGwpLCBzdGFja1BvaW50ZXJSZWdpc3Rl
cik7CiAgICAgICAgIGNhbGxPcGVyYXRpb25XaXRoQ2FsbEZyYW1lUm9sbGJhY2tPbkV4Y2VwdGlv
bihtX2NvZGVCbG9jay0+bV9pc0NvbnN0cnVjdG9yID8gb3BlcmF0aW9uQ29uc3RydWN0QXJpdHlD
aGVjayA6IG9wZXJhdGlvbkNhbGxBcml0eUNoZWNrKTsKKyAgICAgICAgaWYgKG1heEZyYW1lRXh0
ZW50Rm9yU2xvd1BhdGhDYWxsKQorICAgICAgICAgICAgYWRkUHRyKFRydXN0ZWRJbW0zMihtYXhG
cmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCksIHN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKICAgICAg
ICAgaWYgKHJldHVyblZhbHVlR1BSICE9IHJlZ1QwKQogICAgICAgICAgICAgbW92ZShyZXR1cm5W
YWx1ZUdQUiwgcmVnVDApOwogICAgICAgICBicmFuY2hUZXN0MzIoWmVybywgcmVnVDApLmxpbmtU
byhiZWdpbkxhYmVsLCB0aGlzKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
Q2FsbDMyXzY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VENhbGwzMl82NC5jcHAJKHJldmlzaW9uIDE2MjI0MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUQ2FsbDMyXzY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAxLDYgKzMwMSw3IEBA
IHZvaWQgSklUOjpjb21waWxlT3BDYWxsKE9wY29kZUlEIG9wY29kZUkKICAgICBzdG9yZTMyKHJl
Z1QyLCBBZGRyZXNzKE1hY3JvQXNzZW1ibGVyOjpzdGFja1BvaW50ZXJSZWdpc3RlciwgSlNTdGFj
azo6U2NvcGVDaGFpbiAqIHNpemVvZihSZWdpc3RlcikgKyBQYXlsb2FkT2Zmc2V0IC0gc2l6ZW9m
KENhbGxlckZyYW1lQW5kUEMpKSk7CiAgICAgc3RvcmUzMihUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6
Q2VsbFRhZyksIEFkZHJlc3Moc3RhY2tQb2ludGVyUmVnaXN0ZXIsIEpTU3RhY2s6OlNjb3BlQ2hh
aW4gKiBzaXplb2YoUmVnaXN0ZXIpICsgVGFnT2Zmc2V0IC0gc2l6ZW9mKENhbGxlckZyYW1lQW5k
UEMpKSk7CiAKKyAgICBjaGVja1N0YWNrUG9pbnRlckFsaWdubWVudCgpOwogICAgIG1fY2FsbFN0
cnVjdHVyZVN0dWJDb21waWxhdGlvbkluZm9bY2FsbExpbmtJbmZvSW5kZXhdLmhvdFBhdGhPdGhl
ciA9IGVtaXROYWtlZENhbGwoKTsKIAogICAgIGFkZFB0cihUcnVzdGVkSW1tMzIoc3RhY2tQb2lu
dGVyT2Zmc2V0Rm9yKG1fY29kZUJsb2NrKSAqIHNpemVvZihSZWdpc3RlcikpLCBjYWxsRnJhbWVS
ZWdpc3Rlciwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9KSVRJbmxpbmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9KSVRJbmxpbmVzLmgJKHJldmlzaW9uIDE2MjI0MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklUSW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC05Myw3ICs5Myw2IEBAIEFM
V0FZU19JTkxJTkUgdm9pZCBKSVQ6OmVtaXRMb2FkQ2hhcmFjdGUKIEFMV0FZU19JTkxJTkUgSklU
OjpDYWxsIEpJVDo6ZW1pdE5ha2VkQ2FsbChDb2RlUHRyIGZ1bmN0aW9uKQogewogICAgIEFTU0VS
VChtX2J5dGVjb2RlT2Zmc2V0ICE9ICh1bnNpZ25lZCktMSk7IC8vIFRoaXMgbWV0aG9kIHNob3Vs
ZCBvbmx5IGJlIGNhbGxlZCBkdXJpbmcgaG90L2NvbGQgcGF0aCBnZW5lcmF0aW9uLCBzbyB0aGF0
IG1fYnl0ZWNvZGVPZmZzZXQgaXMgc2V0LgotCiAgICAgQ2FsbCBuYWtlZENhbGwgPSBuZWFyQ2Fs
bCgpOwogICAgIG1fY2FsbHMuYXBwZW5kKENhbGxSZWNvcmQobmFrZWRDYWxsLCBtX2J5dGVjb2Rl
T2Zmc2V0LCBmdW5jdGlvbi5leGVjdXRhYmxlQWRkcmVzcygpKSk7CiAgICAgcmV0dXJuIG5ha2Vk
Q2FsbDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1RodW5rR2VuZXJhdG9y
cy5jcHAJKHJldmlzaW9uIDE2MjI0MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvVGh1
bmtHZW5lcmF0b3JzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgyLDE0ICsyODIsMTQgQEAgc3Rh
dGljIE1hY3JvQXNzZW1ibGVyQ29kZVJlZiBuYXRpdmVGb3JHZQogICAgIC8vIEhvc3QgZnVuY3Rp
b24gc2lnbmF0dXJlOiBmKEV4ZWNTdGF0ZSopOwogICAgIGppdC5tb3ZlKEpTSW50ZXJmYWNlSklU
OjpjYWxsRnJhbWVSZWdpc3RlciwgWDg2UmVnaXN0ZXJzOjplY3gpOwogCi0gICAgaml0LnN1YlB0
cihKU0ludGVyZmFjZUpJVDo6VHJ1c3RlZEltbTMyKDE2IC0gc2l6ZW9mKHZvaWQqKSksIEpTSW50
ZXJmYWNlSklUOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7IC8vIEFsaWduIHN0YWNrIGFmdGVyIGNh
bGwuCisgICAgaml0LnN1YlB0cihKU0ludGVyZmFjZUpJVDo6VHJ1c3RlZEltbTMyKDgpLCBKU0lu
dGVyZmFjZUpJVDo6c3RhY2tQb2ludGVyUmVnaXN0ZXIpOyAvLyBBbGlnbiBzdGFjayBhZnRlciBw
cm9sb2d1ZS4KIAogICAgIC8vIGNhbGwgdGhlIGZ1bmN0aW9uCiAgICAgaml0LmVtaXRHZXRGcm9t
Q2FsbEZyYW1lSGVhZGVyUHRyKEpTU3RhY2s6OkNhbGxlZSwgSlNJbnRlcmZhY2VKSVQ6OnJlZ1Qx
KTsKICAgICBqaXQubG9hZFB0cihKU0ludGVyZmFjZUpJVDo6QWRkcmVzcyhKU0ludGVyZmFjZUpJ
VDo6cmVnVDEsIEpTRnVuY3Rpb246Om9mZnNldE9mRXhlY3V0YWJsZSgpKSwgSlNJbnRlcmZhY2VK
SVQ6OnJlZ1QxKTsKICAgICBqaXQuY2FsbChKU0ludGVyZmFjZUpJVDo6QWRkcmVzcyhKU0ludGVy
ZmFjZUpJVDo6cmVnVDEsIGV4ZWN1dGFibGVPZmZzZXRUb0Z1bmN0aW9uKSk7CiAKLSAgICBqaXQu
YWRkUHRyKEpTSW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoMTYgLSBzaXplb2Yodm9pZCopKSwg
SlNJbnRlcmZhY2VKSVQ6OnN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKKyAgICBqaXQuYWRkUHRyKEpT
SW50ZXJmYWNlSklUOjpUcnVzdGVkSW1tMzIoOCksIEpTSW50ZXJmYWNlSklUOjpzdGFja1BvaW50
ZXJSZWdpc3Rlcik7CiAKICNlbGlmIENQVShYODZfNjQpCiAgICAgLy8gTG9hZCBjYWxsZXIgZnJh
bWUncyBzY29wZSBjaGFpbiBpbnRvIHRoaXMgY2FsbGZyYW1lIHNvIHRoYXQgd2hhdGV2ZXIgd2Ug
Y2FsbCBjYW4KQEAgLTY0OSwxMiArNjQ5LDEyIEBAIGRvdWJsZSBqc1JvdW5kKGRvdWJsZSBkKQog
ICAgICAgICAiLmdsb2JsICIgU1lNQk9MX1NUUklORyhmdW5jdGlvbiMjVGh1bmspICJcbiIgXAog
ICAgICAgICBISURFX1NZTUJPTChmdW5jdGlvbiMjVGh1bmspICJcbiIgXAogICAgICAgICBTWU1C
T0xfU1RSSU5HKGZ1bmN0aW9uIyNUaHVuaykgIjoiICJcbiIgXAotICAgICAgICAic3VibCAkOCwg
JWVzcFxuIiBcCisgICAgICAgICJzdWJsICQyMCwgJWVzcFxuIiBcCiAgICAgICAgICJtb3ZzZCAl
eG1tMCwgKCVlc3ApIFxuIiBcCiAgICAgICAgICJjYWxsICIgR0xPQkFMX1JFRkVSRU5DRShmdW5j
dGlvbikgIlxuIiBcCiAgICAgICAgICJmc3RwbCAoJWVzcCkgXG4iIFwKICAgICAgICAgIm1vdnNk
ICglZXNwKSwgJXhtbTAgXG4iIFwKLSAgICAgICAgImFkZGwgJDgsICVlc3BcbiIgXAorICAgICAg
ICAiYWRkbCAkMjAsICVlc3BcbiIgXAogICAgICAgICAicmV0XG4iIFwKICAgICApO1wKICAgICBl
eHRlcm4gIkMiIHsgXApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50RGF0
YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50RGF0
YS5jcHAJKHJldmlzaW9uIDE2MjI0MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludERhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzAsNyArMTMwLDcgQEAgdm9pZCBEYXRh
OjpwZXJmb3JtQXNzZXJ0aW9ucyhWTSYgdm0pCiAjZWxpZiBDUFUoQVJNKSB8fCBDUFUoU0g0KQog
ICAgIEFTU0VSVChtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCA9PSAxNik7CiAjZWxpZiBD
UFUoWDg2KSB8fCBDUFUoTUlQUykKLSAgICBBU1NFUlQobWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0
aENhbGwgPT0gMjQpOworICAgIEFTU0VSVChtYXhGcmFtZUV4dGVudEZvclNsb3dQYXRoQ2FsbCA9
PSA0MCk7CiAjZW5kaWYKICAgICBBU1NFUlQoU3RyaW5nVHlwZSA9PSA1KTsKICAgICBBU1NFUlQo
T2JqZWN0VHlwZSA9PSAxNyk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlci5hc20KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCShyZXZpc2lvbiAxNjIyNDEpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20JKHdvcmtpbmcg
Y29weSkKQEAgLTc4LDggKzc4LDEwIEBAIGlmIFg4Nl82NCBvciBBUk02NCBvciBDX0xPT1AKIGNv
bnN0IG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsID0gMAogZWxzaWYgQVJNIG9yIEFSTXY3
X1RSQURJVElPTkFMIG9yIEFSTXY3IG9yIFNINAogY29uc3QgbWF4RnJhbWVFeHRlbnRGb3JTbG93
UGF0aENhbGwgPSAxNgotZWxzaWYgWDg2IG9yIE1JUFMKLWNvbnN0IG1heEZyYW1lRXh0ZW50Rm9y
U2xvd1BhdGhDYWxsID0gMjQKK2Vsc2lmIFg4NgorY29uc3QgbWF4RnJhbWVFeHRlbnRGb3JTbG93
UGF0aENhbGwgPSA0MAorZWxzaWYgTUlQUworY29uc3QgbWF4RnJhbWVFeHRlbnRGb3JTbG93UGF0
aENhbGwgPSA0MAogZW5kCiAKICMgV2F0Y2hwb2ludCBzdGF0ZXMKQEAgLTQ1Myw3ICs0NTUsMTUg
QEAgbWFjcm8gcHJvbG9ndWUoY29kZUJsb2NrR2V0dGVyLCBjb2RlQmxvYwogaWYgQ19MT09QCiBl
bHNlCiAgICAgYmFkZGlzIDUsIENvZGVCbG9jazo6bV9sbGludEV4ZWN1dGVDb3VudGVyICsgRXhl
Y3V0aW9uQ291bnRlcjo6bV9jb3VudGVyW3QxXSwgLmNvbnRpbnVlCi0gICAgY0NhbGwyKG9zclNs
b3dQYXRoLCBjZnIsIFBDKQorICAgIGlmIEpTVkFMVUU2NAorICAgICAgICBjQ2FsbDIob3NyU2xv
d1BhdGgsIGNmciwgUEMpCisgICAgZWxzZQorICAgICAgICAjIFdlIGFyZSBhZnRlciB0aGUgZnVu
Y3Rpb24gcHJvbG9ndWUsIGJ1dCBiZWZvcmUgd2UgaGF2ZSBzZXQgdXAgc3AgZnJvbSB0aGUgQ29k
ZUJsb2NrLgorICAgICAgICAjIFRlbXBvcmFyaWx5IGFsaWduIHN0YWNrIHBvaW50ZXIgZm9yIHRo
aXMgY2FsbC4KKyAgICAgICAgc3VicCA4LCBzcAorICAgICAgICBjQ2FsbDIob3NyU2xvd1BhdGgs
IGNmciwgUEMpCisgICAgICAgIGFkZHAgOCwgc3AKKyAgICBlbmQKICAgICBidHB6IHQwLCAucmVj
b3ZlcgogICAgIG1vdmUgY2ZyLCBzcCAjIHJlc3RvcmUgdGhlIHByZXZpb3VzIHNwCiAgICAgIyBw
b3AgdGhlIGNhbGxlckZyYW1lIHNpbmNlIHdlIHdpbGwganVtcCB0byBhIGZ1bmN0aW9uIHRoYXQg
d2FudHMgdG8gc2F2ZSBpdApAQCAtOTEwLDcgKzkyMCwxMiBAQCBfbGxpbnRfb3BfY2FsbF92YXJh
cmdzOgogICAgIGNhbGxTbG93UGF0aChfbGxpbnRfc2xvd19wYXRoX3NpemVfZnJhbWVfZm9yX3Zh
cmFyZ3MpCiAgICAgYnJhbmNoSWZFeGNlcHRpb24oX2xsaW50X3Rocm93X2Zyb21fc2xvd19wYXRo
X3RyYW1wb2xpbmUpCiAgICAgIyBjYWxsZWVGcmFtZSBpbiB0MQotICAgIG1vdmUgdDEsIHNwCisg
ICAgaWYgSlNWQUxVRTY0CisgICAgICAgIG1vdmUgdDEsIHNwCisgICAgZWxzZQorICAgICAgICAj
IFRoZSBjYWxsZWVGcmFtZSBpcyBub3Qgc3RhY2sgYWxpZ25lZCwgbW92ZSBkb3duIGJ5IENhbGxl
ckZyYW1lQW5kUENTaXplIHRvIGFsaWduCisgICAgICAgIHN1YnAgdDEsIENhbGxlckZyYW1lQW5k
UENTaXplLCBzcAorICAgIGVuZAogICAgIHNsb3dQYXRoRm9yQ2FsbChfbGxpbnRfc2xvd19wYXRo
X2NhbGxfdmFyYXJncykKIAogCg==
</data>
<flag name="review"
          id="245798"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
          </attachment>
      

    </bug>

</bugzilla>