<?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>159091</bug_id>
          
          <creation_ts>2016-06-24 07:12:14 -0700</creation_ts>
          <short_desc>Eliminate trailing whitespace in MathML code</short_desc>
          <delta_ts>2016-07-01 01:34:41 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>MathML</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>155018</dependson>
    
    <dependson>159090</dependson>
          <blocked>153991</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Frédéric Wang Nélar">fred.wang</reporter>
          <assigned_to name="Frédéric Wang Nélar">fred.wang</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dbarton</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mrobinson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1205072</commentid>
    <comment_count>0</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-06-24 07:12:14 -0700</bug_when>
    <thetext>Another follow-up cleanup to take after the remaining patches of phase 1 are merged.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1205319</commentid>
    <comment_count>1</comment_count>
      <attachid>282049</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-06-24 23:53:16 -0700</bug_when>
    <thetext>Created attachment 282049
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207012</commentid>
    <comment_count>2</comment_count>
      <attachid>282517</attachid>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-07-01 00:22:27 -0700</bug_when>
    <thetext>Created attachment 282517
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1207014</commentid>
    <comment_count>3</comment_count>
    <who name="Frédéric Wang Nélar">fred.wang</who>
    <bug_when>2016-07-01 00:30:25 -0700</bug_when>
    <thetext>Committed r202727: &lt;http://trac.webkit.org/changeset/202727&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>282049</attachid>
            <date>2016-06-24 23:53:16 -0700</date>
            <delta_ts>2016-07-01 00:22:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>0002-Bug-159091-Eliminate-trailing-whitespace-in-MathML-c.patch</filename>
            <type>text/plain</type>
            <size>27221</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">RnJvbSA3ZjMzOWEwZWY2MWNmYzU3ZjhlZmNlYjMyYjhhN2JlMjE1MTgzMjQ0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBGcmVkZXJpYyBXYW5nIDxmcmVkLndhbmdAZnJlZS5mcj4KRGF0
