<?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>194113</bug_id>
          
          <creation_ts>2019-01-31 14:17:33 -0800</creation_ts>
          <short_desc>Remove poisoning from CodeBlock and LLInt code.</short_desc>
          <delta_ts>2019-01-31 17:39:29 -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>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1500791</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-01-31 14:17:33 -0800</bug_when>
    <thetext>Poisoning is no longer needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500799</commentid>
    <comment_count>1</comment_count>
      <attachid>360781</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-01-31 14:21:23 -0800</bug_when>
    <thetext>Created attachment 360781
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500803</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-01-31 14:25:03 -0800</bug_when>
    <thetext>Attachment 360781 did not pass style-queue:


ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:374:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
Total errors found: 1 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500817</commentid>
    <comment_count>3</comment_count>
      <attachid>360781</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-01-31 14:37:31 -0800</bug_when>
    <thetext>Comment on attachment 360781
proposed patch.

View in context: https://bugs.webkit.org/attachment.cgi?id=360781&amp;action=review

r=me with some suggestions.

&gt; Source/JavaScriptCore/llint/LowLevelInterpreter64.asm:535
&gt; +    loadp CodeBlock::m_vm[scratch], scratch

scratch2 is no longer necessary.

&gt; Source/JavaScriptCore/llint/LowLevelInterpreter.asm:-1037
&gt; -    unpoison(_g_JSFunctionPoison, targetRegister, scratch)

scratch is no longer necessary.

&gt; Source/JavaScriptCore/llint/LowLevelInterpreter.asm:-1049
&gt; -    unpoison(_g_JSFunctionPoison, targetRegister, scratch)

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500834</commentid>
    <comment_count>4</comment_count>
      <attachid>360793</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-01-31 15:10:14 -0800</bug_when>
    <thetext>Created attachment 360793
patch for landing.

Thanks for the feedback.  I&apos;ve removed the unneeded scratch registers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500835</commentid>
    <comment_count>5</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2019-01-31 15:13:01 -0800</bug_when>
    <thetext>Attachment 360793 did not pass style-queue:


ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:374:  Wrong number of spaces before statement. (expected: 8)  [whitespace/indent] [4]
Total errors found: 1 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500933</commentid>
    <comment_count>6</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-01-31 17:38:26 -0800</bug_when>
    <thetext>Landed in r240832: &lt;http://trac.webkit.org/r240832&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1500934</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-01-31 17:39:29 -0800</bug_when>
    <thetext>&lt;rdar://problem/47723400&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360781</attachid>
            <date>2019-01-31 14:21:23 -0800</date>
            <delta_ts>2019-01-31 15:10:14 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-194113.patch</filename>
            <type>text/plain</type>
            <size>20026</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQwODE4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBA
