<?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>142379</bug_id>
          
          <creation_ts>2015-03-05 19:53:08 -0800</creation_ts>
          <short_desc>Allow tree dumping functions to be used in release builds by switching a flag</short_desc>
          <delta_ts>2015-03-07 08:49:35 -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>New Bugs</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>142394</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1074808</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-03-05 19:53:08 -0800</bug_when>
    <thetext>Allow tree dumping functions to be used in release builds by switching a flag</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074810</commentid>
    <comment_count>1</comment_count>
      <attachid>248032</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-03-05 19:56:09 -0800</bug_when>
    <thetext>Created attachment 248032
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074841</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-03-05 22:20:21 -0800</bug_when>
    <thetext>https://trac.webkit.org/r181139</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074913</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-06 06:30:29 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 142394</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1074926</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-03-06 07:26:05 -0800</bug_when>
    <thetext>Ah, looks like the flag is going to have to go in Platform.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1075263</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2015-03-07 08:49:35 -0800</bug_when>
    <thetext>https://trac.webkit.org/changeset/181166</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>248032</attachid>
            <date>2015-03-05 19:56:09 -0800</date>
            <delta_ts>2015-03-05 19:57:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142379-20150305195549.patch</filename>
            <type>text/plain</type>
            <size>36025</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgwOTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWEzM2RhYWE3MWIzODVj