ZTogRnJpLCAyNCBKdW4gMjAxNiAxNjozNDozNiArMDIwMApTdWJqZWN0OiBbUEFUQ0ggMDIvMTJd
IEJ1ZyAxNTkwOTEgLSBFbGltaW5hdGUgdHJhaWxpbmcgd2hpdGVzcGFjZSBpbiBNYXRoTUwKIGNv
ZGUKCi0tLQogU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfCA0MyArKysrKysrKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0
aE1MRWxlbWVudC5jcHAgICAgICAgICAgICB8ICA2ICstLQogLi4uL21hdGhtbC9NYXRoTUxJbmxp
bmVDb250YWluZXJFbGVtZW50LmNwcCAgICAgICAgfCAgMiArLQogLi4uL1dlYkNvcmUvbWF0aG1s
L01hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaCAgfCAgNCArLQogU291cmNlL1dlYkNvcmUv
bWF0aG1sL01hdGhNTE1hdGhFbGVtZW50LmggICAgICAgICAgfCAgMiArLQogU291cmNlL1dlYkNv
cmUvbWF0aG1sL01hdGhNTE1lbmNsb3NlRWxlbWVudC5jcHAgICAgfCAgMiArLQogU291cmNlL1dl
YkNvcmUvbWF0aG1sL01hdGhNTFRleHRFbGVtZW50LmNwcCAgICAgICAgfCAgMiArLQogU291cmNl
L1dlYkNvcmUvbWF0aG1sL01hdGhNTFRleHRFbGVtZW50LmggICAgICAgICAgfCAgNCArLQogLi4u
L1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxCbG9jay5jcHAgfCAzMiArKysr
KysrKy0tLS0tLS0tCiAuLi4vV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEJs
b2NrLmggICB8IDE2ICsrKystLS0tCiAuLi4vcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxG
ZW5jZWQuY3BwICAgICAgICB8IDIyICsrKysrLS0tLS0tCiAuLi4vV2ViQ29yZS9yZW5kZXJpbmcv
bWF0aG1sL1JlbmRlck1hdGhNTEZlbmNlZC5oICB8ICA4ICsrLS0KIC4uLi9yZW5kZXJpbmcvbWF0
aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmNwcCAgICAgIHwgIDggKystLQogLi4uL3JlbmRlcmlu
Zy9tYXRobWwvUmVuZGVyTWF0aE1MRnJhY3Rpb24uaCAgICAgICAgfCAgMiArLQogU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxNYXRoLmggfCAgNCArLQogLi4uL3Jl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MTWVuY2xvc2UuaCAgICAgICAgfCAgNCArLQogLi4u
L3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuY3BwICAgICAgfCAgMiArLQog
Li4uL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuaCAgICAgICAgfCAgMiAr
LQogLi4uL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSb290LmNwcCAgfCAg
MiArLQogLi4uL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU2NyaXB0cy5jcHAgICAgICAg
fCAgNCArLQogLi4uL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTcGFjZS5j
cHAgfCAgMiArLQogLi4uL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTcGFj
ZS5oICAgfCAgMiArLQogLi4uL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxU
b2tlbi5oICAgfCAgMiArLQogLi4uL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVW5kZXJP
dmVyLmNwcCAgICAgfCAgMiArLQogLi4uL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVW5k
ZXJPdmVyLmggICAgICAgfCAgNiArLS0KIDI1IGZpbGVzIGNoYW5nZWQsIDExNCBpbnNlcnRpb25z
KCspLCA3MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjliZTVlZC4uZmE3MTcwYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE2LTA2LTI0ICBGcmVkZXJpYyBXYW5nICA8Zndh
bmdAaWdhbGlhLmNvbT4KKworICAgICAgICBFbGltaW5hdGUgdHJhaWxpbmcgd2hpdGVzcGFjZSBp
biBNYXRoTUwgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTU5MDkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgTm8gbmV3IHRlc3RzLCBiZWhhdmlvciB1bmNoYW5nZWQuCisKKyAgICAgICAgKiBtYXRo
bWwvTWF0aE1MRWxlbWVudC5jcHA6CisgICAgICAgICogbWF0aG1sL01hdGhNTElubGluZUNvbnRh
aW5lckVsZW1lbnQuY3BwOgorICAgICAgICAqIG1hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJF
bGVtZW50Lmg6CisgICAgICAgICogbWF0aG1sL01hdGhNTE1hdGhFbGVtZW50Lmg6CisgICAgICAg
ICogbWF0aG1sL01hdGhNTE1lbmNsb3NlRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpN
YXRoTUxNZW5jbG9zZUVsZW1lbnQ6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcik6CisgICAgICAgICog
bWF0aG1sL01hdGhNTFRleHRFbGVtZW50LmNwcDoKKyAgICAgICAgKiBtYXRobWwvTWF0aE1MVGV4
dEVsZW1lbnQuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEJsb2Nr
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTEJsb2NrOjpiYXNlbGluZVBvc2l0
aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTEJsb2NrOjpwYWludCk6CisgICAg
ICAgIChXZWJDb3JlOjpwYXJzZU1hdGhNTE5hbWVkU3BhY2UpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9tYXRobWwvUmVuZGVyTWF0aE1MQmxvY2suaDoKKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1s
L1JlbmRlck1hdGhNTEZlbmNlZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxG
ZW5jZWQ6OnVwZGF0ZUZyb21FbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhN
TEZlbmNlZDo6YWRkQ2hpbGQpOgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0
aE1MRmVuY2VkLmg6CisgICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGcmFj
dGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxGcmFjdGlvbjo6c3R5bGVE
aWRDaGFuZ2UpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MRnJhY3Rpb246OnBhaW50
KToKKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmg6Cisg
ICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxNYXRoLmg6CisgICAgICAgICog
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxNZW5jbG9zZS5oOgorICAgICAgICAqIHJlbmRl
cmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuY3BwOgorICAgICAgICAqIHJlbmRlcmlu
Zy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvbWF0
aG1sL1JlbmRlck1hdGhNTFJvb3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1M
Um9vdDo6cGFpbnQpOgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU2Ny
aXB0cy5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTcGFjZS5j
cHA6CisgICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTcGFjZS5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVG9rZW4uaDoKKyAgICAgICAgKiBy
ZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFVuZGVyT3Zlci5jcHA6CisgICAgICAgICogcmVu
ZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxVbmRlck92ZXIuaDoKKwogMjAxNi0wMy0xNSAgRnJl
ZGVyaWMgV2FuZyAgPGZ3YW5nQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmVmYWN0b3IgbGF5b3V0
IGZ1bmN0aW9ucyB0byBhdm9pZCB1c2luZyBmbGV4Ym94IGluIE1hdGhNTApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
bWF0aG1sL01hdGhNTEVsZW1lbnQuY3BwCmluZGV4IDA1YjMwODkuLmNmNTFkNGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxFbGVtZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9tYXRobWwvTWF0aE1MRWxlbWVudC5jcHAKQEAgLTQ2LDE0ICs0NiwxNCBAQAogI2lu
Y2x1ZGUgIlNWR1NWR0VsZW1lbnQuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIAorCiB1
c2luZyBuYW1lc3BhY2UgTWF0aE1MTmFtZXM7Ci0gICAgCisKIE1hdGhNTEVsZW1lbnQ6Ok1hdGhN
TEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtZW50
KQogICAgIDogU3R5bGVkRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVudCwgQ3JlYXRlTWF0aE1MRWxl
bWVudCkKIHsKIH0KLSAgICAKKwogUmVmPE1hdGhNTEVsZW1lbnQ+IE1hdGhNTEVsZW1lbnQ6OmNy
ZWF0ZShjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQpCiB7
CiAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWF0aE1MRWxlbWVudCh0YWdOYW1lLCBkb2N1bWVu
dCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTElubGluZUNvbnRh
aW5lckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTElubGluZUNvbnRh
aW5lckVsZW1lbnQuY3BwCmluZGV4IDg2ZDVkNjEuLjc1ZGJmYTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAKQEAg
LTQxLDcgKzQxLDcgQEAKICNpbmNsdWRlICJSZW5kZXJNYXRoTUxVbmRlck92ZXIuaCIKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewotICAgIAorCiB1c2luZyBuYW1lc3BhY2UgTWF0aE1MTmFtZXM7CiAK
IE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQ6Ok1hdGhNTElubGluZUNvbnRhaW5lckVsZW1l
bnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmIGRvY3VtZW50KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50
LmgKaW5kZXggNTUwNTNmOS4uNTA5YmJhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbWF0
aG1sL01hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9t
YXRobWwvTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5oCkBAIC0zMSw3ICszMSw3IEBACiAj
aW5jbHVkZSAiTWF0aE1MRWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgCisK
IGNsYXNzIE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQgOiBwdWJsaWMgTWF0aE1MRWxlbWVu
dCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50
PiBjcmVhdGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQmKTsKQEAgLTQ1
LDcgKzQ1LDcgQEAgcHJvdGVjdGVkOgogcHJpdmF0ZToKICAgICBSZW5kZXJQdHI8UmVuZGVyRWxl
bWVudD4gY3JlYXRlRWxlbWVudFJlbmRlcmVyKFJlbmRlclN0eWxlJiYsIGNvbnN0IFJlbmRlclRy
ZWVQb3NpdGlvbiYpIG92ZXJyaWRlOwogfTsKLSAgICAKKwogfQogCiAjZW5kaWYgLy8gRU5BQkxF
KE1BVEhNTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxNYXRoRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE1hdGhFbGVtZW50LmgKaW5kZXgg
ZWZmODhhNC4uNzYwNDZkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhN
TE1hdGhFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE1hdGhFbGVt
ZW50LmgKQEAgLTQxLDcgKzQxLDcgQEAgcHJpdmF0ZToKIAogICAgIFJlbmRlclB0cjxSZW5kZXJF
bGVtZW50PiBjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiwgY29uc3QgUmVuZGVy
VHJlZVBvc2l0aW9uJikgb3ZlcnJpZGU7CiB9OwotICAgIAorCiB9CiAKICNlbmRpZiAvLyBFTkFC
TEUoTUFUSE1MKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE1lbmNs
b3NlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MTWVuY2xvc2VFbGVt
ZW50LmNwcAppbmRleCAyZWEwOGViLi5kMDExZjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9tYXRobWwvTWF0aE1MTWVuY2xvc2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9t
YXRobWwvTWF0aE1MTWVuY2xvc2VFbGVtZW50LmNwcApAQCAtNDgsNyArNDgsNyBAQCBSZWY8TWF0
aE1MTWVuY2xvc2VFbGVtZW50PiBNYXRoTUxNZW5jbG9zZUVsZW1lbnQ6OmNyZWF0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiB0YQogfQogCiBSZW5kZXJQdHI8UmVuZGVyRWxlbWVudD4gTWF0aE1MTWVu
Y2xvc2VFbGVtZW50OjpjcmVhdGVFbGVtZW50UmVuZGVyZXIoUmVuZGVyU3R5bGUmJiBzdHlsZSwg
Y29uc3QgUmVuZGVyVHJlZVBvc2l0aW9uJikKLXsgICAgCit7CiAgICAgcmV0dXJuIGNyZWF0ZVJl
bmRlcmVyPFJlbmRlck1hdGhNTE1lbmNsb3NlPigqdGhpcywgV1RGTW92ZShzdHlsZSkpOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MVGV4dEVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFRleHRFbGVtZW50LmNwcAppbmRleCBjMWRj
NGY3Li42NzM1NGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MVGV4
dEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxUZXh0RWxlbWVu
dC5jcHAKQEAgLTM2LDcgKzM2LDcgQEAKICNpbmNsdWRlICJSZW5kZXJNYXRoTUxUb2tlbi5oIgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgCisKIHVzaW5nIG5hbWVzcGFjZSBNYXRoTUxOYW1l
czsKIAogaW5saW5lIE1hdGhNTFRleHRFbGVtZW50OjpNYXRoTUxUZXh0RWxlbWVudChjb25zdCBR
dWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYgZG9jdW1lbnQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MVGV4dEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L21hdGhtbC9NYXRoTUxUZXh0RWxlbWVudC5oCmluZGV4IDI1NTBlNjUuLmJiMmJiMDcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxUZXh0RWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxUZXh0RWxlbWVudC5oCkBAIC0zMSw3ICszMSw3IEBA
CiAjaW5jbHVkZSAiTWF0aE1MRWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAg
CisKIGNsYXNzIE1hdGhNTFRleHRFbGVtZW50IGZpbmFsIDogcHVibGljIE1hdGhNTEVsZW1lbnQg
ewogcHVibGljOgogICAgIHN0YXRpYyBSZWY8TWF0aE1MVGV4dEVsZW1lbnQ+IGNyZWF0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYpOwpAQCAtNDgsNyArNDgsNyBAQCBw
cml2YXRlOgogICAgIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKGNvbnN0IENoaWxkQ2hhbmdlJikgb3Zl
cnJpZGU7CiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiwgY29u
c3QgQXRvbWljU3RyaW5nJikgb3ZlcnJpZGU7CiB9OwotICAgIAorCiB9CiAKICNlbmRpZiAvLyBF
TkFCTEUoTUFUSE1MKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGht
bC9SZW5kZXJNYXRoTUxCbG9jay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1s
L1JlbmRlck1hdGhNTEJsb2NrLmNwcAppbmRleCA0YTVlMmM5Li4wMDlhMTVkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmNw
cApAQCAtNDEsOSArNDEsOSBAQAogI2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICAK
KwogdXNpbmcgbmFtZXNwYWNlIE1hdGhNTE5hbWVzOwotICAgIAorCiBSZW5kZXJNYXRoTUxCbG9j
azo6UmVuZGVyTWF0aE1MQmxvY2soRWxlbWVudCYgY29udGFpbmVyLCBSZW5kZXJTdHlsZSYmIHN0
eWxlKQogICAgIDogUmVuZGVyQmxvY2soY29udGFpbmVyLCBXVEZNb3ZlKHN0eWxlKSwgMCkKIHsK
QEAgLTg4LDcgKzg4LDcgQEAgaW50IFJlbmRlck1hdGhNTEJsb2NrOjpiYXNlbGluZVBvc2l0aW9u
KEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUsIGJvb2wgZmlyc3RMaW4KICAgICAvLyByZXR1cm4g
MCBoZXJlIHRvIG1hdGNoIG91ciBsaW5lLWhlaWdodC4gVGhpcyBtYXR0ZXJzIHdoZW4gUm9vdElu
bGluZUJveDo6YXNjZW50QW5kRGVzY2VudEZvckJveCBpcyBjYWxsZWQgb24gYSBSb290SW5saW5l
Qm94IGZvciBhbiBpbmxpbmUtYmxvY2suCiAgICAgaWYgKGxpbmVQb3NpdGlvbk1vZGUgPT0gUG9z
aXRpb25PZkludGVyaW9yTGluZUJveGVzKQogICAgICAgICByZXR1cm4gMDsKLSAgICAKKwogICAg
IHJldHVybiBmaXJzdExpbmVCYXNlbGluZSgpLnZhbHVlT3IoUmVuZGVyQmxvY2s6OmJhc2VsaW5l
UG9zaXRpb24oYmFzZWxpbmVUeXBlLCBmaXJzdExpbmUsIGRpcmVjdGlvbiwgbGluZVBvc2l0aW9u
TW9kZSkpOwogfQogCkBAIC05NiwzMyArOTYsMzMgQEAgaW50IFJlbmRlck1hdGhNTEJsb2NrOjpi
YXNlbGluZVBvc2l0aW9uKEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUsIGJvb2wgZmlyc3RMaW4K
IHZvaWQgUmVuZGVyTWF0aE1MQmxvY2s6OnBhaW50KFBhaW50SW5mbyYgaW5mbywgY29uc3QgTGF5
b3V0UG9pbnQmIHBhaW50T2Zmc2V0KQogewogICAgIFJlbmRlckJsb2NrOjpwYWludChpbmZvLCBw
YWludE9mZnNldCk7Ci0gICAgCisKICAgICBpZiAoaW5mby5jb250ZXh0KCkucGFpbnRpbmdEaXNh
YmxlZCgpIHx8IGluZm8ucGhhc2UgIT0gUGFpbnRQaGFzZUZvcmVncm91bmQpCiAgICAgICAgIHJl
dHVybjsKIAogICAgIEludFBvaW50IGFkanVzdGVkUGFpbnRPZmZzZXQgPSByb3VuZGVkSW50UG9p
bnQocGFpbnRPZmZzZXQgKyBsb2NhdGlvbigpKTsKIAogICAgIEdyYXBoaWNzQ29udGV4dFN0YXRl
U2F2ZXIgc3RhdGVTYXZlcihpbmZvLmNvbnRleHQoKSk7Ci0gICAgCisKICAgICBpbmZvLmNvbnRl
eHQoKS5zZXRTdHJva2VUaGlja25lc3MoMS4wZik7CiAgICAgaW5mby5jb250ZXh0KCkuc2V0U3Ry
b2tlU3R5bGUoU29saWRTdHJva2UpOwogICAgIGluZm8uY29udGV4dCgpLnNldFN0cm9rZUNvbG9y
KENvbG9yKDAsIDAsIDI1NSkpOwotICAgIAorCiAgICAgaW5mby5jb250ZXh0KCkuZHJhd0xpbmUo
YWRqdXN0ZWRQYWludE9mZnNldCwgSW50UG9pbnQoYWRqdXN0ZWRQYWludE9mZnNldC54KCkgKyBw
aXhlbFNuYXBwZWRPZmZzZXRXaWR0aCgpLCBhZGp1c3RlZFBhaW50T2Zmc2V0LnkoKSkpOwogICAg
IGluZm8uY29udGV4dCgpLmRyYXdMaW5lKEludFBvaW50KGFkanVzdGVkUGFpbnRPZmZzZXQueCgp
ICsgcGl4ZWxTbmFwcGVkT2Zmc2V0V2lkdGgoKSwgYWRqdXN0ZWRQYWludE9mZnNldC55KCkpLCBJ
bnRQb2ludChhZGp1c3RlZFBhaW50T2Zmc2V0LngoKSArIHBpeGVsU25hcHBlZE9mZnNldFdpZHRo
KCksIGFkanVzdGVkUGFpbnRPZmZzZXQueSgpICsgcGl4ZWxTbmFwcGVkT2Zmc2V0SGVpZ2h0KCkp
KTsKICAgICBpbmZvLmNvbnRleHQoKS5kcmF3TGluZShJbnRQb2ludChhZGp1c3RlZFBhaW50T2Zm
c2V0LngoKSwgYWRqdXN0ZWRQYWludE9mZnNldC55KCkgKyBwaXhlbFNuYXBwZWRPZmZzZXRIZWln
aHQoKSksIEludFBvaW50KGFkanVzdGVkUGFpbnRPZmZzZXQueCgpICsgcGl4ZWxTbmFwcGVkT2Zm
c2V0V2lkdGgoKSwgYWRqdXN0ZWRQYWludE9mZnNldC55KCkgKyBwaXhlbFNuYXBwZWRPZmZzZXRI
ZWlnaHQoKSkpOwogICAgIGluZm8uY29udGV4dCgpLmRyYXdMaW5lKGFkanVzdGVkUGFpbnRPZmZz
ZXQsIEludFBvaW50KGFkanVzdGVkUGFpbnRPZmZzZXQueCgpLCBhZGp1c3RlZFBhaW50T2Zmc2V0
LnkoKSArIHBpeGVsU25hcHBlZE9mZnNldEhlaWdodCgpKSk7Ci0gICAgCisKICAgICBpbnQgdG9w
U3RhcnQgPSBwYWRkaW5nVG9wKCk7Ci0gICAgCisKICAgICBpbmZvLmNvbnRleHQoKS5zZXRTdHJv
a2VDb2xvcihDb2xvcigwLCAyNTUsIDApKTsKLSAgICAKKwogICAgIGluZm8uY29udGV4dCgpLmRy
YXdMaW5lKEludFBvaW50KGFkanVzdGVkUGFpbnRPZmZzZXQueCgpLCBhZGp1c3RlZFBhaW50T2Zm
c2V0LnkoKSArIHRvcFN0YXJ0KSwgSW50UG9pbnQoYWRqdXN0ZWRQYWludE9mZnNldC54KCkgKyBw
aXhlbFNuYXBwZWRPZmZzZXRXaWR0aCgpLCBhZGp1c3RlZFBhaW50T2Zmc2V0LnkoKSArIHRvcFN0
YXJ0KSk7Ci0gICAgCisKICAgICBpbnQgYmFzZWxpbmUgPSByb3VuZFRvSW50KGJhc2VsaW5lUG9z
aXRpb24oQWxwaGFiZXRpY0Jhc2VsaW5lLCB0cnVlLCBIb3Jpem9udGFsTGluZSkpOwotICAgIAor
CiAgICAgaW5mby5jb250ZXh0KCkuc2V0U3Ryb2tlQ29sb3IoQ29sb3IoMjU1LCAwLCAwKSk7Ci0g
ICAgCisKICAgICBpbmZvLmNvbnRleHQoKS5kcmF3TGluZShJbnRQb2ludChhZGp1c3RlZFBhaW50
T2Zmc2V0LngoKSwgYWRqdXN0ZWRQYWludE9mZnNldC55KCkgKyBiYXNlbGluZSksIEludFBvaW50
KGFkanVzdGVkUGFpbnRPZmZzZXQueCgpICsgcGl4ZWxTbmFwcGVkT2Zmc2V0V2lkdGgoKSwgYWRq
dXN0ZWRQYWludE9mZnNldC55KCkgKyBiYXNlbGluZSkpOwogfQogI2VuZGlmIC8vIEVOQUJMRShE
RUJVR19NQVRIX0xBWU9VVCkKQEAgLTEzOCwxNCArMTM4LDE0IEBAIHZvaWQgUmVuZGVyTWF0aE1M
QmxvY2s6OnBhaW50KFBhaW50SW5mbyYgaW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW50T2Zm
c2V0KQogLy8gbnVtYmVyIHwgbnVtYmVyIHVuaXQgfCBuYW1lZHNwYWNlCiAvLwogLy8gVGhlcmUg
c2hvdWxkIGJlIG5vIHNwYWNlIGJldHdlZW4gdGhlIG51bWJlciBhbmQgdGhlIHVuaXQgb2YgYSBs
ZW5ndGguIgotLy8gCisvLwogLy8gIkEgdHJhaWxpbmcgJyUnIHJlcHJlc2VudHMgYSBwZXJjZW50
IG9mIHRoZSBkZWZhdWx0IHZhbHVlLiBUaGUgZGVmYXVsdAogLy8gdmFsdWUsIG9yIGhvdyBpdCBp
cyBvYnRhaW5lZCwgaXMgbGlzdGVkIGluIHRoZSB0YWJsZSBvZiBhdHRyaWJ1dGVzIGZvciBlYWNo
CiAvLyBlbGVtZW50LiBbLi4uXSBBIG51bWJlciB3aXRob3V0IGEgdW5pdCBpcyBpbnRlcHJldGVk
IGFzIGEgbXVsdGlwbGUgb2YgdGhlCiAvLyBkZWZhdWx0IHZhbHVlLiIKIC8vCiAvLyAiVGhlIHBv
c3NpYmxlIHVuaXRzIGluIE1hdGhNTCBhcmU6Ci0vLyAgCisvLwogLy8gVW5pdCBEZXNjcmlwdGlv
bgogLy8gZW0gICBhbiBlbSAoZm9udC1yZWxhdGl2ZSB1bml0IHRyYWRpdGlvbmFsbHkgdXNlZCBm
b3IgaG9yaXpvbnRhbCBsZW5ndGhzKQogLy8gZXggICBhbiBleCAoZm9udC1yZWxhdGl2ZSB1bml0
IHRyYWRpdGlvbmFsbHkgdXNlZCBmb3IgdmVydGljYWwgbGVuZ3RocykKQEAgLTI5MSw3ICsyOTEs
NyBAQCBib29sIHBhcnNlTWF0aE1MTmFtZWRTcGFjZShjb25zdCBTdHJpbmcmIHN0cmluZywgTGF5
b3V0VW5pdCYgbGVuZ3RoVmFsdWUsIGNvbnN0CiAgICAgICAgIGVsc2UgaWYgKHN0cmluZyA9PSAi
bmVnYXRpdmV2ZXJ5dGhpY2ttYXRoc3BhY2UiKQogICAgICAgICAgICAgbGVuZ3RoID0gLTY7CiAg
ICAgICAgIGVsc2UgaWYgKHN0cmluZyA9PSAibmVnYXRpdmV2ZXJ5dmVyeXRoaWNrbWF0aHNwYWNl
IikKLSAgICAgICAgICAgIGxlbmd0aCA9IC03OyAgICAgICAgCisgICAgICAgICAgICBsZW5ndGgg
PSAtNzsKICAgICB9CiAgICAgaWYgKGxlbmd0aCkgewogICAgICAgICBsZW5ndGhWYWx1ZSA9IGxl
bmd0aCAqIHN0eWxlLT5mb250Q2FzY2FkZSgpLnNpemUoKSAvIDE4OwpAQCAtMzc2LDYgKzM3Niw2
IEBAIHZvaWQgUmVuZGVyTWF0aE1MQmxvY2s6OmxheW91dEJsb2NrKGJvb2wgcmVsYXlvdXRDaGls
ZHJlbiwgTGF5b3V0VW5pdCkKICAgICBjbGVhck5lZWRzTGF5b3V0KCk7CiB9CiAKLX0gICAgCit9
CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9S
ZW5kZXJNYXRoTUxCbG9jay5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5k
ZXJNYXRoTUxCbG9jay5oCmluZGV4IDk0OTk1MTUuLjYwZmI1YWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MQmxvY2suaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmgKQEAgLTM2LDcg
KzM2LDcgQEAKICNkZWZpbmUgRU5BQkxFX0RFQlVHX01BVEhfTEFZT1VUIDAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewotICAgIAorCiBjbGFzcyBSZW5kZXJNYXRoTUxPcGVyYXRvcjsKIAogY2xhc3Mg
UmVuZGVyTWF0aE1MQmxvY2sgOiBwdWJsaWMgUmVuZGVyQmxvY2sgewpAQCAtNDYsNyArNDYsNyBA
QCBwdWJsaWM6CiAgICAgflJlbmRlck1hdGhNTEJsb2NrKCk7CiAKICAgICBib29sIGlzQ2hpbGRB
bGxvd2VkKGNvbnN0IFJlbmRlck9iamVjdCYsIGNvbnN0IFJlbmRlclN0eWxlJikgY29uc3Qgb3Zl
cnJpZGU7Ci0gICAgCisKICAgICAvLyBNYXRoTUwgZGVmaW5lcyBhbiAiZW1iZWxsaXNoZWQgb3Bl
cmF0b3IiIGFzIHJvdWdobHkgYW4gPG1vPiB0aGF0IG1heSBoYXZlIHN1YnNjcmlwdHMsCiAgICAg
Ly8gc3VwZXJzY3JpcHRzLCB1bmRlcnNjcmlwdHMsIG92ZXJzY3JpcHRzLCBvciBhIGRlbm9taW5h
dG9yIChhcyBpbiBkL2R4LCB3aGVyZSAiZCIgaXMgc29tZQogICAgIC8vIGRpZmZlcmVudGlhbCBv
cGVyYXRvcikuIFRoZSBwYWRkaW5nLCBwcmVjZWRlbmNlLCBhbmQgc3RyZXRjaGluZXNzIG9mIHRo
ZSBiYXNlIDxtbz4gc2hvdWxkCkBAIC01NSwxMyArNTUsMTMgQEAgcHVibGljOgogICAgIC8vIEZJ
WE1FOiBXZSBkb24ndCB5ZXQgaGFuZGxlIGFsbCB0aGUgY2FzZXMgaW4gdGhlIE1hdGhNTCBzcGVj
LiBTZWUKICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzg2
MTcuCiAgICAgdmlydHVhbCBSZW5kZXJNYXRoTUxPcGVyYXRvciogdW5lbWJlbGxpc2hlZE9wZXJh
dG9yKCkgeyByZXR1cm4gMDsgfQotICAgIAorCiAgICAgaW50IGJhc2VsaW5lUG9zaXRpb24oRm9u
dEJhc2VsaW5lLCBib29sIGZpcnN0TGluZSwgTGluZURpcmVjdGlvbk1vZGUsIExpbmVQb3NpdGlv
bk1vZGUgPSBQb3NpdGlvbk9uQ29udGFpbmluZ0xpbmUpIGNvbnN0IG92ZXJyaWRlOwotICAgIAor
CiAjaWYgRU5BQkxFKERFQlVHX01BVEhfTEFZT1VUKQogICAgIHZpcnR1YWwgdm9pZCBwYWludChQ
YWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYpOwogI2VuZGlmCi0gICAgCisKICAgICBjb25z
dCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gaXNBbm9ueW1vdXMo
KSA/ICJSZW5kZXJNYXRoTUxCbG9jayAoYW5vbnltb3VzKSIgOiAiUmVuZGVyTWF0aE1MQmxvY2si
OyB9CiAgICAgYm9vbCBhdm9pZHNGbG9hdHMoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9
CiAgICAgYm9vbCBjYW5Ecm9wQW5vbnltb3VzQmxvY2tDaGlsZCgpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIGZhbHNlOyB9CkBAIC03MSw3ICs3MSw3IEBAIHByb3RlY3RlZDoKICAgICBMYXlvdXRVbml0
IG1hdGhBeGlzSGVpZ2h0KCkgY29uc3Q7CiAgICAgTGF5b3V0VW5pdCBtaXJyb3JJZk5lZWRlZChM
YXlvdXRVbml0IGhvcml6b250YWxPZmZzZXQsIExheW91dFVuaXQgYm94V2lkdGggPSAwKSBjb25z
dDsKICAgICBMYXlvdXRVbml0IG1pcnJvcklmTmVlZGVkKExheW91dFVuaXQgaG9yaXpvbnRhbE9m
ZnNldCwgY29uc3QgUmVuZGVyQm94JiBjaGlsZCkgY29uc3QgeyByZXR1cm4gbWlycm9ySWZOZWVk
ZWQoaG9yaXpvbnRhbE9mZnNldCwgY2hpbGQubG9naWNhbFdpZHRoKCkpOyB9Ci0gICAgCisKIHBy
b3RlY3RlZDoKICAgICBzdGF0aWMgTGF5b3V0VW5pdCBhc2NlbnRGb3JDaGlsZChjb25zdCBSZW5k
ZXJCb3gmIGNoaWxkKQogICAgIHsKQEAgLTg5LDkgKzg5LDkgQEAgcHVibGljOgogICAgICAgICA6
IFJlbmRlclRhYmxlKGVsZW1lbnQsIFdURk1vdmUoc3R5bGUpKQogICAgIHsKICAgICB9Ci0gICAg
CisKICAgICBPcHRpb25hbDxpbnQ+IGZpcnN0TGluZUJhc2VsaW5lKCkgY29uc3Qgb3ZlcnJpZGU7
Ci0gICAgCisKIHByaXZhdGU6CiAgICAgYm9vbCBpc1JlbmRlck1hdGhNTFRhYmxlKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIGNvbnN0IGNoYXIqIHJlbmRlck5hbWUoKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiAiUmVuZGVyTWF0aE1MVGFibGUiOyB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNlZC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNlZC5jcHAK
aW5kZXggMDJjNTUyZC4uMzlhYjRkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGZW5jZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRmVuY2VkLmNwcApAQCAtMzcsOSArMzcsOSBAQAog
I2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewotICAgIAorCiB1c2luZyBuYW1lc3BhY2UgTWF0aE1MTmFtZXM7Ci0gICAgCisKIHN0YXRpYyBj
b25zdCBjaGFyKiBnT3BlbmluZ0JyYWNlQ2hhciA9ICIoIjsKIHN0YXRpYyBjb25zdCBjaGFyKiBn
Q2xvc2luZ0JyYWNlQ2hhciA9ICIpIjsKIApAQCAtNTIsNyArNTIsNyBAQCBSZW5kZXJNYXRoTUxG
ZW5jZWQ6OlJlbmRlck1hdGhNTEZlbmNlZChNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50JiBl
bGVtZW50LCBSZQogdm9pZCBSZW5kZXJNYXRoTUxGZW5jZWQ6OnVwZGF0ZUZyb21FbGVtZW50KCkK
IHsKICAgICBjb25zdCBhdXRvJiBmZW5jZWQgPSBlbGVtZW50KCk7Ci0gCisKICAgICAvLyBUaGUg
b3BlbiBvcGVyYXRvciBkZWZhdWx0cyB0byBhIGxlZnQgcGFyZW50aGVzaXMuCiAgICAgQXRvbWlj
U3RyaW5nIG9wZW4gPSBmZW5jZWQuZmFzdEdldEF0dHJpYnV0ZShNYXRoTUxOYW1lczo6b3BlbkF0
dHIpOwogICAgIG1fb3BlbiA9IG9wZW4uaXNOdWxsKCkgPyBnT3BlbmluZ0JyYWNlQ2hhciA6IG9w
ZW47CkBAIC03Myw3ICs3Myw3IEBAIHZvaWQgUmVuZGVyTWF0aE1MRmVuY2VkOjp1cGRhdGVGcm9t
RWxlbWVudCgpCiAgICAgICAgIC8vIFRoZSBzZXBhcmF0b3IgZGVmYXVsdHMgdG8gYSBzaW5nbGUg
Y29tbWEuCiAgICAgICAgIG1fc2VwYXJhdG9ycyA9IFN0cmluZ0ltcGw6OmNyZWF0ZSgiLCIpOwog
ICAgIH0KLSAgICAKKwogICAgIGlmIChpc0VtcHR5KCkpCiAgICAgICAgIG1ha2VGZW5jZXMoKTsK
ICAgICBlbHNlIHsKQEAgLTEwNSw5ICsxMDUsOSBAQCB2b2lkIFJlbmRlck1hdGhNTEZlbmNlZDo6
YWRkQ2hpbGQoUmVuZGVyT2JqZWN0KiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZAog
ICAgIC8vIG1ha2UgdGhlIGZlbmNlcyBpZiB0aGUgcmVuZGVyIG9iamVjdCBpcyBlbXB0eQogICAg
IGlmIChpc0VtcHR5KCkpCiAgICAgICAgIHVwZGF0ZUZyb21FbGVtZW50KCk7Ci0gICAgCisKICAg
ICAvLyBGSVhNRTogQWRkaW5nIG9yIHJlbW92aW5nIGEgY2hpbGQgc2hvdWxkIHBvc3NpYmx5IGNh
dXNlIGFsbCBsYXRlciBzZXBhcmF0b3JzIHRvIHNoaWZ0IHBsYWNlcyBpZiB0aGV5J3JlIGRpZmZl
cmVudCwgYXMgbGF0ZXIgY2hpbGQgcG9zaXRpb25zIGNoYW5nZSBieSArMSBvciAtMS4gVGhpcyBz
aG91bGQgYWxzbyBoYW5kbGUgc3Vycm9nYXRlIHBhaXJzLiBTZWUgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNTkzOC4KLSAgICAKKwogICAgIFJlbmRlclB0cjxSZW5k
ZXJNYXRoTUxPcGVyYXRvcj4gc2VwYXJhdG9yUmVuZGVyZXI7CiAgICAgaWYgKG1fc2VwYXJhdG9y
cy5nZXQoKSkgewogICAgICAgICB1bnNpZ25lZCBpbnQgY291bnQgPSAwOwpAQCAtMTIwLDIyICsx
MjAsMjIgQEAgdm9pZCBSZW5kZXJNYXRoTUxGZW5jZWQ6OmFkZENoaWxkKFJlbmRlck9iamVjdCog
Y2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQKICAgICAgICAgICAgIC0tY291bnQ7CiAg
ICAgICAgIH0KICAgICAgICAgLy8gfGNvdW50fCBpcyBub3cgdGhlIG51bWJlciBvZiBlbGVtZW50
IGNoaWxkcmVuIHRoYXQgd2lsbCBiZSBiZWZvcmUgb3VyIG5ldyBzZXBhcmF0b3IsIGkuZS4gaXQn
cyB0aGUgMS1iYXNlZCBpbmRleCBvZiB0aGUgc2VwYXJhdG9yLgotICAgICAgICAKKwogICAgICAg
ICBpZiAoY291bnQgPiAwKSB7CiAgICAgICAgICAgICBVQ2hhciBzZXBhcmF0b3I7Ci0gICAgICAg
ICAgICAKKwogICAgICAgICAgICAgLy8gVXNlIHRoZSBsYXN0IHNlcGFyYXRvciBpZiB3ZSd2ZSBy
dW4gb3V0IG9mIHNwZWNpZmllZCBzZXBhcmF0b3JzLgogICAgICAgICAgICAgaWYgKGNvdW50ID4g
bV9zZXBhcmF0b3JzLmdldCgpLT5sZW5ndGgoKSkKICAgICAgICAgICAgICAgICBzZXBhcmF0b3Ig
PSAoKm1fc2VwYXJhdG9ycy5nZXQoKSlbbV9zZXBhcmF0b3JzLmdldCgpLT5sZW5ndGgoKSAtIDFd
OwogICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgIHNlcGFyYXRvciA9ICgqbV9zZXBh
cmF0b3JzLmdldCgpKVtjb3VudCAtIDFdOwotICAgICAgICAgICAgICAgIAorCiAgICAgICAgICAg
ICBTdHJpbmdCdWlsZGVyIGJ1aWxkZXI7CiAgICAgICAgICAgICBidWlsZGVyLmFwcGVuZChzZXBh
cmF0b3IpOwogICAgICAgICAgICAgc2VwYXJhdG9yUmVuZGVyZXIgPSBjcmVhdGVNYXRoTUxPcGVy
YXRvcihidWlsZGVyLnRvU3RyaW5nKCksIE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6SW5maXgs
IE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6U2VwYXJhdG9yKTsKICAgICAgICAgfQogICAgIH0K
LSAgICAKKwogICAgIGlmIChiZWZvcmVDaGlsZCkgewogICAgICAgICAvLyBBZGRpbmcgfHh8IGJl
Zm9yZSBhbiBleGlzdGluZyB8eXwgZS5nLiBpbiBlbGVtZW50ICh5KSAtIGZpcnN0IGluc2VydCBv
dXIgbmV3IGNoaWxkIHx4fCwgdGhlbiBpdHMgc2VwYXJhdG9yLCB0byBnZXQgKHgsIHkpLgogICAg
ICAgICBSZW5kZXJNYXRoTUxSb3c6OmFkZENoaWxkKGNoaWxkLCBiZWZvcmVDaGlsZCk7CkBAIC0x
NDksNiArMTQ5LDYgQEAgdm9pZCBSZW5kZXJNYXRoTUxGZW5jZWQ6OmFkZENoaWxkKFJlbmRlck9i
amVjdCogY2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQKICAgICB9CiB9CiAKLX0gICAg
Cit9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGht
bC9SZW5kZXJNYXRoTUxGZW5jZWQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwv
UmVuZGVyTWF0aE1MRmVuY2VkLmgKaW5kZXggOWVmMjhiZi4uYmNiYmNlMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGZW5jZWQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNlZC5oCkBA
IC0zMywxMiArMzMsMTIgQEAKICNpbmNsdWRlICJSZW5kZXJNYXRoTUxSb3cuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewotICAgIAorCiBjbGFzcyBSZW5kZXJNYXRoTUxGZW5jZWQgZmluYWwgOiBw
dWJsaWMgUmVuZGVyTWF0aE1MUm93IHsKIHB1YmxpYzoKICAgICBSZW5kZXJNYXRoTUxGZW5jZWQo
TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudCYsIFJlbmRlclN0eWxlJiYpOwogICAgIE1hdGhN
TElubGluZUNvbnRhaW5lckVsZW1lbnQmIGVsZW1lbnQoKSB7IHJldHVybiBzdGF0aWNfY2FzdDxN
YXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50Jj4obm9kZUZvck5vbkFub255bW91cygpKTsgfQot
ICAgIAorCiBwcml2YXRlOgogICAgIGJvb2wgaXNSZW5kZXJNYXRoTUxGZW5jZWQoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuICJSZW5kZXJNYXRoTUxGZW5jZWQiOyB9CkBAIC01MSwxMCAr
NTEsMTAgQEAgcHJpdmF0ZToKICAgICBTdHJpbmcgbV9vcGVuOwogICAgIFN0cmluZyBtX2Nsb3Nl
OwogICAgIFJlZlB0cjxTdHJpbmdJbXBsPiBtX3NlcGFyYXRvcnM7Ci0gICAgCisKICAgICBSZW5k
ZXJNYXRoTUxPcGVyYXRvciogbV9jbG9zZUZlbmNlUmVuZGVyZXI7CiB9OwotICAgIAorCiB9CiAK
ICNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmNwcAppbmRleCBlNGQxZTA4Li43
MTk5NzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRl
ck1hdGhNTEZyYWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1s
L1JlbmRlck1hdGhNTEZyYWN0aW9uLmNwcApAQCAtMzYsNyArMzYsNyBAQAogI2luY2x1ZGUgIlBh
aW50SW5mby5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgCisKIHVzaW5nIG5hbWVzcGFj
ZSBNYXRoTUxOYW1lczsKIAogLy8gRklYTUU6IFRoZSAiTWF0aE1MIGluIEhUTUw1IiBpbXBsZW1l
bnRhdGlvbiBub3RlIHN1Z2dlc3RzIHRoZSB2YWx1ZXMgNTAlIGZvciAidGhpbiIgYW5kIDIwMCUg
Zm9yICJ0aGljayIgKGh0dHA6Ly93ZWJraXQub3JnL2IvMTU1NjM5KS4KQEAgLTEyMyw3ICsxMjMs
NyBAQCB2b2lkIFJlbmRlck1hdGhNTEZyYWN0aW9uOjp1cGRhdGVGcm9tRWxlbWVudCgpCiB2b2lk
IFJlbmRlck1hdGhNTEZyYWN0aW9uOjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlm
ZiwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKQogewogICAgIFJlbmRlck1hdGhNTEJsb2Nr
OjpzdHlsZURpZENoYW5nZShkaWZmLCBvbGRTdHlsZSk7Ci0gICAgCisKICAgICB1cGRhdGVGcm9t
RWxlbWVudCgpOwogfQogCkBAIC0yMDksOSArMjA5LDkgQEAgdm9pZCBSZW5kZXJNYXRoTUxGcmFj
dGlvbjo6cGFpbnQoUGFpbnRJbmZvJiBpbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZz
ZXQKICAgICAgICAgcmV0dXJuOwogCiAgICAgSW50UG9pbnQgYWRqdXN0ZWRQYWludE9mZnNldCA9
IHJvdW5kZWRJbnRQb2ludChwYWludE9mZnNldCArIGxvY2F0aW9uKCkgKyBMYXlvdXRQb2ludCgw
LCBudW1lcmF0b3IoKS5sb2dpY2FsSGVpZ2h0KCkgKyBnTnVtZXJhdG9yR2FwICogc3R5bGUoKS5m
b250U2l6ZSgpICsgbV9saW5lVGhpY2tuZXNzIC8gMikpOwotICAgIAorCiAgICAgR3JhcGhpY3ND
b250ZXh0U3RhdGVTYXZlciBzdGF0ZVNhdmVyKGluZm8uY29udGV4dCgpKTsKLSAgICAKKwogICAg
IGluZm8uY29udGV4dCgpLnNldFN0cm9rZVRoaWNrbmVzcyhtX2xpbmVUaGlja25lc3MpOwogICAg
IGluZm8uY29udGV4dCgpLnNldFN0cm9rZVN0eWxlKFNvbGlkU3Ryb2tlKTsKICAgICBpbmZvLmNv
bnRleHQoKS5zZXRTdHJva2VDb2xvcihzdHlsZSgpLnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQ
cm9wZXJ0eUNvbG9yKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0
aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0
aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmgKaW5kZXggZTNjZTE4MC4uM2E0MjRhMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRnJh
Y3Rpb24uaApAQCAtNTYsNyArNTYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgcGFpbnQoUGFpbnRJ
bmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmKSBmaW5hbDsKICAgICBSZW5kZXJNYXRoTUxPcGVyYXRv
ciogdW5lbWJlbGxpc2hlZE9wZXJhdG9yKCkgZmluYWw7CiAgICAgdm9pZCBzdHlsZURpZENoYW5n
ZShTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkgZmluYWw7Ci0g
ICAgCisKICAgICBib29sIGlzVmFsaWQoKSBjb25zdDsKICAgICBSZW5kZXJCb3gmIG51bWVyYXRv
cigpIGNvbnN0OwogICAgIFJlbmRlckJveCYgZGVub21pbmF0b3IoKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MTWF0aC5oIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxNYXRoLmgKaW5kZXgg
NmUxN2JmYS4uNTkzZWFiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21h
dGhtbC9SZW5kZXJNYXRoTUxNYXRoLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21h
dGhtbC9SZW5kZXJNYXRoTUxNYXRoLmgKQEAgLTMxLDcgKzMxLDcgQEAKICNpbmNsdWRlICJSZW5k
ZXJNYXRoTUxSb3cuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIAorCiBjbGFzcyBSZW5k
ZXJNYXRoTUxNYXRoIGZpbmFsIDogcHVibGljIFJlbmRlck1hdGhNTFJvdyB7CiBwdWJsaWM6CiAg
ICAgUmVuZGVyTWF0aE1MTWF0aChFbGVtZW50JiwgUmVuZGVyU3R5bGUmJik7CkBAIC00MCw3ICs0
MCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBpc1JlbmRlck1hdGhNTE1hdGgoKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgY29uc3QgY2hhciogcmVuZGVyTmFtZSgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuICJSZW5kZXJNYXRoTUxNYXRoIjsgfQogfTsKLSAgICAKKwogfQog
CiAjZW5kaWYgLy8gRU5BQkxFKE1BVEhNTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MTWVuY2xvc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MTWVuY2xvc2UuaAppbmRleCAwZTFmMWRmLi4yNGZi
OWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1h
dGhNTE1lbmNsb3NlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5k
ZXJNYXRoTUxNZW5jbG9zZS5oCkBAIC0zMiw3ICszMiw3IEBACiAjaW5jbHVkZSAiUmVuZGVyTWF0
aE1MUm93LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICAKKwogY2xhc3MgUmVuZGVyTWF0
aE1MTWVuY2xvc2UgZmluYWw6IHB1YmxpYyBSZW5kZXJNYXRoTUxSb3cgewogcHVibGljOgogICAg
IFJlbmRlck1hdGhNTE1lbmNsb3NlKEVsZW1lbnQmLCBSZW5kZXJTdHlsZSYmKTsKQEAgLTUyLDcg
KzUyLDcgQEAgcHJpdmF0ZToKICAgICBMYXlvdXRVbml0IG1fYXNjZW50OwogICAgIExheW91dFJl
Y3QgbV9jb250ZW50UmVjdDsKIH07Ci0gICAgCisKIH0KIAogU1BFQ0lBTElaRV9UWVBFX1RSQUlU
U19SRU5ERVJfT0JKRUNUKFJlbmRlck1hdGhNTE1lbmNsb3NlLCBpc1JlbmRlck1hdGhNTE1lbmNs
b3NlKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRl
ck1hdGhNTE9wZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVu
ZGVyTWF0aE1MT3BlcmF0b3IuY3BwCmluZGV4IDUzZTQ2NTkuLjQzOGE2M2MgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0
b3IuY3BwCkBAIC00Myw3ICs0Myw3IEBACiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvQ2hhcmFjdGVy
TmFtZXMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIAorCiB1c2luZyBuYW1lc3BhY2Ug
TWF0aE1MTmFtZXM7CiAKIFJlbmRlck1hdGhNTE9wZXJhdG9yOjpSZW5kZXJNYXRoTUxPcGVyYXRv
cihNYXRoTUxFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVyYXRvci5o
CmluZGV4IGZlOWVlZTMuLjMzOWVlZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmgKQEAgLTQ3LDcgKzQ3LDcgQEAg
cHVibGljOgogICAgIHZvaWQgc3RyZXRjaFRvKExheW91dFVuaXQgd2lkdGgpOwogICAgIExheW91
dFVuaXQgc3RyZXRjaFNpemUoKSBjb25zdCB7IHJldHVybiBtX2lzVmVydGljYWwgPyBtX3N0cmV0
Y2hIZWlnaHRBYm92ZUJhc2VsaW5lICsgbV9zdHJldGNoRGVwdGhCZWxvd0Jhc2VsaW5lIDogbV9z
dHJldGNoV2lkdGg7IH0KICAgICB2b2lkIHJlc2V0U3RyZXRjaFNpemUoKTsKLSAgICAKKwogICAg
IGJvb2wgaGFzT3BlcmF0b3JGbGFnKE1hdGhNTE9wZXJhdG9yRGljdGlvbmFyeTo6RmxhZyBmbGFn
KSBjb25zdCB7IHJldHVybiBtX29wZXJhdG9yRmxhZ3MgJiBmbGFnOyB9CiAgICAgLy8gRklYTUU6
IFRoZSBkaXNwbGF5c3R5bGUgcHJvcGVydHkgaXMgbm90IGltcGxlbWVudGVkIChodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NzM3KS4KICAgICBib29sIGlzTGFyZ2VP
cGVyYXRvckluRGlzcGxheVN0eWxlKCkgY29uc3QgeyByZXR1cm4gIWhhc09wZXJhdG9yRmxhZyhN
YXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OlN0cmV0Y2h5KSAmJiBoYXNPcGVyYXRvckZsYWcoTWF0
aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OjpMYXJnZU9wKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSb290LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUm9vdC5jcHAKaW5kZXggNTJlYjIyZi4u
ZGU1MjBhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5k
ZXJNYXRoTUxSb290LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1Jl
bmRlck1hdGhNTFJvb3QuY3BwCkBAIC0yNDEsNyArMjQxLDcgQEAgdm9pZCBSZW5kZXJNYXRoTUxS
b290OjpsYXlvdXRCbG9jayhib29sIHJlbGF5b3V0Q2hpbGRyZW4sIExheW91dFVuaXQpCiB2b2lk
IFJlbmRlck1hdGhNTFJvb3Q6OnBhaW50KFBhaW50SW5mbyYgaW5mbywgY29uc3QgTGF5b3V0UG9p
bnQmIHBhaW50T2Zmc2V0KQogewogICAgIFJlbmRlck1hdGhNTFJvdzo6cGFpbnQoaW5mbywgcGFp
bnRPZmZzZXQpOwotICAgIAorCiAgICAgaWYgKGlzRW1wdHkoKSB8fCBpbmZvLmNvbnRleHQoKS5w
YWludGluZ0Rpc2FibGVkKCkgfHwgc3R5bGUoKS52aXNpYmlsaXR5KCkgIT0gVklTSUJMRSB8fCAh
aXNWYWxpZCgpKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU2NyaXB0cy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFNjcmlwdHMuY3BwCmluZGV4IDk0ZmI2MGMu
LmEyZjMxNjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVu
ZGVyTWF0aE1MU2NyaXB0cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGht
bC9SZW5kZXJNYXRoTUxTY3JpcHRzLmNwcApAQCAtMzUsNyArMzUsNyBAQAogI2luY2x1ZGUgIlJl
bmRlck1hdGhNTE9wZXJhdG9yLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICAKKwogdXNp
bmcgbmFtZXNwYWNlIE1hdGhNTE5hbWVzOwogCiBzdGF0aWMgYm9vbCBpc1ByZXNjcmlwdERlbGlt
aXRlcihjb25zdCBSZW5kZXJPYmplY3QmIHJlbmRlck9iamVjdCkKQEAgLTQyNiw2ICs0MjYsNiBA
QCBPcHRpb25hbDxpbnQ+IFJlbmRlck1hdGhNTFNjcmlwdHM6OmZpcnN0TGluZUJhc2VsaW5lKCkg
Y29uc3QKICAgICByZXR1cm4gT3B0aW9uYWw8aW50PihzdGF0aWNfY2FzdDxpbnQ+KGxyb3VuZGYo
YXNjZW50Rm9yQ2hpbGQoKmJhc2UpICsgYmFzZS0+bG9naWNhbFRvcCgpKSkpOwogfQogCi19ICAg
IAorfQogCiAjZW5kaWYgLy8gRU5BQkxFKE1BVEhNTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3BhY2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTcGFjZS5jcHAKaW5kZXggZWNiOGNiZi4u
MGM5NzcwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5k
ZXJNYXRoTUxTcGFjZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9S
ZW5kZXJNYXRoTUxTcGFjZS5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKICNpbmNsdWRlICJQYWludElu
Zm8uaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIAorCiB1c2luZyBuYW1lc3BhY2UgTWF0
aE1MTmFtZXM7CiAKIFJlbmRlck1hdGhNTFNwYWNlOjpSZW5kZXJNYXRoTUxTcGFjZShNYXRoTUxU
ZXh0RWxlbWVudCYgZWxlbWVudCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3BhY2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3BhY2UuaAppbmRleCBjMzA5
MTI2Li4xMTEwMDQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1s
L1JlbmRlck1hdGhNTFNwYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGht
bC9SZW5kZXJNYXRoTUxTcGFjZS5oCkBAIC0zMiw3ICszMiw3IEBACiAjaW5jbHVkZSAiUmVuZGVy
TWF0aE1MQmxvY2suaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIAorCiBjbGFzcyBSZW5k
ZXJNYXRoTUxTcGFjZSBmaW5hbCA6IHB1YmxpYyBSZW5kZXJNYXRoTUxCbG9jayB7CiBwdWJsaWM6
CiAgICAgUmVuZGVyTWF0aE1MU3BhY2UoTWF0aE1MVGV4dEVsZW1lbnQmLCBSZW5kZXJTdHlsZSYm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0
aE1MVG9rZW4uaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1M
VG9rZW4uaAppbmRleCBiMGQxYjdiLi5hNTdlNThlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFRva2VuLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxUb2tlbi5oCkBAIC0zNCw3ICszNCw3IEBA
CiAjaW5jbHVkZSAiUmVuZGVyVGV4dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgCisK
IGNsYXNzIFJlbmRlck1hdGhNTFRva2VuIDogcHVibGljIFJlbmRlck1hdGhNTEJsb2NrIHsKIHB1
YmxpYzoKICAgICBSZW5kZXJNYXRoTUxUb2tlbihFbGVtZW50JiwgUmVuZGVyU3R5bGUmJik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFVu
ZGVyT3Zlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhN
TFVuZGVyT3Zlci5jcHAKaW5kZXggNmMzYTUxMS4uZTA1YTk5YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxVbmRlck92ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVW5kZXJPdmVyLmNw
cApAQCAtMzgsNyArMzgsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2luZyBuYW1lc3Bh
Y2UgTWF0aE1MTmFtZXM7Ci0gICAgCisKIFJlbmRlck1hdGhNTFVuZGVyT3Zlcjo6UmVuZGVyTWF0
aE1MVW5kZXJPdmVyKEVsZW1lbnQmIGVsZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5bGUpCiAgICAg
OiBSZW5kZXJNYXRoTUxCbG9jayhlbGVtZW50LCBXVEZNb3ZlKHN0eWxlKSkKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVW5kZXJPdmVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFVuZGVyT3Zl
ci5oCmluZGV4IGJhOGYyZWUuLjIyZGVjOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVW5kZXJPdmVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxVbmRlck92ZXIuaApAQCAtMzIsMTEgKzMy
LDExIEBACiAjaW5jbHVkZSAiUmVuZGVyTWF0aE1MQmxvY2suaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewotICAgIAorCiBjbGFzcyBSZW5kZXJNYXRoTUxVbmRlck92ZXIgZmluYWwgOiBwdWJsaWMg
UmVuZGVyTWF0aE1MQmxvY2sgewogcHVibGljOgogICAgIFJlbmRlck1hdGhNTFVuZGVyT3ZlcihF
bGVtZW50JiwgUmVuZGVyU3R5bGUmJik7Ci0gICAgCisKICAgICBSZW5kZXJNYXRoTUxPcGVyYXRv
ciogdW5lbWJlbGxpc2hlZE9wZXJhdG9yKCkgb3ZlcnJpZGU7CiAKICAgICBPcHRpb25hbDxpbnQ+
IGZpcnN0TGluZUJhc2VsaW5lKCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC01OCw3ICs1OCw3IEBAIHBy
aXZhdGU6CiAgICAgZW51bSBVbmRlck92ZXJUeXBlIHsgVW5kZXIsIE92ZXIsIFVuZGVyT3ZlciB9
OwogICAgIFVuZGVyT3ZlclR5cGUgbV9zY3JpcHRUeXBlOwogfTsKLSAgICAKKwogfQogCiAjZW5k
aWYgLy8gRU5BQkxFKE1BVEhNTCkKLS0gCjIuOC4xCgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>282517</attachid>
            <date>2016-07-01 00:22:27 -0700</date>
            <delta_ts>2016-07-01 00:27:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-159091-20160701092204.patch</filename>
            <type>text/plain</type>
            <size>26601</size>
            <attacher name="Frédéric Wang Nélar">fred.wang</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAyNzI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGJlOGQ1MGExYmM1MTli