CisyMDE5LTAxLTMxICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZW1vdmUgcG9pc29uaW5nIGZyb20gQ29kZUJsb2NrIGFuZCBMTEludCBjb2RlLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0MTEzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBieXRlY29kZS9Db2RlQmxv
Y2suY3BwOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OkNvZGVCbG9jayk6CisgICAgICAgIChK
U0M6OkNvZGVCbG9jazo6fkNvZGVCbG9jayk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6c2V0
Q29uc3RhbnRSZWdpc3RlcnMpOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OnByb3BhZ2F0ZVRy
YW5zaXRpb25zKToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpmaW5hbGl6ZUxMSW50SW5saW5l
Q2FjaGVzKToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpqZXR0aXNvbik6CisgICAgICAgIChK
U0M6OkNvZGVCbG9jazo6cHJlZGljdGVkTWFjaGluZUNvZGVTaXplKToKKyAgICAgICAgKiBieXRl
Y29kZS9Db2RlQmxvY2suaDoKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjp2bSBjb25zdCk6Cisg
ICAgICAgIChKU0M6OkNvZGVCbG9jazo6YWRkQ29uc3RhbnQpOgorICAgICAgICAoSlNDOjpDb2Rl
QmxvY2s6OmhlYXAgY29uc3QpOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OnJlcGxhY2VDb25z
dGFudCk6CisgICAgICAgICogbGxpbnQvTExJbnRPZmZsaW5lQXNtQ29uZmlnLmg6CisgICAgICAg
ICogbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwOgorICAgICAgICAoSlNDOjpMTEludDo6aGFuZGxl
SG9zdENhbGwpOgorICAgICAgICAoSlNDOjpMTEludDo6c2V0VXBDYWxsKToKKyAgICAgICAgKiBs
bGludC9Mb3dMZXZlbEludGVycHJldGVyLmFzbToKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbElu
dGVycHJldGVyMzJfNjQuYXNtOgorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2
NC5hc206CisKIDIwMTktMDEtMzEgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkLCBmb2xsb3ctdXAgYWZ0ZXIgcjI0MDc5NgpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHJldmlzaW9uIDI0
MDgwNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0zMDUsNyArMzA1LDcgQEAgQ29kZUJsb2NrOjpDb2RlQmxvY2soVk0q
IHZtLCBTdHJ1Y3R1cmUqIAogICAgICwgbV9udW1CcmVha3BvaW50cygwKQogICAgICwgbV91bmxp
bmtlZENvZGUoKm90aGVyLnZtKCksIHRoaXMsIG90aGVyLm1fdW5saW5rZWRDb2RlLmdldCgpKQog
ICAgICwgbV9vd25lckV4ZWN1dGFibGUoKm90aGVyLnZtKCksIHRoaXMsIG90aGVyLm1fb3duZXJF
eGVjdXRhYmxlLmdldCgpKQotICAgICwgbV9wb2lzb25lZFZNKG90aGVyLm1fcG9pc29uZWRWTSkK
KyAgICAsIG1fdm0ob3RoZXIubV92bSkKICAgICAsIG1faW5zdHJ1Y3Rpb25zKG90aGVyLm1faW5z
dHJ1Y3Rpb25zKQogICAgICwgbV9pbnN0cnVjdGlvbnNSYXdQb2ludGVyKG90aGVyLm1faW5zdHJ1
Y3Rpb25zUmF3UG9pbnRlcikKICAgICAsIG1faW5zdHJ1Y3Rpb25Db3VudChvdGhlci5tX2luc3Ry
dWN0aW9uQ291bnQpCkBAIC0zNzEsNyArMzcxLDcgQEAgQ29kZUJsb2NrOjpDb2RlQmxvY2soVk0q
IHZtLCBTdHJ1Y3R1cmUqIAogICAgICwgbV9udW1CcmVha3BvaW50cygwKQogICAgICwgbV91bmxp
bmtlZENvZGUoKnZtLCB0aGlzLCB1bmxpbmtlZENvZGVCbG9jaykKICAgICAsIG1fb3duZXJFeGVj
dXRhYmxlKCp2bSwgdGhpcywgb3duZXJFeGVjdXRhYmxlKQotICAgICwgbV9wb2lzb25lZFZNKHZt
KQorICAgICwgbV92bSh2bSkKICAgICAsIG1faW5zdHJ1Y3Rpb25zKCZ1bmxpbmtlZENvZGVCbG9j
ay0+aW5zdHJ1Y3Rpb25zKCkpCiAgICAgLCBtX2luc3RydWN0aW9uc1Jhd1BvaW50ZXIobV9pbnN0
cnVjdGlvbnMtPnJhd1BvaW50ZXIoKSkKICAgICAsIG1fdGhpc1JlZ2lzdGVyKHVubGlua2VkQ29k
ZUJsb2NrLT50aGlzUmVnaXN0ZXIoKSkKQEAgLTgzNCw3ICs4MzQsNyBAQCB2b2lkIENvZGVCbG9j
azo6ZmluaXNoQ3JlYXRpb25Db21tb24oVk0mCiAKIENvZGVCbG9jazo6fkNvZGVCbG9jaygpCiB7
Ci0gICAgVk0mIHZtID0gKm1fcG9pc29uZWRWTTsKKyAgICBWTSYgdm0gPSAqbV92bTsKIAogICAg
IHZtLmhlYXAuY29kZUJsb2NrU2V0KCkucmVtb3ZlKHRoaXMpOwogICAgIApAQCAtODk0LDcgKzg5
NCw3IEBAIHZvaWQgQ29kZUJsb2NrOjpzZXRDb25zdGFudElkZW50aWZpZXJTZXQKIAogdm9pZCBD
b2RlQmxvY2s6OnNldENvbnN0YW50UmVnaXN0ZXJzKGNvbnN0IFZlY3RvcjxXcml0ZUJhcnJpZXI8
VW5rbm93bj4+JiBjb25zdGFudHMsIGNvbnN0IFZlY3RvcjxTb3VyY2VDb2RlUmVwcmVzZW50YXRp
b24+JiBjb25zdGFudHNTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24pCiB7Ci0gICAgVk0mIHZtID0g
Km1fcG9pc29uZWRWTTsKKyAgICBWTSYgdm0gPSAqbV92bTsKICAgICBhdXRvIHNjb3BlID0gREVD
TEFSRV9USFJPV19TQ09QRSh2bSk7CiAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9
IG1fZ2xvYmFsT2JqZWN0LmdldCgpOwogICAgIEV4ZWNTdGF0ZSogZXhlYyA9IGdsb2JhbE9iamVj
dC0+Z2xvYmFsRXhlYygpOwpAQCAtMTA4Nyw3ICsxMDg3LDcgQEAgdm9pZCBDb2RlQmxvY2s6OnBy
b3BhZ2F0ZVRyYW5zaXRpb25zKGNvbgogewogICAgIFVOVVNFRF9QQVJBTSh2aXNpdG9yKTsKIAot
ICAgIFZNJiB2bSA9ICptX3BvaXNvbmVkVk07CisgICAgVk0mIHZtID0gKm1fdm07CiAKICAgICBp
ZiAoaml0VHlwZSgpID09IEpJVENvZGU6OkludGVycHJldGVyVGh1bmspIHsKICAgICAgICAgY29u
c3QgVmVjdG9yPEluc3RydWN0aW9uU3RyZWFtOjpPZmZzZXQ+JiBwcm9wZXJ0eUFjY2Vzc0luc3Ry
dWN0aW9ucyA9IG1fdW5saW5rZWRDb2RlLT5wcm9wZXJ0eUFjY2Vzc0luc3RydWN0aW9ucygpOwpA
QCAtMTIwMyw3ICsxMjAzLDcgQEAgdm9pZCBDb2RlQmxvY2s6OmRldGVybWluZUxpdmVuZXNzKGNv
bnN0IAogCiB2b2lkIENvZGVCbG9jazo6ZmluYWxpemVMTEludElubGluZUNhY2hlcygpCiB7Ci0g
ICAgVk0mIHZtID0gKm1fcG9pc29uZWRWTTsKKyAgICBWTSYgdm0gPSAqbV92bTsKICAgICBjb25z
dCBWZWN0b3I8SW5zdHJ1Y3Rpb25TdHJlYW06Ok9mZnNldD4mIHByb3BlcnR5QWNjZXNzSW5zdHJ1
Y3Rpb25zID0gbV91bmxpbmtlZENvZGUtPnByb3BlcnR5QWNjZXNzSW5zdHJ1Y3Rpb25zKCk7CiAK
ICAgICBhdXRvIGhhbmRsZUdldFB1dEZyb21TY29wZSA9IFtdKGF1dG8mIG1ldGFkYXRhKSB7CkBA
IC0xOTIxLDcgKzE5MjEsNyBAQCB2b2lkIENvZGVCbG9jazo6amV0dGlzb24oUHJvZmlsZXI6Okpl
dHRpCiAgICAgfQogI2VuZGlmIC8vIEVOQUJMRShERkdfSklUKQogCi0gICAgVk0mIHZtID0gKm1f
cG9pc29uZWRWTTsKKyAgICBWTSYgdm0gPSAqbV92bTsKICAgICBEZWZlckdDRm9yQVdoaWxlIGRl
ZmVyR0MoKmhlYXAoKSk7CiAgICAgCiAgICAgLy8gV2Ugd2FudCB0byBhY2NvbXBsaXNoIHR3byB0
aGluZ3MgaGVyZToKQEAgLTI3NjIsOCArMjc2Miw4IEBAIGludCBDb2RlQmxvY2s6OnN0YWNrUG9p
bnRlck9mZnNldCgpCiAKIHNpemVfdCBDb2RlQmxvY2s6OnByZWRpY3RlZE1hY2hpbmVDb2RlU2l6
ZSgpCiB7Ci0gICAgVk0qIHZtID0gbV9wb2lzb25lZFZNLnVucG9pc29uZWQoKTsKLSAgICAvLyBU
aGlzIHdpbGwgYmUgY2FsbGVkIGZyb20gQ29kZUJsb2NrOjpDb2RlQmxvY2sgYmVmb3JlIGVpdGhl
ciBtX3BvaXNvbmVkVk0gb3IgdGhlCisgICAgVk0qIHZtID0gbV92bTsKKyAgICAvLyBUaGlzIHdp
bGwgYmUgY2FsbGVkIGZyb20gQ29kZUJsb2NrOjpDb2RlQmxvY2sgYmVmb3JlIGVpdGhlciBtX3Zt
IG9yIHRoZQogICAgIC8vIGluc3RydWN0aW9ucyBoYXZlIGJlZW4gaW5pdGlhbGl6ZWQuIEl0J3Mg
T0sgdG8gcmV0dXJuIDAgYmVjYXVzZSB3aGF0IHdpbGwgcmVhbGx5CiAgICAgLy8gbWF0dGVyIGlz
IHRoZSByZWNvbXB1dGF0aW9uIG9mIHRoaXMgdmFsdWUgd2hlbiB0aGUgc2xvdyBwYXRoIGlzIHRy
aWdnZXJlZC4KICAgICBpZiAoIXZtKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0NvZGVCbG9jay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRl
Y29kZS9Db2RlQmxvY2suaAkocmV2aXNpb24gMjQwODA2KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoQykgMjAwOC0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOC0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwOCBDYW1lcm9uIFp3YXJpY2ggPGN3endhcmlj
aEB1d2F0ZXJsb28uY2E+CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC01MSw3ICs1MSw2IEBACiAjaW5j
bHVkZSAiSklUQ29kZS5oIgogI2luY2x1ZGUgIkpJVENvZGVNYXAuaCIKICNpbmNsdWRlICJKSVRN
YXRoSUNGb3J3YXJkcy5oIgotI2luY2x1ZGUgIkpTQ1BvaXNvbi5oIgogI2luY2x1ZGUgIkpTQ2Fz
dC5oIgogI2luY2x1ZGUgIkpTR2xvYmFsT2JqZWN0LmgiCiAjaW5jbHVkZSAiSnVtcFRhYmxlLmgi
CkBAIC0zNzksNyArMzc4LDcgQEAgcHVibGljOgogICAgIAogICAgIEV4ZWN1dGFibGVUb0NvZGVC
bG9ja0VkZ2UqIG93bmVyRWRnZSgpIGNvbnN0IHsgcmV0dXJuIG1fb3duZXJFZGdlLmdldCgpOyB9
CiAKLSAgICBWTSogdm0oKSBjb25zdCB7IHJldHVybiBtX3BvaXNvbmVkVk0udW5wb2lzb25lZCgp
OyB9CisgICAgVk0qIHZtKCkgY29uc3QgeyByZXR1cm4gbV92bTsgfQogCiAgICAgdm9pZCBzZXRU
aGlzUmVnaXN0ZXIoVmlydHVhbFJlZ2lzdGVyIHRoaXNSZWdpc3RlcikgeyBtX3RoaXNSZWdpc3Rl
ciA9IHRoaXNSZWdpc3RlcjsgfQogICAgIFZpcnR1YWxSZWdpc3RlciB0aGlzUmVnaXN0ZXIoKSBj
b25zdCB7IHJldHVybiBtX3RoaXNSZWdpc3RlcjsgfQpAQCAtNTIxLDcgKzUyMCw3IEBAIHB1Ymxp
YzoKICAgICB7CiAgICAgICAgIHVuc2lnbmVkIHJlc3VsdCA9IG1fY29uc3RhbnRSZWdpc3RlcnMu
c2l6ZSgpOwogICAgICAgICBtX2NvbnN0YW50UmVnaXN0ZXJzLmFwcGVuZChXcml0ZUJhcnJpZXI8
VW5rbm93bj4oKSk7Ci0gICAgICAgIG1fY29uc3RhbnRSZWdpc3RlcnMubGFzdCgpLnNldCgqbV9w
b2lzb25lZFZNLCB0aGlzLCB2KTsKKyAgICAgICAgbV9jb25zdGFudFJlZ2lzdGVycy5sYXN0KCku
c2V0KCptX3ZtLCB0aGlzLCB2KTsKICAgICAgICAgbV9jb25zdGFudHNTb3VyY2VDb2RlUmVwcmVz
ZW50YXRpb24uYXBwZW5kKFNvdXJjZUNvZGVSZXByZXNlbnRhdGlvbjo6T3RoZXIpOwogICAgICAg
ICByZXR1cm4gcmVzdWx0OwogICAgIH0KQEAgLTU0Nyw3ICs1NDYsNyBAQCBwdWJsaWM6CiAgICAg
Y29uc3QgVmVjdG9yPEJpdFZlY3Rvcj4mIGJpdFZlY3RvcnMoKSBjb25zdCB7IHJldHVybiBtX3Vu
bGlua2VkQ29kZS0+Yml0VmVjdG9ycygpOyB9CiAgICAgY29uc3QgQml0VmVjdG9yJiBiaXRWZWN0
b3Ioc2l6ZV90IGkpIHsgcmV0dXJuIG1fdW5saW5rZWRDb2RlLT5iaXRWZWN0b3IoaSk7IH0KIAot
ICAgIEhlYXAqIGhlYXAoKSBjb25zdCB7IHJldHVybiAmbV9wb2lzb25lZFZNLT5oZWFwOyB9Cisg
ICAgSGVhcCogaGVhcCgpIGNvbnN0IHsgcmV0dXJuICZtX3ZtLT5oZWFwOyB9CiAgICAgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCgpIHsgcmV0dXJuIG1fZ2xvYmFsT2JqZWN0LmdldCgpOyB9
CiAKICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0Rm9yKENvZGVPcmlnaW4pOwpAQCAt
ODk3LDcgKzg5Niw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCByZXBsYWNlQ29uc3RhbnQoaW50IGlu
ZGV4LCBKU1ZhbHVlIHZhbHVlKQogICAgIHsKICAgICAgICAgQVNTRVJUKGlzQ29uc3RhbnRSZWdp
c3RlckluZGV4KGluZGV4KSAmJiBzdGF0aWNfY2FzdDxzaXplX3Q+KGluZGV4IC0gRmlyc3RDb25z
dGFudFJlZ2lzdGVySW5kZXgpIDwgbV9jb25zdGFudFJlZ2lzdGVycy5zaXplKCkpOwotICAgICAg
ICBtX2NvbnN0YW50UmVnaXN0ZXJzW2luZGV4IC0gRmlyc3RDb25zdGFudFJlZ2lzdGVySW5kZXhd
LnNldCgqbV9wb2lzb25lZFZNLCB0aGlzLCB2YWx1ZSk7CisgICAgICAgIG1fY29uc3RhbnRSZWdp
c3RlcnNbaW5kZXggLSBGaXJzdENvbnN0YW50UmVnaXN0ZXJJbmRleF0uc2V0KCptX3ZtLCB0aGlz
LCB2YWx1ZSk7CiAgICAgfQogCiAgICAgYm9vbCBzaG91bGRWaXNpdFN0cm9uZ2x5KGNvbnN0IENv
bmN1cnJlbnRKU0xvY2tlciYpOwpAQCAtOTQ1LDcgKzk0NCw3IEBAIHByaXZhdGU6CiAgICAgV3Jp
dGVCYXJyaWVyPFVubGlua2VkQ29kZUJsb2NrPiBtX3VubGlua2VkQ29kZTsKICAgICBXcml0ZUJh
cnJpZXI8RXhlY3V0YWJsZUJhc2U+IG1fb3duZXJFeGVjdXRhYmxlOwogICAgIFdyaXRlQmFycmll
cjxFeGVjdXRhYmxlVG9Db2RlQmxvY2tFZGdlPiBtX293bmVyRWRnZTsKLSAgICBQb2lzb25lZDxD
b2RlQmxvY2tQb2lzb24sIFZNKj4gbV9wb2lzb25lZFZNOworICAgIFZNKiBtX3ZtOwogCiAgICAg
Y29uc3QgSW5zdHJ1Y3Rpb25TdHJlYW0qIG1faW5zdHJ1Y3Rpb25zOwogICAgIGNvbnN0IHZvaWQq
IG1faW5zdHJ1Y3Rpb25zUmF3UG9pbnRlciB7IG51bGxwdHIgfTsKQEAgLTk1NCwyNCArOTUzLDI0
IEBAIHByaXZhdGU6CiAgICAgVmlydHVhbFJlZ2lzdGVyIG1fc2NvcGVSZWdpc3RlcjsKICAgICBt
dXRhYmxlIENvZGVCbG9ja0hhc2ggbV9oYXNoOwogCi0gICAgUG9pc29uZWRSZWZQdHI8Q29kZUJs
b2NrUG9pc29uLCBTb3VyY2VQcm92aWRlcj4gbV9zb3VyY2U7CisgICAgUmVmUHRyPFNvdXJjZVBy
b3ZpZGVyPiBtX3NvdXJjZTsKICAgICB1bnNpZ25lZCBtX3NvdXJjZU9mZnNldDsKICAgICB1bnNp
Z25lZCBtX2ZpcnN0TGluZUNvbHVtbk9mZnNldDsKIAogICAgIFNlbnRpbmVsTGlua2VkTGlzdDxM
TEludENhbGxMaW5rSW5mbywgQmFzaWNSYXdTZW50aW5lbE5vZGU8TExJbnRDYWxsTGlua0luZm8+
PiBtX2luY29taW5nTExJbnRDYWxsczsKICAgICBTdHJ1Y3R1cmVXYXRjaHBvaW50TWFwIG1fbGxp
bnRHZXRCeUlkV2F0Y2hwb2ludE1hcDsKLSAgICBQb2lzb25lZFJlZlB0cjxDb2RlQmxvY2tQb2lz
b24sIEpJVENvZGU+IG1faml0Q29kZTsKKyAgICBSZWZQdHI8SklUQ29kZT4gbV9qaXRDb2RlOwog
I2lmICFFTkFCTEUoQ19MT09QKQogICAgIHN0ZDo6dW5pcXVlX3B0cjxSZWdpc3RlckF0T2Zmc2V0
TGlzdD4gbV9jYWxsZWVTYXZlUmVnaXN0ZXJzOwogI2VuZGlmCiAjaWYgRU5BQkxFKEpJVCkKLSAg
ICBQb2lzb25lZEJhZzxDb2RlQmxvY2tQb2lzb24sIFN0cnVjdHVyZVN0dWJJbmZvPiBtX3N0dWJJ
bmZvczsKLSAgICBQb2lzb25lZEJhZzxDb2RlQmxvY2tQb2lzb24sIEpJVEFkZElDPiBtX2FkZElD
czsKLSAgICBQb2lzb25lZEJhZzxDb2RlQmxvY2tQb2lzb24sIEpJVE11bElDPiBtX211bElDczsK
LSAgICBQb2lzb25lZEJhZzxDb2RlQmxvY2tQb2lzb24sIEpJVE5lZ0lDPiBtX25lZ0lDczsKLSAg
ICBQb2lzb25lZEJhZzxDb2RlQmxvY2tQb2lzb24sIEpJVFN1YklDPiBtX3N1YklDczsKLSAgICBQ
b2lzb25lZEJhZzxDb2RlQmxvY2tQb2lzb24sIEJ5VmFsSW5mbz4gbV9ieVZhbEluZm9zOwotICAg
IFBvaXNvbmVkQmFnPENvZGVCbG9ja1BvaXNvbiwgQ2FsbExpbmtJbmZvPiBtX2NhbGxMaW5rSW5m
b3M7CisgICAgQmFnPFN0cnVjdHVyZVN0dWJJbmZvPiBtX3N0dWJJbmZvczsKKyAgICBCYWc8SklU
QWRkSUM+IG1fYWRkSUNzOworICAgIEJhZzxKSVRNdWxJQz4gbV9tdWxJQ3M7CisgICAgQmFnPEpJ
VE5lZ0lDPiBtX25lZ0lDczsKKyAgICBCYWc8SklUU3ViSUM+IG1fc3ViSUNzOworICAgIEJhZzxC
eVZhbEluZm8+IG1fYnlWYWxJbmZvczsKKyAgICBCYWc8Q2FsbExpbmtJbmZvPiBtX2NhbGxMaW5r
SW5mb3M7CiAgICAgU2VudGluZWxMaW5rZWRMaXN0PENhbGxMaW5rSW5mbywgQmFzaWNSYXdTZW50
aW5lbE5vZGU8Q2FsbExpbmtJbmZvPj4gbV9pbmNvbWluZ0NhbGxzOwogICAgIFNlbnRpbmVsTGlu
a2VkTGlzdDxQb2x5bW9ycGhpY0NhbGxOb2RlLCBCYXNpY1Jhd1NlbnRpbmVsTm9kZTxQb2x5bW9y
cGhpY0NhbGxOb2RlPj4gbV9pbmNvbWluZ1BvbHltb3JwaGljQ2FsbHM7CiAgICAgc3RkOjp1bmlx
dWVfcHRyPFBDVG9Db2RlT3JpZ2luTWFwPiBtX3BjVG9Db2RlT3JpZ2luTWFwOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50T2ZmbGluZUFzbUNvbmZpZy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9mZmxpbmVBc21Db25maWcu
aAkocmV2aXNpb24gMjQwODA2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50
T2ZmbGluZUFzbUNvbmZpZy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxMi0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMi0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjgsNyArMjgsNiBAQAogI2lu
Y2x1ZGUgIkxMSW50Q29tbW9uLmgiCiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNs
dWRlIDx3dGYvR2lnYWNhZ2UuaD4KLSNpbmNsdWRlIDx3dGYvUG9pc29uZWQuaD4KIAogI2lmIEVO
QUJMRShDX0xPT1ApCiAjZGVmaW5lIE9GRkxJTkVfQVNNX0NfTE9PUCAxCkBAIC0xMzYsMTIgKzEz
NSw2IEBACiAjZGVmaW5lIE9GRkxJTkVfQVNNX0FERFJFU1M2NCAwCiAjZW5kaWYKIAotI2lmIEVO
QUJMRShQT0lTT04pCi0jZGVmaW5lIE9GRkxJTkVfQVNNX1BPSVNPTiAxCi0jZWxzZQotI2RlZmlu
ZSBPRkZMSU5FX0FTTV9QT0lTT04gMAotI2VuZGlmCi0KICNpZiAhQVNTRVJUX0RJU0FCTEVECiAj
ZGVmaW5lIE9GRkxJTkVfQVNNX0FTU0VSVF9FTkFCTEVEIDEKICNlbHNlCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAJKHJldmlzaW9uIDI0
MDgwNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludFNsb3dQYXRocy5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTE0NDgsOCArMTQ0OCw2IEBAIHN0YXRpYyBTbG93UGF0aFJldHVy
blR5cGUgaGFuZGxlSG9zdENhbGwKICAgICAgICAgICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0
cmFjZXIoJnZtLCBleGVjQ2FsbGVlKTsKICAgICAgICAgICAgIGV4ZWNDYWxsZWUtPnNldENhbGxl
ZShhc09iamVjdChjYWxsZWUpKTsKICAgICAgICAgICAgIHZtLmhvc3RDYWxsUmV0dXJuVmFsdWUg
PSBKU1ZhbHVlOjpkZWNvZGUoY2FsbERhdGEubmF0aXZlLmZ1bmN0aW9uKGV4ZWNDYWxsZWUpKTsK
LSAgICAgICAgICAgIAotICAgICAgICAgICAgUG9pc29uZWRNYXNtUHRyOjphc3NlcnRJc05vdFBv
aXNvbmVkKExMSW50OjpnZXRDb2RlUHRyKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpKTsKICAgICAg
ICAgICAgIExMSU5UX0NBTExfUkVUVVJOKGV4ZWNDYWxsZWUsIGV4ZWNDYWxsZWUsIExMSW50Ojpn
ZXRDb2RlUHRyKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpLCBDRnVuY3Rpb25QdHJUYWcpOwogICAg
ICAgICB9CiAgICAgICAgIApAQCAtMTQ3MCw4ICsxNDY4LDYgQEAgc3RhdGljIFNsb3dQYXRoUmV0
dXJuVHlwZSBoYW5kbGVIb3N0Q2FsbAogICAgICAgICBOYXRpdmVDYWxsRnJhbWVUcmFjZXIgdHJh
Y2VyKCZ2bSwgZXhlY0NhbGxlZSk7CiAgICAgICAgIGV4ZWNDYWxsZWUtPnNldENhbGxlZShhc09i
amVjdChjYWxsZWUpKTsKICAgICAgICAgdm0uaG9zdENhbGxSZXR1cm5WYWx1ZSA9IEpTVmFsdWU6
OmRlY29kZShjb25zdHJ1Y3REYXRhLm5hdGl2ZS5mdW5jdGlvbihleGVjQ2FsbGVlKSk7Ci0KLSAg
ICAgICAgUG9pc29uZWRNYXNtUHRyOjphc3NlcnRJc05vdFBvaXNvbmVkKExMSW50OjpnZXRDb2Rl
UHRyKGdldEhvc3RDYWxsUmV0dXJuVmFsdWUpKTsKICAgICAgICAgTExJTlRfQ0FMTF9SRVRVUk4o
ZXhlY0NhbGxlZSwgZXhlY0NhbGxlZSwgTExJbnQ6OmdldENvZGVQdHIoZ2V0SG9zdENhbGxSZXR1
cm5WYWx1ZSksIENGdW5jdGlvblB0clRhZyk7CiAgICAgfQogICAgIApAQCAtMTUwOCw3ICsxNTA0
LDYgQEAgaW5saW5lIFNsb3dQYXRoUmV0dXJuVHlwZSBzZXRVcENhbGwoRXhlYwogICAgICAgICAg
ICAgfQogCiAgICAgICAgICAgICBhc3NlcnRJc1RhZ2dlZFdpdGgoY29kZVB0ci5leGVjdXRhYmxl
QWRkcmVzcygpLCBKU0VudHJ5UHRyVGFnKTsKLSAgICAgICAgICAgIFBvaXNvbmVkTWFzbVB0cjo6
YXNzZXJ0SXNOb3RQb2lzb25lZChjb2RlUHRyLmV4ZWN1dGFibGVBZGRyZXNzKCkpOwogICAgICAg
ICAgICAgTExJTlRfQ0FMTF9SRVRVUk4oZXhlYywgZXhlY0NhbGxlZSwgY29kZVB0ci5leGVjdXRh
YmxlQWRkcmVzcygpLCBKU0VudHJ5UHRyVGFnKTsKICAgICAgICAgfQogICAgICAgICBSRUxFQVNF
X0FORF9SRVRVUk4odGhyb3dTY29wZSwgaGFuZGxlSG9zdENhbGwoZXhlY0NhbGxlZSwgY2FsbGVl
QXNWYWx1ZSwga2luZCkpOwpAQCAtMTU1OSw3ICsxNTU0LDYgQEAgaW5saW5lIFNsb3dQYXRoUmV0
dXJuVHlwZSBzZXRVcENhbGwoRXhlYwogICAgIH0KIAogICAgIGFzc2VydElzVGFnZ2VkV2l0aChj
b2RlUHRyLmV4ZWN1dGFibGVBZGRyZXNzKCksIEpTRW50cnlQdHJUYWcpOwotICAgIFBvaXNvbmVk
TWFzbVB0cjo6YXNzZXJ0SXNOb3RQb2lzb25lZChjb2RlUHRyLmV4ZWN1dGFibGVBZGRyZXNzKCkp
OwogICAgIExMSU5UX0NBTExfUkVUVVJOKGV4ZWMsIGV4ZWNDYWxsZWUsIGNvZGVQdHIuZXhlY3V0
YWJsZUFkZHJlc3MoKSwgSlNFbnRyeVB0clRhZyk7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNt
CShyZXZpc2lvbiAyNDA4MDYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2
ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQkod29ya2luZyBjb3B5KQpAQCAtMjQxMSw4ICsyNDExLDcg
QEAgZW5kKQogCiBsbGludE9wV2l0aE1ldGFkYXRhKG9wX3Byb2ZpbGVfdHlwZSwgT3BQcm9maWxl
VHlwZSwgbWFjcm8gKHNpemUsIGdldCwgZGlzcGF0Y2gsIG1ldGFkYXRhLCByZXR1cm4pCiAgICAg
bG9hZHAgQ29kZUJsb2NrW2Nmcl0sIHQxCi0gICAgbG9hZHAgQ29kZUJsb2NrOjptX3BvaXNvbmVk
Vk1bdDFdLCB0MQotICAgIHVucG9pc29uKF9nX0NvZGVCbG9ja1BvaXNvbiwgdDEsIHQyKQorICAg
IGxvYWRwIENvZGVCbG9jazo6bV92bVt0MV0sIHQxCiAgICAgIyB0MSBpcyBob2xkaW5nIHRoZSBw
b2ludGVyIHRvIHRoZSB0eXBlUHJvZmlsZXJMb2cuCiAgICAgbG9hZHAgVk06Om1fdHlwZVByb2Zp
bGVyTG9nW3QxXSwgdDEKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXI2NC5hc20KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3Jl
L2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20JKHJldmlzaW9uIDI0MDgwNikKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtCSh3b3Jr
aW5nIGNvcHkpCkBAIC04MCw3ICs4MCw2IEBAIG1hY3JvIGRpc3BhdGNoQWZ0ZXJDYWxsKHNpemUs
IG9wY29kZVN0cnUKICAgICBsb2FkaSBBcmd1bWVudENvdW50ICsgVGFnT2Zmc2V0W2Nmcl0sIFBD
CiAgICAgbG9hZHAgQ29kZUJsb2NrW2Nmcl0sIFBCCiAgICAgbG9hZHAgQ29kZUJsb2NrOjptX2lu
c3RydWN0aW9uc1Jhd1BvaW50ZXJbUEJdLCBQQgotICAgIHVucG9pc29uKF9nX0NvZGVCbG9ja1Bv
aXNvbiwgUEIsIHQxKQogICAgIGdldChzaXplLCBvcGNvZGVTdHJ1Y3QsIG1fZHN0LCB0MSkKICAg
ICBzdG9yZXEgcjAsIFtjZnIsIHQxLCA4XQogICAgIG1ldGFkYXRhKHNpemUsIG9wY29kZVN0cnVj
dCwgdDIsIHQxKQpAQCAtNTMzLDggKzUzMiw3IEBAIGVuZAogCiBtYWNybyBzdHJ1Y3R1cmVJRFRv
U3RydWN0dXJlV2l0aFNjcmF0Y2goc3RydWN0dXJlSURUaGVuU3RydWN0dXJlLCBzY3JhdGNoLCBz
Y3JhdGNoMikKICAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgc2NyYXRjaAotICAgIGxvYWRwIENv
ZGVCbG9jazo6bV9wb2lzb25lZFZNW3NjcmF0Y2hdLCBzY3JhdGNoCi0gICAgdW5wb2lzb24oX2df
Q29kZUJsb2NrUG9pc29uLCBzY3JhdGNoLCBzY3JhdGNoMikKKyAgICBsb2FkcCBDb2RlQmxvY2s6
Om1fdm1bc2NyYXRjaF0sIHNjcmF0Y2gKICAgICBsb2FkcCBWTTo6aGVhcCArIEhlYXA6Om1fc3Ry
dWN0dXJlSURUYWJsZSArIFN0cnVjdHVyZUlEVGFibGU6Om1fdGFibGVbc2NyYXRjaF0sIHNjcmF0
Y2gKICAgICBsb2FkcCBbc2NyYXRjaCwgc3RydWN0dXJlSURUaGVuU3RydWN0dXJlLCBQdHJTaXpl
XSwgc3RydWN0dXJlSURUaGVuU3RydWN0dXJlCiBlbmQKQEAgLTYyOSw3ICs2MjcsNiBAQCBtYWNy
byBmdW5jdGlvbkFyaXR5Q2hlY2soZG9uZUxhYmVsLCBzbG93CiAgICAgIyBSZWxvYWQgQ29kZUJs
b2NrIGFuZCByZXNldCBQQywgc2luY2UgdGhlIHNsb3dfcGF0aCBjbG9iYmVyZWQgdGhlbS4KICAg
ICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDEKICAgICBsb2FkcCBDb2RlQmxvY2s6Om1faW5zdHJ1
Y3Rpb25zUmF3UG9pbnRlclt0MV0sIFBCCi0gICAgdW5wb2lzb24oX2dfQ29kZUJsb2NrUG9pc29u
LCBQQiwgdDIpCiAgICAgbW92ZSAwLCBQQwogICAgIGptcCBkb25lTGFiZWwKIGVuZApAQCAtMTkz
NCwxNSArMTkzMSw4IEBAIG1hY3JvIGNvbW1vbkNhbGxPcChvcGNvZGVOYW1lLCBzbG93UGF0aCwK
ICAgICAgICAgc3RvcmVpIFBDLCBBcmd1bWVudENvdW50ICsgVGFnT2Zmc2V0W2Nmcl0KICAgICAg
ICAgc3RvcmVpIHQyLCBBcmd1bWVudENvdW50ICsgUGF5bG9hZE9mZnNldFt0M10KICAgICAgICAg
bW92ZSB0Mywgc3AKLSAgICAgICAgaWYgUE9JU09OCi0gICAgICAgICAgICBsb2FkcCBfZ19KSVRD
b2RlUG9pc29uLCB0MgotICAgICAgICAgICAgeG9ycCAlb3Bjb2RlU3RydWN0JTo6TWV0YWRhdGE6
Om1fY2FsbExpbmtJbmZvLm1hY2hpbmVDb2RlVGFyZ2V0W3Q1XSwgdDIKLSAgICAgICAgICAgIHBy
ZXBhcmVDYWxsKHQyLCB0MSwgdDMsIHQ0LCBKU0VudHJ5UHRyVGFnKQotICAgICAgICAgICAgY2Fs
bFRhcmdldEZ1bmN0aW9uKHNpemUsIG9wY29kZVN0cnVjdCwgZGlzcGF0Y2gsIHQyLCBKU0VudHJ5
UHRyVGFnKQotICAgICAgICBlbHNlCi0gICAgICAgICAgICBwcmVwYXJlQ2FsbCglb3Bjb2RlU3Ry
dWN0JTo6TWV0YWRhdGE6Om1fY2FsbExpbmtJbmZvLm1hY2hpbmVDb2RlVGFyZ2V0W3Q1XSwgdDIs
IHQzLCB0NCwgSlNFbnRyeVB0clRhZykKLSAgICAgICAgICAgIGNhbGxUYXJnZXRGdW5jdGlvbihz
aXplLCBvcGNvZGVTdHJ1Y3QsIGRpc3BhdGNoLCAlb3Bjb2RlU3RydWN0JTo6TWV0YWRhdGE6Om1f
Y2FsbExpbmtJbmZvLm1hY2hpbmVDb2RlVGFyZ2V0W3Q1XSwgSlNFbnRyeVB0clRhZykKLSAgICAg
ICAgZW5kCisgICAgICAgIHByZXBhcmVDYWxsKCVvcGNvZGVTdHJ1Y3QlOjpNZXRhZGF0YTo6bV9j
YWxsTGlua0luZm8ubWFjaGluZUNvZGVUYXJnZXRbdDVdLCB0MiwgdDMsIHQ0LCBKU0VudHJ5UHRy
VGFnKQorICAgICAgICBjYWxsVGFyZ2V0RnVuY3Rpb24oc2l6ZSwgb3Bjb2RlU3RydWN0LCBkaXNw
YXRjaCwgJW9wY29kZVN0cnVjdCU6Ok1ldGFkYXRhOjptX2NhbGxMaW5rSW5mby5tYWNoaW5lQ29k
ZVRhcmdldFt0NV0sIEpTRW50cnlQdHJUYWcpCiAKICAgICAub3BDYWxsU2xvdzoKICAgICAgICAg
c2xvd1BhdGhGb3JDYWxsKHNpemUsIG9wY29kZVN0cnVjdCwgZGlzcGF0Y2gsIHNsb3dQYXRoLCBw
cmVwYXJlQ2FsbCkKQEAgLTE5ODgsNyArMTk3OCw2IEBAIGNvbW1vbk9wKGxsaW50X29wX2NhdGNo
LCBtYWNybygpIGVuZCwgbWEKICAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgUEIKICAgICBsb2Fk
cCBDb2RlQmxvY2s6Om1fbWV0YWRhdGFbUEJdLCBtZXRhZGF0YVRhYmxlCiAgICAgbG9hZHAgQ29k
ZUJsb2NrOjptX2luc3RydWN0aW9uc1Jhd1BvaW50ZXJbUEJdLCBQQgotICAgIHVucG9pc29uKF9n
X0NvZGVCbG9ja1BvaXNvbiwgUEIsIHQyKQogICAgIGxvYWRwIFZNOjp0YXJnZXRJbnRlcnByZXRl
clBDRm9yVGhyb3dbdDNdLCBQQwogICAgIHN1YnAgUEIsIFBDCiAKQEAgLTIwNjUsMjEgKzIwNTQs
MTYgQEAgbWFjcm8gbmF0aXZlQ2FsbFRyYW1wb2xpbmUoZXhlY3V0YWJsZU9mZgogICAgIG1vdmUg
Y2ZyLCBhMAogICAgIGxvYWRwIENhbGxlZVtjZnJdLCB0MQogICAgIGxvYWRwIEpTRnVuY3Rpb246
Om1fZXhlY3V0YWJsZVt0MV0sIHQxCi0gICAgdW5wb2lzb24oX2dfSlNGdW5jdGlvblBvaXNvbiwg
dDEsIHQyKQogICAgIGNoZWNrU3RhY2tQb2ludGVyQWxpZ25tZW50KHQzLCAweGRlYWQwMDAxKQog
ICAgIGlmIENfTE9PUAotICAgICAgICBsb2FkcCBfZ19OYXRpdmVDb2RlUG9pc29uLCB0MgotICAg
ICAgICB4b3JwIGV4ZWN1dGFibGVPZmZzZXRUb0Z1bmN0aW9uW3QxXSwgdDIKLSAgICAgICAgY2xv
b3BDYWxsTmF0aXZlIHQyCisgICAgICAgIGNsb29wQ2FsbE5hdGl2ZSBleGVjdXRhYmxlT2Zmc2V0
VG9GdW5jdGlvblt0MV0KICAgICBlbHNlCiAgICAgICAgIGlmIFg4Nl82NF9XSU4KICAgICAgICAg
ICAgIHN1YnAgMzIsIHNwCiAgICAgICAgICAgICBjYWxsIGV4ZWN1dGFibGVPZmZzZXRUb0Z1bmN0
aW9uW3QxXSwgSlNFbnRyeVB0clRhZwogICAgICAgICAgICAgYWRkcCAzMiwgc3AKICAgICAgICAg
ZWxzZQotICAgICAgICAgICAgbG9hZHAgX2dfTmF0aXZlQ29kZVBvaXNvbiwgdDIKLSAgICAgICAg
ICAgIHhvcnAgZXhlY3V0YWJsZU9mZnNldFRvRnVuY3Rpb25bdDFdLCB0MgotICAgICAgICAgICAg
Y2FsbCB0MiwgSlNFbnRyeVB0clRhZworICAgICAgICAgICAgY2FsbCBleGVjdXRhYmxlT2Zmc2V0
VG9GdW5jdGlvblt0MV0sIEpTRW50cnlQdHJUYWcKICAgICAgICAgZW5kCiAgICAgZW5kCiAKQEAg
LTIxMTEsMTggKzIwOTUsMTQgQEAgbWFjcm8gaW50ZXJuYWxGdW5jdGlvbkNhbGxUcmFtcG9saW5l
KG9mZgogICAgIGxvYWRwIENhbGxlZVtjZnJdLCB0MQogICAgIGNoZWNrU3RhY2tQb2ludGVyQWxp
Z25tZW50KHQzLCAweGRlYWQwMDAxKQogICAgIGlmIENfTE9PUAotICAgICAgICBsb2FkcCBfZ19O
YXRpdmVDb2RlUG9pc29uLCB0MgotICAgICAgICB4b3JwIG9mZnNldE9mRnVuY3Rpb25bdDFdLCB0
MgotICAgICAgICBjbG9vcENhbGxOYXRpdmUgdDIKKyAgICAgICAgY2xvb3BDYWxsTmF0aXZlIG9m
ZnNldE9mRnVuY3Rpb25bdDFdCiAgICAgZWxzZQogICAgICAgICBpZiBYODZfNjRfV0lOCiAgICAg
ICAgICAgICBzdWJwIDMyLCBzcAogICAgICAgICAgICAgY2FsbCBvZmZzZXRPZkZ1bmN0aW9uW3Qx
XSwgSlNFbnRyeVB0clRhZwogICAgICAgICAgICAgYWRkcCAzMiwgc3AKICAgICAgICAgZWxzZQot
ICAgICAgICAgICAgbG9hZHAgX2dfTmF0aXZlQ29kZVBvaXNvbiwgdDIKLSAgICAgICAgICAgIHhv
cnAgb2Zmc2V0T2ZGdW5jdGlvblt0MV0sIHQyCi0gICAgICAgICAgICBjYWxsIHQyLCBKU0VudHJ5
UHRyVGFnCisgICAgICAgICAgICBjYWxsIG9mZnNldE9mRnVuY3Rpb25bdDFdLCBKU0VudHJ5UHRy
VGFnCiAgICAgICAgIGVuZAogICAgIGVuZAogCkBAIC0yNDcxLDggKzI0NTEsNyBAQCBlbmQpCiAK
IGxsaW50T3BXaXRoTWV0YWRhdGEob3BfcHJvZmlsZV90eXBlLCBPcFByb2ZpbGVUeXBlLCBtYWNy
byAoc2l6ZSwgZ2V0LCBkaXNwYXRjaCwgbWV0YWRhdGEsIHJldHVybikKICAgICBsb2FkcCBDb2Rl
QmxvY2tbY2ZyXSwgdDEKLSAgICBsb2FkcCBDb2RlQmxvY2s6Om1fcG9pc29uZWRWTVt0MV0sIHQx
Ci0gICAgdW5wb2lzb24oX2dfQ29kZUJsb2NrUG9pc29uLCB0MSwgdDMpCisgICAgbG9hZHAgQ29k
ZUJsb2NrOjptX3ZtW3QxXSwgdDEKICAgICAjIHQxIGlzIGhvbGRpbmcgdGhlIHBvaW50ZXIgdG8g
dGhlIHR5cGVQcm9maWxlckxvZy4KICAgICBsb2FkcCBWTTo6bV90eXBlUHJvZmlsZXJMb2dbdDFd
LCB0MQogICAgICMgdDIgaXMgaG9sZGluZyB0aGUgcG9pbnRlciB0byB0aGUgY3VycmVudCBsb2cg
ZW50cnkuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnBy
ZXRlci5hc20KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xl
dmVsSW50ZXJwcmV0ZXIuYXNtCShyZXZpc2lvbiAyNDA4MDYpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlci5hc20JKHdvcmtpbmcgY29weSkKQEAgLTg0
MSwxMyArODQxLDYgQEAgbWFjcm8gcHJlc2VydmVSZXR1cm5BZGRyZXNzQWZ0ZXJDYWxsKGRlcwog
ICAgIGVuZAogZW5kCiAKLW1hY3JvIHVucG9pc29uKHBvaXNvbiwgZmllbGRSZWcsIHNjcmF0Y2gp
Ci0gICAgaWYgUE9JU09OCi0gICAgICAgIGxvYWRwIHBvaXNvbiwgc2NyYXRjaAotICAgICAgICB4
b3JwIHNjcmF0Y2gsIGZpZWxkUmVnCi0gICAgZW5kCi1lbmQKLQogbWFjcm8gZnVuY3Rpb25Qcm9s
b2d1ZSgpCiAgICAgdGFnUmV0dXJuQWRkcmVzcyBzcAogICAgIGlmIFg4NiBvciBYODZfV0lOIG9y
IFg4Nl82NCBvciBYODZfNjRfV0lOCkBAIC0xMDM0LDcgKzEwMjcsNiBAQCBtYWNybyBmdW5jdGlv
bkZvckNhbGxDb2RlQmxvY2tHZXR0ZXIodGFyCiAgICAgICAgIGxvYWRwIENhbGxlZSArIFBheWxv
YWRPZmZzZXRbY2ZyXSwgdGFyZ2V0UmVnaXN0ZXIKICAgICBlbmQKICAgICBsb2FkcCBKU0Z1bmN0
aW9uOjptX2V4ZWN1dGFibGVbdGFyZ2V0UmVnaXN0ZXJdLCB0YXJnZXRSZWdpc3RlcgotICAgIHVu
cG9pc29uKF9nX0pTRnVuY3Rpb25Qb2lzb24sIHRhcmdldFJlZ2lzdGVyLCBzY3JhdGNoKQogICAg
IGxvYWRwIEZ1bmN0aW9uRXhlY3V0YWJsZTo6bV9jb2RlQmxvY2tGb3JDYWxsW3RhcmdldFJlZ2lz
dGVyXSwgdGFyZ2V0UmVnaXN0ZXIKICAgICBsb2FkcCBFeGVjdXRhYmxlVG9Db2RlQmxvY2tFZGdl
OjptX2NvZGVCbG9ja1t0YXJnZXRSZWdpc3Rlcl0sIHRhcmdldFJlZ2lzdGVyCiBlbmQKQEAgLTEw
NDYsNyArMTAzOCw2IEBAIG1hY3JvIGZ1bmN0aW9uRm9yQ29uc3RydWN0Q29kZUJsb2NrR2V0dGUK
ICAgICAgICAgbG9hZHAgQ2FsbGVlICsgUGF5bG9hZE9mZnNldFtjZnJdLCB0YXJnZXRSZWdpc3Rl
cgogICAgIGVuZAogICAgIGxvYWRwIEpTRnVuY3Rpb246Om1fZXhlY3V0YWJsZVt0YXJnZXRSZWdp
c3Rlcl0sIHRhcmdldFJlZ2lzdGVyCi0gICAgdW5wb2lzb24oX2dfSlNGdW5jdGlvblBvaXNvbiwg
dGFyZ2V0UmVnaXN0ZXIsIHNjcmF0Y2gpCiAgICAgbG9hZHAgRnVuY3Rpb25FeGVjdXRhYmxlOjpt
X2NvZGVCbG9ja0ZvckNvbnN0cnVjdFt0YXJnZXRSZWdpc3Rlcl0sIHRhcmdldFJlZ2lzdGVyCiAg
ICAgbG9hZHAgRXhlY3V0YWJsZVRvQ29kZUJsb2NrRWRnZTo6bV9jb2RlQmxvY2tbdGFyZ2V0UmVn
aXN0ZXJdLCB0YXJnZXRSZWdpc3RlcgogZW5kCkBAIC0xMTE2LDcgKzExMDcsNiBAQCBtYWNybyBw
cm9sb2d1ZShjb2RlQmxvY2tHZXR0ZXIsIGNvZGVCbG9jCiAgICAgIyBTZXQgdXAgdGhlIFBDLgog
ICAgIGlmIEpTVkFMVUU2NAogICAgICAgICBsb2FkcCBDb2RlQmxvY2s6Om1faW5zdHJ1Y3Rpb25z
UmF3UG9pbnRlclt0MV0sIFBCCi0gICAgICAgIHVucG9pc29uKF9nX0NvZGVCbG9ja1BvaXNvbiwg
UEIsIHQzKQogICAgICAgICBtb3ZlIDAsIFBDCiAgICAgZWxzZQogICAgICAgICBsb2FkcCBDb2Rl
QmxvY2s6Om1faW5zdHJ1Y3Rpb25zUmF3UG9pbnRlclt0MV0sIFBDCkBAIC0xMTI2LDggKzExMTYs
NyBAQCBtYWNybyBwcm9sb2d1ZShjb2RlQmxvY2tHZXR0ZXIsIGNvZGVCbG9jCiAgICAgZ2V0RnJh
bWVSZWdpc3RlclNpemVGb3JDb2RlQmxvY2sodDEsIHQwKQogICAgIHN1YnAgY2ZyLCB0MCwgdDAK
ICAgICBicGEgdDAsIGNmciwgLm5lZWRTdGFja0NoZWNrCi0gICAgbG9hZHAgQ29kZUJsb2NrOjpt
X3BvaXNvbmVkVk1bdDFdLCB0MgotICAgIHVucG9pc29uKF9nX0NvZGVCbG9ja1BvaXNvbiwgdDIs
IHQzKQorICAgIGxvYWRwIENvZGVCbG9jazo6bV92bVt0MV0sIHQyCiAgICAgaWYgQ19MT09QCiAg
ICAgICAgIGJwYmVxIFZNOjptX2Nsb29wU3RhY2tMaW1pdFt0Ml0sIHQwLCAuc3RhY2tIZWlnaHRP
SwogICAgIGVsc2UKQEAgLTE2NDAsOCArMTYyOSw3IEBAIGVuZCkKIAogbGxpbnRPcChvcF9jaGVj
a190cmFwcywgT3BDaGVja1RyYXBzLCBtYWNybyAodW51c2VkLCB1bnVzZWQsIGRpc3BhdGNoKQog
ICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MQotICAgIGxvYWRwIENvZGVCbG9jazo6bV9wb2lz
b25lZFZNW3QxXSwgdDEKLSAgICB1bnBvaXNvbihfZ19Db2RlQmxvY2tQb2lzb24sIHQxLCB0MikK
KyAgICBsb2FkcCBDb2RlQmxvY2s6Om1fdm1bdDFdLCB0MQogICAgIGxvYWRiIFZNOjptX3RyYXBz
K1ZNVHJhcHM6Om1fbmVlZFRyYXBIYW5kbGluZ1t0MV0sIHQwCiAgICAgYnRwbnogdDAsIC5oYW5k
bGVUcmFwcwogLmFmdGVySGFuZGxpbmdUcmFwczoKQEAgLTE2NTcsOCArMTY0NSw3IEBAIGVuZCkK
ICMgUmV0dXJucyB0aGUgcGFja2V0IHBvaW50ZXIgaW4gdDAuCiBtYWNybyBhY3F1aXJlU2hhZG93
Q2hpY2tlblBhY2tldChzbG93KQogICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MQotICAgIGxv
YWRwIENvZGVCbG9jazo6bV9wb2lzb25lZFZNW3QxXSwgdDEKLSAgICB1bnBvaXNvbihfZ19Db2Rl
QmxvY2tQb2lzb24sIHQxLCB0MikKKyAgICBsb2FkcCBDb2RlQmxvY2s6Om1fdm1bdDFdLCB0MQog
ICAgIGxvYWRwIFZNOjptX3NoYWRvd0NoaWNrZW5bdDFdLCB0MgogICAgIGxvYWRwIFNoYWRvd0No
aWNrZW46Om1fbG9nQ3Vyc29yW3QyXSwgdDAKICAgICBicGFlcSB0MCwgU2hhZG93Q2hpY2tlbjo6
bV9sb2dFbmRbdDJdLCBzbG93Cg==
</data>
<flag name="review"
          id="377480"
          type_id="1"
          status="+"
          setter="ysuzuki"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>360793</attachid>
            <date>2019-01-31 15:10:14 -0800</date>
            <delta_ts>2019-01-31 15:10:14 -0800</delta_ts>
            <desc>patch for landing.</desc>
            <filename>bug-194113.patch</filename>
            <type>text/plain</type>
            <size>24064</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQwODIyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBA
CisyMDE5LTAxLTMxICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBS
ZW1vdmUgcG9pc29uaW5nIGZyb20gQ29kZUJsb2NrIGFuZCBMTEludCBjb2RlLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0MTEzCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgWXVzdWtlIFN1enVraS4KKworICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9j
ay5jcHA6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6Q29kZUJsb2NrKToKKyAgICAgICAgKEpT
Qzo6Q29kZUJsb2NrOjp+Q29kZUJsb2NrKToKKyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpzZXRD
b25zdGFudFJlZ2lzdGVycyk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6cHJvcGFnYXRlVHJh
bnNpdGlvbnMpOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmZpbmFsaXplTExJbnRJbmxpbmVD
YWNoZXMpOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmpldHRpc29uKToKKyAgICAgICAgKEpT
Qzo6Q29kZUJsb2NrOjpwcmVkaWN0ZWRNYWNoaW5lQ29kZVNpemUpOgorICAgICAgICAqIGJ5dGVj
b2RlL0NvZGVCbG9jay5oOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OnZtIGNvbnN0KToKKyAg
ICAgICAgKEpTQzo6Q29kZUJsb2NrOjphZGRDb25zdGFudCk6CisgICAgICAgIChKU0M6OkNvZGVC
bG9jazo6aGVhcCBjb25zdCk6CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6cmVwbGFjZUNvbnN0
YW50KToKKyAgICAgICAgKiBsbGludC9MTEludE9mZmxpbmVBc21Db25maWcuaDoKKyAgICAgICAg
KiBsbGludC9MTEludFNsb3dQYXRocy5jcHA6CisgICAgICAgIChKU0M6OkxMSW50OjpoYW5kbGVI
b3N0Q2FsbCk6CisgICAgICAgIChKU0M6OkxMSW50OjpzZXRVcENhbGwpOgorICAgICAgICAqIGxs
aW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtOgorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIzMl82NC5hc206CisgICAgICAgICogbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbToKKwogMjAxOS0wMS0zMSAgVGFkZXUgWmFnYWxsbyAgPHR6YWdhbGxvQGFwcGxlLmNvbT4K
IAogICAgICAgICBGaXggYHJ1bkpJVFRocmVhZExpbWl0VGVzdHNgIGluIHRlc3RhcGkKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCShyZXZpc2lv
biAyNDA4MjIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzA1LDcgKzMwNSw3IEBAIENvZGVCbG9jazo6Q29kZUJsb2Nr
KFZNKiB2bSwgU3RydWN0dXJlKiAKICAgICAsIG1fbnVtQnJlYWtwb2ludHMoMCkKICAgICAsIG1f
dW5saW5rZWRDb2RlKCpvdGhlci52bSgpLCB0aGlzLCBvdGhlci5tX3VubGlua2VkQ29kZS5nZXQo
KSkKICAgICAsIG1fb3duZXJFeGVjdXRhYmxlKCpvdGhlci52bSgpLCB0aGlzLCBvdGhlci5tX293
bmVyRXhlY3V0YWJsZS5nZXQoKSkKLSAgICAsIG1fcG9pc29uZWRWTShvdGhlci5tX3BvaXNvbmVk
Vk0pCisgICAgLCBtX3ZtKG90aGVyLm1fdm0pCiAgICAgLCBtX2luc3RydWN0aW9ucyhvdGhlci5t
X2luc3RydWN0aW9ucykKICAgICAsIG1faW5zdHJ1Y3Rpb25zUmF3UG9pbnRlcihvdGhlci5tX2lu
c3RydWN0aW9uc1Jhd1BvaW50ZXIpCiAgICAgLCBtX2luc3RydWN0aW9uQ291bnQob3RoZXIubV9p
bnN0cnVjdGlvbkNvdW50KQpAQCAtMzcxLDcgKzM3MSw3IEBAIENvZGVCbG9jazo6Q29kZUJsb2Nr
KFZNKiB2bSwgU3RydWN0dXJlKiAKICAgICAsIG1fbnVtQnJlYWtwb2ludHMoMCkKICAgICAsIG1f
dW5saW5rZWRDb2RlKCp2bSwgdGhpcywgdW5saW5rZWRDb2RlQmxvY2spCiAgICAgLCBtX293bmVy
RXhlY3V0YWJsZSgqdm0sIHRoaXMsIG93bmVyRXhlY3V0YWJsZSkKLSAgICAsIG1fcG9pc29uZWRW
TSh2bSkKKyAgICAsIG1fdm0odm0pCiAgICAgLCBtX2luc3RydWN0aW9ucygmdW5saW5rZWRDb2Rl
QmxvY2stPmluc3RydWN0aW9ucygpKQogICAgICwgbV9pbnN0cnVjdGlvbnNSYXdQb2ludGVyKG1f
aW5zdHJ1Y3Rpb25zLT5yYXdQb2ludGVyKCkpCiAgICAgLCBtX3RoaXNSZWdpc3Rlcih1bmxpbmtl
ZENvZGVCbG9jay0+dGhpc1JlZ2lzdGVyKCkpCkBAIC04MzQsNyArODM0LDcgQEAgdm9pZCBDb2Rl
QmxvY2s6OmZpbmlzaENyZWF0aW9uQ29tbW9uKFZNJgogCiBDb2RlQmxvY2s6On5Db2RlQmxvY2so
KQogewotICAgIFZNJiB2bSA9ICptX3BvaXNvbmVkVk07CisgICAgVk0mIHZtID0gKm1fdm07CiAK
ICAgICB2bS5oZWFwLmNvZGVCbG9ja1NldCgpLnJlbW92ZSh0aGlzKTsKICAgICAKQEAgLTg5NCw3
ICs4OTQsNyBAQCB2b2lkIENvZGVCbG9jazo6c2V0Q29uc3RhbnRJZGVudGlmaWVyU2V0CiAKIHZv
aWQgQ29kZUJsb2NrOjpzZXRDb25zdGFudFJlZ2lzdGVycyhjb25zdCBWZWN0b3I8V3JpdGVCYXJy
aWVyPFVua25vd24+PiYgY29uc3RhbnRzLCBjb25zdCBWZWN0b3I8U291cmNlQ29kZVJlcHJlc2Vu
dGF0aW9uPiYgY29uc3RhbnRzU291cmNlQ29kZVJlcHJlc2VudGF0aW9uKQogewotICAgIFZNJiB2
bSA9ICptX3BvaXNvbmVkVk07CisgICAgVk0mIHZtID0gKm1fdm07CiAgICAgYXV0byBzY29wZSA9
IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAgIEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmpl
Y3QgPSBtX2dsb2JhbE9iamVjdC5nZXQoKTsKICAgICBFeGVjU3RhdGUqIGV4ZWMgPSBnbG9iYWxP
YmplY3QtPmdsb2JhbEV4ZWMoKTsKQEAgLTEwODcsNyArMTA4Nyw3IEBAIHZvaWQgQ29kZUJsb2Nr
Ojpwcm9wYWdhdGVUcmFuc2l0aW9ucyhjb24KIHsKICAgICBVTlVTRURfUEFSQU0odmlzaXRvcik7
CiAKLSAgICBWTSYgdm0gPSAqbV9wb2lzb25lZFZNOworICAgIFZNJiB2bSA9ICptX3ZtOwogCiAg
ICAgaWYgKGppdFR5cGUoKSA9PSBKSVRDb2RlOjpJbnRlcnByZXRlclRodW5rKSB7CiAgICAgICAg
IGNvbnN0IFZlY3RvcjxJbnN0cnVjdGlvblN0cmVhbTo6T2Zmc2V0PiYgcHJvcGVydHlBY2Nlc3NJ
bnN0cnVjdGlvbnMgPSBtX3VubGlua2VkQ29kZS0+cHJvcGVydHlBY2Nlc3NJbnN0cnVjdGlvbnMo
KTsKQEAgLTEyMDMsNyArMTIwMyw3IEBAIHZvaWQgQ29kZUJsb2NrOjpkZXRlcm1pbmVMaXZlbmVz
cyhjb25zdCAKIAogdm9pZCBDb2RlQmxvY2s6OmZpbmFsaXplTExJbnRJbmxpbmVDYWNoZXMoKQog
ewotICAgIFZNJiB2bSA9ICptX3BvaXNvbmVkVk07CisgICAgVk0mIHZtID0gKm1fdm07CiAgICAg
Y29uc3QgVmVjdG9yPEluc3RydWN0aW9uU3RyZWFtOjpPZmZzZXQ+JiBwcm9wZXJ0eUFjY2Vzc0lu
c3RydWN0aW9ucyA9IG1fdW5saW5rZWRDb2RlLT5wcm9wZXJ0eUFjY2Vzc0luc3RydWN0aW9ucygp
OwogCiAgICAgYXV0byBoYW5kbGVHZXRQdXRGcm9tU2NvcGUgPSBbXShhdXRvJiBtZXRhZGF0YSkg
ewpAQCAtMTkyMSw3ICsxOTIxLDcgQEAgdm9pZCBDb2RlQmxvY2s6OmpldHRpc29uKFByb2ZpbGVy
OjpKZXR0aQogICAgIH0KICNlbmRpZiAvLyBFTkFCTEUoREZHX0pJVCkKIAotICAgIFZNJiB2bSA9
ICptX3BvaXNvbmVkVk07CisgICAgVk0mIHZtID0gKm1fdm07CiAgICAgRGVmZXJHQ0ZvckFXaGls
ZSBkZWZlckdDKCpoZWFwKCkpOwogICAgIAogICAgIC8vIFdlIHdhbnQgdG8gYWNjb21wbGlzaCB0
d28gdGhpbmdzIGhlcmU6CkBAIC0yNzYyLDggKzI3NjIsOCBAQCBpbnQgQ29kZUJsb2NrOjpzdGFj
a1BvaW50ZXJPZmZzZXQoKQogCiBzaXplX3QgQ29kZUJsb2NrOjpwcmVkaWN0ZWRNYWNoaW5lQ29k
ZVNpemUoKQogewotICAgIFZNKiB2bSA9IG1fcG9pc29uZWRWTS51bnBvaXNvbmVkKCk7Ci0gICAg
Ly8gVGhpcyB3aWxsIGJlIGNhbGxlZCBmcm9tIENvZGVCbG9jazo6Q29kZUJsb2NrIGJlZm9yZSBl
aXRoZXIgbV9wb2lzb25lZFZNIG9yIHRoZQorICAgIFZNKiB2bSA9IG1fdm07CisgICAgLy8gVGhp
cyB3aWxsIGJlIGNhbGxlZCBmcm9tIENvZGVCbG9jazo6Q29kZUJsb2NrIGJlZm9yZSBlaXRoZXIg
bV92bSBvciB0aGUKICAgICAvLyBpbnN0cnVjdGlvbnMgaGF2ZSBiZWVuIGluaXRpYWxpemVkLiBJ
dCdzIE9LIHRvIHJldHVybiAwIGJlY2F1c2Ugd2hhdCB3aWxsIHJlYWxseQogICAgIC8vIG1hdHRl
ciBpcyB0aGUgcmVjb21wdXRhdGlvbiBvZiB0aGlzIHZhbHVlIHdoZW4gdGhlIHNsb3cgcGF0aCBp
cyB0cmlnZ2VyZWQuCiAgICAgaWYgKCF2bSkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9Db2RlQmxvY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvQ29kZUJsb2NrLmgJKHJldmlzaW9uIDI0MDgyMikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggQ2FtZXJvbiBad2FyaWNoIDxjd3p3
YXJpY2hAdXdhdGVybG9vLmNhPgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtNTEsNyArNTEsNiBAQAog
I2luY2x1ZGUgIkpJVENvZGUuaCIKICNpbmNsdWRlICJKSVRDb2RlTWFwLmgiCiAjaW5jbHVkZSAi
SklUTWF0aElDRm9yd2FyZHMuaCIKLSNpbmNsdWRlICJKU0NQb2lzb24uaCIKICNpbmNsdWRlICJK
U0Nhc3QuaCIKICNpbmNsdWRlICJKU0dsb2JhbE9iamVjdC5oIgogI2luY2x1ZGUgIkp1bXBUYWJs
ZS5oIgpAQCAtMzc5LDcgKzM3OCw3IEBAIHB1YmxpYzoKICAgICAKICAgICBFeGVjdXRhYmxlVG9D
b2RlQmxvY2tFZGdlKiBvd25lckVkZ2UoKSBjb25zdCB7IHJldHVybiBtX293bmVyRWRnZS5nZXQo
KTsgfQogCi0gICAgVk0qIHZtKCkgY29uc3QgeyByZXR1cm4gbV9wb2lzb25lZFZNLnVucG9pc29u
ZWQoKTsgfQorICAgIFZNKiB2bSgpIGNvbnN0IHsgcmV0dXJuIG1fdm07IH0KIAogICAgIHZvaWQg
c2V0VGhpc1JlZ2lzdGVyKFZpcnR1YWxSZWdpc3RlciB0aGlzUmVnaXN0ZXIpIHsgbV90aGlzUmVn
aXN0ZXIgPSB0aGlzUmVnaXN0ZXI7IH0KICAgICBWaXJ0dWFsUmVnaXN0ZXIgdGhpc1JlZ2lzdGVy
KCkgY29uc3QgeyByZXR1cm4gbV90aGlzUmVnaXN0ZXI7IH0KQEAgLTUyMSw3ICs1MjAsNyBAQCBw
dWJsaWM6CiAgICAgewogICAgICAgICB1bnNpZ25lZCByZXN1bHQgPSBtX2NvbnN0YW50UmVnaXN0
ZXJzLnNpemUoKTsKICAgICAgICAgbV9jb25zdGFudFJlZ2lzdGVycy5hcHBlbmQoV3JpdGVCYXJy
aWVyPFVua25vd24+KCkpOwotICAgICAgICBtX2NvbnN0YW50UmVnaXN0ZXJzLmxhc3QoKS5zZXQo
Km1fcG9pc29uZWRWTSwgdGhpcywgdik7CisgICAgICAgIG1fY29uc3RhbnRSZWdpc3RlcnMubGFz
dCgpLnNldCgqbV92bSwgdGhpcywgdik7CiAgICAgICAgIG1fY29uc3RhbnRzU291cmNlQ29kZVJl
cHJlc2VudGF0aW9uLmFwcGVuZChTb3VyY2VDb2RlUmVwcmVzZW50YXRpb246Ok90aGVyKTsKICAg
ICAgICAgcmV0dXJuIHJlc3VsdDsKICAgICB9CkBAIC01NDcsNyArNTQ2LDcgQEAgcHVibGljOgog
ICAgIGNvbnN0IFZlY3RvcjxCaXRWZWN0b3I+JiBiaXRWZWN0b3JzKCkgY29uc3QgeyByZXR1cm4g
bV91bmxpbmtlZENvZGUtPmJpdFZlY3RvcnMoKTsgfQogICAgIGNvbnN0IEJpdFZlY3RvciYgYml0
VmVjdG9yKHNpemVfdCBpKSB7IHJldHVybiBtX3VubGlua2VkQ29kZS0+Yml0VmVjdG9yKGkpOyB9
CiAKLSAgICBIZWFwKiBoZWFwKCkgY29uc3QgeyByZXR1cm4gJm1fcG9pc29uZWRWTS0+aGVhcDsg
fQorICAgIEhlYXAqIGhlYXAoKSBjb25zdCB7IHJldHVybiAmbV92bS0+aGVhcDsgfQogICAgIEpT
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QoKSB7IHJldHVybiBtX2dsb2JhbE9iamVjdC5nZXQo
KTsgfQogCiAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdEZvcihDb2RlT3JpZ2luKTsK
QEAgLTg5Nyw3ICs4OTYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcmVwbGFjZUNvbnN0YW50KGlu
dCBpbmRleCwgSlNWYWx1ZSB2YWx1ZSkKICAgICB7CiAgICAgICAgIEFTU0VSVChpc0NvbnN0YW50
UmVnaXN0ZXJJbmRleChpbmRleCkgJiYgc3RhdGljX2Nhc3Q8c2l6ZV90PihpbmRleCAtIEZpcnN0
Q29uc3RhbnRSZWdpc3RlckluZGV4KSA8IG1fY29uc3RhbnRSZWdpc3RlcnMuc2l6ZSgpKTsKLSAg
ICAgICAgbV9jb25zdGFudFJlZ2lzdGVyc1tpbmRleCAtIEZpcnN0Q29uc3RhbnRSZWdpc3Rlcklu
ZGV4XS5zZXQoKm1fcG9pc29uZWRWTSwgdGhpcywgdmFsdWUpOworICAgICAgICBtX2NvbnN0YW50
UmVnaXN0ZXJzW2luZGV4IC0gRmlyc3RDb25zdGFudFJlZ2lzdGVySW5kZXhdLnNldCgqbV92bSwg
dGhpcywgdmFsdWUpOwogICAgIH0KIAogICAgIGJvb2wgc2hvdWxkVmlzaXRTdHJvbmdseShjb25z
dCBDb25jdXJyZW50SlNMb2NrZXImKTsKQEAgLTk0NSw3ICs5NDQsNyBAQCBwcml2YXRlOgogICAg
IFdyaXRlQmFycmllcjxVbmxpbmtlZENvZGVCbG9jaz4gbV91bmxpbmtlZENvZGU7CiAgICAgV3Jp
dGVCYXJyaWVyPEV4ZWN1dGFibGVCYXNlPiBtX293bmVyRXhlY3V0YWJsZTsKICAgICBXcml0ZUJh
cnJpZXI8RXhlY3V0YWJsZVRvQ29kZUJsb2NrRWRnZT4gbV9vd25lckVkZ2U7Ci0gICAgUG9pc29u
ZWQ8Q29kZUJsb2NrUG9pc29uLCBWTSo+IG1fcG9pc29uZWRWTTsKKyAgICBWTSogbV92bTsKIAog
ICAgIGNvbnN0IEluc3RydWN0aW9uU3RyZWFtKiBtX2luc3RydWN0aW9uczsKICAgICBjb25zdCB2
b2lkKiBtX2luc3RydWN0aW9uc1Jhd1BvaW50ZXIgeyBudWxscHRyIH07CkBAIC05NTQsMjQgKzk1
MywyNCBAQCBwcml2YXRlOgogICAgIFZpcnR1YWxSZWdpc3RlciBtX3Njb3BlUmVnaXN0ZXI7CiAg
ICAgbXV0YWJsZSBDb2RlQmxvY2tIYXNoIG1faGFzaDsKIAotICAgIFBvaXNvbmVkUmVmUHRyPENv
ZGVCbG9ja1BvaXNvbiwgU291cmNlUHJvdmlkZXI+IG1fc291cmNlOworICAgIFJlZlB0cjxTb3Vy
Y2VQcm92aWRlcj4gbV9zb3VyY2U7CiAgICAgdW5zaWduZWQgbV9zb3VyY2VPZmZzZXQ7CiAgICAg
dW5zaWduZWQgbV9maXJzdExpbmVDb2x1bW5PZmZzZXQ7CiAKICAgICBTZW50aW5lbExpbmtlZExp
c3Q8TExJbnRDYWxsTGlua0luZm8sIEJhc2ljUmF3U2VudGluZWxOb2RlPExMSW50Q2FsbExpbmtJ
bmZvPj4gbV9pbmNvbWluZ0xMSW50Q2FsbHM7CiAgICAgU3RydWN0dXJlV2F0Y2hwb2ludE1hcCBt
X2xsaW50R2V0QnlJZFdhdGNocG9pbnRNYXA7Ci0gICAgUG9pc29uZWRSZWZQdHI8Q29kZUJsb2Nr
UG9pc29uLCBKSVRDb2RlPiBtX2ppdENvZGU7CisgICAgUmVmUHRyPEpJVENvZGU+IG1faml0Q29k
ZTsKICNpZiAhRU5BQkxFKENfTE9PUCkKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVnaXN0ZXJBdE9m
ZnNldExpc3Q+IG1fY2FsbGVlU2F2ZVJlZ2lzdGVyczsKICNlbmRpZgogI2lmIEVOQUJMRShKSVQp
Ci0gICAgUG9pc29uZWRCYWc8Q29kZUJsb2NrUG9pc29uLCBTdHJ1Y3R1cmVTdHViSW5mbz4gbV9z
dHViSW5mb3M7Ci0gICAgUG9pc29uZWRCYWc8Q29kZUJsb2NrUG9pc29uLCBKSVRBZGRJQz4gbV9h
ZGRJQ3M7Ci0gICAgUG9pc29uZWRCYWc8Q29kZUJsb2NrUG9pc29uLCBKSVRNdWxJQz4gbV9tdWxJ
Q3M7Ci0gICAgUG9pc29uZWRCYWc8Q29kZUJsb2NrUG9pc29uLCBKSVROZWdJQz4gbV9uZWdJQ3M7
Ci0gICAgUG9pc29uZWRCYWc8Q29kZUJsb2NrUG9pc29uLCBKSVRTdWJJQz4gbV9zdWJJQ3M7Ci0g
ICAgUG9pc29uZWRCYWc8Q29kZUJsb2NrUG9pc29uLCBCeVZhbEluZm8+IG1fYnlWYWxJbmZvczsK
LSAgICBQb2lzb25lZEJhZzxDb2RlQmxvY2tQb2lzb24sIENhbGxMaW5rSW5mbz4gbV9jYWxsTGlu
a0luZm9zOworICAgIEJhZzxTdHJ1Y3R1cmVTdHViSW5mbz4gbV9zdHViSW5mb3M7CisgICAgQmFn
PEpJVEFkZElDPiBtX2FkZElDczsKKyAgICBCYWc8SklUTXVsSUM+IG1fbXVsSUNzOworICAgIEJh
ZzxKSVROZWdJQz4gbV9uZWdJQ3M7CisgICAgQmFnPEpJVFN1YklDPiBtX3N1YklDczsKKyAgICBC
YWc8QnlWYWxJbmZvPiBtX2J5VmFsSW5mb3M7CisgICAgQmFnPENhbGxMaW5rSW5mbz4gbV9jYWxs
TGlua0luZm9zOwogICAgIFNlbnRpbmVsTGlua2VkTGlzdDxDYWxsTGlua0luZm8sIEJhc2ljUmF3
U2VudGluZWxOb2RlPENhbGxMaW5rSW5mbz4+IG1faW5jb21pbmdDYWxsczsKICAgICBTZW50aW5l
bExpbmtlZExpc3Q8UG9seW1vcnBoaWNDYWxsTm9kZSwgQmFzaWNSYXdTZW50aW5lbE5vZGU8UG9s
eW1vcnBoaWNDYWxsTm9kZT4+IG1faW5jb21pbmdQb2x5bW9ycGhpY0NhbGxzOwogICAgIHN0ZDo6
dW5pcXVlX3B0cjxQQ1RvQ29kZU9yaWdpbk1hcD4gbV9wY1RvQ29kZU9yaWdpbk1hcDsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9MTEludE9mZmxpbmVBc21Db25maWcuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRPZmZsaW5lQXNtQ29u
ZmlnLmgJKHJldmlzaW9uIDI0MDgyMikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
TEludE9mZmxpbmVBc21Db25maWcuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTItMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTItMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI4LDcgKzI4LDYgQEAK
ICNpbmNsdWRlICJMTEludENvbW1vbi5oIgogI2luY2x1ZGUgPHd0Zi9Bc3NlcnRpb25zLmg+CiAj
aW5jbHVkZSA8d3RmL0dpZ2FjYWdlLmg+Ci0jaW5jbHVkZSA8d3RmL1BvaXNvbmVkLmg+CiAKICNp
ZiBFTkFCTEUoQ19MT09QKQogI2RlZmluZSBPRkZMSU5FX0FTTV9DX0xPT1AgMQpAQCAtMTM2LDEy
ICsxMzUsNiBAQAogI2RlZmluZSBPRkZMSU5FX0FTTV9BRERSRVNTNjQgMAogI2VuZGlmCiAKLSNp
ZiBFTkFCTEUoUE9JU09OKQotI2RlZmluZSBPRkZMSU5FX0FTTV9QT0lTT04gMQotI2Vsc2UKLSNk
ZWZpbmUgT0ZGTElORV9BU01fUE9JU09OIDAKLSNlbmRpZgotCiAjaWYgIUFTU0VSVF9ESVNBQkxF
RAogI2RlZmluZSBPRkZMSU5FX0FTTV9BU1NFUlRfRU5BQkxFRCAxCiAjZWxzZQpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCShyZXZpc2lv
biAyNDA4MjIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDQ4LDggKzE0NDgsNiBAQCBzdGF0aWMgU2xvd1BhdGhS
ZXR1cm5UeXBlIGhhbmRsZUhvc3RDYWxsCiAgICAgICAgICAgICBOYXRpdmVDYWxsRnJhbWVUcmFj
ZXIgdHJhY2VyKCZ2bSwgZXhlY0NhbGxlZSk7CiAgICAgICAgICAgICBleGVjQ2FsbGVlLT5zZXRD
YWxsZWUoYXNPYmplY3QoY2FsbGVlKSk7CiAgICAgICAgICAgICB2bS5ob3N0Q2FsbFJldHVyblZh
bHVlID0gSlNWYWx1ZTo6ZGVjb2RlKGNhbGxEYXRhLm5hdGl2ZS5mdW5jdGlvbihleGVjQ2FsbGVl
KSk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIFBvaXNvbmVkTWFzbVB0cjo6YXNzZXJ0SXNO
b3RQb2lzb25lZChMTEludDo6Z2V0Q29kZVB0cihnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSk7CiAg
ICAgICAgICAgICBMTElOVF9DQUxMX1JFVFVSTihleGVjQ2FsbGVlLCBleGVjQ2FsbGVlLCBMTElu
dDo6Z2V0Q29kZVB0cihnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSwgQ0Z1bmN0aW9uUHRyVGFnKTsK
ICAgICAgICAgfQogICAgICAgICAKQEAgLTE0NzAsOCArMTQ2OCw2IEBAIHN0YXRpYyBTbG93UGF0
aFJldHVyblR5cGUgaGFuZGxlSG9zdENhbGwKICAgICAgICAgTmF0aXZlQ2FsbEZyYW1lVHJhY2Vy
IHRyYWNlcigmdm0sIGV4ZWNDYWxsZWUpOwogICAgICAgICBleGVjQ2FsbGVlLT5zZXRDYWxsZWUo
YXNPYmplY3QoY2FsbGVlKSk7CiAgICAgICAgIHZtLmhvc3RDYWxsUmV0dXJuVmFsdWUgPSBKU1Zh
bHVlOjpkZWNvZGUoY29uc3RydWN0RGF0YS5uYXRpdmUuZnVuY3Rpb24oZXhlY0NhbGxlZSkpOwot
Ci0gICAgICAgIFBvaXNvbmVkTWFzbVB0cjo6YXNzZXJ0SXNOb3RQb2lzb25lZChMTEludDo6Z2V0
Q29kZVB0cihnZXRIb3N0Q2FsbFJldHVyblZhbHVlKSk7CiAgICAgICAgIExMSU5UX0NBTExfUkVU
VVJOKGV4ZWNDYWxsZWUsIGV4ZWNDYWxsZWUsIExMSW50OjpnZXRDb2RlUHRyKGdldEhvc3RDYWxs
UmV0dXJuVmFsdWUpLCBDRnVuY3Rpb25QdHJUYWcpOwogICAgIH0KICAgICAKQEAgLTE1MDgsNyAr
MTUwNCw2IEBAIGlubGluZSBTbG93UGF0aFJldHVyblR5cGUgc2V0VXBDYWxsKEV4ZWMKICAgICAg
ICAgICAgIH0KIAogICAgICAgICAgICAgYXNzZXJ0SXNUYWdnZWRXaXRoKGNvZGVQdHIuZXhlY3V0
YWJsZUFkZHJlc3MoKSwgSlNFbnRyeVB0clRhZyk7Ci0gICAgICAgICAgICBQb2lzb25lZE1hc21Q
dHI6OmFzc2VydElzTm90UG9pc29uZWQoY29kZVB0ci5leGVjdXRhYmxlQWRkcmVzcygpKTsKICAg
ICAgICAgICAgIExMSU5UX0NBTExfUkVUVVJOKGV4ZWMsIGV4ZWNDYWxsZWUsIGNvZGVQdHIuZXhl
Y3V0YWJsZUFkZHJlc3MoKSwgSlNFbnRyeVB0clRhZyk7CiAgICAgICAgIH0KICAgICAgICAgUkVM
RUFTRV9BTkRfUkVUVVJOKHRocm93U2NvcGUsIGhhbmRsZUhvc3RDYWxsKGV4ZWNDYWxsZWUsIGNh
bGxlZUFzVmFsdWUsIGtpbmQpKTsKQEAgLTE1NTksNyArMTU1NCw2IEBAIGlubGluZSBTbG93UGF0
aFJldHVyblR5cGUgc2V0VXBDYWxsKEV4ZWMKICAgICB9CiAKICAgICBhc3NlcnRJc1RhZ2dlZFdp
dGgoY29kZVB0ci5leGVjdXRhYmxlQWRkcmVzcygpLCBKU0VudHJ5UHRyVGFnKTsKLSAgICBQb2lz
b25lZE1hc21QdHI6OmFzc2VydElzTm90UG9pc29uZWQoY29kZVB0ci5leGVjdXRhYmxlQWRkcmVz
cygpKTsKICAgICBMTElOVF9DQUxMX1JFVFVSTihleGVjLCBleGVjQ2FsbGVlLCBjb2RlUHRyLmV4
ZWN1dGFibGVBZGRyZXNzKCksIEpTRW50cnlQdHJUYWcpOwogfQogCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0
LmFzbQkocmV2aXNpb24gMjQwODIyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXIzMl82NC5hc20JKHdvcmtpbmcgY29weSkKQEAgLTI0MTEsOCArMjQx
MSw3IEBAIGVuZCkKIAogbGxpbnRPcFdpdGhNZXRhZGF0YShvcF9wcm9maWxlX3R5cGUsIE9wUHJv
ZmlsZVR5cGUsIG1hY3JvIChzaXplLCBnZXQsIGRpc3BhdGNoLCBtZXRhZGF0YSwgcmV0dXJuKQog
ICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MQotICAgIGxvYWRwIENvZGVCbG9jazo6bV9wb2lz
b25lZFZNW3QxXSwgdDEKLSAgICB1bnBvaXNvbihfZ19Db2RlQmxvY2tQb2lzb24sIHQxLCB0MikK
KyAgICBsb2FkcCBDb2RlQmxvY2s6Om1fdm1bdDFdLCB0MQogICAgICMgdDEgaXMgaG9sZGluZyB0
aGUgcG9pbnRlciB0byB0aGUgdHlwZVByb2ZpbGVyTG9nLgogICAgIGxvYWRwIFZNOjptX3R5cGVQ
cm9maWxlckxvZ1t0MV0sIHQxCiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyNjQuYXNtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtCShyZXZpc2lvbiAyNDA4MjIpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbQko
d29ya2luZyBjb3B5KQpAQCAtODAsNyArODAsNiBAQCBtYWNybyBkaXNwYXRjaEFmdGVyQ2FsbChz
aXplLCBvcGNvZGVTdHJ1CiAgICAgbG9hZGkgQXJndW1lbnRDb3VudCArIFRhZ09mZnNldFtjZnJd
LCBQQwogICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCBQQgogICAgIGxvYWRwIENvZGVCbG9jazo6
bV9pbnN0cnVjdGlvbnNSYXdQb2ludGVyW1BCXSwgUEIKLSAgICB1bnBvaXNvbihfZ19Db2RlQmxv
Y2tQb2lzb24sIFBCLCB0MSkKICAgICBnZXQoc2l6ZSwgb3Bjb2RlU3RydWN0LCBtX2RzdCwgdDEp
CiAgICAgc3RvcmVxIHIwLCBbY2ZyLCB0MSwgOF0KICAgICBtZXRhZGF0YShzaXplLCBvcGNvZGVT
dHJ1Y3QsIHQyLCB0MSkKQEAgLTUzMSwxNyArNTMwLDE2IEBAIG1hY3JvIHdyaXRlQmFycmllck9u
R2xvYmFsTGV4aWNhbEVudmlyb24KICAgICAgICAgZW5kKQogZW5kCiAKLW1hY3JvIHN0cnVjdHVy
ZUlEVG9TdHJ1Y3R1cmVXaXRoU2NyYXRjaChzdHJ1Y3R1cmVJRFRoZW5TdHJ1Y3R1cmUsIHNjcmF0
Y2gsIHNjcmF0Y2gyKQorbWFjcm8gc3RydWN0dXJlSURUb1N0cnVjdHVyZVdpdGhTY3JhdGNoKHN0
cnVjdHVyZUlEVGhlblN0cnVjdHVyZSwgc2NyYXRjaCkKICAgICBsb2FkcCBDb2RlQmxvY2tbY2Zy
XSwgc2NyYXRjaAotICAgIGxvYWRwIENvZGVCbG9jazo6bV9wb2lzb25lZFZNW3NjcmF0Y2hdLCBz
Y3JhdGNoCi0gICAgdW5wb2lzb24oX2dfQ29kZUJsb2NrUG9pc29uLCBzY3JhdGNoLCBzY3JhdGNo
MikKKyAgICBsb2FkcCBDb2RlQmxvY2s6Om1fdm1bc2NyYXRjaF0sIHNjcmF0Y2gKICAgICBsb2Fk
cCBWTTo6aGVhcCArIEhlYXA6Om1fc3RydWN0dXJlSURUYWJsZSArIFN0cnVjdHVyZUlEVGFibGU6
Om1fdGFibGVbc2NyYXRjaF0sIHNjcmF0Y2gKICAgICBsb2FkcCBbc2NyYXRjaCwgc3RydWN0dXJl
SURUaGVuU3RydWN0dXJlLCBQdHJTaXplXSwgc3RydWN0dXJlSURUaGVuU3RydWN0dXJlCiBlbmQK
IAotbWFjcm8gbG9hZFN0cnVjdHVyZVdpdGhTY3JhdGNoKGNlbGwsIHN0cnVjdHVyZSwgc2NyYXRj
aCwgc2NyYXRjaDIpCittYWNybyBsb2FkU3RydWN0dXJlV2l0aFNjcmF0Y2goY2VsbCwgc3RydWN0
dXJlLCBzY3JhdGNoKQogICAgIGxvYWRpIEpTQ2VsbDo6bV9zdHJ1Y3R1cmVJRFtjZWxsXSwgc3Ry
dWN0dXJlCi0gICAgc3RydWN0dXJlSURUb1N0cnVjdHVyZVdpdGhTY3JhdGNoKHN0cnVjdHVyZSwg
c2NyYXRjaCwgc2NyYXRjaDIpCisgICAgc3RydWN0dXJlSURUb1N0cnVjdHVyZVdpdGhTY3JhdGNo
KHN0cnVjdHVyZSwgc2NyYXRjaCkKIGVuZAogCiAjIEVudHJ5cG9pbnRzIGludG8gdGhlIGludGVy
cHJldGVyLgpAQCAtNjI5LDcgKzYyNyw2IEBAIG1hY3JvIGZ1bmN0aW9uQXJpdHlDaGVjayhkb25l
TGFiZWwsIHNsb3cKICAgICAjIFJlbG9hZCBDb2RlQmxvY2sgYW5kIHJlc2V0IFBDLCBzaW5jZSB0
aGUgc2xvd19wYXRoIGNsb2JiZXJlZCB0aGVtLgogICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0
MQogICAgIGxvYWRwIENvZGVCbG9jazo6bV9pbnN0cnVjdGlvbnNSYXdQb2ludGVyW3QxXSwgUEIK
LSAgICB1bnBvaXNvbihfZ19Db2RlQmxvY2tQb2lzb24sIFBCLCB0MikKICAgICBtb3ZlIDAsIFBD
CiAgICAgam1wIGRvbmVMYWJlbAogZW5kCkBAIC02OTcsNyArNjk0LDcgQEAgbGxpbnRPcFdpdGhN
ZXRhZGF0YShvcF90b190aGlzLCBPcFRvVGhpcwogICAgIGxvYWRxIFtjZnIsIHQwLCA4XSwgdDAK
ICAgICBidHFueiB0MCwgdGFnTWFzaywgLm9wVG9UaGlzU2xvdwogICAgIGJibmVxIEpTQ2VsbDo6
bV90eXBlW3QwXSwgRmluYWxPYmplY3RUeXBlLCAub3BUb1RoaXNTbG93Ci0gICAgbG9hZFN0cnVj
dHVyZVdpdGhTY3JhdGNoKHQwLCB0MSwgdDIsIHQzKQorICAgIGxvYWRTdHJ1Y3R1cmVXaXRoU2Ny
YXRjaCh0MCwgdDEsIHQyKQogICAgIG1ldGFkYXRhKHQyLCB0MykKICAgICBsb2FkcCBPcFRvVGhp
czo6TWV0YWRhdGE6Om1fY2FjaGVkU3RydWN0dXJlW3QyXSwgdDIKICAgICBicG5lcSB0MSwgdDIs
IC5vcFRvVGhpc1Nsb3cKQEAgLTc2Nyw3ICs3NjQsNyBAQCBtYWNybyBlcXVhbE51bGxDb21wYXJp
c29uT3Aob3Bjb2RlTmFtZSwgCiAgICAgICAgIG1vdmUgMCwgdDAKICAgICAgICAgam1wIC5kb25l
CiAgICAgLm1hc3F1ZXJhZGVzQXNVbmRlZmluZWQ6Ci0gICAgICAgIGxvYWRTdHJ1Y3R1cmVXaXRo
U2NyYXRjaCh0MCwgdDIsIHQxLCB0MykKKyAgICAgICAgbG9hZFN0cnVjdHVyZVdpdGhTY3JhdGNo
KHQwLCB0MiwgdDEpCiAgICAgICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MAogICAgICAgICBs
b2FkcCBDb2RlQmxvY2s6Om1fZ2xvYmFsT2JqZWN0W3QwXSwgdDAKICAgICAgICAgY3BlcSBTdHJ1
Y3R1cmU6Om1fZ2xvYmFsT2JqZWN0W3QyXSwgdDAsIHQwCkBAIC0xMTg1LDcgKzExODIsNyBAQCBs
bGludE9wV2l0aFJldHVybihvcF9pc191bmRlZmluZWQsIE9wSXNVCiAgICAgbW92ZSBWYWx1ZUZh
bHNlLCB0MQogICAgIHJldHVybih0MSkKIC5tYXNxdWVyYWRlc0FzVW5kZWZpbmVkOgotICAgIGxv
YWRTdHJ1Y3R1cmVXaXRoU2NyYXRjaCh0MCwgdDMsIHQxLCB0NSkKKyAgICBsb2FkU3RydWN0dXJl
V2l0aFNjcmF0Y2godDAsIHQzLCB0MSkKICAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdDEKICAg
ICBsb2FkcCBDb2RlQmxvY2s6Om1fZ2xvYmFsT2JqZWN0W3QxXSwgdDEKICAgICBjcGVxIFN0cnVj
dHVyZTo6bV9nbG9iYWxPYmplY3RbdDNdLCB0MSwgdDAKQEAgLTEzNTYsNyArMTM1Myw3IEBAIGxs
aW50T3BXaXRoTWV0YWRhdGEob3BfcHV0X2J5X2lkLCBPcFB1dEIKICAgICBsb2FkcCBPcFB1dEJ5
SWQ6Ok1ldGFkYXRhOjptX3N0cnVjdHVyZUNoYWluW3Q1XSwgdDMKICAgICBidHB6IHQzLCAub3BQ
dXRCeUlkVHJhbnNpdGlvbkRpcmVjdAogCi0gICAgc3RydWN0dXJlSURUb1N0cnVjdHVyZVdpdGhT
Y3JhdGNoKHQyLCB0MSwgdDMpCisgICAgc3RydWN0dXJlSURUb1N0cnVjdHVyZVdpdGhTY3JhdGNo
KHQyLCB0MSkKIAogICAgICMgcmVsb2FkIHRoZSBTdHJ1Y3R1cmVDaGFpbiBzaW5jZSB3ZSB1c2Vk
IHQzIGFzIGEgc2NyYXRjaCBhYm92ZQogICAgIGxvYWRwIE9wUHV0QnlJZDo6TWV0YWRhdGE6Om1f
c3RydWN0dXJlQ2hhaW5bdDVdLCB0MwpAQCAtMTY5NCw3ICsxNjkxLDcgQEAgbWFjcm8gZXF1YWxO
dWxsSnVtcE9wKG9wY29kZU5hbWUsIG9wY29kZQogICAgICAgICBhc3NlcnROb3RDb25zdGFudChz
aXplLCB0MCkKICAgICAgICAgbG9hZHEgW2NmciwgdDAsIDhdLCB0MAogICAgICAgICBidHFueiB0
MCwgdGFnTWFzaywgLmltbWVkaWF0ZQotICAgICAgICBsb2FkU3RydWN0dXJlV2l0aFNjcmF0Y2go
dDAsIHQyLCB0MSwgdDMpCisgICAgICAgIGxvYWRTdHJ1Y3R1cmVXaXRoU2NyYXRjaCh0MCwgdDIs
IHQxKQogICAgICAgICBjZWxsSGFuZGxlcih0MiwgSlNDZWxsOjptX2ZsYWdzW3QwXSwgLnRhcmdl
dCkKICAgICAgICAgZGlzcGF0Y2goKQogCkBAIC0xOTM0LDE1ICsxOTMxLDggQEAgbWFjcm8gY29t
bW9uQ2FsbE9wKG9wY29kZU5hbWUsIHNsb3dQYXRoLAogICAgICAgICBzdG9yZWkgUEMsIEFyZ3Vt
ZW50Q291bnQgKyBUYWdPZmZzZXRbY2ZyXQogICAgICAgICBzdG9yZWkgdDIsIEFyZ3VtZW50Q291
bnQgKyBQYXlsb2FkT2Zmc2V0W3QzXQogICAgICAgICBtb3ZlIHQzLCBzcAotICAgICAgICBpZiBQ
T0lTT04KLSAgICAgICAgICAgIGxvYWRwIF9nX0pJVENvZGVQb2lzb24sIHQyCi0gICAgICAgICAg
ICB4b3JwICVvcGNvZGVTdHJ1Y3QlOjpNZXRhZGF0YTo6bV9jYWxsTGlua0luZm8ubWFjaGluZUNv
ZGVUYXJnZXRbdDVdLCB0MgotICAgICAgICAgICAgcHJlcGFyZUNhbGwodDIsIHQxLCB0MywgdDQs
IEpTRW50cnlQdHJUYWcpCi0gICAgICAgICAgICBjYWxsVGFyZ2V0RnVuY3Rpb24oc2l6ZSwgb3Bj
b2RlU3RydWN0LCBkaXNwYXRjaCwgdDIsIEpTRW50cnlQdHJUYWcpCi0gICAgICAgIGVsc2UKLSAg
ICAgICAgICAgIHByZXBhcmVDYWxsKCVvcGNvZGVTdHJ1Y3QlOjpNZXRhZGF0YTo6bV9jYWxsTGlu
a0luZm8ubWFjaGluZUNvZGVUYXJnZXRbdDVdLCB0MiwgdDMsIHQ0LCBKU0VudHJ5UHRyVGFnKQot
ICAgICAgICAgICAgY2FsbFRhcmdldEZ1bmN0aW9uKHNpemUsIG9wY29kZVN0cnVjdCwgZGlzcGF0
Y2gsICVvcGNvZGVTdHJ1Y3QlOjpNZXRhZGF0YTo6bV9jYWxsTGlua0luZm8ubWFjaGluZUNvZGVU
YXJnZXRbdDVdLCBKU0VudHJ5UHRyVGFnKQotICAgICAgICBlbmQKKyAgICAgICAgcHJlcGFyZUNh
bGwoJW9wY29kZVN0cnVjdCU6Ok1ldGFkYXRhOjptX2NhbGxMaW5rSW5mby5tYWNoaW5lQ29kZVRh
cmdldFt0NV0sIHQyLCB0MywgdDQsIEpTRW50cnlQdHJUYWcpCisgICAgICAgIGNhbGxUYXJnZXRG
dW5jdGlvbihzaXplLCBvcGNvZGVTdHJ1Y3QsIGRpc3BhdGNoLCAlb3Bjb2RlU3RydWN0JTo6TWV0
YWRhdGE6Om1fY2FsbExpbmtJbmZvLm1hY2hpbmVDb2RlVGFyZ2V0W3Q1XSwgSlNFbnRyeVB0clRh
ZykKIAogICAgIC5vcENhbGxTbG93OgogICAgICAgICBzbG93UGF0aEZvckNhbGwoc2l6ZSwgb3Bj
b2RlU3RydWN0LCBkaXNwYXRjaCwgc2xvd1BhdGgsIHByZXBhcmVDYWxsKQpAQCAtMTk4OCw3ICsx
OTc4LDYgQEAgY29tbW9uT3AobGxpbnRfb3BfY2F0Y2gsIG1hY3JvKCkgZW5kLCBtYQogICAgIGxv
YWRwIENvZGVCbG9ja1tjZnJdLCBQQgogICAgIGxvYWRwIENvZGVCbG9jazo6bV9tZXRhZGF0YVtQ
Ql0sIG1ldGFkYXRhVGFibGUKICAgICBsb2FkcCBDb2RlQmxvY2s6Om1faW5zdHJ1Y3Rpb25zUmF3
UG9pbnRlcltQQl0sIFBCCi0gICAgdW5wb2lzb24oX2dfQ29kZUJsb2NrUG9pc29uLCBQQiwgdDIp
CiAgICAgbG9hZHAgVk06OnRhcmdldEludGVycHJldGVyUENGb3JUaHJvd1t0M10sIFBDCiAgICAg
c3VicCBQQiwgUEMKIApAQCAtMjA2NSwyMSArMjA1NCwxNiBAQCBtYWNybyBuYXRpdmVDYWxsVHJh
bXBvbGluZShleGVjdXRhYmxlT2ZmCiAgICAgbW92ZSBjZnIsIGEwCiAgICAgbG9hZHAgQ2FsbGVl
W2Nmcl0sIHQxCiAgICAgbG9hZHAgSlNGdW5jdGlvbjo6bV9leGVjdXRhYmxlW3QxXSwgdDEKLSAg
ICB1bnBvaXNvbihfZ19KU0Z1bmN0aW9uUG9pc29uLCB0MSwgdDIpCiAgICAgY2hlY2tTdGFja1Bv
aW50ZXJBbGlnbm1lbnQodDMsIDB4ZGVhZDAwMDEpCiAgICAgaWYgQ19MT09QCi0gICAgICAgIGxv
YWRwIF9nX05hdGl2ZUNvZGVQb2lzb24sIHQyCi0gICAgICAgIHhvcnAgZXhlY3V0YWJsZU9mZnNl
dFRvRnVuY3Rpb25bdDFdLCB0MgotICAgICAgICBjbG9vcENhbGxOYXRpdmUgdDIKKyAgICAgICAg
Y2xvb3BDYWxsTmF0aXZlIGV4ZWN1dGFibGVPZmZzZXRUb0Z1bmN0aW9uW3QxXQogICAgIGVsc2UK
ICAgICAgICAgaWYgWDg2XzY0X1dJTgogICAgICAgICAgICAgc3VicCAzMiwgc3AKICAgICAgICAg
ICAgIGNhbGwgZXhlY3V0YWJsZU9mZnNldFRvRnVuY3Rpb25bdDFdLCBKU0VudHJ5UHRyVGFnCiAg
ICAgICAgICAgICBhZGRwIDMyLCBzcAogICAgICAgICBlbHNlCi0gICAgICAgICAgICBsb2FkcCBf
Z19OYXRpdmVDb2RlUG9pc29uLCB0MgotICAgICAgICAgICAgeG9ycCBleGVjdXRhYmxlT2Zmc2V0
VG9GdW5jdGlvblt0MV0sIHQyCi0gICAgICAgICAgICBjYWxsIHQyLCBKU0VudHJ5UHRyVGFnCisg
ICAgICAgICAgICBjYWxsIGV4ZWN1dGFibGVPZmZzZXRUb0Z1bmN0aW9uW3QxXSwgSlNFbnRyeVB0
clRhZwogICAgICAgICBlbmQKICAgICBlbmQKIApAQCAtMjExMSwxOCArMjA5NSwxNCBAQCBtYWNy
byBpbnRlcm5hbEZ1bmN0aW9uQ2FsbFRyYW1wb2xpbmUob2ZmCiAgICAgbG9hZHAgQ2FsbGVlW2Nm
cl0sIHQxCiAgICAgY2hlY2tTdGFja1BvaW50ZXJBbGlnbm1lbnQodDMsIDB4ZGVhZDAwMDEpCiAg
ICAgaWYgQ19MT09QCi0gICAgICAgIGxvYWRwIF9nX05hdGl2ZUNvZGVQb2lzb24sIHQyCi0gICAg
ICAgIHhvcnAgb2Zmc2V0T2ZGdW5jdGlvblt0MV0sIHQyCi0gICAgICAgIGNsb29wQ2FsbE5hdGl2
ZSB0MgorICAgICAgICBjbG9vcENhbGxOYXRpdmUgb2Zmc2V0T2ZGdW5jdGlvblt0MV0KICAgICBl
bHNlCiAgICAgICAgIGlmIFg4Nl82NF9XSU4KICAgICAgICAgICAgIHN1YnAgMzIsIHNwCiAgICAg
ICAgICAgICBjYWxsIG9mZnNldE9mRnVuY3Rpb25bdDFdLCBKU0VudHJ5UHRyVGFnCiAgICAgICAg
ICAgICBhZGRwIDMyLCBzcAogICAgICAgICBlbHNlCi0gICAgICAgICAgICBsb2FkcCBfZ19OYXRp
dmVDb2RlUG9pc29uLCB0MgotICAgICAgICAgICAgeG9ycCBvZmZzZXRPZkZ1bmN0aW9uW3QxXSwg
dDIKLSAgICAgICAgICAgIGNhbGwgdDIsIEpTRW50cnlQdHJUYWcKKyAgICAgICAgICAgIGNhbGwg
b2Zmc2V0T2ZGdW5jdGlvblt0MV0sIEpTRW50cnlQdHJUYWcKICAgICAgICAgZW5kCiAgICAgZW5k
CiAKQEAgLTIyMzQsNyArMjIxNCw3IEBAIGVuZCkKIG1hY3JvIGxvYWRXaXRoU3RydWN0dXJlQ2hl
Y2sob3Bjb2RlU3RydWN0LCBnZXQsIHNsb3dQYXRoKQogICAgIGdldChtX3Njb3BlLCB0MCkKICAg
ICBsb2FkcSBbY2ZyLCB0MCwgOF0sIHQwCi0gICAgbG9hZFN0cnVjdHVyZVdpdGhTY3JhdGNoKHQw
LCB0MiwgdDEsIHQzKQorICAgIGxvYWRTdHJ1Y3R1cmVXaXRoU2NyYXRjaCh0MCwgdDIsIHQxKQog
ICAgIGxvYWRwICVvcGNvZGVTdHJ1Y3QlOjpNZXRhZGF0YTo6bV9zdHJ1Y3R1cmVbdDVdLCB0MQog
ICAgIGJwbmVxIHQyLCB0MSwgc2xvd1BhdGgKIGVuZApAQCAtMjQ3MSw4ICsyNDUxLDcgQEAgZW5k
KQogCiBsbGludE9wV2l0aE1ldGFkYXRhKG9wX3Byb2ZpbGVfdHlwZSwgT3BQcm9maWxlVHlwZSwg
bWFjcm8gKHNpemUsIGdldCwgZGlzcGF0Y2gsIG1ldGFkYXRhLCByZXR1cm4pCiAgICAgbG9hZHAg
Q29kZUJsb2NrW2Nmcl0sIHQxCi0gICAgbG9hZHAgQ29kZUJsb2NrOjptX3BvaXNvbmVkVk1bdDFd
LCB0MQotICAgIHVucG9pc29uKF9nX0NvZGVCbG9ja1BvaXNvbiwgdDEsIHQzKQorICAgIGxvYWRw
IENvZGVCbG9jazo6bV92bVt0MV0sIHQxCiAgICAgIyB0MSBpcyBob2xkaW5nIHRoZSBwb2ludGVy
IHRvIHRoZSB0eXBlUHJvZmlsZXJMb2cuCiAgICAgbG9hZHAgVk06Om1fdHlwZVByb2ZpbGVyTG9n
W3QxXSwgdDEKICAgICAjIHQyIGlzIGhvbGRpbmcgdGhlIHBvaW50ZXIgdG8gdGhlIGN1cnJlbnQg
bG9nIGVudHJ5LgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50
ZXJwcmV0ZXIuYXNtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9M
b3dMZXZlbEludGVycHJldGVyLmFzbQkocmV2aXNpb24gMjQwODIyKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIuYXNtCSh3b3JraW5nIGNvcHkpCkBA
IC04NDEsMTMgKzg0MSw2IEBAIG1hY3JvIHByZXNlcnZlUmV0dXJuQWRkcmVzc0FmdGVyQ2FsbChk
ZXMKICAgICBlbmQKIGVuZAogCi1tYWNybyB1bnBvaXNvbihwb2lzb24sIGZpZWxkUmVnLCBzY3Jh
dGNoKQotICAgIGlmIFBPSVNPTgotICAgICAgICBsb2FkcCBwb2lzb24sIHNjcmF0Y2gKLSAgICAg
ICAgeG9ycCBzY3JhdGNoLCBmaWVsZFJlZwotICAgIGVuZAotZW5kCi0KIG1hY3JvIGZ1bmN0aW9u
UHJvbG9ndWUoKQogICAgIHRhZ1JldHVybkFkZHJlc3Mgc3AKICAgICBpZiBYODYgb3IgWDg2X1dJ
TiBvciBYODZfNjQgb3IgWDg2XzY0X1dJTgpAQCAtMTAyNywzMSArMTAyMCwyOSBAQCBtYWNybyBh
c3NlcnROb3RDb25zdGFudChzaXplLCBpbmRleCkKICAgICBlbmQpCiBlbmQKIAotbWFjcm8gZnVu
Y3Rpb25Gb3JDYWxsQ29kZUJsb2NrR2V0dGVyKHRhcmdldFJlZ2lzdGVyLCBzY3JhdGNoKQorbWFj
cm8gZnVuY3Rpb25Gb3JDYWxsQ29kZUJsb2NrR2V0dGVyKHRhcmdldFJlZ2lzdGVyKQogICAgIGlm
IEpTVkFMVUU2NAogICAgICAgICBsb2FkcCBDYWxsZWVbY2ZyXSwgdGFyZ2V0UmVnaXN0ZXIKICAg
ICBlbHNlCiAgICAgICAgIGxvYWRwIENhbGxlZSArIFBheWxvYWRPZmZzZXRbY2ZyXSwgdGFyZ2V0
UmVnaXN0ZXIKICAgICBlbmQKICAgICBsb2FkcCBKU0Z1bmN0aW9uOjptX2V4ZWN1dGFibGVbdGFy
Z2V0UmVnaXN0ZXJdLCB0YXJnZXRSZWdpc3RlcgotICAgIHVucG9pc29uKF9nX0pTRnVuY3Rpb25Q
b2lzb24sIHRhcmdldFJlZ2lzdGVyLCBzY3JhdGNoKQogICAgIGxvYWRwIEZ1bmN0aW9uRXhlY3V0
YWJsZTo6bV9jb2RlQmxvY2tGb3JDYWxsW3RhcmdldFJlZ2lzdGVyXSwgdGFyZ2V0UmVnaXN0ZXIK
ICAgICBsb2FkcCBFeGVjdXRhYmxlVG9Db2RlQmxvY2tFZGdlOjptX2NvZGVCbG9ja1t0YXJnZXRS
ZWdpc3Rlcl0sIHRhcmdldFJlZ2lzdGVyCiBlbmQKIAotbWFjcm8gZnVuY3Rpb25Gb3JDb25zdHJ1
Y3RDb2RlQmxvY2tHZXR0ZXIodGFyZ2V0UmVnaXN0ZXIsIHNjcmF0Y2gpCittYWNybyBmdW5jdGlv
bkZvckNvbnN0cnVjdENvZGVCbG9ja0dldHRlcih0YXJnZXRSZWdpc3RlcikKICAgICBpZiBKU1ZB
TFVFNjQKICAgICAgICAgbG9hZHAgQ2FsbGVlW2Nmcl0sIHRhcmdldFJlZ2lzdGVyCiAgICAgZWxz
ZQogICAgICAgICBsb2FkcCBDYWxsZWUgKyBQYXlsb2FkT2Zmc2V0W2Nmcl0sIHRhcmdldFJlZ2lz
dGVyCiAgICAgZW5kCiAgICAgbG9hZHAgSlNGdW5jdGlvbjo6bV9leGVjdXRhYmxlW3RhcmdldFJl
Z2lzdGVyXSwgdGFyZ2V0UmVnaXN0ZXIKLSAgICB1bnBvaXNvbihfZ19KU0Z1bmN0aW9uUG9pc29u
LCB0YXJnZXRSZWdpc3Rlciwgc2NyYXRjaCkKICAgICBsb2FkcCBGdW5jdGlvbkV4ZWN1dGFibGU6
Om1fY29kZUJsb2NrRm9yQ29uc3RydWN0W3RhcmdldFJlZ2lzdGVyXSwgdGFyZ2V0UmVnaXN0ZXIK
ICAgICBsb2FkcCBFeGVjdXRhYmxlVG9Db2RlQmxvY2tFZGdlOjptX2NvZGVCbG9ja1t0YXJnZXRS
ZWdpc3Rlcl0sIHRhcmdldFJlZ2lzdGVyCiBlbmQKIAotbWFjcm8gbm90RnVuY3Rpb25Db2RlQmxv
Y2tHZXR0ZXIodGFyZ2V0UmVnaXN0ZXIsIGlnbm9yZWQpCittYWNybyBub3RGdW5jdGlvbkNvZGVC
bG9ja0dldHRlcih0YXJnZXRSZWdpc3RlcikKICAgICBsb2FkcCBDb2RlQmxvY2tbY2ZyXSwgdGFy
Z2V0UmVnaXN0ZXIKIGVuZAogCkBAIC0xMDc1LDcgKzEwNjYsNyBAQCBtYWNybyBwcm9sb2d1ZShj
b2RlQmxvY2tHZXR0ZXIsIGNvZGVCbG9jCiAgICAgICAgIGNhbGxTbG93UGF0aCh0cmFjZVNsb3dQ
YXRoKQogICAgICAgICBhZGRwIG1heEZyYW1lRXh0ZW50Rm9yU2xvd1BhdGhDYWxsLCBzcAogICAg
IGVuZAotICAgIGNvZGVCbG9ja0dldHRlcih0MSwgdDIpCisgICAgY29kZUJsb2NrR2V0dGVyKHQx
KQogICAgIGlmIG5vdCBDX0xPT1AKICAgICAgICAgYmFkZGlzIDUsIENvZGVCbG9jazo6bV9sbGlu
dEV4ZWN1dGVDb3VudGVyICsgQmFzZWxpbmVFeGVjdXRpb25Db3VudGVyOjptX2NvdW50ZXJbdDFd
LCAuY29udGludWUKICAgICAgICAgaWYgSlNWQUxVRTY0CkBAIC0xMTA1LDcgKzEwOTYsNyBAQCBt
YWNybyBwcm9sb2d1ZShjb2RlQmxvY2tHZXR0ZXIsIGNvZGVCbG9jCiAgICAgICAgIGVuZAogICAg
ICAgICBqbXAgcjAsIEpTRW50cnlQdHJUYWcKICAgICAucmVjb3ZlcjoKLSAgICAgICAgY29kZUJs
b2NrR2V0dGVyKHQxLCB0MikKKyAgICAgICAgY29kZUJsb2NrR2V0dGVyKHQxKQogICAgIC5jb250
aW51ZToKICAgICBlbmQKIApAQCAtMTExNiw3ICsxMTA3LDYgQEAgbWFjcm8gcHJvbG9ndWUoY29k
ZUJsb2NrR2V0dGVyLCBjb2RlQmxvYwogICAgICMgU2V0IHVwIHRoZSBQQy4KICAgICBpZiBKU1ZB
TFVFNjQKICAgICAgICAgbG9hZHAgQ29kZUJsb2NrOjptX2luc3RydWN0aW9uc1Jhd1BvaW50ZXJb
dDFdLCBQQgotICAgICAgICB1bnBvaXNvbihfZ19Db2RlQmxvY2tQb2lzb24sIFBCLCB0MykKICAg
ICAgICAgbW92ZSAwLCBQQwogICAgIGVsc2UKICAgICAgICAgbG9hZHAgQ29kZUJsb2NrOjptX2lu
c3RydWN0aW9uc1Jhd1BvaW50ZXJbdDFdLCBQQwpAQCAtMTEyNiw4ICsxMTE2LDcgQEAgbWFjcm8g
cHJvbG9ndWUoY29kZUJsb2NrR2V0dGVyLCBjb2RlQmxvYwogICAgIGdldEZyYW1lUmVnaXN0ZXJT
aXplRm9yQ29kZUJsb2NrKHQxLCB0MCkKICAgICBzdWJwIGNmciwgdDAsIHQwCiAgICAgYnBhIHQw
LCBjZnIsIC5uZWVkU3RhY2tDaGVjawotICAgIGxvYWRwIENvZGVCbG9jazo6bV9wb2lzb25lZFZN
W3QxXSwgdDIKLSAgICB1bnBvaXNvbihfZ19Db2RlQmxvY2tQb2lzb24sIHQyLCB0MykKKyAgICBs
b2FkcCBDb2RlQmxvY2s6Om1fdm1bdDFdLCB0MgogICAgIGlmIENfTE9PUAogICAgICAgICBicGJl
cSBWTTo6bV9jbG9vcFN0YWNrTGltaXRbdDJdLCB0MCwgLnN0YWNrSGVpZ2h0T0sKICAgICBlbHNl
CkBAIC0xMTUyLDcgKzExNDEsNyBAQCBtYWNybyBwcm9sb2d1ZShjb2RlQmxvY2tHZXR0ZXIsIGNv
ZGVCbG9jCiAuc3RhY2tIZWlnaHRPS0dldENvZGVCbG9jazoKICAgICAjIFN0YWNrIGNoZWNrIHNs
b3cgcGF0aCByZXR1cm5lZCB0aGF0IHRoZSBzdGFjayB3YXMgb2suCiAgICAgIyBTaW5jZSB0aGV5
IHdlcmUgY2xvYmJlcmVkLCBuZWVkIHRvIGdldCBDb2RlQmxvY2sgYW5kIG5ldyBzcAotICAgIGNv
ZGVCbG9ja0dldHRlcih0MSwgdDIpCisgICAgY29kZUJsb2NrR2V0dGVyKHQxKQogICAgIGdldEZy
YW1lUmVnaXN0ZXJTaXplRm9yQ29kZUJsb2NrKHQxLCB0MCkKICAgICBzdWJwIGNmciwgdDAsIHQw
CiAKQEAgLTE2NDAsOCArMTYyOSw3IEBAIGVuZCkKIAogbGxpbnRPcChvcF9jaGVja190cmFwcywg
T3BDaGVja1RyYXBzLCBtYWNybyAodW51c2VkLCB1bnVzZWQsIGRpc3BhdGNoKQogICAgIGxvYWRw
IENvZGVCbG9ja1tjZnJdLCB0MQotICAgIGxvYWRwIENvZGVCbG9jazo6bV9wb2lzb25lZFZNW3Qx
XSwgdDEKLSAgICB1bnBvaXNvbihfZ19Db2RlQmxvY2tQb2lzb24sIHQxLCB0MikKKyAgICBsb2Fk
cCBDb2RlQmxvY2s6Om1fdm1bdDFdLCB0MQogICAgIGxvYWRiIFZNOjptX3RyYXBzK1ZNVHJhcHM6
Om1fbmVlZFRyYXBIYW5kbGluZ1t0MV0sIHQwCiAgICAgYnRwbnogdDAsIC5oYW5kbGVUcmFwcwog
LmFmdGVySGFuZGxpbmdUcmFwczoKQEAgLTE2NTcsOCArMTY0NSw3IEBAIGVuZCkKICMgUmV0dXJu
cyB0aGUgcGFja2V0IHBvaW50ZXIgaW4gdDAuCiBtYWNybyBhY3F1aXJlU2hhZG93Q2hpY2tlblBh
Y2tldChzbG93KQogICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCB0MQotICAgIGxvYWRwIENvZGVC
bG9jazo6bV9wb2lzb25lZFZNW3QxXSwgdDEKLSAgICB1bnBvaXNvbihfZ19Db2RlQmxvY2tQb2lz
b24sIHQxLCB0MikKKyAgICBsb2FkcCBDb2RlQmxvY2s6Om1fdm1bdDFdLCB0MQogICAgIGxvYWRw
IFZNOjptX3NoYWRvd0NoaWNrZW5bdDFdLCB0MgogICAgIGxvYWRwIFNoYWRvd0NoaWNrZW46Om1f
bG9nQ3Vyc29yW3QyXSwgdDAKICAgICBicGFlcSB0MCwgU2hhZG93Q2hpY2tlbjo6bV9sb2dFbmRb
dDJdLCBzbG93Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>