YzA3NjFkZmRhZmMyZWRiZGQyNjI3NTcwYi4uMDVjYjQwYTZjYTVjZDBkYWZhYTJhZDk3ZjY3YzJi
Mjk0Mzc1OTZlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDE1LTAzLTA1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEFsbG93IHRyZWUg
ZHVtcGluZyBmdW5jdGlvbnMgdG8gYmUgdXNlZCBpbiByZWxlYXNlIGJ1aWxkcyBieSBzd2l0Y2hp
bmcgYSBmbGFnCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNDIzNzkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBUaGVyZSBhcmUgdmFyaW91cyB0cmVlIGR1bXBpbmcgZnVuY3Rpb25zIHRoYXQgYXJlIHVzZWZ1
bCBmb3IgZGVidWdnaW5nLCBhbmQgc29tZXRpbWVzCisgICAgICAgIHlvdSB3YW50IHRvIGJlIGFi
bGUgdG8gdXNlIHRoZW0gaW4gcmVsZWFzZSBidWlsZHMuIEN1cnJlbnRseSB0aGV5IGFyZSBzdXJy
b3VuZGVkIGJ5CisgICAgICAgICNpZm5kZWYgTkRFQlVHLiBDaGFuZ2UgdGhpcyB0byAjaWYgRU5B
QkxFKFRSRUVfREVCVUdHSU5HKSwgd2hpY2ggaXMgZGVmaW5lZCB0byAwIG9yIDEKKyAgICAgICAg
aW4gTm9kZS5oLgorCisgICAgICAgICogZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5jcHA6
CisgICAgICAgICogZG9tL0RvY3VtZW50TWFya2VyQ29udHJvbGxlci5oOgorICAgICAgICAqIGRv
bS9FbGVtZW50LmNwcDoKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgorICAgICAgICAqIGRvbS9O
b2RlLmNwcDoKKyAgICAgICAgKiBkb20vTm9kZS5oOgorICAgICAgICAqIGRvbS9Qb3NpdGlvbi5j
cHA6IFBvc2l0aW9uOjpkZWJ1Z1Bvc2l0aW9uKGNvbnN0IGNoYXIqIG1zZykgd2FzIGF2YWlsYWJs
ZSBpbiByZWxlYXNlIGJ1aWxkcywgYnV0IHRoaXMgY2hhbmdlcworICAgICAgICBpcyB0byByZXNw
ZWN0IEVOQUJMRV9UUkVFX0RFQlVHR0lORywgd2hpY2ggSSB0aGluayBpcyBjb3JyZWN0LgorICAg
ICAgICAqIGRvbS9Qb3NpdGlvbi5oOgorICAgICAgICAqIGRvbS9SYW5nZS5jcHA6CisgICAgICAg
ICogZG9tL1JhbmdlLmg6CisgICAgICAgICogZG9tL1RleHQuY3BwOgorICAgICAgICAqIGRvbS9U
ZXh0Lmg6CisgICAgICAgICogcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmNwcDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvQ291bnRlck5vZGUuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lQm94LmNw
cDoKKyAgICAgICAgKiByZW5kZXJpbmcvSW5saW5lQm94Lmg6CisgICAgICAgICogcmVuZGVyaW5n
L0lubGluZUZsb3dCb3guY3BwOgorICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVGbG93Qm94Lmg6
CisgICAgICAgICogcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwOgorICAgICAgICAqIHJlbmRl
cmluZy9JbmxpbmVUZXh0Qm94Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxv
dy5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJDb3VudGVyLmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
Q291bnRlci5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxh
eWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OmNy
ZWF0ZUdyYXBoaWNzTGF5ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5n
OjpjcmVhdGVQcmltYXJ5R3JhcGhpY3NMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllckJhY2tpbmc6OnVwZGF0ZUZvcmVncm91bmRMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUJhY2tncm91bmRMYXllcik6CisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb21w
b3NpdGluZ1N0YXRlOjpDb21wb3NpdGluZ1N0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6dXBkYXRlTGF5ZXJGb3JUb3BPdmVyaGFuZ0FyZWEpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVMYXllckZvckJvdHRvbU92
ZXJoYW5nQXJlYSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVw
ZGF0ZUxheWVyRm9ySGVhZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9z
aXRvcjo6dXBkYXRlTGF5ZXJGb3JGb290ZXIpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5
ZXJDb21wb3NpdG9yOjp1cGRhdGVPdmVyZmxvd0NvbnRyb2xzTGF5ZXJzKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZW5zdXJlUm9vdExheWVyKToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
T2JqZWN0Lmg6IHNob3dUcmVlQ2hhcmFjdGVyT2Zmc2V0IHdhcyB1bnVzZWQuCisgICAgICAgICog
cmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwOgorICAgICAgICAqIHJlbmRlcmluZy9Sb290SW5s
aW5lQm94Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRGdW5jdGlvbnMu
Y3BwOgorICAgICAgICAqIHJlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0RnVuY3Rpb25zLmg6Cisg
ICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXMuY3BwOgorICAgICAgICAqIHJlbmRl
cmluZy9zdmcvU1ZHUmVzb3VyY2VzLmg6CisKIDIwMTUtMDMtMDMgIEJyZW50IEZ1bGdoYW0gIDxi
ZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgU2Nyb2xsIHNuYXAgcG9pbnRzIGFyZSBub3Qg
c3VwcG9ydGVkIG9uIHRoZSBtYWluIGZyYW1lCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1
bWVudE1hcmtlckNvbnRyb2xsZXIuY3BwCmluZGV4IDA5NmMxMjA1YTBlMjNhZmIyNDc3NGQxN2Qy
MTljMTBiNjE2NDk0ODQuLjRhM2NjZjhlMmU5NGJkMzZhYjQ2YmEzYWUxYzFjOTEyMDU5ZjU5NzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuY3Bw
CkBAIC03MjQsNyArNzI0LDcgQEAgdm9pZCBEb2N1bWVudE1hcmtlckNvbnRyb2xsZXI6OmNsZWFy
RGVzY3JpcHRpb25Pbk1hcmtlcnNJbnRlcnNlY3RpbmdSYW5nZShSYW5nZSoKICAgICB9CiB9CiAK
LSNpZm5kZWYgTkRFQlVHCisjaWYgRU5BQkxFKFRSRUVfREVCVUdHSU5HKQogdm9pZCBEb2N1bWVu
dE1hcmtlckNvbnRyb2xsZXI6OnNob3dNYXJrZXJzKCkgY29uc3QKIHsKICAgICBmcHJpbnRmKHN0
ZGVyciwgIiVkIG5vZGVzIGhhdmUgbWFya2VyczpcbiIsIG1fbWFya2Vycy5zaXplKCkpOwpAQCAt
NzQ1LDcgKzc0NSw3IEBAIHZvaWQgRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyOjpzaG93TWFya2Vy
cygpIGNvbnN0CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2lmbmRlZiBOREVCVUcKKyNp
ZiBFTkFCTEUoVFJFRV9ERUJVR0dJTkcpCiB2b2lkIHNob3dEb2N1bWVudE1hcmtlcnMoY29uc3Qg
V2ViQ29yZTo6RG9jdW1lbnRNYXJrZXJDb250cm9sbGVyKiBjb250cm9sbGVyKQogewogICAgIGlm
IChjb250cm9sbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFy
a2VyQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50TWFya2VyQ29udHJv
bGxlci5oCmluZGV4IDc2OWRkOTIyN2Y0OWFkZjliYTUxMDRmY2MwOGM2NWI2MDQ1N2Y2M2MuLjMy
Y2EzMDA4NGI4Mjk0NGM4YzNlNTU0NWM1NDIyY2IzZDcwYWMyYWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudE1hcmtlckNvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnRNYXJrZXJDb250cm9sbGVyLmgKQEAgLTg5LDcgKzg5LDcgQEAgcHVi
bGljOgogICAgIFdFQkNPUkVfRVhQT1JUIFZlY3RvcjxJbnRSZWN0PiByZW5kZXJlZFJlY3RzRm9y
TWFya2VycyhEb2N1bWVudE1hcmtlcjo6TWFya2VyVHlwZSk7CiAgICAgdm9pZCBjbGVhckRlc2Ny
aXB0aW9uT25NYXJrZXJzSW50ZXJzZWN0aW5nUmFuZ2UoUmFuZ2UqLCBEb2N1bWVudE1hcmtlcjo6
TWFya2VyVHlwZXMpOwogCi0jaWZuZGVmIE5ERUJVRworI2lmIEVOQUJMRShUUkVFX0RFQlVHR0lO
RykKICAgICB2b2lkIHNob3dNYXJrZXJzKCkgY29uc3Q7CiAjZW5kaWYKIApAQCAtMTA4LDcgKzEw
OCw3IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2lmbmRlZiBOREVC
VUcKKyNpZiBFTkFCTEUoVFJFRV9ERUJVR0dJTkcpCiB2b2lkIHNob3dEb2N1bWVudE1hcmtlcnMo
Y29uc3QgV2ViQ29yZTo6RG9jdW1lbnRNYXJrZXJDb250cm9sbGVyKik7CiAjZW5kaWYKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuY3BwCmluZGV4IDdkZmVjYmQ1ZTVlYTYyYzQwN2JiNWQ4ZDE3YTI1MzE2ZmEx
YjM1YWYuLjhjYTFmMWVhYWYwZWRlNmQ1ZjU0YmQ4ZjU2N2I5OTZjMWZhNDljOWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5jcHAKQEAgLTE2ODUsNyArMTY4NSw3IEBAIHZvaWQgRWxlbWVudDo6ZmluaXNo
UGFyc2luZ0NoaWxkcmVuKCkKICAgICAgICAgc3R5bGVSZXNvbHZlci0+cG9wUGFyZW50RWxlbWVu
dCh0aGlzKTsKIH0KIAotI2lmbmRlZiBOREVCVUcKKyNpZiBFTkFCTEUoVFJFRV9ERUJVR0dJTkcp
CiB2b2lkIEVsZW1lbnQ6OmZvcm1hdEZvckRlYnVnZ2VyKGNoYXIqIGJ1ZmZlciwgdW5zaWduZWQg
bGVuZ3RoKSBjb25zdAogewogICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmgKaW5kZXggZjkxMTViZmQ0MDEyMDQ3OGUwMzA2MmJhMTBjMDliNjkxYzM3Yjk2Yy4uZTM2NjA1
YmJhMzVmNWIxNDk1MjkyMjg0YTk2MzA1NjAyZDUxYjZhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBA
IC02MjUsNyArNjI1LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGFkZEF0dHJpYnV0ZUludGVybmFs
KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlLCBTeW5jaHJv
bml6YXRpb25PZkxhenlBdHRyaWJ1dGUpOwogICAgIHZvaWQgcmVtb3ZlQXR0cmlidXRlSW50ZXJu
YWwodW5zaWduZWQgaW5kZXgsIFN5bmNocm9uaXphdGlvbk9mTGF6eUF0dHJpYnV0ZSk7CiAKLSNp
Zm5kZWYgTkRFQlVHCisjaWYgRU5BQkxFKFRSRUVfREVCVUdHSU5HKQogICAgIHZpcnR1YWwgdm9p
ZCBmb3JtYXRGb3JEZWJ1Z2dlcihjaGFyKiBidWZmZXIsIHVuc2lnbmVkIGxlbmd0aCkgY29uc3Qg
b3ZlcnJpZGU7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IDM1NzI0ODc1YjdkMTgyMGQ4
ZjZhNmZjMWUzMDg0YTlhMjU3ODJmMjIuLjg3M2YzMWUwMjBkNjAyNzQwZDU2MmNlNzk2ZDUzMzZh
MGM2MTM1MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTE0ODYsNyArMTQ4Niw3IEBAIEZsb2F0UG9p
bnQgTm9kZTo6Y29udmVydEZyb21QYWdlKGNvbnN0IEZsb2F0UG9pbnQmIHApIGNvbnN0CiAgICAg
cmV0dXJuIHA7CiB9CiAKLSNpZm5kZWYgTkRFQlVHCisjaWYgRU5BQkxFKFRSRUVfREVCVUdHSU5H
KQogCiBzdGF0aWMgdm9pZCBhcHBlbmRBdHRyaWJ1dGVEZXNjKGNvbnN0IE5vZGUqIG5vZGUsIFN0
cmluZ0J1aWxkZXImIHN0cmluZ0J1aWxkZXIsIGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNv
bnN0IGNoYXIqIGF0dHJEZXNjKQogewpAQCAtMTY1NCw3ICsxNjU0LDcgQEAgdm9pZCBOb2RlOjpz
aG93VHJlZUZvclRoaXNBY3Jvc3NGcmFtZSgpIGNvbnN0CiAgICAgc2hvd1N1YlRyZWVBY3Jvc3NG
cmFtZShyb290Tm9kZSwgdGhpcywgIiIpOwogfQogCi0jZW5kaWYKKyNlbmRpZiAvLyBFTkFCTEUo
VFJFRV9ERUJVR0dJTkcpCiAKIC8vIC0tLS0tLS0tCiAKQEAgLTIyMjIsNyArMjIyMiw3IEBAIGJv
b2wgTm9kZTo6aW5SZW5kZXJlZERvY3VtZW50KCkgY29uc3QKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCi0jaWZuZGVmIE5ERUJVRworI2lmIEVOQUJMRShUUkVFX0RFQlVHR0lORykKIAogdm9p
ZCBzaG93VHJlZShjb25zdCBXZWJDb3JlOjpOb2RlKiBub2RlKQogewpAQCAtMjIzNiw0ICsyMjM2
LDQgQEAgdm9pZCBzaG93Tm9kZVBhdGgoY29uc3QgV2ViQ29yZTo6Tm9kZSogbm9kZSkKICAgICAg
ICAgbm9kZS0+c2hvd05vZGVQYXRoRm9yVGhpcygpOwogfQogCi0jZW5kaWYKKyNlbmRpZiAvLyBF
TkFCTEUoVFJFRV9ERUJVR0dJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaAppbmRleCAyNDY1YjA2ZWZiZDZlOTZiMTFk
ZjhkODk3ZTE5ZmJiNzFmODVjZDY2Li5hNDcwNTNmNGYxYzM0MDZhNTJiZTAyMWEzZGNhMjY5MmQ3
YTIxZjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlLmgKQEAgLTQ5LDYgKzQ5LDEyIEBAIGNsYXNzIEF0b21pY1N0cmlu
ZzsKIC8vIFRoaXMgbmVlZHMgdG8gYmUgaGVyZSBiZWNhdXNlIERvY3VtZW50LmggYWxzbyBkZXBl
bmRzIG9uIGl0LgogI2RlZmluZSBEVU1QX05PREVfU1RBVElTVElDUyAwCiAKKyNpZmRlZiBOREVC
VUcKKyNkZWZpbmUgRU5BQkxFX1RSRUVfREVCVUdHSU5HIDAKKyNlbHNlCisjZGVmaW5lIEVOQUJM
RV9UUkVFX0RFQlVHR0lORyAxCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFz
cyBBdHRyaWJ1dGU7CkBAIC00ODgsNyArNDk0LDcgQEAgcHVibGljOgogICAgIC8vCiAgICAgdmly
dHVhbCB2b2lkIHJlbW92ZWRGcm9tKENvbnRhaW5lck5vZGUmIGluc2VydGlvblBvaW50KTsKIAot
I2lmbmRlZiBOREVCVUcKKyNpZiBFTkFCTEUoVFJFRV9ERUJVR0dJTkcpCiAgICAgdmlydHVhbCB2
b2lkIGZvcm1hdEZvckRlYnVnZ2VyKGNoYXIqIGJ1ZmZlciwgdW5zaWduZWQgbGVuZ3RoKSBjb25z
dDsKIAogICAgIHZvaWQgc2hvd05vZGUoY29uc3QgY2hhciogcHJlZml4ID0gIiIpIGNvbnN0OwpA
QCAtNDk2LDcgKzUwMiw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNob3dOb2RlUGF0aEZvclRoaXMo
KSBjb25zdDsKICAgICB2b2lkIHNob3dUcmVlQW5kTWFyayhjb25zdCBOb2RlKiBtYXJrZWROb2Rl
MSwgY29uc3QgY2hhciogbWFya2VkTGFiZWwxLCBjb25zdCBOb2RlKiBtYXJrZWROb2RlMiA9IG51
bGxwdHIsIGNvbnN0IGNoYXIqIG1hcmtlZExhYmVsMiA9IG51bGxwdHIpIGNvbnN0OwogICAgIHZv
aWQgc2hvd1RyZWVGb3JUaGlzQWNyb3NzRnJhbWUoKSBjb25zdDsKLSNlbmRpZgorI2VuZGlmIC8v
IEVOQUJMRShUUkVFX0RFQlVHR0lORykKIAogICAgIHZvaWQgaW52YWxpZGF0ZU5vZGVMaXN0QW5k
Q29sbGVjdGlvbkNhY2hlc0luQW5jZXN0b3JzKGNvbnN0IFF1YWxpZmllZE5hbWUqIGF0dHJOYW1l
ID0gbnVsbHB0ciwgRWxlbWVudCogYXR0cmlidXRlT3duZXJFbGVtZW50ID0gbnVsbHB0cik7CiAg
ICAgTm9kZUxpc3RzTm9kZURhdGEqIG5vZGVMaXN0cygpOwpAQCAtNzMzLDcgKzczOSw3IEBAIGlu
bGluZSBDb250YWluZXJOb2RlKiBOb2RlOjpwYXJlbnROb2RlR3VhcmFudGVlZEhvc3RGcmVlKCkg
Y29uc3QKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jaWZuZGVmIE5ERUJVRworI2lmIEVO
QUJMRShUUkVFX0RFQlVHR0lORykKIC8vIE91dHNpZGUgdGhlIFdlYkNvcmUgbmFtZXNwYWNlIGZv
ciBlYXNlIG9mIGludm9jYXRpb24gZnJvbSBnZGIuCiB2b2lkIHNob3dUcmVlKGNvbnN0IFdlYkNv
cmU6Ok5vZGUqKTsKIHZvaWQgc2hvd05vZGVQYXRoKGNvbnN0IFdlYkNvcmU6Ok5vZGUqKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb3NpdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vUG9zaXRpb24uY3BwCmluZGV4IDFmZDQyNjUyYTNmZGE4NTE2N2E3NmE5MWQyZGM2NGZj
YTE1MzA0ZDIuLmUwNDQwNDMzMzdjNGY2MGFiYzM0MDIyMTBhY2M2NGQxOTRhYmM1MDUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb3NpdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvZG9tL1Bvc2l0aW9uLmNwcApAQCAtMTM0Niw2ICsxMzQ2LDcgQEAgVGV4dERpcmVjdGlvbiBQ
b3NpdGlvbjo6cHJpbWFyeURpcmVjdGlvbigpIGNvbnN0CiAgICAgcmV0dXJuIExUUjsKIH0KIAor
I2lmIEVOQUJMRShUUkVFX0RFQlVHR0lORykKIAogdm9pZCBQb3NpdGlvbjo6ZGVidWdQb3NpdGlv
bihjb25zdCBjaGFyKiBtc2cpIGNvbnN0CiB7CkBAIC0xMzU1LDggKzEzNTYsNiBAQCB2b2lkIFBv
c2l0aW9uOjpkZWJ1Z1Bvc2l0aW9uKGNvbnN0IGNoYXIqIG1zZykgY29uc3QKICAgICAgICAgZnBy
aW50ZihzdGRlcnIsICJQb3NpdGlvbiBbJXNdOiAlcyBbJXBdIGF0ICVkXG4iLCBtc2csIGRlcHJl
Y2F0ZWROb2RlKCktPm5vZGVOYW1lKCkudXRmOCgpLmRhdGEoKSwgZGVwcmVjYXRlZE5vZGUoKSwg
bV9vZmZzZXQpOwogfQogCi0jaWZuZGVmIE5ERUJVRwotCiB2b2lkIFBvc2l0aW9uOjpmb3JtYXRG
b3JEZWJ1Z2dlcihjaGFyKiBidWZmZXIsIHVuc2lnbmVkIGxlbmd0aCkgY29uc3QKIHsKICAgICBT
dHJpbmdCdWlsZGVyIHJlc3VsdDsKQEAgLTE0MDksMTEgKzE0MDgsOSBAQCB2b2lkIFBvc2l0aW9u
OjpzaG93VHJlZUZvclRoaXMoKSBjb25zdAogCiAjZW5kaWYKIAotCi0KIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKIAotI2lmbmRlZiBOREVCVUcKKyNpZiBFTkFCTEUoVFJFRV9ERUJVR0dJTkcpCiAK
IHZvaWQgc2hvd1RyZWUoY29uc3QgV2ViQ29yZTo6UG9zaXRpb24mIHBvcykKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Qb3NpdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1Bv
c2l0aW9uLmgKaW5kZXggYjY5NTY0YzgxNzFjMWZjMWMyZGU4Y2JiM2U2MDE3NDE0NzAzNTY4Yy4u
OWQ2YmQyZWFiMzk4ODRiY2NkYmY0NTNjOWIwZjZkNjU5MTk0Y2U0OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL1Bvc2l0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1Bvc2l0
aW9uLmgKQEAgLTIwMiw3ICsyMDIsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgdm9pZCBkZWJ1Z1Bv
c2l0aW9uKGNvbnN0IGNoYXIqIG1zZyA9ICIiKSBjb25zdDsKIAotI2lmbmRlZiBOREVCVUcKKyNp
ZiBFTkFCTEUoVFJFRV9ERUJVR0dJTkcpCiAgICAgdm9pZCBmb3JtYXRGb3JEZWJ1Z2dlcihjaGFy
KiBidWZmZXIsIHVuc2lnbmVkIGxlbmd0aCkgY29uc3Q7CiAgICAgdm9pZCBzaG93QW5jaG9yVHlw
ZUFuZE9mZnNldCgpIGNvbnN0OwogICAgIHZvaWQgc2hvd1RyZWVGb3JUaGlzKCkgY29uc3Q7CkBA
IC0zNDIsNyArMzQyLDcgQEAgaW5saW5lIGJvb2wgb2Zmc2V0SXNCZWZvcmVMYXN0Tm9kZU9mZnNl
dChpbnQgb2Zmc2V0LCBOb2RlKiBhbmNob3JOb2RlKQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CiAKLSNpZm5kZWYgTkRFQlVHCisjaWYgRU5BQkxFKFRSRUVfREVCVUdHSU5HKQogLy8gT3V0c2lk
ZSB0aGUgV2ViQ29yZSBuYW1lc3BhY2UgZm9yIGVhc2Ugb2YgaW52b2NhdGlvbiBmcm9tIGdkYi4K
IHZvaWQgc2hvd1RyZWUoY29uc3QgV2ViQ29yZTo6UG9zaXRpb24mKTsKIHZvaWQgc2hvd1RyZWUo
Y29uc3QgV2ViQ29yZTo6UG9zaXRpb24qKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9SYW5nZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuY3BwCmluZGV4IDRjZTEwMmQ2
ODZhZDg0ZTgwOTdjMzM5ZTIwMTJlNjdjZjAzMzg5YTMuLjI2NzNhZGQ5NjMyYWY1Yjk1YjY5MGQ2
MDdlNjNmMTE0MmY1OTk1NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1JhbmdlLmNwcApAQCAtMTkxOSw3ICsxOTE5LDcg
QEAgdm9pZCBSYW5nZTo6Y29sbGVjdFNlbGVjdGlvblJlY3RzKFZlY3RvcjxTZWxlY3Rpb25SZWN0
PiYgcmVjdHMpCiB9CiAjZW5kaWYKIAotI2lmbmRlZiBOREVCVUcKKyNpZiBFTkFCTEUoVFJFRV9E
RUJVR0dJTkcpCiB2b2lkIFJhbmdlOjpmb3JtYXRGb3JEZWJ1Z2dlcihjaGFyKiBidWZmZXIsIHVu
c2lnbmVkIGxlbmd0aCkgY29uc3QKIHsKICAgICBTdHJpbmdCdWlsZGVyIHJlc3VsdDsKQEAgLTIy
NTEsNyArMjI1MSw3IEBAIEZsb2F0UmVjdCBSYW5nZTo6Ym91bmRpbmdSZWN0KCkgY29uc3QKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jaWZuZGVmIE5ERUJVRworI2lmIEVOQUJMRShUUkVF
X0RFQlVHR0lORykKIAogdm9pZCBzaG93VHJlZShjb25zdCBXZWJDb3JlOjpSYW5nZSogcmFuZ2Up
CiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vUmFuZ2UuaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9SYW5nZS5oCmluZGV4IDY4YWQwYjdhNDIzMzdmNTkyMzc5YzJjNzQ5OTczNGFhZGM2
NmM4ODUuLjVkNGZiMjlhN2E2ODRmZThhMjI1MWIyYWU4MWU1ZWNiZTc3ODM1MzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9SYW5nZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9S
YW5nZS5oCkBAIC0xNTEsNyArMTUxLDcgQEAgcHVibGljOgogICAgIFJlZjxDbGllbnRSZWN0TGlz
dD4gZ2V0Q2xpZW50UmVjdHMoKSBjb25zdDsKICAgICBSZWY8Q2xpZW50UmVjdD4gZ2V0Qm91bmRp
bmdDbGllbnRSZWN0KCkgY29uc3Q7CiAKLSNpZm5kZWYgTkRFQlVHCisjaWYgRU5BQkxFKFRSRUVf
REVCVUdHSU5HKQogICAgIHZvaWQgZm9ybWF0Rm9yRGVidWdnZXIoY2hhciogYnVmZmVyLCB1bnNp
Z25lZCBsZW5ndGgpIGNvbnN0OwogI2VuZGlmCiAKQEAgLTE4Nyw3ICsxODcsNyBAQCBib29sIHJh
bmdlc092ZXJsYXAoY29uc3QgUmFuZ2UqLCBjb25zdCBSYW5nZSopOwogCiB9IC8vIG5hbWVzcGFj
ZQogCi0jaWZuZGVmIE5ERUJVRworI2lmIEVOQUJMRShUUkVFX0RFQlVHR0lORykKIC8vIE91dHNp
ZGUgdGhlIFdlYkNvcmUgbmFtZXNwYWNlIGZvciBlYXNlIG9mIGludm9jYXRpb24gZnJvbSBnZGIu
CiB2b2lkIHNob3dUcmVlKGNvbnN0IFdlYkNvcmU6OlJhbmdlKik7CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0
LmNwcAppbmRleCBmOTBmMDNmYjFlZDlkYzBjNmU2MTkwNjRkMDM3NWI3OGU4MmFiMDM3Li5hMGE1
YzZmYmUwNGU3ZDM5ZjliYWE3N2Q5ZDBlOGRiODUyYWQ0YmNiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1RleHQuY3BwCkBA
IC0yMTYsNyArMjE2LDcgQEAgUmVmPFRleHQ+IFRleHQ6OmNyZWF0ZVdpdGhMZW5ndGhMaW1pdChE
b2N1bWVudCYgZG9jdW1lbnQsIGNvbnN0IFN0cmluZyYgZGF0YSwgdW4KICAgICByZXR1cm4gcmVz
dWx0OwogfQogCi0jaWZuZGVmIE5ERUJVRworI2lmIEVOQUJMRShUUkVFX0RFQlVHR0lORykKIHZv
aWQgVGV4dDo6Zm9ybWF0Rm9yRGVidWdnZXIoY2hhciogYnVmZmVyLCB1bnNpZ25lZCBsZW5ndGgp
IGNvbnN0CiB7CiAgICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vVGV4dC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL1RleHQuaAppbmRleCBiMmRm
MzQwZGMxMTViZmRlZTJiMmNhM2FlNWIyMjg5MmJkNzI2YWJjLi5hOTY3NDM2NGNkYTBkZWRiOGVj
YTU5Y2MwYTI1YTUzNzJiYmE5N2Q0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vVGV4
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9UZXh0LmgKQEAgLTY3LDcgKzY3LDcgQEAgcHJp
dmF0ZToKIAogICAgIHZpcnR1YWwgUmVmPFRleHQ+IHZpcnR1YWxDcmVhdGUoY29uc3QgU3RyaW5n
Jik7CiAKLSNpZm5kZWYgTkRFQlVHCisjaWYgRU5BQkxFKFRSRUVfREVCVUdHSU5HKQogICAgIHZp
cnR1YWwgdm9pZCBmb3JtYXRGb3JEZWJ1Z2dlcihjaGFyKiBidWZmZXIsIHVuc2lnbmVkIGxlbmd0
aCkgY29uc3Qgb3ZlcnJpZGU7CiAjZW5kaWYKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvQ291bnRlck5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0Nv
dW50ZXJOb2RlLmNwcAppbmRleCAwMWVjOWEzYjZjYjVkNTEyYTM0YTdhZTg1ZDQ2NTYyNTBkNDBj
MjZkLi4zMjZhYzk4Yjk2M2NkNTAyZTRmOGQyYmVjODU0ZWFjODM2MjliNTdjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ291bnRlck5vZGUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9Db3VudGVyTm9kZS5jcHAKQEAgLTM1MCw3ICszNTAsNyBAQCB2b2lk
IENvdW50ZXJOb2RlOjpyZW1vdmVDaGlsZChDb3VudGVyTm9kZSogb2xkQ2hpbGQpCiAgICAgICAg
IG5leHQtPnJlY291bnQoKTsKIH0KIAotI2lmbmRlZiBOREVCVUcKKyNpZiBFTkFCTEUoVFJFRV9E
RUJVR0dJTkcpCiAKIHN0YXRpYyB2b2lkIHNob3dUcmVlQW5kTWFyayhjb25zdCBDb3VudGVyTm9k
ZSogbm9kZSkKIHsKQEAgLTM3NCw3ICszNzQsNyBAQCBzdGF0aWMgdm9pZCBzaG93VHJlZUFuZE1h
cmsoY29uc3QgQ291bnRlck5vZGUqIG5vZGUpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAot
I2lmbmRlZiBOREVCVUcKKyNpZiBFTkFCTEUoVFJFRV9ERUJVR0dJTkcpCiAKIHZvaWQgc2hvd0Nv
dW50ZXJUcmVlKGNvbnN0IFdlYkNvcmU6OkNvdW50ZXJOb2RlKiBjb3VudGVyKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0NvdW50ZXJOb2RlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvQ291bnRlck5vZGUuaAppbmRleCA5OTdjMjQ4YmIzYzJhMzIxOTQzOTI0
MTE0ZmZiZDE3YmQ2YzQ3ZjNkLi4wM2Q5ZTNkZDY2YzY5YTAwY2ZmODE0NDMxZmQzZDRmMmZjOTE5
ZTBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ291bnRlck5vZGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvQ291bnRlck5vZGUuaApAQCAtOTMsNyArOTMs
NyBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNpZm5kZWYgTkRFQlVH
CisjaWYgRU5BQkxFKFRSRUVfREVCVUdHSU5HKQogLy8gT3V0c2lkZSB0aGUgV2ViQ29yZSBuYW1l
c3BhY2UgZm9yIGVhc2Ugb2YgaW52b2NhdGlvbiBmcm9tIGdkYi4KIHZvaWQgc2hvd0NvdW50ZXJU
cmVlKGNvbnN0IFdlYkNvcmU6OkNvdW50ZXJOb2RlKik7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL0lubGluZUJveC5jcHAKaW5kZXggNGRiZGRiYWFhMzIxNjY3ZGVjMDgyOTAyMDVlOTRm
MmU4MjJiMWI2OS4uZWZiMDkxMGU3ZmQwNGZjMDMzMmRiMDAxNTQ3NDMyZDZhNjdiMmM3ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5jcHAKQEAgLTMwLDcgKzMwLDcgQEAKICNp
bmNsdWRlICJSZW5kZXJMaW5lQnJlYWsuaCIKICNpbmNsdWRlICJSb290SW5saW5lQm94LmgiCiAK
LSNpZm5kZWYgTkRFQlVHCisjaWYgRU5BQkxFKFRSRUVfREVCVUdHSU5HKQogI2luY2x1ZGUgPHN0
ZGlvLmg+CiAjZW5kaWYKIApAQCAtODQsNyArODQsNyBAQCB2b2lkIElubGluZUJveDo6cmVtb3Zl
RnJvbVBhcmVudCgpCiAgICAgICAgIHBhcmVudCgpLT5yZW1vdmVDaGlsZCh0aGlzKTsKIH0KIAot
I2lmbmRlZiBOREVCVUcKKyNpZiBFTkFCTEUoVFJFRV9ERUJVR0dJTkcpCiAKIGNvbnN0IGNoYXIq
IElubGluZUJveDo6Ym94TmFtZSgpIGNvbnN0CiB7CkBAIC0xMTksNyArMTE5LDcgQEAgdm9pZCBJ
bmxpbmVCb3g6OnNob3dMaW5lQm94KGJvb2wgbWFyaywgaW50IGRlcHRoKSBjb25zdAogICAgIGZw
cmludGYoc3RkZXJyLCAiJXMgICglLjJmLCAlLjJmKSAoJS4yZiwgJS4yZikgKCVwKVxuIiwgYm94
TmFtZSgpLCB4KCksIHkoKSwgd2lkdGgoKSwgaGVpZ2h0KCksIHRoaXMpOwogfQogCi0jZW5kaWYK
KyNlbmRpZiAvLyBFTkFCTEUoVFJFRV9ERUJVR0dJTkcpCiAKIGZsb2F0IElubGluZUJveDo6bG9n
aWNhbEhlaWdodCgpIGNvbnN0CiB7CkBAIC0zMjgsNyArMzI4LDcgQEAgTGF5b3V0UG9pbnQgSW5s
aW5lQm94OjpmbGlwRm9yV3JpdGluZ01vZGUoY29uc3QgTGF5b3V0UG9pbnQmIHBvaW50KQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNpZm5kZWYgTkRFQlVHCisjaWYgRU5BQkxFKFRSRUVf
REVCVUdHSU5HKQogCiB2b2lkIHNob3dOb2RlVHJlZShjb25zdCBXZWJDb3JlOjpJbmxpbmVCb3gq
IGlubGluZUJveCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Jbmxp
bmVCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3guaAppbmRleCAxZjcz
NjliMjc5MDhmYjQ5ZTc1OTViZDMxZGU4ZmE3OGU2MjQ2ZjQwLi40NmU2OGFmZTliMDk5NjY5M2Ni
Mjk4ODVmMGQ4MzkyYTI2ODIwMWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvSW5saW5lQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUJveC5o
CkBAIC03Myw3ICs3Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnQoUGFpbnRJ
bmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmLCBMYXlvdXRVbml0IGxpbmVUb3AsIExheW91dFVuaXQg
bGluZUJvdHRvbSkgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBub2RlQXRQb2ludChjb25zdCBIaXRU
ZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25zdCBIaXRUZXN0TG9jYXRpb24mIGxvY2F0
aW9uSW5Db250YWluZXIsIGNvbnN0IExheW91dFBvaW50JiBhY2N1bXVsYXRlZE9mZnNldCwgTGF5
b3V0VW5pdCBsaW5lVG9wLCBMYXlvdXRVbml0IGxpbmVCb3R0b20pID0gMDsKIAotI2lmbmRlZiBO
REVCVUcKKyNpZiBFTkFCTEUoVFJFRV9ERUJVR0dJTkcpCiAgICAgdm9pZCBzaG93Tm9kZVRyZWVG
b3JUaGlzKCkgY29uc3Q7CiAgICAgdm9pZCBzaG93TGluZVRyZWVGb3JUaGlzKCkgY29uc3Q7CiAg
ICAgCkBAIC00NDYsNyArNDQ2LDcgQEAgU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJD
b3JlOjpUb1ZhbHVlVHlwZU5hbWUpIFwKICAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2Vi
Q29yZTo6SW5saW5lQm94JiBib3gpIHsgcmV0dXJuIGJveC5wcmVkaWNhdGU7IH0gXAogU1BFQ0lB
TElaRV9UWVBFX1RSQUlUU19FTkQoKQogCi0jaWZuZGVmIE5ERUJVRworI2lmIEVOQUJMRShUUkVF
X0RFQlVHR0lORykKIC8vIE91dHNpZGUgdGhlIFdlYkNvcmUgbmFtZXNwYWNlIGZvciBlYXNlIG9m
IGludm9jYXRpb24gZnJvbSBnZGIuCiB2b2lkIHNob3dOb2RlVHJlZShjb25zdCBXZWJDb3JlOjpJ
bmxpbmVCb3gqKTsKIHZvaWQgc2hvd0xpbmVUcmVlKGNvbnN0IFdlYkNvcmU6OklubGluZUJveCop
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3BwCmluZGV4IGRkOTBl
YWExZGY3NDk5ZjI3M2Y1NjFhNzIzZTcwMWVkZmFkYzNlNjkuLmFlMGM5Y2E3OGU4NmFhZDY3OTYw
ZGZmMzM5MDhhOTgyMWRiNTJlNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9JbmxpbmVGbG93Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5l
Rmxvd0JveC5jcHAKQEAgLTE2ODcsNyArMTY4Nyw3IEBAIHZvaWQgSW5saW5lRmxvd0JveDo6Y29t
cHV0ZVJlcGxhY2VkQW5kVGV4dExpbmVUb3BBbmRCb3R0b20oTGF5b3V0VW5pdCYgbGluZVRvcCwK
ICAgICB9CiB9CiAKLSNpZm5kZWYgTkRFQlVHCisjaWYgRU5BQkxFKFRSRUVfREVCVUdHSU5HKQog
CiBjb25zdCBjaGFyKiBJbmxpbmVGbG93Qm94Ojpib3hOYW1lKCkgY29uc3QKIHsKQEAgLTE3MDEs
NiArMTcwMSwxMCBAQCB2b2lkIElubGluZUZsb3dCb3g6OnNob3dMaW5lVHJlZUFuZE1hcmsoY29u
c3QgSW5saW5lQm94KiBtYXJrZWRCb3gsIGludCBkZXB0aCkgYwogICAgICAgICBib3gtPnNob3dM
aW5lVHJlZUFuZE1hcmsobWFya2VkQm94LCBkZXB0aCArIDEpOwogfQogCisjZW5kaWYKKworI2lm
bmRlZiBOREVCVUcKKwogdm9pZCBJbmxpbmVGbG93Qm94OjpjaGVja0NvbnNpc3RlbmN5KCkgY29u
c3QKIHsKICAgICBhc3NlcnROb3REZWxldGVkKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lu
bGluZUZsb3dCb3guaAppbmRleCBlZDYxNjkyMzk3Nzk2ODBhZjRkYTMzZTEwMzYyMjhjMjljNTc2
MWVkLi4wNjc5OTg5ZTcwZmNjNjA3ZDhlZDA0ZjQ0MGI2MzA4ZmMzYjc5NTE5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmgKQEAgLTcwLDcgKzcwLDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgfklubGluZUZsb3dCb3goKTsKICNlbmRpZgogCi0jaWZuZGVmIE5ERUJV
RworI2lmIEVOQUJMRShUUkVFX0RFQlVHR0lORykKICAgICB2aXJ0dWFsIHZvaWQgc2hvd0xpbmVU
cmVlQW5kTWFyayhjb25zdCBJbmxpbmVCb3gqIG1hcmtlZEJveCwgaW50IGRlcHRoKSBjb25zdCBv
dmVycmlkZTsKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIGJveE5hbWUoKSBjb25zdCBvdmVycmlk
ZTsKICNlbmRpZgpAQCAtMzY3LDcgKzM2Nyw3IEBAIGlubGluZSB2b2lkIElubGluZUZsb3dCb3g6
OnNldEhhc0JhZENoaWxkTGlzdCgpCiAKIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfSU5MSU5FX0JP
WChJbmxpbmVGbG93Qm94LCBpc0lubGluZUZsb3dCb3goKSkKIAotI2lmbmRlZiBOREVCVUcKKyNp
ZiBFTkFCTEUoVFJFRV9ERUJVR0dJTkcpCiAvLyBPdXRzaWRlIHRoZSBXZWJDb3JlIG5hbWVzcGFj
ZSBmb3IgZWFzZSBvZiBpbnZvY2F0aW9uIGZyb20gZ2RiLgogdm9pZCBzaG93VHJlZShjb25zdCBX
ZWJDb3JlOjpJbmxpbmVGbG93Qm94Kik7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9JbmxpbmVUZXh0Qm94LmNwcAppbmRleCA3MDU2NmYwM2EzN2FmZDQ1NmFlN2U1ODczYjc5YzYz
MTU0ODUxN2JlLi40ZWIwZDc5ODAxNzRkMTUyY2I2ZDQ4OTE5NTg5Mjc4YTYxNmE3YjNjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lVGV4dEJveC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guY3BwCkBAIC0xMzkzLDcgKzEz
OTMsNyBAQCBUZXh0UnVuIElubGluZVRleHRCb3g6OmNvbnN0cnVjdFRleHRSdW4oY29uc3QgUmVu
ZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBGb250Q2FzYwogICAgIHJldHVybiBydW47CiB9CiAKLSNp
Zm5kZWYgTkRFQlVHCisjaWYgRU5BQkxFKFRSRUVfREVCVUdHSU5HKQogCiBjb25zdCBjaGFyKiBJ
bmxpbmVUZXh0Qm94Ojpib3hOYW1lKCkgY29uc3QKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
SW5saW5lVGV4dEJveC5oCmluZGV4IGRkMTcxOTM3NzM0MWRmZTcxOWExMDNkNDEzZTMzZWY4NGE1
NmM2MjguLmFmZWNjNDA1ZjZiZDUzODJiYmVmMTEyOTZkMWE2NzZkNzk0MDVkMjQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVUZXh0Qm94LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL0lubGluZVRleHRCb3guaApAQCAtOTQsNyArOTQsNyBAQCBwdWJs
aWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgZGlydHlPd25MaW5lQm94ZXMoKSB7IGRpcnR5TGluZUJv
eGVzKCk7IH0KIAotI2lmbmRlZiBOREVCVUcKKyNpZiBFTkFCTEUoVFJFRV9ERUJVR0dJTkcpCiAg
ICAgdmlydHVhbCB2b2lkIHNob3dMaW5lQm94KGJvb2wgbWFyaywgaW50IGRlcHRoKSBjb25zdCBv
dmVycmlkZSBmaW5hbDsKICAgICB2aXJ0dWFsIGNvbnN0IGNoYXIqIGJveE5hbWUoKSBjb25zdCBv
dmVycmlkZSBmaW5hbDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJsb2NrRmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2tGbG93LmNwcAppbmRleCA1YjZhMmM1ZmZkZDgxOTExYTk4YzY5M2M1ZGNhZjEyZTYyMzRl
YmQ1Li4yNzk0M2VkMzkxNWIxMmRhNjk3Mjk3OWQxOTdjOWJmZDNhZTEwZTAwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcApAQCAtMzU1Niw3ICszNTU2
LDcgQEAgdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmVuc3VyZUxpbmVCb3hlcygpCiAgICAgICAgIGNs
ZWFyTmVlZHNMYXlvdXQoKTsKIH0KIAotI2lmbmRlZiBOREVCVUcKKyNpZiBFTkFCTEUoVFJFRV9E
RUJVR0dJTkcpCiB2b2lkIFJlbmRlckJsb2NrRmxvdzo6c2hvd0xpbmVUcmVlQW5kTWFyayhjb25z
dCBJbmxpbmVCb3gqIG1hcmtlZEJveCwgaW50IGRlcHRoKSBjb25zdAogewogICAgIGZvciAoY29u
c3QgUm9vdElubGluZUJveCogcm9vdCA9IGZpcnN0Um9vdEJveCgpOyByb290OyByb290ID0gcm9v
dC0+bmV4dFJvb3RCb3goKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCbG9ja0Zsb3cuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zs
b3cuaAppbmRleCAyYmY2MDJhMjdlZTlkYmRlYTFmOGFiNmM5YTdjYmFkMTJjNDNlMTNiLi4yYWRm
ZDcwOGFhOGI3YTA5OWUwNGFjMzRmZTQzNjY1NmFjYzNkMjc5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5oCkBAIC0zNjMsNyArMzYzLDcgQEAgcHVibGljOgog
ICAgIHZvaWQgZGVsZXRlTGluZUJveGVzQmVmb3JlU2ltcGxlTGluZUxheW91dCgpOwogICAgIHZv
aWQgZW5zdXJlTGluZUJveGVzKCk7CiAKLSNpZm5kZWYgTkRFQlVHCisjaWYgRU5BQkxFKFRSRUVf
REVCVUdHSU5HKQogICAgIHZvaWQgc2hvd0xpbmVUcmVlQW5kTWFyayhjb25zdCBJbmxpbmVCb3gq
IG1hcmtlZEJveCwgaW50IGRlcHRoKSBjb25zdDsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQ291bnRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQ291bnRlci5jcHAKaW5kZXggZmIxY2ZhNThiNGU4NmVhM2M0ZjlmYmU4
ZDU1Njk4NjcyMzc5MGNmNi4uOTE4YTRmODhhMjNkOTZkOGFlNWUyMzY2OTU2NzE3ODBhMDkzNjI3
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJDb3VudGVyLmNwcApAQCAtMzUs
NyArMzUsNyBAQAogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRlIDx3dGYvU3RkTGli
RXh0cmFzLmg+CiAKLSNpZm5kZWYgTkRFQlVHCisjaWYgRU5BQkxFKFRSRUVfREVCVUdHSU5HKQog
I2luY2x1ZGUgPHN0ZGlvLmg+CiAjZW5kaWYKIApAQCAtNjAwLDcgKzYwMCw3IEBAIHZvaWQgUmVu
ZGVyQ291bnRlcjo6cmVuZGVyZXJTdHlsZUNoYW5nZWQoUmVuZGVyRWxlbWVudCYgcmVuZGVyZXIs
IGNvbnN0IFJlbmRlclN0CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2lmbmRlZiBOREVC
VUcKKyNpZiBFTkFCTEUoVFJFRV9ERUJVR0dJTkcpCiAKIHZvaWQgc2hvd0NvdW50ZXJSZW5kZXJl
clRyZWUoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0KiByZW5kZXJlciwgY29uc3QgY2hhciog
Y291bnRlck5hbWUpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQ291bnRlci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckNvdW50ZXIuaApp
bmRleCA2MTMwMGZkNTRjNjgyNmM3MWQ2OWZiMzU5YzIyODY2OWIzYWYxMWM3Li43NWRjZmM4NDE5
MGFiYjIzM2RmNDk2OWMyYjQ0Y2E5YzY1YTI4NDdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQ291bnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJDb3VudGVyLmgKQEAgLTYzLDcgKzYzLDcgQEAgcHJpdmF0ZToKIAogU1BFQ0lBTEla
RV9UWVBFX1RSQUlUU19SRU5ERVJfT0JKRUNUKFJlbmRlckNvdW50ZXIsIGlzQ291bnRlcigpKQog
Ci0jaWZuZGVmIE5ERUJVRworI2lmIEVOQUJMRShUUkVFX0RFQlVHR0lORykKIC8vIE91dHNpZGUg
dGhlIFdlYkNvcmUgbmFtZXNwYWNlIGZvciBlYXNlIG9mIGludm9jYXRpb24gZnJvbSBnZGIuCiB2
b2lkIHNob3dDb3VudGVyUmVuZGVyZXJUcmVlKGNvbnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCos
IGNvbnN0IGNoYXIqIGNvdW50ZXJOYW1lID0gMCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDVjMDBmYjMwYThlZWMwYTMyNDRkZmIzOTRhODFk
NThjMjA4M2NkNGMuLjNhNjBkNjQ4NjBhOWUwZmIxMzNlM2IwNDM3Y2UxZTZmNTQyYmM3ZGQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtNzA0Nyw3ICs3MDQ3
LDcgQEAgUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQqIFJlbmRlckxheWVyOjpjdXJyZW50UmVuZGVy
TmFtZWRGbG93RnJhZ21lbnQoKSBjb25zdAogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNp
Zm5kZWYgTkRFQlVHCisjaWYgRU5BQkxFKFRSRUVfREVCVUdHSU5HKQogCiB2b2lkIHNob3dMYXll
clRyZWUoY29uc3QgV2ViQ29yZTo6UmVuZGVyTGF5ZXIqIGxheWVyKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCA2MjUxY2JjMGRjN2RiODNkMTZlMjUyZGRkNWY5
NDYxZTJmYTk3Yjc4Li5lNzM0OWNhNzM4NjQ3NGFlNjZiYTIwOWZiZGY4Y2JmZjRiMmFlNWQyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAtMTE3Miw3ICsxMTcyLDcg
QEAgdm9pZCBtYWtlTWF0cml4UmVuZGVyYWJsZShUcmFuc2Zvcm1hdGlvbk1hdHJpeCYsIGJvb2wg
aGFzM0RSZW5kZXJpbmcpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNpZm5kZWYgTkRF
QlVHCisjaWYgRU5BQkxFKFRSRUVfREVCVUdHSU5HKQogLy8gT3V0c2lkZSB0aGUgV2ViQ29yZSBu
YW1lc3BhY2UgZm9yIGVhc2Ugb2YgaW52b2NhdGlvbiBmcm9tIGdkYi4KIHZvaWQgc2hvd0xheWVy
VHJlZShjb25zdCBXZWJDb3JlOjpSZW5kZXJMYXllciopOwogdm9pZCBzaG93TGF5ZXJUcmVlKGNv
bnN0IFdlYkNvcmU6OlJlbmRlck9iamVjdCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCAyNzYxN2MxZmZjODA5NDU2OGQ2MjlkNTA5
Yjk1YTg5NzMxODU0ZjUyLi5kYjMyYTNmMTgzNjNkODY5Y2Y3NTU4N2UyOTIyOTFhNWFmYzc3OTlk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5n
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNw
cApAQCAtMTY5LDcgKzE2OSw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxHcmFwaGljc0xheWVyPiBSZW5k
ZXJMYXllckJhY2tpbmc6OmNyZWF0ZUdyYXBoaWNzTGF5ZXIoY29uc3QgU3RyCiAKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8R3JhcGhpY3NMYXllcj4gZ3JhcGhpY3NMYXllciA9IEdyYXBoaWNzTGF5ZXI6
OmNyZWF0ZShncmFwaGljc0xheWVyRmFjdG9yeSwgKnRoaXMsIGxheWVyVHlwZSk7CiAKLSNpZm5k
ZWYgTkRFQlVHCisjaWYgRU5BQkxFKFRSRUVfREVCVUdHSU5HKQogICAgIGdyYXBoaWNzTGF5ZXIt
PnNldE5hbWUobmFtZSk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShuYW1lKTsKQEAgLTI3NSw3
ICsyNzUsNyBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlRGVidWdJbmRpY2F0b3Jz
KGJvb2wgc2hvd0JvcmRlciwgYm9vbCBzaG93UmVwYWludAogdm9pZCBSZW5kZXJMYXllckJhY2tp
bmc6OmNyZWF0ZVByaW1hcnlHcmFwaGljc0xheWVyKCkKIHsKICAgICBTdHJpbmcgbGF5ZXJOYW1l
OwotI2lmbmRlZiBOREVCVUcKKyNpZiBFTkFCTEUoVFJFRV9ERUJVR0dJTkcpCiAgICAgbGF5ZXJO
YW1lID0gbV9vd25pbmdMYXllci5uYW1lKCk7CiAjZW5kaWYKICAgICAKQEAgLTEzNjYsNyArMTM2
Niw3IEBAIGJvb2wgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVGb3JlZ3JvdW5kTGF5ZXIoYm9v
bCBuZWVkc0ZvcmVncm91bmRMYXllcikKICAgICBpZiAobmVlZHNGb3JlZ3JvdW5kTGF5ZXIpIHsK
ICAgICAgICAgaWYgKCFtX2ZvcmVncm91bmRMYXllcikgewogICAgICAgICAgICAgU3RyaW5nIGxh
eWVyTmFtZTsKLSNpZm5kZWYgTkRFQlVHCisjaWYgRU5BQkxFKFRSRUVfREVCVUdHSU5HKQogICAg
ICAgICAgICAgbGF5ZXJOYW1lID0gbV9vd25pbmdMYXllci5uYW1lKCkgKyAiIChmb3JlZ3JvdW5k
KSI7CiAjZW5kaWYKICAgICAgICAgICAgIG1fZm9yZWdyb3VuZExheWVyID0gY3JlYXRlR3JhcGhp
Y3NMYXllcihsYXllck5hbWUpOwpAQCAtMTM5NSw3ICsxMzk1LDcgQEAgYm9vbCBSZW5kZXJMYXll
ckJhY2tpbmc6OnVwZGF0ZUJhY2tncm91bmRMYXllcihib29sIG5lZWRzQmFja2dyb3VuZExheWVy
KQogICAgIGlmIChuZWVkc0JhY2tncm91bmRMYXllcikgewogICAgICAgICBpZiAoIW1fYmFja2dy
b3VuZExheWVyKSB7CiAgICAgICAgICAgICBTdHJpbmcgbGF5ZXJOYW1lOwotI2lmbmRlZiBOREVC
VUcKKyNpZiBFTkFCTEUoVFJFRV9ERUJVR0dJTkcpCiAgICAgICAgICAgICBsYXllck5hbWUgPSBt
X293bmluZ0xheWVyLm5hbWUoKSArICIgKGJhY2tncm91bmQpIjsKICNlbmRpZgogICAgICAgICAg
ICAgbV9iYWNrZ3JvdW5kTGF5ZXIgPSBjcmVhdGVHcmFwaGljc0xheWVyKGxheWVyTmFtZSk7CkBA
IC0xNDA3LDcgKzE0MDcsNyBAQCBib29sIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlQmFja2dy
b3VuZExheWVyKGJvb2wgbmVlZHNCYWNrZ3JvdW5kTGF5ZXIpCiAgICAgICAgIAogICAgICAgICBp
ZiAoIW1fY29udGVudHNDb250YWlubWVudExheWVyKSB7CiAgICAgICAgICAgICBTdHJpbmcgbGF5
ZXJOYW1lOwotI2lmbmRlZiBOREVCVUcKKyNpZiBFTkFCTEUoVFJFRV9ERUJVR0dJTkcpCiAgICAg
ICAgICAgICBsYXllck5hbWUgPSBtX293bmluZ0xheWVyLm5hbWUoKSArICIgKGNvbnRlbnRzIGNv
bnRhaW5tZW50KSI7CiAjZW5kaWYKICAgICAgICAgICAgIG1fY29udGVudHNDb250YWlubWVudExh
eWVyID0gY3JlYXRlR3JhcGhpY3NMYXllcihsYXllck5hbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCA2NzJlYjI2Y2Fm
ODBjOTcxMDJiYWRhYTkxNDAwNGY1NGZlYmI4YjE0Li5jNDgyODcxMTczNzAxNzdhMjk4YmZkMmI0
OWVmN2VhNTA1YTUwYWEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtNzEsNyArNzEsNyBAQAogI2luY2x1ZGUgIlJlbmRl
clNjcm9sbGJhci5oIgogI2VuZGlmCiAKLSNpZm5kZWYgTkRFQlVHCisjaWYgRU5BQkxFKFRSRUVf
REVCVUdHSU5HKQogI2luY2x1ZGUgIlJlbmRlclRyZWVBc1RleHQuaCIKICNlbmRpZgogCkBAIC0y
MjUsNyArMjI1LDcgQEAgc3RydWN0IENvbXBvc2l0aW5nU3RhdGUgewogI2lmIEVOQUJMRShDU1Nf
Q09NUE9TSVRJTkcpCiAgICAgICAgICwgbV9oYXNOb3RJc29sYXRlZENvbXBvc2l0ZWRCbGVuZGlu
Z0Rlc2NlbmRhbnRzKGZhbHNlKQogI2VuZGlmCi0jaWZuZGVmIE5ERUJVRworI2lmIEVOQUJMRShU
UkVFX0RFQlVHR0lORykKICAgICAgICAgLCBtX2RlcHRoKDApCiAjZW5kaWYKICAgICB7CkBAIC0y
MzgsNyArMjM4LDcgQEAgc3RydWN0IENvbXBvc2l0aW5nU3RhdGUgewogI2lmIEVOQUJMRShDU1Nf
Q09NUE9TSVRJTkcpCiAgICAgICAgICwgbV9oYXNOb3RJc29sYXRlZENvbXBvc2l0ZWRCbGVuZGlu
Z0Rlc2NlbmRhbnRzKG90aGVyLm1faGFzTm90SXNvbGF0ZWRDb21wb3NpdGVkQmxlbmRpbmdEZXNj
ZW5kYW50cykKICNlbmRpZgotI2lmbmRlZiBOREVCVUcKKyNpZiBFTkFCTEUoVFJFRV9ERUJVR0dJ
TkcpCiAgICAgICAgICwgbV9kZXB0aChvdGhlci5tX2RlcHRoICsgMSkKICNlbmRpZgogICAgIHsK
QEAgLTI1MCw3ICsyNTAsNyBAQCBzdHJ1Y3QgQ29tcG9zaXRpbmdTdGF0ZSB7CiAjaWYgRU5BQkxF
KENTU19DT01QT1NJVElORykKICAgICBib29sIG1faGFzTm90SXNvbGF0ZWRDb21wb3NpdGVkQmxl
bmRpbmdEZXNjZW5kYW50czsKICNlbmRpZgotI2lmbmRlZiBOREVCVUcKKyNpZiBFTkFCTEUoVFJF
RV9ERUJVR0dJTkcpCiAgICAgaW50IG1fZGVwdGg7CiAjZW5kaWYKIH07CkBAIC0zMDE1LDcgKzMw
MTUsNyBAQCBHcmFwaGljc0xheWVyKiBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUxheWVy
Rm9yVG9wT3ZlcmhhbmdBcmVhKGJvb2wgd2FudHNMYQogCiAgICAgaWYgKCFtX2xheWVyRm9yVG9w
T3ZlcmhhbmdBcmVhKSB7CiAgICAgICAgIG1fbGF5ZXJGb3JUb3BPdmVyaGFuZ0FyZWEgPSBHcmFw
aGljc0xheWVyOjpjcmVhdGUoZ3JhcGhpY3NMYXllckZhY3RvcnkoKSwgKnRoaXMpOwotI2lmbmRl
ZiBOREVCVUcKKyNpZiBFTkFCTEUoVFJFRV9ERUJVR0dJTkcpCiAgICAgICAgIG1fbGF5ZXJGb3JU
b3BPdmVyaGFuZ0FyZWEtPnNldE5hbWUoInRvcCBvdmVyaGFuZyBhcmVhIik7CiAjZW5kaWYKICAg
ICAgICAgbV9zY3JvbGxMYXllci0+YWRkQ2hpbGRCZWxvdyhtX2xheWVyRm9yVG9wT3ZlcmhhbmdB
cmVhLmdldCgpLCBtX3Jvb3RDb250ZW50TGF5ZXIuZ2V0KCkpOwpAQCAtMzAzOSw3ICszMDM5LDcg
QEAgR3JhcGhpY3NMYXllciogUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVMYXllckZvckJv
dHRvbU92ZXJoYW5nQXJlYShib29sIHdhbnQKIAogICAgIGlmICghbV9sYXllckZvckJvdHRvbU92
ZXJoYW5nQXJlYSkgewogICAgICAgICBtX2xheWVyRm9yQm90dG9tT3ZlcmhhbmdBcmVhID0gR3Jh
cGhpY3NMYXllcjo6Y3JlYXRlKGdyYXBoaWNzTGF5ZXJGYWN0b3J5KCksICp0aGlzKTsKLSNpZm5k
ZWYgTkRFQlVHCisjaWYgRU5BQkxFKFRSRUVfREVCVUdHSU5HKQogICAgICAgICBtX2xheWVyRm9y
Qm90dG9tT3ZlcmhhbmdBcmVhLT5zZXROYW1lKCJib3R0b20gb3ZlcmhhbmcgYXJlYSIpOwogI2Vu
ZGlmCiAgICAgICAgIG1fc2Nyb2xsTGF5ZXItPmFkZENoaWxkQmVsb3cobV9sYXllckZvckJvdHRv
bU92ZXJoYW5nQXJlYS5nZXQoKSwgbV9yb290Q29udGVudExheWVyLmdldCgpKTsKQEAgLTMwNzAs
NyArMzA3MCw3IEBAIEdyYXBoaWNzTGF5ZXIqIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRl
TGF5ZXJGb3JIZWFkZXIoYm9vbCB3YW50c0xheWVyKQogCiAgICAgaWYgKCFtX2xheWVyRm9ySGVh
ZGVyKSB7CiAgICAgICAgIG1fbGF5ZXJGb3JIZWFkZXIgPSBHcmFwaGljc0xheWVyOjpjcmVhdGUo
Z3JhcGhpY3NMYXllckZhY3RvcnkoKSwgKnRoaXMpOwotI2lmbmRlZiBOREVCVUcKKyNpZiBFTkFC
TEUoVFJFRV9ERUJVR0dJTkcpCiAgICAgICAgIG1fbGF5ZXJGb3JIZWFkZXItPnNldE5hbWUoImhl
YWRlciIpOwogI2VuZGlmCiAgICAgICAgIG1fc2Nyb2xsTGF5ZXItPmFkZENoaWxkQWJvdmUobV9s
YXllckZvckhlYWRlci5nZXQoKSwgbV9yb290Q29udGVudExheWVyLmdldCgpKTsKQEAgLTMxMTEs
NyArMzExMSw3IEBAIEdyYXBoaWNzTGF5ZXIqIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6dXBkYXRl
TGF5ZXJGb3JGb290ZXIoYm9vbCB3YW50c0xheWVyKQogCiAgICAgaWYgKCFtX2xheWVyRm9yRm9v
dGVyKSB7CiAgICAgICAgIG1fbGF5ZXJGb3JGb290ZXIgPSBHcmFwaGljc0xheWVyOjpjcmVhdGUo
Z3JhcGhpY3NMYXllckZhY3RvcnkoKSwgKnRoaXMpOwotI2lmbmRlZiBOREVCVUcKKyNpZiBFTkFC
TEUoVFJFRV9ERUJVR0dJTkcpCiAgICAgICAgIG1fbGF5ZXJGb3JGb290ZXItPnNldE5hbWUoImZv
b3RlciIpOwogI2VuZGlmCiAgICAgICAgIG1fc2Nyb2xsTGF5ZXItPmFkZENoaWxkQWJvdmUobV9s
YXllckZvckZvb3Rlci5nZXQoKSwgbV9yb290Q29udGVudExheWVyLmdldCgpKTsKQEAgLTMxNzks
NyArMzE3OSw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVPdmVyZmxvd0Nv
bnRyb2xzTGF5ZXJzKCkKICAgICBpZiAocmVxdWlyZXNPdmVyaGFuZ0FyZWFzTGF5ZXIoKSkgewog
ICAgICAgICBpZiAoIW1fbGF5ZXJGb3JPdmVyaGFuZ0FyZWFzKSB7CiAgICAgICAgICAgICBtX2xh
eWVyRm9yT3ZlcmhhbmdBcmVhcyA9IEdyYXBoaWNzTGF5ZXI6OmNyZWF0ZShncmFwaGljc0xheWVy
RmFjdG9yeSgpLCAqdGhpcyk7Ci0jaWZuZGVmIE5ERUJVRworI2lmIEVOQUJMRShUUkVFX0RFQlVH
R0lORykKICAgICAgICAgICAgIG1fbGF5ZXJGb3JPdmVyaGFuZ0FyZWFzLT5zZXROYW1lKCJvdmVy
aGFuZyBhcmVhcyIpOwogI2VuZGlmCiAgICAgICAgICAgICBtX2xheWVyRm9yT3ZlcmhhbmdBcmVh
cy0+c2V0RHJhd3NDb250ZW50KGZhbHNlKTsKQEAgLTMyMDgsNyArMzIwOCw3IEBAIHZvaWQgUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRhdGVPdmVyZmxvd0NvbnRyb2xzTGF5ZXJzKCkKICAgICBp
ZiAocmVxdWlyZXNDb250ZW50U2hhZG93TGF5ZXIoKSkgewogICAgICAgICBpZiAoIW1fY29udGVu
dFNoYWRvd0xheWVyKSB7CiAgICAgICAgICAgICBtX2NvbnRlbnRTaGFkb3dMYXllciA9IEdyYXBo
aWNzTGF5ZXI6OmNyZWF0ZShncmFwaGljc0xheWVyRmFjdG9yeSgpLCAqdGhpcyk7Ci0jaWZuZGVm
IE5ERUJVRworI2lmIEVOQUJMRShUUkVFX0RFQlVHR0lORykKICAgICAgICAgICAgIG1fY29udGVu
dFNoYWRvd0xheWVyLT5zZXROYW1lKCJjb250ZW50IHNoYWRvdyIpOwogI2VuZGlmCiAgICAgICAg
ICAgICBtX2NvbnRlbnRTaGFkb3dMYXllci0+c2V0U2l6ZShtX3Jvb3RDb250ZW50TGF5ZXItPnNp
emUoKSk7CkBAIC0zMjI4LDcgKzMyMjgsNyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6
dXBkYXRlT3ZlcmZsb3dDb250cm9sc0xheWVycygpCiAgICAgICAgIGlmICghbV9sYXllckZvckhv
cml6b250YWxTY3JvbGxiYXIpIHsKICAgICAgICAgICAgIG1fbGF5ZXJGb3JIb3Jpem9udGFsU2Ny
b2xsYmFyID0gR3JhcGhpY3NMYXllcjo6Y3JlYXRlKGdyYXBoaWNzTGF5ZXJGYWN0b3J5KCksICp0
aGlzKTsKICAgICAgICAgICAgIG1fbGF5ZXJGb3JIb3Jpem9udGFsU2Nyb2xsYmFyLT5zZXRTaG93
RGVidWdCb3JkZXIobV9zaG93RGVidWdCb3JkZXJzKTsKLSNpZm5kZWYgTkRFQlVHCisjaWYgRU5B
QkxFKFRSRUVfREVCVUdHSU5HKQogICAgICAgICAgICAgbV9sYXllckZvckhvcml6b250YWxTY3Jv
bGxiYXItPnNldE5hbWUoImhvcml6b250YWwgc2Nyb2xsYmFyIGNvbnRhaW5lciIpOwogCiAjZW5k
aWYKQEAgLTMyNTIsNyArMzI1Miw3IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjp1cGRh
dGVPdmVyZmxvd0NvbnRyb2xzTGF5ZXJzKCkKICAgICAgICAgaWYgKCFtX2xheWVyRm9yVmVydGlj
YWxTY3JvbGxiYXIpIHsKICAgICAgICAgICAgIG1fbGF5ZXJGb3JWZXJ0aWNhbFNjcm9sbGJhciA9
IEdyYXBoaWNzTGF5ZXI6OmNyZWF0ZShncmFwaGljc0xheWVyRmFjdG9yeSgpLCAqdGhpcyk7CiAg
ICAgICAgICAgICBtX2xheWVyRm9yVmVydGljYWxTY3JvbGxiYXItPnNldFNob3dEZWJ1Z0JvcmRl
cihtX3Nob3dEZWJ1Z0JvcmRlcnMpOwotI2lmbmRlZiBOREVCVUcKKyNpZiBFTkFCTEUoVFJFRV9E
RUJVR0dJTkcpCiAgICAgICAgICAgICBtX2xheWVyRm9yVmVydGljYWxTY3JvbGxiYXItPnNldE5h
bWUoInZlcnRpY2FsIHNjcm9sbGJhciBjb250YWluZXIiKTsKICNlbmRpZgogI2lmIFBMQVRGT1JN
KENPQ09BKSAmJiBVU0UoQ0EpCkBAIC0zMjk5LDcgKzMyOTksNyBAQCB2b2lkIFJlbmRlckxheWVy
Q29tcG9zaXRvcjo6ZW5zdXJlUm9vdExheWVyKCkKIAogICAgIGlmICghbV9yb290Q29udGVudExh
eWVyKSB7CiAgICAgICAgIG1fcm9vdENvbnRlbnRMYXllciA9IEdyYXBoaWNzTGF5ZXI6OmNyZWF0
ZShncmFwaGljc0xheWVyRmFjdG9yeSgpLCAqdGhpcyk7Ci0jaWZuZGVmIE5ERUJVRworI2lmIEVO
QUJMRShUUkVFX0RFQlVHR0lORykKICAgICAgICAgbV9yb290Q29udGVudExheWVyLT5zZXROYW1l
KCJjb250ZW50IHJvb3QiKTsKICNlbmRpZgogICAgICAgICBJbnRSZWN0IG92ZXJmbG93UmVjdCA9
IHNuYXBwZWRJbnRSZWN0KG1fcmVuZGVyVmlldy5sYXlvdXRPdmVyZmxvd1JlY3QoKSk7CkBAIC0z
MzI0LDE5ICszMzI0LDE5IEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjplbnN1cmVSb290
TGF5ZXIoKQogCiAgICAgICAgICAgICAvLyBDcmVhdGUgYSBsYXllciB0byBob3N0IHRoZSBjbGlw
cGluZyBsYXllciBhbmQgdGhlIG92ZXJmbG93IGNvbnRyb2xzIGxheWVycy4KICAgICAgICAgICAg
IG1fb3ZlcmZsb3dDb250cm9sc0hvc3RMYXllciA9IEdyYXBoaWNzTGF5ZXI6OmNyZWF0ZShncmFw
aGljc0xheWVyRmFjdG9yeSgpLCAqdGhpcyk7Ci0jaWZuZGVmIE5ERUJVRworI2lmIEVOQUJMRShU
UkVFX0RFQlVHR0lORykKICAgICAgICAgICAgIG1fb3ZlcmZsb3dDb250cm9sc0hvc3RMYXllci0+
c2V0TmFtZSgib3ZlcmZsb3cgY29udHJvbHMgaG9zdCIpOwogI2VuZGlmCiAKICAgICAgICAgICAg
IC8vIENyZWF0ZSBhIGNsaXBwaW5nIGxheWVyIGlmIHRoaXMgaXMgYW4gaWZyYW1lCiAgICAgICAg
ICAgICBtX2NsaXBMYXllciA9IEdyYXBoaWNzTGF5ZXI6OmNyZWF0ZShncmFwaGljc0xheWVyRmFj
dG9yeSgpLCAqdGhpcyk7Ci0jaWZuZGVmIE5ERUJVRworI2lmIEVOQUJMRShUUkVFX0RFQlVHR0lO
RykKICAgICAgICAgICAgIG1fY2xpcExheWVyLT5zZXROYW1lKCJmcmFtZSBjbGlwcGluZyIpOwog
I2VuZGlmCiAgICAgICAgICAgICBtX2NsaXBMYXllci0+c2V0TWFza3NUb0JvdW5kcyh0cnVlKTsK
ICAgICAgICAgICAgIAogICAgICAgICAgICAgbV9zY3JvbGxMYXllciA9IEdyYXBoaWNzTGF5ZXI6
OmNyZWF0ZShncmFwaGljc0xheWVyRmFjdG9yeSgpLCAqdGhpcyk7Ci0jaWZuZGVmIE5ERUJVRwor
I2lmIEVOQUJMRShUUkVFX0RFQlVHR0lORykKICAgICAgICAgICAgIG1fc2Nyb2xsTGF5ZXItPnNl
dE5hbWUoImZyYW1lIHNjcm9sbGluZyIpOwogI2VuZGlmCiAgICAgICAgICAgICAvLyBIb29rIHRo
ZW0gdXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3Qu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggZWJi
NzBhNDRhYTNkZTRjZDVjZWM2ZTMyYTU5YjNlN2ZiYzc0MTRkNC4uZDc0NDgyMGViNmNlMTEzNDU1
Yjg4Mjc5YzE5MTczYmM5MDhjOTM3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5jcHAKQEAgLTEzNTEsNyArMTM1MSw3IEBAIHZvaWQgUmVuZGVyT2JqZWN0Ojpjb21w
dXRlRmxvYXRSZWN0Rm9yUmVwYWludChjb25zdCBSZW5kZXJMYXllck1vZGVsT2JqZWN0KiwgRmxv
CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKLSNpZm5kZWYgTkRFQlVHCisjaWYgRU5B
QkxFKFRSRUVfREVCVUdHSU5HKQogCiBzdGF0aWMgdm9pZCBzaG93UmVuZGVyVHJlZUxlZ2VuZCgp
CiB7CkBAIC0yNDk3LDcgKzI0OTcsNyBAQCB2b2lkIFJlbmRlck9iamVjdDo6Y2FsY3VsYXRlQm9y
ZGVyU3R5bGVDb2xvcihjb25zdCBFQm9yZGVyU3R5bGUmIHN0eWxlLCBjb25zdCBCbwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKLSNpZm5kZWYgTkRFQlVHCisjaWYgRU5BQkxFKFRSRUVfREVC
VUdHSU5HKQogCiB2b2lkIHNob3dOb2RlVHJlZShjb25zdCBXZWJDb3JlOjpSZW5kZXJPYmplY3Qq
IG9iamVjdCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCAw
ZDg1YTE3N2Y1YTViMDcwNWYwNGRmNDgwNGFkY2JlNTExYmEyNmViLi5iYTcwMDIyNDA0ZjM1OTNk
Y2UzNzY0YzA0YzUyYzFiMjM4NmQzNTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ck9iamVjdC5oCkBAIC0xMzYsMTAgKzEzNiw2IEBAIHN0cnVjdCBBbm5vdGF0ZWRSZWdpb25WYWx1
ZSB7CiB9OwogI2VuZGlmCiAKLSNpZm5kZWYgTkRFQlVHCi1jb25zdCBpbnQgc2hvd1RyZWVDaGFy
YWN0ZXJPZmZzZXQgPSAzOTsKLSNlbmRpZgotCiAvLyBCYXNlIGNsYXNzIGZvciBhbGwgcmVuZGVy
aW5nIHRyZWUgb2JqZWN0cy4KIGNsYXNzIFJlbmRlck9iamVjdCA6IHB1YmxpYyBDYWNoZWRJbWFn
ZUNsaWVudCB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CkBAIC0yNzEsNyArMjY3LDcg
QEAgcHJpdmF0ZToKICAgICB2b2lkIHNldExheWVyTmVlZHNGdWxsUmVwYWludEZvclBvc2l0aW9u
ZWRNb3ZlbWVudExheW91dCgpOwogCiBwdWJsaWM6Ci0jaWZuZGVmIE5ERUJVRworI2lmIEVOQUJM
RShUUkVFX0RFQlVHR0lORykKICAgICB2b2lkIHNob3dOb2RlVHJlZUZvclRoaXMoKSBjb25zdDsK
ICAgICB2b2lkIHNob3dSZW5kZXJUcmVlRm9yVGhpcygpIGNvbnN0OwogICAgIHZvaWQgc2hvd0xp
bmVUcmVlRm9yVGhpcygpIGNvbnN0OwpAQCAtMTExMSw3ICsxMTA3LDcgQEAgU1BFQ0lBTElaRV9U
WVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpUb1ZhbHVlVHlwZU5hbWUpIFwKICAgICBzdGF0aWMg
Ym9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0JiByZW5kZXJlcikgeyByZXR1
cm4gcmVuZGVyZXIucHJlZGljYXRlOyB9IFwKIFNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkK
IAotI2lmbmRlZiBOREVCVUcKKyNpZiBFTkFCTEUoVFJFRV9ERUJVR0dJTkcpCiAvLyBPdXRzaWRl
IHRoZSBXZWJDb3JlIG5hbWVzcGFjZSBmb3IgZWFzZSBvZiBpbnZvY2F0aW9uIGZyb20gZ2RiLgog
dm9pZCBzaG93Tm9kZVRyZWUoY29uc3QgV2ViQ29yZTo6UmVuZGVyT2JqZWN0Kik7CiB2b2lkIHNo
b3dMaW5lVHJlZShjb25zdCBXZWJDb3JlOjpSZW5kZXJPYmplY3QqKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9Sb290SW5saW5lQm94LmNwcAppbmRleCBjMjcwNmEyM2I5NzNjOGM1ZGZhMzVm
NTBjZGJhYTFiZDUxMGVhMjE3Li40MjQ0Y2NlZDM0OGQ1MDU2OTNiMDFmMjc0NTkzODUyYmRjYTM5
YjhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guY3BwCkBAIC0x
MTUyLDcgKzExNTIsNyBAQCBOb2RlKiBSb290SW5saW5lQm94OjpnZXRMb2dpY2FsRW5kQm94V2l0
aE5vZGUoSW5saW5lQm94KiYgZW5kQm94KSBjb25zdAogICAgIHJldHVybiAwOwogfQogCi0jaWZu
ZGVmIE5ERUJVRworI2lmIEVOQUJMRShUUkVFX0RFQlVHR0lORykKIGNvbnN0IGNoYXIqIFJvb3RJ
bmxpbmVCb3g6OmJveE5hbWUoKSBjb25zdAogewogICAgIHJldHVybiAiUm9vdElubGluZUJveCI7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jvb3RJbmxpbmVCb3guaAppbmRleCAzZTljODg4MDZk
ZTk0OTQzNTg3ZGY4NzIyOTI3YjBlNzc3YjJmMTc4Li4zYmQxNWNhODdhZTY1NGE3NDJlOTdmNDlk
NzJlYmIyZGMyM2JhZDEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUm9v
dElubGluZUJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9Sb290SW5saW5lQm94
LmgKQEAgLTE5MCw3ICsxOTAsNyBAQCBwdWJsaWM6CiAgICAgTm9kZSogZ2V0TG9naWNhbFN0YXJ0
Qm94V2l0aE5vZGUoSW5saW5lQm94KiYpIGNvbnN0OwogICAgIE5vZGUqIGdldExvZ2ljYWxFbmRC
b3hXaXRoTm9kZShJbmxpbmVCb3gqJikgY29uc3Q7CiAKLSNpZm5kZWYgTkRFQlVHCisjaWYgRU5B
QkxFKFRSRUVfREVCVUdHSU5HKQogICAgIHZpcnR1YWwgY29uc3QgY2hhciogYm94TmFtZSgpIGNv
bnN0IG92ZXJyaWRlIGZpbmFsOwogI2VuZGlmCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRGdW5jdGlvbnMuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRGdW5jdGlvbnMuY3BwCmluZGV4IGYz
YzRhNWZjY2NiODE0OTc3ODJhMjA1NTBlODc4ZDgxYmExYWI4NTguLjlmMWRkZWQwNDdhOTg0NDBk
Mzc4Njk2ZDUwNTM3OTVjZTgzOWI1NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9TaW1wbGVMaW5lTGF5b3V0RnVuY3Rpb25zLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dEZ1bmN0aW9ucy5jcHAKQEAgLTE3OSw3ICsxNzksNyBA
QCBWZWN0b3I8RmxvYXRRdWFkPiBjb2xsZWN0VGV4dEFic29sdXRlUXVhZHMoY29uc3QgUmVuZGVy
VGV4dCYgdGV4dFJlbmRlcmVyLCBjb25zdAogICAgIHJldHVybiBxdWFkczsKIH0KIAotI2lmbmRl
ZiBOREVCVUcKKyNpZiBFTkFCTEUoVFJFRV9ERUJVR0dJTkcpCiBzdGF0aWMgdm9pZCBwcmludFBy
ZWZpeChpbnQmIHByaW50ZWRDaGFyYWN0ZXJzLCBpbnQgZGVwdGgpCiB7CiAgICAgZnByaW50Zihz
dGRlcnIsICItLS0tLS0tIC0tIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvU2ltcGxlTGluZUxheW91dEZ1bmN0aW9ucy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1NpbXBsZUxpbmVMYXlvdXRGdW5jdGlvbnMuaAppbmRleCAyYTk2NDY0M2JmOGEyZjU4MDM1NzU0
ZDVlY2VjZDliYmQ0YzI5ZWJkLi5lZjM4OWM2MDAzMjIxNTc5ODQwYTc3NDJhZmJiZWQ2Y2EwMzdj
ZGM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91
dEZ1bmN0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5
b3V0RnVuY3Rpb25zLmgKQEAgLTYzLDcgKzYzLDcgQEAgVmVjdG9yPEZsb2F0UXVhZD4gY29sbGVj
dFRleHRBYnNvbHV0ZVF1YWRzKGNvbnN0IFJlbmRlclRleHQmLCBjb25zdCBMYXlvdXQmLCBib28K
IExheW91dFVuaXQgbGluZUhlaWdodEZyb21GbG93KGNvbnN0IFJlbmRlckJsb2NrRmxvdyYpOwog
TGF5b3V0VW5pdCBiYXNlbGluZUZyb21GbG93KGNvbnN0IFJlbmRlckJsb2NrRmxvdyYpOwogCi0j
aWZuZGVmIE5ERUJVRworI2lmIEVOQUJMRShUUkVFX0RFQlVHR0lORykKIHZvaWQgc2hvd0xpbmVM
YXlvdXRGb3JGbG93KGNvbnN0IFJlbmRlckJsb2NrRmxvdyYsIGNvbnN0IExheW91dCYsIGludCBk
ZXB0aCk7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2
Zy9TVkdSZXNvdXJjZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNv
dXJjZXMuY3BwCmluZGV4IDU2OWQyYWVhNWFhMDQxNWJmMzAyMzNiZDhiNDE5NmRiZGNjNjI4ZTMu
LmFiNjFkZDNhMmI1N2ZhNDY3ZjJkNGEwNjg4YjE1NTlhOWU3ZjhmZmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHUmVzb3VyY2VzLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlcy5jcHAKQEAgLTMxLDcgKzMxLDcgQEAK
ICNpbmNsdWRlICJTVkdSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIlNWR1VSSVJlZmVyZW5jZS5o
IgogCi0jaWZuZGVmIE5ERUJVRworI2lmIEVOQUJMRShUUkVFX0RFQlVHR0lORykKICNpbmNsdWRl
IDxzdGRpby5oPgogI2VuZGlmCiAKQEAgLTYxMiw3ICs2MTIsNyBAQCB2b2lkIFNWR1Jlc291cmNl
czo6cmVzZXRMaW5rZWRSZXNvdXJjZSgpCiAgICAgbV9saW5rZWRSZXNvdXJjZSA9IDA7CiB9CiAK
LSNpZm5kZWYgTkRFQlVHCisjaWYgRU5BQkxFKFRSRUVfREVCVUdHSU5HKQogdm9pZCBTVkdSZXNv
dXJjZXM6OmR1bXAoY29uc3QgUmVuZGVyT2JqZWN0KiBvYmplY3QpCiB7CiAgICAgQVNTRVJUKG9i
amVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1Jlc291
cmNlcy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdSZXNvdXJjZXMuaAppbmRl
eCA3ODVlZjVhOTk5NDEyNzU4MWJmYjM5ZTM2YzQ1MDI4NWJiNWEzMmI1Li44ZGIxZDRlMzMzNmFl
MWNlMzAyM2JmNTZjODQzMzUzOTZmNWRkZTg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1NWR1Jlc291cmNlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHUmVzb3VyY2VzLmgKQEAgLTcxLDcgKzcxLDcgQEAgcHVibGljOgogICAgIHZvaWQg
cmVtb3ZlQ2xpZW50RnJvbUNhY2hlKFJlbmRlckVsZW1lbnQmLCBib29sIG1hcmtGb3JJbnZhbGlk
YXRpb24gPSB0cnVlKSBjb25zdDsKICAgICB2b2lkIHJlc291cmNlRGVzdHJveWVkKFJlbmRlclNW
R1Jlc291cmNlQ29udGFpbmVyJik7CiAKLSNpZm5kZWYgTkRFQlVHCisjaWYgRU5BQkxFKFRSRUVf
REVCVUdHSU5HKQogICAgIHZvaWQgZHVtcChjb25zdCBSZW5kZXJPYmplY3QqKTsKICNlbmRpZgog
Cg==
</data>
<flag name="review"
          id="272952"
          type_id="1"
          status="+"
          setter="zalan"
    />
          </attachment>
      

    </bug>

</bugzilla>