MjU0MDNhMjU1ZDY2ZmY1OWRmNTU3OWY3MC4uNGUzMmUxZjhkMTIzNDdjNDExY2Q1ZTc3MTUwNDFj
OGIwNDU3YmI3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE2LTA3LTAxICBGcmVk
ZXJpYyBXYW5nICA8ZndhbmcuaWdhbGlhLmNvbT4KKworICAgICAgICBFbGltaW5hdGUgdHJhaWxp
bmcgd2hpdGVzcGFjZSBpbiBNYXRoTUwgY29kZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU5MDkxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCBiZWhhdmlvciBpcyB1bmNoYW5nZWQu
CisKKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTEJsb2NrOjpiYXNlbGluZVBvc2l0aW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTEJsb2NrOjpwYWludCk6CisgICAgICAgIChXZWJD
b3JlOjpwYXJzZU1hdGhNTE5hbWVkU3BhY2UpOgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwv
UmVuZGVyTWF0aE1MQmxvY2suaDoKKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1h
dGhNTEZlbmNlZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxGZW5jZWQ6OnVw
ZGF0ZUZyb21FbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck1hdGhNTEZlbmNlZDo6
YWRkQ2hpbGQpOgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRmVuY2Vk
Lmg6CisgICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlvbi5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNYXRoTUxGcmFjdGlvbjo6c3R5bGVEaWRDaGFuZ2Up
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MRnJhY3Rpb246OnBhaW50KToKKyAgICAg
ICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmg6CisgICAgICAgICog
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxNYXRoLmg6CisgICAgICAgICogcmVuZGVyaW5n
L21hdGhtbC9SZW5kZXJNYXRoTUxNZW5jbG9zZS5oOgorICAgICAgICAqIHJlbmRlcmluZy9tYXRo
bWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuY3BwOgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwv
UmVuZGVyTWF0aE1MT3BlcmF0b3IuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvbWF0aG1sL1JlbmRl
ck1hdGhNTFJvb3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTWF0aE1MUm9vdDo6cGFp
bnQpOgorICAgICAgICAqIHJlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU2NyaXB0cy5jcHA6
CisgICAgICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTcGFjZS5jcHA6CisgICAg
ICAgICogcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTcGFjZS5oOgorICAgICAgICAqIHJl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVG9rZW4uaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
bWF0aG1sL1JlbmRlck1hdGhNTFVuZGVyT3Zlci5jcHA6CisgICAgICAgICogcmVuZGVyaW5nL21h
dGhtbC9SZW5kZXJNYXRoTUxVbmRlck92ZXIuaDoKKwogMjAxNi0wNy0wMSAgRnJlZGVyaWMgV2Fu
ZyAgPGZ3YW5nQGlnYWxpYS5jb20+CiAKICAgICAgICAgU21hbGwgY2xlYW51cDogUmVtb3ZlIHVu
dXNlZCBmdW5jdGlvbnMgUmVuZGVyT2JqZWN0Ojppc1JlbmRlck1hdGhNTCpXcmFwcGVyCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9tYXRobWwvTWF0aE1MRWxlbWVudC5jcHAKaW5kZXggMDViMzA4OWVlY2YyM2NkMzdm
OTk0NzIzN2IyZTdjYzU5NGU1M2ExYy4uY2Y1MWQ0ZDA0YWY0OWEwODdhODY2ZmQ2NGE0ZmYxYmQw
NWVmNzgzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTEVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxFbGVtZW50LmNwcApAQCAtNDYs
MTQgKzQ2LDE0IEBACiAjaW5jbHVkZSAiU1ZHU1ZHRWxlbWVudC5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0gICAgCisKIHVzaW5nIG5hbWVzcGFjZSBNYXRoTUxOYW1lczsKLSAgICAKKwogTWF0
aE1MRWxlbWVudDo6TWF0aE1MRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBE
b2N1bWVudCYgZG9jdW1lbnQpCiAgICAgOiBTdHlsZWRFbGVtZW50KHRhZ05hbWUsIGRvY3VtZW50
LCBDcmVhdGVNYXRoTUxFbGVtZW50KQogewogfQotICAgIAorCiBSZWY8TWF0aE1MRWxlbWVudD4g
TWF0aE1MRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3Vt
ZW50JiBkb2N1bWVudCkKIHsKICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNYXRoTUxFbGVtZW50
KHRhZ05hbWUsIGRvY3VtZW50KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwv
TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwv
TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5jcHAKaW5kZXggYTMzMzY1YjFjMDNlZTA3Mjc5
MDNmNjE2MmJhOTM4ZjE0OTdmZDBmYS4uNmY2MGYyYWQ0OTQ5MDQxNjQwZGYzNjM1ZGY3OTc0ZWFk
MjRlYmYyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTElubGluZUNv
bnRhaW5lckVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxp
bmVDb250YWluZXJFbGVtZW50LmNwcApAQCAtNDEsNyArNDEsNyBAQAogI2luY2x1ZGUgIlJlbmRl
ck1hdGhNTFVuZGVyT3Zlci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgCisKIHVzaW5n
IG5hbWVzcGFjZSBNYXRoTUxOYW1lczsKIAogTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudDo6
TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1l
LCBEb2N1bWVudCYgZG9jdW1lbnQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwv
TWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01h
dGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQuaAppbmRleCA1NTA1M2Y5Mzg3NzQ5MDBkNWI0YWQx
YjQzMGI5ZTI3NTI1ZjI5MTE1Li41MDliYmE1YzllOTFlZTEzOTY2NWQ3NTZlOWIzMGI4YTk5NzY3
YTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MSW5saW5lQ29udGFp
bmVyRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxJbmxpbmVDb250
YWluZXJFbGVtZW50LmgKQEAgLTMxLDcgKzMxLDcgQEAKICNpbmNsdWRlICJNYXRoTUxFbGVtZW50
LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICAKKwogY2xhc3MgTWF0aE1MSW5saW5lQ29u
dGFpbmVyRWxlbWVudCA6IHB1YmxpYyBNYXRoTUxFbGVtZW50IHsKIHB1YmxpYzoKICAgICBzdGF0
aWMgUmVmPE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQ+IGNyZWF0ZShjb25zdCBRdWFsaWZp
ZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCYpOwpAQCAtNDUsNyArNDUsNyBAQCBwcm90ZWN0ZWQ6
CiBwcml2YXRlOgogICAgIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBjcmVhdGVFbGVtZW50UmVu
ZGVyZXIoUmVuZGVyU3R5bGUmJiwgY29uc3QgUmVuZGVyVHJlZVBvc2l0aW9uJikgb3ZlcnJpZGU7
CiB9OwotICAgIAorCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoTUFUSE1MKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTE1hdGhFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9tYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQuaAppbmRleCBlZmY4OGE0N2M5MmEzNTEyNGNmMzhk
NDUyNjM0YzBlZmRjYmE2YTE2Li43NjA0NmRlNTc4YTNiOTRhOTA0YTA3ZDhlNGM4OTlmN2MzZDhh
MGMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MTWF0aEVsZW1lbnQuaApAQCAtNDEs
NyArNDEsNyBAQCBwcml2YXRlOgogCiAgICAgUmVuZGVyUHRyPFJlbmRlckVsZW1lbnQ+IGNyZWF0
ZUVsZW1lbnRSZW5kZXJlcihSZW5kZXJTdHlsZSYmLCBjb25zdCBSZW5kZXJUcmVlUG9zaXRpb24m
KSBvdmVycmlkZTsKIH07Ci0gICAgCisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShNQVRITUwpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MTWVuY2xvc2VFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxNZW5jbG9zZUVsZW1lbnQuY3BwCmluZGV4
IDJlYTA4ZWJlYWU1OWFmZTFmNjY5YTcyZmU4YjI2NjBhZTkzZGExMjQuLmQwMTFmNDAxNTQ2MDdk
ZmVkYWRjMDY3OTlkMTNkYWJiMWRjYTVjZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21h
dGhtbC9NYXRoTUxNZW5jbG9zZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL21hdGht
bC9NYXRoTUxNZW5jbG9zZUVsZW1lbnQuY3BwCkBAIC00OCw3ICs0OCw3IEBAIFJlZjxNYXRoTUxN
ZW5jbG9zZUVsZW1lbnQ+IE1hdGhNTE1lbmNsb3NlRWxlbWVudDo6Y3JlYXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmIHRhCiB9CiAKIFJlbmRlclB0cjxSZW5kZXJFbGVtZW50PiBNYXRoTUxNZW5jbG9z
ZUVsZW1lbnQ6OmNyZWF0ZUVsZW1lbnRSZW5kZXJlcihSZW5kZXJTdHlsZSYmIHN0eWxlLCBjb25z
dCBSZW5kZXJUcmVlUG9zaXRpb24mKQoteyAgICAKK3sKICAgICByZXR1cm4gY3JlYXRlUmVuZGVy
ZXI8UmVuZGVyTWF0aE1MTWVuY2xvc2U+KCp0aGlzLCBXVEZNb3ZlKHN0eWxlKSk7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxUZXh0RWxlbWVudC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9tYXRobWwvTWF0aE1MVGV4dEVsZW1lbnQuY3BwCmluZGV4IDgxNDJiNGNm
ZTg0ODY4MWViY2Q3YTQ0YjM3MzkwNTRlNGU3M2M4NjcuLmI5YjljNWIzNDUzZDBiMDJiNWY4ZGY1
N2EyMzFkMGFjOTU5NzhhMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRo
TUxUZXh0RWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFRleHRF
bGVtZW50LmNwcApAQCAtMzYsNyArMzYsNyBAQAogI2luY2x1ZGUgIlJlbmRlck1hdGhNTFRva2Vu
LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICAKKwogdXNpbmcgbmFtZXNwYWNlIE1hdGhN
TE5hbWVzOwogCiBpbmxpbmUgTWF0aE1MVGV4dEVsZW1lbnQ6Ok1hdGhNTFRleHRFbGVtZW50KGNv
bnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50JiBkb2N1bWVudCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL21hdGhtbC9NYXRoTUxUZXh0RWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvbWF0aG1sL01hdGhNTFRleHRFbGVtZW50LmgKaW5kZXggMjU1MGU2NWNlYWI0NDc5NmQ0
YmFkZTMwN2VkMjdjYmFhY2QwZDIzZi4uYmIyYmIwNzFkNzI2M2JkYjJhNjA1ZmNhZmYzYzM1Njdm
MjI4MDdlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFRleHRFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbWF0aG1sL01hdGhNTFRleHRFbGVtZW50LmgKQEAg
LTMxLDcgKzMxLDcgQEAKICNpbmNsdWRlICJNYXRoTUxFbGVtZW50LmgiCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKLSAgICAKKwogY2xhc3MgTWF0aE1MVGV4dEVsZW1lbnQgZmluYWwgOiBwdWJsaWMg
TWF0aE1MRWxlbWVudCB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFJlZjxNYXRoTUxUZXh0RWxlbWVu
dD4gY3JlYXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Jik7CkBAIC00
OCw3ICs0OCw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjaGlsZHJlbkNoYW5nZWQoY29uc3QgQ2hp
bGRDaGFuZ2UmKSBvdmVycmlkZTsKICAgICB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKIH07Ci0gICAgCisKIH0K
IAogI2VuZGlmIC8vIEVOQUJMRShNQVRITUwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MQmxvY2suY3BwCmluZGV4IDlkM2MxZGFhZDIxNGFm
NTc0YWI4NDY4NDNjYTk5ZTg5YzA3MDAyOGYuLjY3MDdkNzY0ZDk1ZmFiN2ZhZTVhMzMxNmZlNGNl
YWU3OTJhMDlhZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwv
UmVuZGVyTWF0aE1MQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRo
bWwvUmVuZGVyTWF0aE1MQmxvY2suY3BwCkBAIC00MCw5ICs0MCw5IEBACiAjZW5kaWYKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewotICAgIAorCiB1c2luZyBuYW1lc3BhY2UgTWF0aE1MTmFtZXM7Ci0g
ICAgCisKIFJlbmRlck1hdGhNTEJsb2NrOjpSZW5kZXJNYXRoTUxCbG9jayhFbGVtZW50JiBjb250
YWluZXIsIFJlbmRlclN0eWxlJiYgc3R5bGUpCiAgICAgOiBSZW5kZXJGbGV4aWJsZUJveChjb250
YWluZXIsIFdURk1vdmUoc3R5bGUpKQogewpAQCAtODEsNyArODEsNyBAQCBpbnQgUmVuZGVyTWF0
aE1MQmxvY2s6OmJhc2VsaW5lUG9zaXRpb24oRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlwZSwgYm9v
bCBmaXJzdExpbgogICAgIC8vIHJldHVybiAwIGhlcmUgdG8gbWF0Y2ggb3VyIGxpbmUtaGVpZ2h0
LiBUaGlzIG1hdHRlcnMgd2hlbiBSb290SW5saW5lQm94Ojphc2NlbnRBbmREZXNjZW50Rm9yQm94
IGlzIGNhbGxlZCBvbiBhIFJvb3RJbmxpbmVCb3ggZm9yIGFuIGlubGluZS1ibG9jay4KICAgICBp
ZiAobGluZVBvc2l0aW9uTW9kZSA9PSBQb3NpdGlvbk9mSW50ZXJpb3JMaW5lQm94ZXMpCiAgICAg
ICAgIHJldHVybiAwOwotICAgIAorCiAgICAgLy8gRklYTUU6IFRoaXMgbWF5IGJlIHVubmVjZXNz
YXJ5IGFmdGVyIGZsZXggYmFzZWxpbmVzIGFyZSBpbXBsZW1lbnRlZCAoaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk2MTg4KS4KICAgICByZXR1cm4gZmlyc3RMaW5lQmFz
ZWxpbmUoKS52YWx1ZU9yQ29tcHV0ZShbJl0gewogICAgICAgICByZXR1cm4gUmVuZGVyRmxleGli
bGVCb3g6OmJhc2VsaW5lUG9zaXRpb24oYmFzZWxpbmVUeXBlLCBmaXJzdExpbmUsIGRpcmVjdGlv
biwgbGluZVBvc2l0aW9uTW9kZSk7CkBAIC0xMDQsMzMgKzEwNCwzMyBAQCBjb25zdCBjaGFyKiBS
ZW5kZXJNYXRoTUxCbG9jazo6cmVuZGVyTmFtZSgpIGNvbnN0CiB2b2lkIFJlbmRlck1hdGhNTEJs
b2NrOjpwYWludChQYWludEluZm8mIGluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNl
dCkKIHsKICAgICBSZW5kZXJGbGV4aWJsZUJveDo6cGFpbnQoaW5mbywgcGFpbnRPZmZzZXQpOwot
ICAgIAorCiAgICAgaWYgKGluZm8uY29udGV4dCgpLnBhaW50aW5nRGlzYWJsZWQoKSB8fCBpbmZv
LnBoYXNlICE9IFBhaW50UGhhc2VGb3JlZ3JvdW5kKQogICAgICAgICByZXR1cm47CiAKICAgICBJ
bnRQb2ludCBhZGp1c3RlZFBhaW50T2Zmc2V0ID0gcm91bmRlZEludFBvaW50KHBhaW50T2Zmc2V0
ICsgbG9jYXRpb24oKSk7CiAKICAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2
ZXIoaW5mby5jb250ZXh0KCkpOwotICAgIAorCiAgICAgaW5mby5jb250ZXh0KCkuc2V0U3Ryb2tl
VGhpY2tuZXNzKDEuMGYpOwogICAgIGluZm8uY29udGV4dCgpLnNldFN0cm9rZVN0eWxlKFNvbGlk
U3Ryb2tlKTsKICAgICBpbmZvLmNvbnRleHQoKS5zZXRTdHJva2VDb2xvcihDb2xvcigwLCAwLCAy
NTUpKTsKLSAgICAKKwogICAgIGluZm8uY29udGV4dCgpLmRyYXdMaW5lKGFkanVzdGVkUGFpbnRP
ZmZzZXQsIEludFBvaW50KGFkanVzdGVkUGFpbnRPZmZzZXQueCgpICsgcGl4ZWxTbmFwcGVkT2Zm
c2V0V2lkdGgoKSwgYWRqdXN0ZWRQYWludE9mZnNldC55KCkpKTsKICAgICBpbmZvLmNvbnRleHQo
KS5kcmF3TGluZShJbnRQb2ludChhZGp1c3RlZFBhaW50T2Zmc2V0LngoKSArIHBpeGVsU25hcHBl
ZE9mZnNldFdpZHRoKCksIGFkanVzdGVkUGFpbnRPZmZzZXQueSgpKSwgSW50UG9pbnQoYWRqdXN0
ZWRQYWludE9mZnNldC54KCkgKyBwaXhlbFNuYXBwZWRPZmZzZXRXaWR0aCgpLCBhZGp1c3RlZFBh
aW50T2Zmc2V0LnkoKSArIHBpeGVsU25hcHBlZE9mZnNldEhlaWdodCgpKSk7CiAgICAgaW5mby5j
b250ZXh0KCkuZHJhd0xpbmUoSW50UG9pbnQoYWRqdXN0ZWRQYWludE9mZnNldC54KCksIGFkanVz
dGVkUGFpbnRPZmZzZXQueSgpICsgcGl4ZWxTbmFwcGVkT2Zmc2V0SGVpZ2h0KCkpLCBJbnRQb2lu
dChhZGp1c3RlZFBhaW50T2Zmc2V0LngoKSArIHBpeGVsU25hcHBlZE9mZnNldFdpZHRoKCksIGFk
anVzdGVkUGFpbnRPZmZzZXQueSgpICsgcGl4ZWxTbmFwcGVkT2Zmc2V0SGVpZ2h0KCkpKTsKICAg
ICBpbmZvLmNvbnRleHQoKS5kcmF3TGluZShhZGp1c3RlZFBhaW50T2Zmc2V0LCBJbnRQb2ludChh
ZGp1c3RlZFBhaW50T2Zmc2V0LngoKSwgYWRqdXN0ZWRQYWludE9mZnNldC55KCkgKyBwaXhlbFNu
YXBwZWRPZmZzZXRIZWlnaHQoKSkpOwotICAgIAorCiAgICAgaW50IHRvcFN0YXJ0ID0gcGFkZGlu
Z1RvcCgpOwotICAgIAorCiAgICAgaW5mby5jb250ZXh0KCkuc2V0U3Ryb2tlQ29sb3IoQ29sb3Io
MCwgMjU1LCAwKSk7Ci0gICAgCisKICAgICBpbmZvLmNvbnRleHQoKS5kcmF3TGluZShJbnRQb2lu
dChhZGp1c3RlZFBhaW50T2Zmc2V0LngoKSwgYWRqdXN0ZWRQYWludE9mZnNldC55KCkgKyB0b3BT
dGFydCksIEludFBvaW50KGFkanVzdGVkUGFpbnRPZmZzZXQueCgpICsgcGl4ZWxTbmFwcGVkT2Zm
c2V0V2lkdGgoKSwgYWRqdXN0ZWRQYWludE9mZnNldC55KCkgKyB0b3BTdGFydCkpOwotICAgIAor
CiAgICAgaW50IGJhc2VsaW5lID0gcm91bmRUb0ludChiYXNlbGluZVBvc2l0aW9uKEFscGhhYmV0
aWNCYXNlbGluZSwgdHJ1ZSwgSG9yaXpvbnRhbExpbmUpKTsKLSAgICAKKwogICAgIGluZm8uY29u
dGV4dCgpLnNldFN0cm9rZUNvbG9yKENvbG9yKDI1NSwgMCwgMCkpOwotICAgIAorCiAgICAgaW5m
by5jb250ZXh0KCkuZHJhd0xpbmUoSW50UG9pbnQoYWRqdXN0ZWRQYWludE9mZnNldC54KCksIGFk
anVzdGVkUGFpbnRPZmZzZXQueSgpICsgYmFzZWxpbmUpLCBJbnRQb2ludChhZGp1c3RlZFBhaW50
T2Zmc2V0LngoKSArIHBpeGVsU25hcHBlZE9mZnNldFdpZHRoKCksIGFkanVzdGVkUGFpbnRPZmZz
ZXQueSgpICsgYmFzZWxpbmUpKTsKIH0KICNlbmRpZiAvLyBFTkFCTEUoREVCVUdfTUFUSF9MQVlP
VVQpCkBAIC0xNDYsMTQgKzE0NiwxNCBAQCB2b2lkIFJlbmRlck1hdGhNTEJsb2NrOjpwYWludChQ
YWludEluZm8mIGluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldCkKIC8vIG51bWJl
ciB8IG51bWJlciB1bml0IHwgbmFtZWRzcGFjZQogLy8KIC8vIFRoZXJlIHNob3VsZCBiZSBubyBz
cGFjZSBiZXR3ZWVuIHRoZSBudW1iZXIgYW5kIHRoZSB1bml0IG9mIGEgbGVuZ3RoLiIKLS8vIAor
Ly8KIC8vICJBIHRyYWlsaW5nICclJyByZXByZXNlbnRzIGEgcGVyY2VudCBvZiB0aGUgZGVmYXVs
dCB2YWx1ZS4gVGhlIGRlZmF1bHQKIC8vIHZhbHVlLCBvciBob3cgaXQgaXMgb2J0YWluZWQsIGlz
IGxpc3RlZCBpbiB0aGUgdGFibGUgb2YgYXR0cmlidXRlcyBmb3IgZWFjaAogLy8gZWxlbWVudC4g
Wy4uLl0gQSBudW1iZXIgd2l0aG91dCBhIHVuaXQgaXMgaW50ZXByZXRlZCBhcyBhIG11bHRpcGxl
IG9mIHRoZQogLy8gZGVmYXVsdCB2YWx1ZS4iCiAvLwogLy8gIlRoZSBwb3NzaWJsZSB1bml0cyBp
biBNYXRoTUwgYXJlOgotLy8gIAorLy8KIC8vIFVuaXQgRGVzY3JpcHRpb24KIC8vIGVtICAgYW4g
ZW0gKGZvbnQtcmVsYXRpdmUgdW5pdCB0cmFkaXRpb25hbGx5IHVzZWQgZm9yIGhvcml6b250YWwg
bGVuZ3RocykKIC8vIGV4ICAgYW4gZXggKGZvbnQtcmVsYXRpdmUgdW5pdCB0cmFkaXRpb25hbGx5
IHVzZWQgZm9yIHZlcnRpY2FsIGxlbmd0aHMpCkBAIC0yOTksNyArMjk5LDcgQEAgYm9vbCBwYXJz
ZU1hdGhNTE5hbWVkU3BhY2UoY29uc3QgU3RyaW5nJiBzdHJpbmcsIExheW91dFVuaXQmIGxlbmd0
aFZhbHVlLCBjb25zdAogICAgICAgICBlbHNlIGlmIChzdHJpbmcgPT0gIm5lZ2F0aXZldmVyeXRo
aWNrbWF0aHNwYWNlIikKICAgICAgICAgICAgIGxlbmd0aCA9IC02OwogICAgICAgICBlbHNlIGlm
IChzdHJpbmcgPT0gIm5lZ2F0aXZldmVyeXZlcnl0aGlja21hdGhzcGFjZSIpCi0gICAgICAgICAg
ICBsZW5ndGggPSAtNzsgICAgICAgIAorICAgICAgICAgICAgbGVuZ3RoID0gLTc7CiAgICAgfQog
ICAgIGlmIChsZW5ndGgpIHsKICAgICAgICAgbGVuZ3RoVmFsdWUgPSBsZW5ndGggKiBzdHlsZS0+
Zm9udENhc2NhZGUoKS5zaXplKCkgLyAxODsKQEAgLTMxNiw2ICszMTYsNiBAQCBPcHRpb25hbDxp
bnQ+IFJlbmRlck1hdGhNTFRhYmxlOjpmaXJzdExpbmVCYXNlbGluZSgpIGNvbnN0CiAgICAgcmV0
dXJuIChsb2dpY2FsSGVpZ2h0KCkgKyBzdHlsZSgpLmZvbnRNZXRyaWNzKCkueEhlaWdodCgpKSAv
IDI7CiB9CiAKLX0gICAgCit9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxCbG9jay5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxCbG9jay5oCmluZGV4IDFjYjMzMmFlZDYzMmJlZjlh
NjFhMTUzMGM5Y2NlNWRmYWU1MDk4OGUuLjc1NmRiYTlkYzk4Zjk1ZGY2NTliMDhhYTIzZTI0NzY5
NzQzMTFlMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVu
ZGVyTWF0aE1MQmxvY2suaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1Jl
bmRlck1hdGhNTEJsb2NrLmgKQEAgLTM2LDcgKzM2LDcgQEAKICNkZWZpbmUgRU5BQkxFX0RFQlVH
X01BVEhfTEFZT1VUIDAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIAorCiBjbGFzcyBSZW5k
ZXJNYXRoTUxPcGVyYXRvcjsKIAogY2xhc3MgUmVuZGVyTWF0aE1MQmxvY2sgOiBwdWJsaWMgUmVu
ZGVyRmxleGlibGVCb3ggewpAQCAtNDUsNyArNDUsNyBAQCBwdWJsaWM6CiAgICAgUmVuZGVyTWF0
aE1MQmxvY2soRG9jdW1lbnQmLCBSZW5kZXJTdHlsZSYmKTsKIAogICAgIGJvb2wgaXNDaGlsZEFs
bG93ZWQoY29uc3QgUmVuZGVyT2JqZWN0JiwgY29uc3QgUmVuZGVyU3R5bGUmKSBjb25zdCBvdmVy
cmlkZTsKLSAgICAKKwogICAgIC8vIE1hdGhNTCBkZWZpbmVzIGFuICJlbWJlbGxpc2hlZCBvcGVy
YXRvciIgYXMgcm91Z2hseSBhbiA8bW8+IHRoYXQgbWF5IGhhdmUgc3Vic2NyaXB0cywKICAgICAv
LyBzdXBlcnNjcmlwdHMsIHVuZGVyc2NyaXB0cywgb3ZlcnNjcmlwdHMsIG9yIGEgZGVub21pbmF0
b3IgKGFzIGluIGQvZHgsIHdoZXJlICJkIiBpcyBzb21lCiAgICAgLy8gZGlmZmVyZW50aWFsIG9w
ZXJhdG9yKS4gVGhlIHBhZGRpbmcsIHByZWNlZGVuY2UsIGFuZCBzdHJldGNoaW5lc3Mgb2YgdGhl
IGJhc2UgPG1vPiBzaG91bGQKQEAgLTU0LDE3ICs1NCwxNyBAQCBwdWJsaWM6CiAgICAgLy8gRklY
TUU6IFdlIGRvbid0IHlldCBoYW5kbGUgYWxsIHRoZSBjYXNlcyBpbiB0aGUgTWF0aE1MIHNwZWMu
IFNlZQogICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03ODYx
Ny4KICAgICB2aXJ0dWFsIFJlbmRlck1hdGhNTE9wZXJhdG9yKiB1bmVtYmVsbGlzaGVkT3BlcmF0
b3IoKSB7IHJldHVybiAwOyB9Ci0gICAgCisKICAgICBpbnQgYmFzZWxpbmVQb3NpdGlvbihGb250
QmFzZWxpbmUsIGJvb2wgZmlyc3RMaW5lLCBMaW5lRGlyZWN0aW9uTW9kZSwgTGluZVBvc2l0aW9u
TW9kZSA9IFBvc2l0aW9uT25Db250YWluaW5nTGluZSkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgCisK
ICNpZiBFTkFCTEUoREVCVUdfTUFUSF9MQVlPVVQpCiAgICAgdmlydHVhbCB2b2lkIHBhaW50KFBh
aW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50Jik7CiAjZW5kaWYKLSAgICAKKwogICAgIExheW91
dFVuaXQgbWF0aEF4aXNIZWlnaHQoKSBjb25zdDsKICAgICBMYXlvdXRVbml0IG1pcnJvcklmTmVl
ZGVkKExheW91dFVuaXQgaG9yaXpvbnRhbE9mZnNldCwgTGF5b3V0VW5pdCBib3hXaWR0aCA9IDAp
IGNvbnN0OwogICAgIExheW91dFVuaXQgbWlycm9ySWZOZWVkZWQoTGF5b3V0VW5pdCBob3Jpem9u
dGFsT2Zmc2V0LCBjb25zdCBSZW5kZXJCb3gmIGNoaWxkKSBjb25zdCB7IHJldHVybiBtaXJyb3JJ
Zk5lZWRlZChob3Jpem9udGFsT2Zmc2V0LCBjaGlsZC5sb2dpY2FsV2lkdGgoKSk7IH0KLSAgICAK
KwogcHJvdGVjdGVkOgogICAgIHN0YXRpYyBMYXlvdXRVbml0IGFzY2VudEZvckNoaWxkKGNvbnN0
IFJlbmRlckJveCYgY2hpbGQpCiAgICAgewpAQCAtODMsOSArODMsOSBAQCBwdWJsaWM6CiAgICAg
ICAgIDogUmVuZGVyVGFibGUoZWxlbWVudCwgV1RGTW92ZShzdHlsZSkpCiAgICAgewogICAgIH0K
LSAgICAKKwogICAgIE9wdGlvbmFsPGludD4gZmlyc3RMaW5lQmFzZWxpbmUoKSBjb25zdCBvdmVy
cmlkZTsKLSAgICAKKwogcHJpdmF0ZToKICAgICBib29sIGlzUmVuZGVyTWF0aE1MVGFibGUoKSBj
b25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAgICAgY29uc3QgY2hhciogcmVuZGVyTmFt
ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuICJSZW5kZXJNYXRoTUxUYWJsZSI7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRmVuY2Vk
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRmVuY2Vk
LmNwcAppbmRleCAzZWRjZTM0ZDAwMDI4YzI0MjYyZTRkNGQzZjIzODA5NjRhMjE3OTBlLi4xNDhm
N2FhNjdhMjc1N2FkN2QxMDZhZDM5YzFkMjBiZWUwYjRkZTU4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNlZC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGZW5jZWQuY3BwCkBAIC0z
Nyw5ICszNyw5IEBACiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgogCiBuYW1l
c3BhY2UgV2ViQ29yZSB7Ci0gICAgCisKIHVzaW5nIG5hbWVzcGFjZSBNYXRoTUxOYW1lczsKLSAg
ICAKKwogc3RhdGljIGNvbnN0IGNoYXIqIGdPcGVuaW5nQnJhY2VDaGFyID0gIigiOwogc3RhdGlj
IGNvbnN0IGNoYXIqIGdDbG9zaW5nQnJhY2VDaGFyID0gIikiOwogCkBAIC01Miw3ICs1Miw3IEBA
IFJlbmRlck1hdGhNTEZlbmNlZDo6UmVuZGVyTWF0aE1MRmVuY2VkKE1hdGhNTElubGluZUNvbnRh
aW5lckVsZW1lbnQmIGVsZW1lbnQsIFJlCiB2b2lkIFJlbmRlck1hdGhNTEZlbmNlZDo6dXBkYXRl
RnJvbUVsZW1lbnQoKQogewogICAgIGNvbnN0IGF1dG8mIGZlbmNlZCA9IGVsZW1lbnQoKTsKLSAK
KwogICAgIC8vIFRoZSBvcGVuIG9wZXJhdG9yIGRlZmF1bHRzIHRvIGEgbGVmdCBwYXJlbnRoZXNp
cy4KICAgICBBdG9taWNTdHJpbmcgb3BlbiA9IGZlbmNlZC5mYXN0R2V0QXR0cmlidXRlKE1hdGhN
TE5hbWVzOjpvcGVuQXR0cik7CiAgICAgbV9vcGVuID0gb3Blbi5pc051bGwoKSA/IGdPcGVuaW5n
QnJhY2VDaGFyIDogb3BlbjsKQEAgLTczLDcgKzczLDcgQEAgdm9pZCBSZW5kZXJNYXRoTUxGZW5j
ZWQ6OnVwZGF0ZUZyb21FbGVtZW50KCkKICAgICAgICAgLy8gVGhlIHNlcGFyYXRvciBkZWZhdWx0
cyB0byBhIHNpbmdsZSBjb21tYS4KICAgICAgICAgbV9zZXBhcmF0b3JzID0gU3RyaW5nSW1wbDo6
Y3JlYXRlKCIsIik7CiAgICAgfQotICAgIAorCiAgICAgaWYgKGlzRW1wdHkoKSkKICAgICAgICAg
bWFrZUZlbmNlcygpOwogICAgIGVsc2UgewpAQCAtMTA1LDkgKzEwNSw5IEBAIHZvaWQgUmVuZGVy
TWF0aE1MRmVuY2VkOjphZGRDaGlsZChSZW5kZXJPYmplY3QqIGNoaWxkLCBSZW5kZXJPYmplY3Qq
IGJlZm9yZUNoaWxkCiAgICAgLy8gbWFrZSB0aGUgZmVuY2VzIGlmIHRoZSByZW5kZXIgb2JqZWN0
IGlzIGVtcHR5CiAgICAgaWYgKGlzRW1wdHkoKSkKICAgICAgICAgdXBkYXRlRnJvbUVsZW1lbnQo
KTsKLSAgICAKKwogICAgIC8vIEZJWE1FOiBBZGRpbmcgb3IgcmVtb3ZpbmcgYSBjaGlsZCBzaG91
bGQgcG9zc2libHkgY2F1c2UgYWxsIGxhdGVyIHNlcGFyYXRvcnMgdG8gc2hpZnQgcGxhY2VzIGlm
IHRoZXkncmUgZGlmZmVyZW50LCBhcyBsYXRlciBjaGlsZCBwb3NpdGlvbnMgY2hhbmdlIGJ5ICsx
IG9yIC0xLiBUaGlzIHNob3VsZCBhbHNvIGhhbmRsZSBzdXJyb2dhdGUgcGFpcnMuIFNlZSBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1OTM4LgotICAgIAorCiAgICAg
UmVuZGVyUHRyPFJlbmRlck1hdGhNTE9wZXJhdG9yPiBzZXBhcmF0b3JSZW5kZXJlcjsKICAgICBp
ZiAobV9zZXBhcmF0b3JzLmdldCgpKSB7CiAgICAgICAgIHVuc2lnbmVkIGludCBjb3VudCA9IDA7
CkBAIC0xMjAsMjIgKzEyMCwyMiBAQCB2b2lkIFJlbmRlck1hdGhNTEZlbmNlZDo6YWRkQ2hpbGQo
UmVuZGVyT2JqZWN0KiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZAogICAgICAgICAg
ICAgLS1jb3VudDsKICAgICAgICAgfQogICAgICAgICAvLyB8Y291bnR8IGlzIG5vdyB0aGUgbnVt
YmVyIG9mIGVsZW1lbnQgY2hpbGRyZW4gdGhhdCB3aWxsIGJlIGJlZm9yZSBvdXIgbmV3IHNlcGFy
YXRvciwgaS5lLiBpdCdzIHRoZSAxLWJhc2VkIGluZGV4IG9mIHRoZSBzZXBhcmF0b3IuCi0gICAg
ICAgIAorCiAgICAgICAgIGlmIChjb3VudCA+IDApIHsKICAgICAgICAgICAgIFVDaGFyIHNlcGFy
YXRvcjsKLSAgICAgICAgICAgIAorCiAgICAgICAgICAgICAvLyBVc2UgdGhlIGxhc3Qgc2VwYXJh
dG9yIGlmIHdlJ3ZlIHJ1biBvdXQgb2Ygc3BlY2lmaWVkIHNlcGFyYXRvcnMuCiAgICAgICAgICAg
ICBpZiAoY291bnQgPiBtX3NlcGFyYXRvcnMuZ2V0KCktPmxlbmd0aCgpKQogICAgICAgICAgICAg
ICAgIHNlcGFyYXRvciA9ICgqbV9zZXBhcmF0b3JzLmdldCgpKVttX3NlcGFyYXRvcnMuZ2V0KCkt
Pmxlbmd0aCgpIC0gMV07CiAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgc2VwYXJh
dG9yID0gKCptX3NlcGFyYXRvcnMuZ2V0KCkpW2NvdW50IC0gMV07Ci0gICAgICAgICAgICAgICAg
CisKICAgICAgICAgICAgIFN0cmluZ0J1aWxkZXIgYnVpbGRlcjsKICAgICAgICAgICAgIGJ1aWxk
ZXIuYXBwZW5kKHNlcGFyYXRvcik7CiAgICAgICAgICAgICBzZXBhcmF0b3JSZW5kZXJlciA9IGNy
ZWF0ZU1hdGhNTE9wZXJhdG9yKGJ1aWxkZXIudG9TdHJpbmcoKSwgTWF0aE1MT3BlcmF0b3JEaWN0
aW9uYXJ5OjpJbmZpeCwgTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OjpTZXBhcmF0b3IpOwogICAg
ICAgICB9CiAgICAgfQotICAgIAorCiAgICAgaWYgKGJlZm9yZUNoaWxkKSB7CiAgICAgICAgIC8v
IEFkZGluZyB8eHwgYmVmb3JlIGFuIGV4aXN0aW5nIHx5fCBlLmcuIGluIGVsZW1lbnQgKHkpIC0g
Zmlyc3QgaW5zZXJ0IG91ciBuZXcgY2hpbGQgfHh8LCB0aGVuIGl0cyBzZXBhcmF0b3IsIHRvIGdl
dCAoeCwgeSkuCiAgICAgICAgIFJlbmRlck1hdGhNTFJvdzo6YWRkQ2hpbGQoY2hpbGQsIGJlZm9y
ZUNoaWxkKTsKQEAgLTE0OSw2ICsxNDksNiBAQCB2b2lkIFJlbmRlck1hdGhNTEZlbmNlZDo6YWRk
Q2hpbGQoUmVuZGVyT2JqZWN0KiBjaGlsZCwgUmVuZGVyT2JqZWN0KiBiZWZvcmVDaGlsZAogICAg
IH0KIH0KIAotfSAgICAKK30KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZlbmNlZC5oIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGZW5jZWQuaAppbmRleCA5ZWYyOGJmNWI5Yzk2MzM0
NGQyMTJkZjk0NjMyYzBkMmU3YTVhN2U1Li5iY2JiY2UxN2ViZTc3NmVmYjc4NzdkMjYzZTFjMjg3
OTgzZDM1MWUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1Jl
bmRlck1hdGhNTEZlbmNlZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwv
UmVuZGVyTWF0aE1MRmVuY2VkLmgKQEAgLTMzLDEyICszMywxMiBAQAogI2luY2x1ZGUgIlJlbmRl
ck1hdGhNTFJvdy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgCisKIGNsYXNzIFJlbmRl
ck1hdGhNTEZlbmNlZCBmaW5hbCA6IHB1YmxpYyBSZW5kZXJNYXRoTUxSb3cgewogcHVibGljOgog
ICAgIFJlbmRlck1hdGhNTEZlbmNlZChNYXRoTUxJbmxpbmVDb250YWluZXJFbGVtZW50JiwgUmVu
ZGVyU3R5bGUmJik7CiAgICAgTWF0aE1MSW5saW5lQ29udGFpbmVyRWxlbWVudCYgZWxlbWVudCgp
IHsgcmV0dXJuIHN0YXRpY19jYXN0PE1hdGhNTElubGluZUNvbnRhaW5lckVsZW1lbnQmPihub2Rl
Rm9yTm9uQW5vbnltb3VzKCkpOyB9Ci0gICAgCisKIHByaXZhdGU6CiAgICAgYm9vbCBpc1JlbmRl
ck1hdGhNTEZlbmNlZCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICBjb25z
dCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIlJlbmRlck1hdGhN
TEZlbmNlZCI7IH0KQEAgLTUxLDEwICs1MSwxMCBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX29w
ZW47CiAgICAgU3RyaW5nIG1fY2xvc2U7CiAgICAgUmVmUHRyPFN0cmluZ0ltcGw+IG1fc2VwYXJh
dG9yczsKLSAgICAKKwogICAgIFJlbmRlck1hdGhNTE9wZXJhdG9yKiBtX2Nsb3NlRmVuY2VSZW5k
ZXJlcjsKIH07Ci0gICAgCisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShNQVRITUwpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRnJhY3Rp
b24uY3BwCmluZGV4IGM1ODU3NDRkZTY1YmU1MWFhZWU2MTJiYTcxNTFkZmM4N2MyY2M5NjAuLmZi
MGM5NjMzZDdjYjJlYWUyNzZkYTYxMzA1Mzk4Y2M1ODA1ZjI4YmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRnJhY3Rpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRnJhY3Rpb24uY3Bw
CkBAIC0zNiw3ICszNiw3IEBACiAjaW5jbHVkZSAiUGFpbnRJbmZvLmgiCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKLSAgICAKKwogdXNpbmcgbmFtZXNwYWNlIE1hdGhNTE5hbWVzOwogCiAvLyBGSVhN
RTogVGhlICJNYXRoTUwgaW4gSFRNTDUiIGltcGxlbWVudGF0aW9uIG5vdGUgc3VnZ2VzdHMgdGhl
IHZhbHVlcyA1MCUgZm9yICJ0aGluIiBhbmQgMjAwJSBmb3IgInRoaWNrIiAoaHR0cDovL3dlYmtp
dC5vcmcvYi8xNTU2MzkpLgpAQCAtMTIzLDcgKzEyMyw3IEBAIHZvaWQgUmVuZGVyTWF0aE1MRnJh
Y3Rpb246OnVwZGF0ZUZyb21FbGVtZW50KCkKIHZvaWQgUmVuZGVyTWF0aE1MRnJhY3Rpb246OnN0
eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSogb2xk
U3R5bGUpCiB7CiAgICAgUmVuZGVyTWF0aE1MQmxvY2s6OnN0eWxlRGlkQ2hhbmdlKGRpZmYsIG9s
ZFN0eWxlKTsKLSAgICAKKwogICAgIHVwZGF0ZUZyb21FbGVtZW50KCk7CiB9CiAKQEAgLTIwOSw5
ICsyMDksOSBAQCB2b2lkIFJlbmRlck1hdGhNTEZyYWN0aW9uOjpwYWludChQYWludEluZm8mIGlu
Zm8sIGNvbnN0IExheW91dFBvaW50JiBwYWludE9mZnNldAogICAgICAgICByZXR1cm47CiAKICAg
ICBJbnRQb2ludCBhZGp1c3RlZFBhaW50T2Zmc2V0ID0gcm91bmRlZEludFBvaW50KHBhaW50T2Zm
c2V0ICsgbG9jYXRpb24oKSArIExheW91dFBvaW50KDAsIG51bWVyYXRvcigpLmxvZ2ljYWxIZWln
aHQoKSArIGdOdW1lcmF0b3JHYXAgKiBzdHlsZSgpLmZvbnRTaXplKCkgKyBtX2xpbmVUaGlja25l
c3MgLyAyKSk7Ci0gICAgCisKICAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVyIHN0YXRlU2F2
ZXIoaW5mby5jb250ZXh0KCkpOwotICAgIAorCiAgICAgaW5mby5jb250ZXh0KCkuc2V0U3Ryb2tl
VGhpY2tuZXNzKG1fbGluZVRoaWNrbmVzcyk7CiAgICAgaW5mby5jb250ZXh0KCkuc2V0U3Ryb2tl
U3R5bGUoU29saWRTdHJva2UpOwogICAgIGluZm8uY29udGV4dCgpLnNldFN0cm9rZUNvbG9yKHN0
eWxlKCkudmlzaXRlZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5Q29sb3IpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRnJhY3Rpb24u
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MRnJhY3Rpb24u
aAppbmRleCBjMWFmYzEyMDg3Y2VmMTU5MTMzYjMwN2M2ZWExMDYwZmZiYjQyZGFmLi5hNjY2ZDA3
OTRiYTMyMTc0YTljODM2MzFlNGFlMjA5ZjlhNGRkNjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTEZyYWN0aW9uLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxGcmFjdGlvbi5oCkBAIC01Nyw3
ICs1Nyw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwYWludChQYWludEluZm8mLCBjb25zdCBMYXlv
dXRQb2ludCYpIGZpbmFsOwogICAgIFJlbmRlck1hdGhNTE9wZXJhdG9yKiB1bmVtYmVsbGlzaGVk
T3BlcmF0b3IoKSBmaW5hbDsKICAgICB2b2lkIHN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlmZmVyZW5j
ZSwgY29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKSBmaW5hbDsKLSAgICAKKwogICAgIGJvb2wg
aXNWYWxpZCgpIGNvbnN0OwogICAgIFJlbmRlckJveCYgbnVtZXJhdG9yKCkgY29uc3Q7CiAgICAg
UmVuZGVyQm94JiBkZW5vbWluYXRvcigpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxNYXRoLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE1hdGguaAppbmRleCBkOTRiYzljOTEwZTQyNTc3
NzgwYmVlOTdhODE0ZGY1NjEyNjdjYmMwLi4wZTI3MjlkYjQxODY2NjZiN2UwYzlmZWQwODkyYTAz
ZjdjZWNmZjMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1Jl
bmRlck1hdGhNTE1hdGguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1Jl
bmRlck1hdGhNTE1hdGguaApAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgIlJlbmRlck1hdGhN
TFJvdy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgCisKIGNsYXNzIFJlbmRlck1hdGhN
TE1hdGggZmluYWwgOiBwdWJsaWMgUmVuZGVyTWF0aE1MUm93IHsKIHB1YmxpYzoKICAgICBSZW5k
ZXJNYXRoTUxNYXRoKEVsZW1lbnQmLCBSZW5kZXJTdHlsZSYmKTsKQEAgLTQwLDcgKzQwLDcgQEAg
cHJpdmF0ZToKICAgICBib29sIGlzUmVuZGVyTWF0aE1MTWF0aCgpIGNvbnN0IG92ZXJyaWRlIHsg
cmV0dXJuIHRydWU7IH0KICAgICBjb25zdCBjaGFyKiByZW5kZXJOYW1lKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gIlJlbmRlck1hdGhNTE1hdGgiOyB9CiB9OwotICAgIAorCiB9CiAKIFNQRUNJ
QUxJWkVfVFlQRV9UUkFJVFNfUkVOREVSX09CSkVDVChSZW5kZXJNYXRoTUxNYXRoLCBpc1JlbmRl
ck1hdGhNTE1hdGgoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRo
bWwvUmVuZGVyTWF0aE1MTWVuY2xvc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRo
bWwvUmVuZGVyTWF0aE1MTWVuY2xvc2UuaAppbmRleCAwZTFmMWRmODQyMzYyNmFiNGJhYmRmZWJi
ODQwMmIzMmIzMDE5ZmU2Li4yNGZiOWY4ZjRjYTllY2UzMzRmYzcyODg0NDBlNWU2ZDJiNTBkYTBj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhN
TE1lbmNsb3NlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJN
YXRoTUxNZW5jbG9zZS5oCkBAIC0zMiw3ICszMiw3IEBACiAjaW5jbHVkZSAiUmVuZGVyTWF0aE1M
Um93LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICAKKwogY2xhc3MgUmVuZGVyTWF0aE1M
TWVuY2xvc2UgZmluYWw6IHB1YmxpYyBSZW5kZXJNYXRoTUxSb3cgewogcHVibGljOgogICAgIFJl
bmRlck1hdGhNTE1lbmNsb3NlKEVsZW1lbnQmLCBSZW5kZXJTdHlsZSYmKTsKQEAgLTUyLDcgKzUy
LDcgQEAgcHJpdmF0ZToKICAgICBMYXlvdXRVbml0IG1fYXNjZW50OwogICAgIExheW91dFJlY3Qg
bV9jb250ZW50UmVjdDsKIH07Ci0gICAgCisKIH0KIAogU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19S
RU5ERVJfT0JKRUNUKFJlbmRlck1hdGhNTE1lbmNsb3NlLCBpc1JlbmRlck1hdGhNTE1lbmNsb3Nl
KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1h
dGhNTE9wZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVy
TWF0aE1MT3BlcmF0b3IuY3BwCmluZGV4IDUzZTQ2NTk5NGQ1NTg0NzA4NTE0NWI2ZjYyYmRlMjY1
OTAxYjZhNDEuLjQzOGE2M2M2ZTYzOWFhOGYzNGUyZGNjYzU1YTUwNDEwNWFhOTQwYzggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1M
T3BlcmF0b3IuY3BwCkBAIC00Myw3ICs0Myw3IEBACiAjaW5jbHVkZSA8d3RmL3VuaWNvZGUvQ2hh
cmFjdGVyTmFtZXMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIAorCiB1c2luZyBuYW1l
c3BhY2UgTWF0aE1MTmFtZXM7CiAKIFJlbmRlck1hdGhNTE9wZXJhdG9yOjpSZW5kZXJNYXRoTUxP
cGVyYXRvcihNYXRoTUxFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVy
YXRvci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxPcGVy
YXRvci5oCmluZGV4IGRkMzU3NmJjOGRlYzk5ODA1ZDk2M2RkMjMxNjkwMTI2NGNkODVlYWUuLmE2
YjJhMzNiNjdkMjI2ZDM1YWRkNWVmM2IyZDVhYTJiMWY0ODY5NWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MT3BlcmF0b3IuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTE9wZXJhdG9yLmgKQEAg
LTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIHZvaWQgc3RyZXRjaFRvKExheW91dFVuaXQgd2lk
dGgpOwogICAgIExheW91dFVuaXQgc3RyZXRjaFNpemUoKSBjb25zdCB7IHJldHVybiBtX2lzVmVy
dGljYWwgPyBtX3N0cmV0Y2hIZWlnaHRBYm92ZUJhc2VsaW5lICsgbV9zdHJldGNoRGVwdGhCZWxv
d0Jhc2VsaW5lIDogbV9zdHJldGNoV2lkdGg7IH0KICAgICB2b2lkIHJlc2V0U3RyZXRjaFNpemUo
KTsKLSAgICAKKwogICAgIGJvb2wgaGFzT3BlcmF0b3JGbGFnKE1hdGhNTE9wZXJhdG9yRGljdGlv
bmFyeTo6RmxhZyBmbGFnKSBjb25zdCB7IHJldHVybiBtX29wZXJhdG9yRmxhZ3MgJiBmbGFnOyB9
CiAgICAgLy8gRklYTUU6IFRoZSBkaXNwbGF5c3R5bGUgcHJvcGVydHkgaXMgbm90IGltcGxlbWVu
dGVkIChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE4NzM3KS4KICAg
ICBib29sIGlzTGFyZ2VPcGVyYXRvckluRGlzcGxheVN0eWxlKCkgY29uc3QgeyByZXR1cm4gIWhh
c09wZXJhdG9yRmxhZyhNYXRoTUxPcGVyYXRvckRpY3Rpb25hcnk6OlN0cmV0Y2h5KSAmJiBoYXNP
cGVyYXRvckZsYWcoTWF0aE1MT3BlcmF0b3JEaWN0aW9uYXJ5OjpMYXJnZU9wKTsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSb290LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MUm9vdC5jcHAK
aW5kZXggODEzOGNkYWE2ODE1OGQzZjgwODY4NzllMjc5NzhlYThmMzk4NjBjOS4uMGNhMjg5YjFl
ZTkwMDQxZDIyOGYxMzVkZWUyOWI0ZTQ0ZGQ0OWI4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxSb290LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFJvb3QuY3BwCkBAIC0yNDksNyArMjQ5
LDcgQEAgdm9pZCBSZW5kZXJNYXRoTUxSb290OjpwYWludENoaWxkcmVuKFBhaW50SW5mbyYgcGFp
bnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGEKIHZvaWQgUmVuZGVyTWF0aE1MUm9vdDo6cGFp
bnQoUGFpbnRJbmZvJiBpbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbnRPZmZzZXQpCiB7CiAg
ICAgUmVuZGVyTWF0aE1MUm93OjpwYWludChpbmZvLCBwYWludE9mZnNldCk7Ci0gICAgCisKICAg
ICBpZiAoaXNFbXB0eSgpIHx8IGluZm8uY29udGV4dCgpLnBhaW50aW5nRGlzYWJsZWQoKSB8fCBz
dHlsZSgpLnZpc2liaWxpdHkoKSAhPSBWSVNJQkxFIHx8ICFpc1ZhbGlkKCkpCiAgICAgICAgIHJl
dHVybjsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5k
ZXJNYXRoTUxTY3JpcHRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVu
ZGVyTWF0aE1MU2NyaXB0cy5jcHAKaW5kZXggOWVkOGEwMmQwN2U3NTczMTVkZGM0MmYwMjIwMDNj
NDEyNWE2YWZhOS4uMTBjZDk4YmFlNjEwODhhODkxNmI3Nzk1MWZkMDdhZTk0NDQ1YTY3ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTY3Jp
cHRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhN
TFNjcmlwdHMuY3BwCkBAIC0zNSw3ICszNSw3IEBACiAjaW5jbHVkZSAiUmVuZGVyTWF0aE1MT3Bl
cmF0b3IuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIAorCiB1c2luZyBuYW1lc3BhY2Ug
TWF0aE1MTmFtZXM7CiAKIHN0YXRpYyBib29sIGlzUHJlc2NyaXB0RGVsaW1pdGVyKGNvbnN0IFJl
bmRlck9iamVjdCYgcmVuZGVyT2JqZWN0KQpAQCAtNDM0LDYgKzQzNCw2IEBAIHZvaWQgUmVuZGVy
TWF0aE1MU2NyaXB0czo6cGFpbnRDaGlsZHJlbihQYWludEluZm8mIHBhaW50SW5mbywgY29uc3Qg
TGF5b3V0UG9pbnQmCiAgICAgfQogfQogCi19ICAgIAorfQogCiAjZW5kaWYgLy8gRU5BQkxFKE1B
VEhNTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVy
TWF0aE1MU3BhY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJN
YXRoTUxTcGFjZS5jcHAKaW5kZXggZWNiOGNiZjNlODExZDJmY2FmNGM2ODQ4NjI0NDY2ZDIyZDZm
ZGUzOC4uMGM5NzcwNDU2ZjZiZjAzNTBmNWE1YTBhNDBlYzg0NTE1MjdhYzcwZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTcGFjZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxTcGFjZS5j
cHAKQEAgLTMzLDcgKzMzLDcgQEAKICNpbmNsdWRlICJQYWludEluZm8uaCIKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewotICAgIAorCiB1c2luZyBuYW1lc3BhY2UgTWF0aE1MTmFtZXM7CiAKIFJlbmRl
ck1hdGhNTFNwYWNlOjpSZW5kZXJNYXRoTUxTcGFjZShNYXRoTUxUZXh0RWxlbWVudCYgZWxlbWVu
dCwgUmVuZGVyU3R5bGUmJiBzdHlsZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9tYXRobWwvUmVuZGVyTWF0aE1MU3BhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9tYXRobWwvUmVuZGVyTWF0aE1MU3BhY2UuaAppbmRleCBjNTNjZDRhZjhiN2M1MmRlNTAwYmVl
YzU2ZWZkMzQ3YzRmNmVjNDAxLi5hZGJlOTgzYTljYTdjZmEyY2YxYzdiNWRmMThkMTk0MjcwNTkx
M2Y3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1h
dGhNTFNwYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJN
YXRoTUxTcGFjZS5oCkBAIC0zMiw3ICszMiw3IEBACiAjaW5jbHVkZSAiUmVuZGVyTWF0aE1MQmxv
Y2suaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIAorCiBjbGFzcyBSZW5kZXJNYXRoTUxT
cGFjZSBmaW5hbCA6IHB1YmxpYyBSZW5kZXJNYXRoTUxCbG9jayB7CiBwdWJsaWM6CiAgICAgUmVu
ZGVyTWF0aE1MU3BhY2UoTWF0aE1MVGV4dEVsZW1lbnQmLCBSZW5kZXJTdHlsZSYmKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVG9rZW4u
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVG9rZW4uaApp
bmRleCA1ODlkNjJiZGRjOTNhMDBkMDRhMmM2NDVjMTgwNmI0NzkwNzgyNzZiLi40NGJiODlmMjFh
Y2UwNDA2YzA2OGJkMDRkOTlmN2I5Njc0MDdjNTIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFRva2VuLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxUb2tlbi5oCkBAIC0zNCw3ICszNCw3IEBA
CiAjaW5jbHVkZSAiUmVuZGVyVGV4dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgCisK
IGNsYXNzIFJlbmRlck1hdGhNTFRva2VuIDogcHVibGljIFJlbmRlck1hdGhNTEJsb2NrIHsKIHB1
YmxpYzoKICAgICBSZW5kZXJNYXRoTUxUb2tlbihFbGVtZW50JiwgUmVuZGVyU3R5bGUmJik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhNTFVu
ZGVyT3Zlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhN
TFVuZGVyT3Zlci5jcHAKaW5kZXggZDVmMTJjNTMzNDBlNzE3ZWE5MTM0YWE5NGVmZWE5NzM2YzQ3
OTBhMi4uYzExZDA1MGUzYjBiZDFhZjFkNWFkMGM2MmJmYjBkZWNjYjdhZTdkNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxVbmRlck92ZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVW5k
ZXJPdmVyLmNwcApAQCAtMzgsNyArMzgsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB1c2lu
ZyBuYW1lc3BhY2UgTWF0aE1MTmFtZXM7Ci0gICAgCisKIFJlbmRlck1hdGhNTFVuZGVyT3Zlcjo6
UmVuZGVyTWF0aE1MVW5kZXJPdmVyKEVsZW1lbnQmIGVsZW1lbnQsIFJlbmRlclN0eWxlJiYgc3R5
bGUpCiAgICAgOiBSZW5kZXJNYXRoTUxCbG9jayhlbGVtZW50LCBXVEZNb3ZlKHN0eWxlKSkKIHsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1M
VW5kZXJPdmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbWF0aG1sL1JlbmRlck1hdGhN
TFVuZGVyT3Zlci5oCmluZGV4IDQ4ZDFkOWY5MGU2YzM1M2YwY2JhYjdjOWFiMGI2ZDhkNjI5Mzlm
NjMuLmUwNDdkMWI0ZTg3MDFlZjcxOWZhYjcwNTlmYjliYzQ0Yzc2OWJjZjIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9tYXRobWwvUmVuZGVyTWF0aE1MVW5kZXJPdmVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL21hdGhtbC9SZW5kZXJNYXRoTUxVbmRlck92
ZXIuaApAQCAtMzIsMTEgKzMyLDExIEBACiAjaW5jbHVkZSAiUmVuZGVyTWF0aE1MQmxvY2suaCIK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIAorCiBjbGFzcyBSZW5kZXJNYXRoTUxVbmRlck92
ZXIgZmluYWwgOiBwdWJsaWMgUmVuZGVyTWF0aE1MQmxvY2sgewogcHVibGljOgogICAgIFJlbmRl
ck1hdGhNTFVuZGVyT3ZlcihFbGVtZW50JiwgUmVuZGVyU3R5bGUmJik7Ci0gICAgCisKICAgICBS
ZW5kZXJNYXRoTUxPcGVyYXRvciogdW5lbWJlbGxpc2hlZE9wZXJhdG9yKCkgb3ZlcnJpZGU7CiAK
ICAgICBPcHRpb25hbDxpbnQ+IGZpcnN0TGluZUJhc2VsaW5lKCkgY29uc3Qgb3ZlcnJpZGU7CkBA
IC01OSw3ICs1OSw3IEBAIHByaXZhdGU6CiAgICAgZW51bSBVbmRlck92ZXJUeXBlIHsgVW5kZXIs
IE92ZXIsIFVuZGVyT3ZlciB9OwogICAgIFVuZGVyT3ZlclR5cGUgbV9zY3JpcHRUeXBlOwogfTsK
LSAgICAKKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKE1BVEhNTCkK
</data>
<flag name="review"
          id="306326"
          type_id="1"
          status="+"
          setter="achristensen"
    />
          </attachment>
      

    </bug>

</bugzilla>