<?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>233858</bug_id>
          
          <creation_ts>2021-12-04 23:31:45 -0800</creation_ts>
          <short_desc>[LFC][Integration] Use end bits in text box iterator</short_desc>
          <delta_ts>2021-12-06 00:14:21 -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>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Antti Koivisto">koivisto</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1820483</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-12-04 23:31:45 -0800</bug_when>
    <thetext>Make it work in bidi.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820485</commentid>
    <comment_count>1</comment_count>
      <attachid>445980</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-12-05 00:07:39 -0800</bug_when>
    <thetext>Created attachment 445980
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820491</commentid>
    <comment_count>2</comment_count>
      <attachid>445985</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-12-05 05:11:41 -0800</bug_when>
    <thetext>Created attachment 445985
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820497</commentid>
    <comment_count>3</comment_count>
      <attachid>445987</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-12-05 09:44:03 -0800</bug_when>
    <thetext>Created attachment 445987
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820500</commentid>
    <comment_count>4</comment_count>
      <attachid>445989</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-12-05 10:38:02 -0800</bug_when>
    <thetext>Created attachment 445989
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820501</commentid>
    <comment_count>5</comment_count>
      <attachid>445989</attachid>
    <who name="alan">zalan</who>
    <bug_when>2021-12-05 10:43:40 -0800</bug_when>
    <thetext>Comment on attachment 445989
Patch

nice!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820531</commentid>
    <comment_count>6</comment_count>
      <attachid>446001</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-12-05 22:58:15 -0800</bug_when>
    <thetext>Created attachment 446001
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820532</commentid>
    <comment_count>7</comment_count>
      <attachid>446002</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2021-12-05 23:02:37 -0800</bug_when>
    <thetext>Created attachment 446002
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820547</commentid>
    <comment_count>8</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-12-06 00:13:31 -0800</bug_when>
    <thetext>Committed r286541 (244873@main): &lt;https://commits.webkit.org/244873@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 446002.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1820548</commentid>
    <comment_count>9</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-06 00:14:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/86087045&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445980</attachid>
            <date>2021-12-05 00:07:39 -0800</date>
            <delta_ts>2021-12-05 05:11:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233858-20211205100738.patch</filename>
            <type>text/plain</type>
            <size>6626</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmYzNDUxZjJlZjJkZDli
MTMyMjViMDM3NWViZjg4NzAzZTk4OTdjYi4uZTg1ZTNiMDU2YzE5YTcwMTMyOWRiYzc4YWU5ZTI3
YjdiZjA5YWRkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIxLTEyLTA0ICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlv
bl0gVXNlIGVuZCBiaXRzIGluIHRleHQgYm94IGl0ZXJhdG9yCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM4NTgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHRleHQgYm94IHRyYXZlcnNhbCB3b3Jr
IGNvcnJlY3RseSBpbiBiaWRpIGNvbnRleHQgd2hlcmUgZW5jb3VudGVyaW5nIGEgZGlmZmVyZW50
CisgICAgICAgIGxheW91dCBib3ggZG9lcyBub3QgbmVjZXNzYXJpbHkgbWVhbiB0aGVyZSBhcmUg
bm8gZnVydGhlciB0ZXh0IGJveGVzIGZvciB0aGUgbGF5b3V0IGJveC4KKworICAgICAgICAqIGxh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUJveC5o
OgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94Ojppc1RleHRPclNvZnRMaW5l
QnJlYWsgY29uc3QpOgorICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRv
ckJveE1vZGVyblBhdGguaDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUl0ZXJhdG9yOjpCb3hN
b2Rlcm5QYXRoOjppc1RleHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lSXRlcmF0
b3I6OkJveE1vZGVyblBhdGg6OnRyYXZlcnNlTmV4dFRleHRCb3gpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5saW5lSXRlcmF0b3I6OkJveE1vZGVyblBhdGg6OnRyYXZlcnNlTmV4dElubGluZUJveCk6
CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRvcjo6Qm94TW9kZXJuUGF0aDo6dHJhdmVy
c2VQcmV2aW91c0lubGluZUJveCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRvcjo6
Qm94TW9kZXJuUGF0aDo6dHJhdmVyc2VOZXh0V2l0aFNhbWVMYXlvdXRCb3gpOgorICAgICAgICAo
V2ViQ29yZTo6SW5saW5lSXRlcmF0b3I6OkJveE1vZGVyblBhdGg6OnRyYXZlcnNlUHJldmlvdXNX
aXRoU2FtZUxheW91dEJveCk6CisgICAgICAgICogbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0
ZXJhdG9yVGV4dEJveC5oOgorCiAyMDIxLTEyLTA0ICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxl
LmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIENvbXB1dGUgaXNGaXJzdEJveC9pc0xhc3RCb3gg
Zm9yIHRleHQgY29udGVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1h
dHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Qm94LmggYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURp
c3BsYXlCb3guaAppbmRleCA3MmUzM2EyZWQyNDExN2QzZjJiYzE5MDFhY2M1MmFiOTU0ZWUwZGQ2
Li5jN2U1NGMyNGQwZGU1M2M1ZjEyNGQyY2U3MDQzZDc0ODJlZjE0ZDU3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lu
bGluZURpc3BsYXlCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0Nv
bnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlCb3guaApAQCAtNzksNiArNzksNyBA
QCBzdHJ1Y3QgQm94IHsKICAgICBib29sIGlzVGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9
PSBUeXBlOjpUZXh0OyB9CiAgICAgYm9vbCBpc0VsbGlwc2lzKCkgY29uc3QgeyByZXR1cm4gbV90
eXBlID09IFR5cGU6OkVsbGlwc2lzOyB9CiAgICAgYm9vbCBpc1NvZnRMaW5lQnJlYWsoKSBjb25z
dCB7IHJldHVybiBtX3R5cGUgPT0gVHlwZTo6U29mdExpbmVCcmVhazsgfQorICAgIGJvb2wgaXNU
ZXh0T3JTb2Z0TGluZUJyZWFrKCkgY29uc3QgeyByZXR1cm4gaXNUZXh0KCkgfHwgaXNTb2Z0TGlu
ZUJyZWFrKCk7IH0KICAgICBib29sIGlzTGluZUJyZWFrQm94KCkgY29uc3QgeyByZXR1cm4gbV90
eXBlID09IFR5cGU6OkxpbmVCcmVha0JveDsgfQogICAgIGJvb2wgaXNMaW5lQnJlYWsoKSBjb25z
dCB7IHJldHVybiBpc1NvZnRMaW5lQnJlYWsoKSB8fCBpc0xpbmVCcmVha0JveCgpOyB9CiAgICAg
Ym9vbCBpc0F0b21pY0lubGluZUxldmVsQm94KCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IFR5
cGU6OkF0b21pY0lubGluZUxldmVsQm94OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JCb3hNb2Rlcm5QYXRoLmggYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JCb3hNb2Rlcm5QYXRoLmgK
aW5kZXggZTdlZjZkYmEzYTlkNzA3ODM3NzQ5Y2U3ODAyODI5Y2ZhZDA1YzlhNC4uYmI3MzAwMjdh
ZTQyNWExYmJjNmYxMGZhYzQ4Nzc1ODhiMmVkMjBhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0ZXJhdG9yQm94TW9kZXJuUGF0aC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvckJveE1vZGVy
blBhdGguaApAQCAtNDgsNyArNDgsNyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIGJv
b2wgaXNUZXh0KCkgY29uc3QgeyByZXR1cm4gISFib3goKS50ZXh0KCk7IH0KKyAgICBib29sIGlz
VGV4dCgpIGNvbnN0IHsgcmV0dXJuIGJveCgpLmlzVGV4dE9yU29mdExpbmVCcmVhaygpOyB9CiAg
ICAgYm9vbCBpc0lubGluZUJveCgpIGNvbnN0IHsgcmV0dXJuIGJveCgpLmlzSW5saW5lQm94KCk7
IH0KICAgICBib29sIGlzUm9vdElubGluZUJveCgpIGNvbnN0IHsgcmV0dXJuIGJveCgpLmlzUm9v
dElubGluZUJveCgpOyB9CiAKQEAgLTEwNiwxNiArMTA2LDE2IEBAIHB1YmxpYzoKICAgICB2b2lk
IHRyYXZlcnNlTmV4dFRleHRCb3goKQogICAgIHsKICAgICAgICAgQVNTRVJUKCFhdEVuZCgpKTsK
LSAgICAgICAgQVNTRVJUKGJveCgpLnRleHQoKSk7CisgICAgICAgIEFTU0VSVChib3goKS5pc1Rl
eHRPclNvZnRMaW5lQnJlYWsoKSk7CiAKLSAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gYm94KCku
bGF5b3V0Qm94KCk7Ci0KLSAgICAgICAgdHJhdmVyc2VOZXh0TGVhZigpOwotCi0gICAgICAgIGlm
ICghYXRFbmQoKSAmJiAmbGF5b3V0Qm94ICE9ICZib3goKS5sYXlvdXRCb3goKSkKKyAgICAgICAg
aWYgKGJveCgpLmlzTGFzdEJveCgpKSB7CiAgICAgICAgICAgICBzZXRBdEVuZCgpOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CiAKLSAgICAgICAgQVNTRVJUKGF0RW5kKCkgfHwgYm94
KCkudGV4dCgpKTsKKyAgICAgICAgdHJhdmVyc2VOZXh0V2l0aFNhbWVMYXlvdXRCb3goKTsKKwor
ICAgICAgICBBU1NFUlQoYm94KCkuaXNUZXh0T3JTb2Z0TGluZUJyZWFrKCkpOwogICAgIH0KIAog
ICAgIHZvaWQgdHJhdmVyc2VOZXh0T25MaW5lKCkKQEAgLTE0NCw2ICsxNDQsNyBAQCBwdWJsaWM6
CiAKICAgICB2b2lkIHRyYXZlcnNlTmV4dElubGluZUJveCgpCiAgICAgeworICAgICAgICBBU1NF
UlQoIWF0RW5kKCkpOwogICAgICAgICBBU1NFUlQoYm94KCkuaXNJbmxpbmVCb3goKSk7CiAKICAg
ICAgICAgaWYgKGJveCgpLmlzTGFzdEJveCgpKSB7CkBAIC0xNTEsMTYgKzE1MiwxNCBAQCBwdWJs
aWM6CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBhdXRvJiBsYXlv
dXRCb3ggPSBib3goKS5sYXlvdXRCb3goKTsKLSAgICAgICAgZG8gewotICAgICAgICAgICAgdHJh
dmVyc2VOZXh0Qm94KCk7Ci0gICAgICAgIH0gd2hpbGUgKCFhdEVuZCgpICYmICZib3goKS5sYXlv
dXRCb3goKSAhPSAmbGF5b3V0Qm94KTsKKyAgICAgICAgdHJhdmVyc2VOZXh0V2l0aFNhbWVMYXlv
dXRCb3goKTsKIAotICAgICAgICBBU1NFUlQoYXRFbmQoKSB8fCBib3goKS5pc0lubGluZUJveCgp
KTsKKyAgICAgICAgQVNTRVJUKGJveCgpLmlzSW5saW5lQm94KCkpOwogICAgIH0KIAogICAgIHZv
aWQgdHJhdmVyc2VQcmV2aW91c0lubGluZUJveCgpCiAgICAgeworICAgICAgICBBU1NFUlQoIWF0
RW5kKCkpOwogICAgICAgICBBU1NFUlQoYm94KCkuaXNJbmxpbmVCb3goKSk7CiAKICAgICAgICAg
aWYgKGJveCgpLmlzRmlyc3RCb3goKSkgewpAQCAtMTY4LDEyICsxNjcsOSBAQCBwdWJsaWM6CiAg
ICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBhdXRvJiBsYXlvdXRCb3gg
PSBib3goKS5sYXlvdXRCb3goKTsKLSAgICAgICAgZG8gewotICAgICAgICAgICAgdHJhdmVyc2VQ
cmV2aW91c0JveCgpOwotICAgICAgICB9IHdoaWxlICghYXRFbmQoKSAmJiAmYm94KCkubGF5b3V0
Qm94KCkgIT0gJmxheW91dEJveCk7CisgICAgICAgIHRyYXZlcnNlUHJldmlvdXNXaXRoU2FtZUxh
eW91dEJveCgpOwogCi0gICAgICAgIEFTU0VSVChhdEVuZCgpIHx8IGJveCgpLmlzSW5saW5lQm94
KCkpOworICAgICAgICBBU1NFUlQoYm94KCkuaXNJbmxpbmVCb3goKSk7CiAgICAgfQogCiAgICAg
Qm94TW9kZXJuUGF0aCBmaXJzdExlYWZCb3hGb3JJbmxpbmVCb3goKSBjb25zdApAQCAtMjQ5LDYg
KzI0NSwyMiBAQCBwcml2YXRlOgogICAgICAgICB9IHdoaWxlICghYXRFbmQoKSAmJiBib3goKS5p
c0lubGluZUJveCgpKTsKICAgICB9CiAKKyAgICB2b2lkIHRyYXZlcnNlTmV4dFdpdGhTYW1lTGF5
b3V0Qm94KCkKKyAgICB7CisgICAgICAgIGF1dG8mIGxheW91dEJveCA9IGJveCgpLmxheW91dEJv
eCgpOworICAgICAgICBkbyB7CisgICAgICAgICAgICB0cmF2ZXJzZU5leHRCb3goKTsKKyAgICAg
ICAgfSB3aGlsZSAoIWF0RW5kKCkgJiYgJmJveCgpLmxheW91dEJveCgpICE9ICZsYXlvdXRCb3gp
OworICAgIH0KKworICAgIHZvaWQgdHJhdmVyc2VQcmV2aW91c1dpdGhTYW1lTGF5b3V0Qm94KCkK
KyAgICB7CisgICAgICAgIGF1dG8mIGxheW91dEJveCA9IGJveCgpLmxheW91dEJveCgpOworICAg
ICAgICBkbyB7CisgICAgICAgICAgICB0cmF2ZXJzZVByZXZpb3VzQm94KCk7CisgICAgICAgIH0g
d2hpbGUgKCFhdEVuZCgpICYmICZib3goKS5sYXlvdXRCb3goKSAhPSAmbGF5b3V0Qm94KTsKKyAg
ICB9CisKICAgICB2b2lkIHNldEF0RW5kKCkgeyBtX2JveEluZGV4ID0gYm94ZXMoKS5zaXplKCk7
IH0KIAogICAgIGNvbnN0IExheW91dEludGVncmF0aW9uOjpJbmxpbmVDb250ZW50OjpCb3hlcyYg
Ym94ZXMoKSBjb25zdCB7IHJldHVybiBtX2lubGluZUNvbnRlbnQtPmJveGVzOyB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JUZXh0
Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JU
ZXh0Qm94LmgKaW5kZXggNzRmZjIxNzgyZTJmYTk0ZmJmZWJlZmYzNWFkNjA3YWVmMWQ1YmY5MS4u
OWVmNzZmYjYwMTE0M2UyMzdiZGFiMWIwZmNmMTA5OTZhNzMxOWMwYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0ZXJhdG9yVGV4dEJveC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvclRleHRC
b3guaApAQCAtNTksOCArNTksOCBAQCBwdWJsaWM6CiAgICAgLy8gRklYTUU6IFJlbW92ZS4gRm9y
IGludGVybWVkaWF0ZSBwb3J0aW5nIHN0ZXBzIG9ubHkuCiAgICAgY29uc3QgTGVnYWN5SW5saW5l
VGV4dEJveCogbGVnYWN5SW5saW5lQm94KCkgY29uc3QgeyByZXR1cm4gZG93bmNhc3Q8TGVnYWN5
SW5saW5lVGV4dEJveD4oQm94OjpsZWdhY3lJbmxpbmVCb3goKSk7IH0KIAorICAgIC8vIFRoaXMg
cmV0dXJucyB0aGUgbmV4dCB0ZXh0IGJveCBnZW5lcmF0ZWQgZm9yIHRoZSBzYW1lIFJlbmRlclRl
eHQvTGF5b3V0OjpJbmxpbmVUZXh0Qm94LgogICAgIFRleHRCb3hJdGVyYXRvciBuZXh0VGV4dEJv
eCgpIGNvbnN0OwotICAgIFRleHRCb3hJdGVyYXRvciBwcmV2aW91c1RleHRCb3goKSBjb25zdDsK
IH07CiAKIGNsYXNzIFRleHRCb3hJdGVyYXRvciA6IHB1YmxpYyBMZWFmQm94SXRlcmF0b3IgewpA
QCAtNzQsNiArNzQsNyBAQCBwdWJsaWM6CiAgICAgY29uc3QgVGV4dEJveCYgb3BlcmF0b3IqKCkg
Y29uc3QgeyByZXR1cm4gZ2V0KCk7IH0KICAgICBjb25zdCBUZXh0Qm94KiBvcGVyYXRvci0+KCkg
Y29uc3QgeyByZXR1cm4gJmdldCgpOyB9CiAKKyAgICAvLyBUaGlzIHRyYXZlcnNlcyB0byB0aGUg
bmV4dCB0ZXh0IGJveCBnZW5lcmF0ZWQgZm9yIHRoZSBzYW1lIFJlbmRlclRleHQvTGF5b3V0OjpJ
bmxpbmVUZXh0Qm94LgogICAgIFRleHRCb3hJdGVyYXRvciYgdHJhdmVyc2VOZXh0VGV4dEJveCgp
OwogCiBwcml2YXRlOgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445985</attachid>
            <date>2021-12-05 05:11:41 -0800</date>
            <delta_ts>2021-12-05 09:43:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233858-20211205151140.patch</filename>
            <type>text/plain</type>
            <size>15007</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmYzNDUxZjJlZjJkZDli
MTMyMjViMDM3NWViZjg4NzAzZTk4OTdjYi4uMjY4OWU1ZjA0MWVkZjU1NjY1OWY0NDFmNDZiYWQ5
ZTc1ODJlMWQyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDIxLTEyLTA1ICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlv
bl0gVXNlIGVuZCBiaXRzIGluIHRleHQgYm94IGl0ZXJhdG9yCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM4NTgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHRleHQgYm94IHRyYXZlcnNhbCB3b3Jr
IGNvcnJlY3RseSBpbiBiaWRpIGNvbnRleHQgd2hlcmUgZW5jb3VudGVyaW5nIGEgZGlmZmVyZW50
CisgICAgICAgIGxheW91dCBib3ggZG9lcyBub3QgbmVjZXNzYXJpbHkgbWVhbiB0aGVyZSBhcmUg
bm8gZnVydGhlciB0ZXh0IGJveGVzIGZvciB0aGUgbGF5b3V0IGJveC4KKworICAgICAgICAqIGxh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZURpc3BsYXlDb250ZW50QnVpbGRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZURpc3BsYXlDb250ZW50QnVp
bGRlcjo6cHJvY2Vzc0JpZGlDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5s
aW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpjb21wdXRlSXNGaXJzdElzTGFzdEJveEZvcklubGlu
ZUNvbnRlbnQpOgorCisgICAgICAgIFNldCB0aGUgYml0cyBmb3IgYWxsIGJveCB0eXBlcyBleGNl
cHQgbm9uLXJvb3QgaW5saW5lIGJveGVzCisgICAgICAgICh3aGljaCBjdXJyZW50bHkgbmVlZCB0
byBiZSBoYW5kbGVkIGVhcmxpZXIpLgorCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Qm94Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpJbmxpbmVEaXNwbGF5OjpCb3g6OkJveCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVEaXNw
bGF5OjpCb3g6OmlzVGV4dE9yU29mdExpbmVCcmVhayBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpJbmxpbmVEaXNwbGF5OjpCb3g6OmlzRmlyc3RGb3JMYXlvdXRCb3ggY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94Ojppc0xhc3RGb3JMYXlvdXRCb3ggY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94OjpzZXRJc0ZpcnN0Rm9yTGF5
b3V0Qm94KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZURpc3BsYXk6OkJveDo6c2V0SXNMYXN0
Rm9yTGF5b3V0Qm94KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZURpc3BsYXk6OkJveDo6aXNG
aXJzdEJveCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVEaXNwbGF5
OjpCb3g6OmlzTGFzdEJveCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbmxp
bmVEaXNwbGF5OjpCb3g6OnNldElzTGFzdEJveCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpJbmxpbmVEaXNwbGF5OjpCb3g6OnNldElzRmlyc3RCb3gpOiBEZWxldGVkLgorCisgICAgICAg
IFJlbmFtZWQgZm9yIGNsYXJpdHkgYW5kIGNvcnJlY3RuZXNzLgorCisgICAgICAgICogbGF5b3V0
L2ludGVncmF0aW9uL0lubGluZUl0ZXJhdG9yQm94TW9kZXJuUGF0aC5oOgorICAgICAgICAoV2Vi
Q29yZTo6SW5saW5lSXRlcmF0b3I6OkJveE1vZGVyblBhdGg6OmlzVGV4dCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRvcjo6Qm94TW9kZXJuUGF0aDo6dHJhdmVyc2VOZXh0
VGV4dEJveCk6CisKKyAgICAgICAgVXNlIHRoZSBpc0xhc3RGb3JMYXlvdXRCb3ggYml0IHRvIGVu
ZCB0aGUgdHJhdmVyc2FsLgorCisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRvcjo6Qm94
TW9kZXJuUGF0aDo6dHJhdmVyc2VOZXh0SW5saW5lQm94KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
bGluZUl0ZXJhdG9yOjpCb3hNb2Rlcm5QYXRoOjp0cmF2ZXJzZVByZXZpb3VzSW5saW5lQm94KToK
KyAgICAgICAgKFdlYkNvcmU6OklubGluZUl0ZXJhdG9yOjpCb3hNb2Rlcm5QYXRoOjp0cmF2ZXJz
ZU5leHRXaXRoU2FtZUxheW91dEJveCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRv
cjo6Qm94TW9kZXJuUGF0aDo6dHJhdmVyc2VQcmV2aW91c1dpdGhTYW1lTGF5b3V0Qm94KToKKwor
ICAgICAgICBGYWN0b3IgaW50byBoZWxwZXJzLgorCisgICAgICAgICogbGF5b3V0L2ludGVncmF0
aW9uL0lubGluZUl0ZXJhdG9yVGV4dEJveC5oOgorCiAyMDIxLTEyLTA0ICBBbGFuIEJ1anRhcyAg
PHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIENvbXB1dGUgaXNGaXJzdEJv
eC9pc0xhc3RCb3ggZm9yIHRleHQgY29udGVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWls
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAKaW5kZXggNzk3YWMwMzE4MTg5ZTJkNTQx
MmFjNmIwYTE2OTFlZmQyZGNlZmY5Zi4uOWRlZDRjOTZmZThiZjIxY2U0MzNjODIyNTlkODhiYzBj
NDdhYjJjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVEaXNwbGF5Q29u
dGVudEJ1aWxkZXIuY3BwCkBAIC00NzgsNyArNDc4LDcgQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29u
dGVudEJ1aWxkZXI6OnByb2Nlc3NCaWRpQ29udGVudChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNv
bnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvIGxhc3REaXNwbGF5Qm94Rm9ySW5s
aW5lQm94SW5kZXggPSBpbmxpbmVCb3hEaXNwbGF5Qm94TWFwLnRha2UoaW5saW5lQm94KTsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvIGlzRmlyc3RGcmFnbWVudCA9ICFsYXN0RGlz
cGxheUJveEZvcklubGluZUJveEluZGV4OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICghaXNGaXJzdEZyYWdtZW50KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3hl
c1tsYXN0RGlzcGxheUJveEZvcklubGluZUJveEluZGV4XS5zZXRJc0xhc3RCb3goZmFsc2UpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3hlc1tsYXN0RGlzcGxheUJveEZvcklu
bGluZUJveEluZGV4XS5zZXRJc0xhc3RGb3JMYXlvdXRCb3goZmFsc2UpOwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlubGluZUJveERpc3BsYXlCb3hNYXAuc2V0KGlubGluZUJveCwgaW5k
ZXgpOwogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0byYgYm94R2VvbWV0cnkgPSBm
b3JtYXR0aW5nU3RhdGUoKS5ib3hHZW9tZXRyeSgqaW5saW5lQm94KTsKQEAgLTUzNCwxMyArNTM0
LDEzIEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNzQmlkaUNvbnRl
bnQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250CiAKICAgICAgICAgICAgICAgICBhdXRvJiBi
b3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdTdGF0ZSgpLmJveEdlb21ldHJ5KGlubGluZUJveERpc3Bs
YXlCb3gubGF5b3V0Qm94KCkpOwogICAgICAgICAgICAgICAgIGF1dG8gY29udGVudFJpZ2h0ID0g
ZGlzcGxheUJveC5sb2dpY2FsUmlnaHQoKTsKLSAgICAgICAgICAgICAgICBpZiAoaW5saW5lQm94
RGlzcGxheUJveC5pc0xhc3RCb3goKSkgeworICAgICAgICAgICAgICAgIGlmIChpbmxpbmVCb3hE
aXNwbGF5Qm94LmlzTGFzdEZvckxheW91dEJveCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGFj
Y3VtdWxhdGVkT2Zmc2V0ICs9IGJveEdlb21ldHJ5LmJvcmRlckFuZFBhZGRpbmdFbmQoKSArIGJv
eEdlb21ldHJ5Lm1hcmdpbkVuZCgpOwogICAgICAgICAgICAgICAgICAgICBpbmxpbmVCb3hEaXNw
bGF5Qm94LnNldExvZ2ljYWxSaWdodChjb250ZW50UmlnaHQgKyBib3hHZW9tZXRyeS5ib3JkZXJB
bmRQYWRkaW5nRW5kKCkpOwogICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAg
ICAgICBpbmxpbmVCb3hEaXNwbGF5Qm94LnNldExvZ2ljYWxSaWdodChjb250ZW50UmlnaHQpOwog
ICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKGRpc3BsYXlCb3guaXNOb25Sb290SW5saW5l
Qm94KCkgJiYgZGlzcGxheUJveC5pc0ZpcnN0Qm94KCkpIHsKKyAgICAgICAgICAgIGlmIChkaXNw
bGF5Qm94LmlzTm9uUm9vdElubGluZUJveCgpICYmIGRpc3BsYXlCb3guaXNGaXJzdEZvckxheW91
dEJveCgpKSB7CiAgICAgICAgICAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gZGlzcGxheUJveC5s
YXlvdXRCb3goKTsKICAgICAgICAgICAgICAgICBhdXRvJiBib3hHZW9tZXRyeSA9IGZvcm1hdHRp
bmdTdGF0ZSgpLmJveEdlb21ldHJ5KGxheW91dEJveCk7CiAKQEAgLTU1Niw3ICs1NTYsNyBAQCB2
b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6cHJvY2Vzc0JpZGlDb250ZW50KGNvbnN0
IExpbmVCdWlsZGVyOjpMaW5lQ29udAogICAgICAgICBBU1NFUlQoIWlubGluZUJveFJhbmdlTGlz
dC5pc0VtcHR5KCkpOwogICAgICAgICBmb3IgKGF1dG8mIGlubGluZUJveFJhbmdlIDogaW5saW5l
Qm94UmFuZ2VMaXN0KSB7CiAgICAgICAgICAgICBhdXRvJiBpbmxpbmVCb3hEaXNwbGF5Qm94ID0g
Ym94ZXNbaW5saW5lQm94UmFuZ2UuYmVnaW4oKV07Ci0gICAgICAgICAgICBzZXRJbmxpbmVCb3hH
ZW9tZXRyeShpbmxpbmVCb3hEaXNwbGF5Qm94LmxheW91dEJveCgpLCBpbmxpbmVCb3hEaXNwbGF5
Qm94LmxvZ2ljYWxSZWN0KCksIGlubGluZUJveERpc3BsYXlCb3guaXNGaXJzdEJveCgpKTsKKyAg
ICAgICAgICAgIHNldElubGluZUJveEdlb21ldHJ5KGlubGluZUJveERpc3BsYXlCb3gubGF5b3V0
Qm94KCksIGlubGluZUJveERpc3BsYXlCb3gubG9naWNhbFJlY3QoKSwgaW5saW5lQm94RGlzcGxh
eUJveC5pc0ZpcnN0Rm9yTGF5b3V0Qm94KCkpOwogICAgICAgICB9CiAgICAgfTsKICAgICBpZiAo
bmVlZHNOb25Sb290SW5saW5lQm94RGlzcGxheUJveCkKQEAgLTY1MywyMCArNjUzLDI5IEBAIHZv
aWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpjb2xsZWN0SW5rT3ZlcmZsb3dGb3JJbmxp
bmVCb3hlcyhjb25zdCBMaW5lQm94CiAKIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVy
Ojpjb21wdXRlSXNGaXJzdElzTGFzdEJveEZvcklubGluZUNvbnRlbnQoRGlzcGxheUJveGVzJiBi
b3hlcykKIHsKLSAgICBIYXNoTWFwPGNvbnN0IEJveCosIHNpemVfdD4gbGFzdERpc3BsYXlCb3hG
b3JJbmxpbmVUZXh0Qm94SW5kZXhlczsKKyAgICBIYXNoTWFwPGNvbnN0IEJveCosIHNpemVfdD4g
bGFzdERpc3BsYXlCb3hGb3JMYXlvdXRCb3hJbmRleGVzOworCiAgICAgQVNTRVJUKGJveGVzWzBd
LmlzUm9vdElubGluZUJveCgpKTsKKyAgICBib3hlc1swXS5zZXRJc0ZpcnN0Rm9yTGF5b3V0Qm94
KHRydWUpOworICAgIHNpemVfdCBsYXN0Um9vdElubGluZUJveEluZGV4ID0gMDsKKwogICAgIGZv
ciAoc2l6ZV90IGluZGV4ID0gMTsgaW5kZXggPCBib3hlcy5zaXplKCk7ICsraW5kZXgpIHsKICAg
ICAgICAgYXV0byYgZGlzcGxheUJveCA9IGJveGVzW2luZGV4XTsKKyAgICAgICAgaWYgKGRpc3Bs
YXlCb3guaXNSb290SW5saW5lQm94KCkpIHsKKyAgICAgICAgICAgIGxhc3RSb290SW5saW5lQm94
SW5kZXggPSBpbmRleDsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CiAgICAgICAg
IC8vIEZJWE1FOiBUcmFuc2l0aW9uIHRoZSBpbmxpbmUgYm94IGlzRmlyc3QvaXNMYXN0IGNvbXB1
dGF0aW9uIGhlcmUgYXMgd2VsbC4KLSAgICAgICAgaWYgKCFkaXNwbGF5Qm94LmlzVGV4dCgpKQor
ICAgICAgICBpZiAoZGlzcGxheUJveC5pc05vblJvb3RJbmxpbmVCb3goKSkKICAgICAgICAgICAg
IGNvbnRpbnVlOwogICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBkaXNwbGF5Qm94LmxheW91dEJv
eCgpOwotICAgICAgICBpZiAoIWxhc3REaXNwbGF5Qm94Rm9ySW5saW5lVGV4dEJveEluZGV4ZXMu
Y29udGFpbnMoJmxheW91dEJveCkpCi0gICAgICAgICAgICBkaXNwbGF5Qm94LnNldElzRmlyc3RC
b3godHJ1ZSk7Ci0gICAgICAgIGxhc3REaXNwbGF5Qm94Rm9ySW5saW5lVGV4dEJveEluZGV4ZXMu
c2V0KCZsYXlvdXRCb3gsIGluZGV4KTsKKyAgICAgICAgaWYgKGxhc3REaXNwbGF5Qm94Rm9yTGF5
b3V0Qm94SW5kZXhlcy5zZXQoJmxheW91dEJveCwgaW5kZXgpLmlzTmV3RW50cnkpCisgICAgICAg
ICAgICBkaXNwbGF5Qm94LnNldElzRmlyc3RGb3JMYXlvdXRCb3godHJ1ZSk7CiAgICAgfQotICAg
IGZvciAoYXV0byBsYXN0RGlzcGxheUJveEZvcklubGluZVRleHRCb3hJbmRleCA6IGxhc3REaXNw
bGF5Qm94Rm9ySW5saW5lVGV4dEJveEluZGV4ZXMpCi0gICAgICAgIGJveGVzW2xhc3REaXNwbGF5
Qm94Rm9ySW5saW5lVGV4dEJveEluZGV4LnZhbHVlXS5zZXRJc0xhc3RCb3godHJ1ZSk7CisgICAg
Zm9yIChhdXRvIGluZGV4IDogbGFzdERpc3BsYXlCb3hGb3JMYXlvdXRCb3hJbmRleGVzLnZhbHVl
cygpKQorICAgICAgICBib3hlc1tpbmRleF0uc2V0SXNMYXN0Rm9yTGF5b3V0Qm94KHRydWUpOwor
CisgICAgYm94ZXNbbGFzdFJvb3RJbmxpbmVCb3hJbmRleF0uc2V0SXNMYXN0Rm9yTGF5b3V0Qm94
KHRydWUpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlCb3guaCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlz
cGxheUJveC5oCmluZGV4IDcyZTMzYTJlZDI0MTE3ZDNmMmJjMTkwMWFjYzUyYWI5NTRlZTBkZDYu
LjcyOTM4MDM2Y2QyODVjZjc2OTMyZDMyN2JkMWRjZTk5ZjIzNjI0OTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5s
aW5lRGlzcGxheUJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUJveC5oCkBAIC03NCwxMSArNzQsMTIg
QEAgc3RydWN0IEJveCB7CiAgICAgICAgIEZpcnN0ID0gMSA8PCAwLAogICAgICAgICBMYXN0ICA9
IDEgPDwgMQogICAgIH07Ci0gICAgQm94KHNpemVfdCBsaW5lSW5kZXgsIFR5cGUsIGNvbnN0IExh
eW91dDo6Qm94JiwgVUJpRGlMZXZlbCwgY29uc3QgTGF5b3V0OjpJbmxpbmVSZWN0JiwgY29uc3Qg
TGF5b3V0OjpJbmxpbmVSZWN0JiBpbmtPdmVyZmxvdywgRXhwYW5zaW9uLCBzdGQ6Om9wdGlvbmFs
PFRleHQ+ID0gc3RkOjpudWxsb3B0LCBib29sIGhhc0NvbnRlbnQgPSB0cnVlLCBPcHRpb25TZXQ8
UG9zaXRpb25XaXRoaW5JbmxpbmVMZXZlbEJveD4gPSB7IFBvc2l0aW9uV2l0aGluSW5saW5lTGV2
ZWxCb3g6OkZpcnN0LCBQb3NpdGlvbldpdGhpbklubGluZUxldmVsQm94OjpMYXN0IH0pOworICAg
IEJveChzaXplX3QgbGluZUluZGV4LCBUeXBlLCBjb25zdCBMYXlvdXQ6OkJveCYsIFVCaURpTGV2
ZWwsIGNvbnN0IExheW91dDo6SW5saW5lUmVjdCYsIGNvbnN0IExheW91dDo6SW5saW5lUmVjdCYg
aW5rT3ZlcmZsb3csIEV4cGFuc2lvbiwgc3RkOjpvcHRpb25hbDxUZXh0PiA9IHN0ZDo6bnVsbG9w
dCwgYm9vbCBoYXNDb250ZW50ID0gdHJ1ZSwgT3B0aW9uU2V0PFBvc2l0aW9uV2l0aGluSW5saW5l
TGV2ZWxCb3g+ID0geyB9KTsKIAogICAgIGJvb2wgaXNUZXh0KCkgY29uc3QgeyByZXR1cm4gbV90
eXBlID09IFR5cGU6OlRleHQ7IH0KICAgICBib29sIGlzRWxsaXBzaXMoKSBjb25zdCB7IHJldHVy
biBtX3R5cGUgPT0gVHlwZTo6RWxsaXBzaXM7IH0KICAgICBib29sIGlzU29mdExpbmVCcmVhaygp
IGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBUeXBlOjpTb2Z0TGluZUJyZWFrOyB9CisgICAgYm9v
bCBpc1RleHRPclNvZnRMaW5lQnJlYWsoKSBjb25zdCB7IHJldHVybiBpc1RleHQoKSB8fCBpc1Nv
ZnRMaW5lQnJlYWsoKTsgfQogICAgIGJvb2wgaXNMaW5lQnJlYWtCb3goKSBjb25zdCB7IHJldHVy
biBtX3R5cGUgPT0gVHlwZTo6TGluZUJyZWFrQm94OyB9CiAgICAgYm9vbCBpc0xpbmVCcmVhaygp
IGNvbnN0IHsgcmV0dXJuIGlzU29mdExpbmVCcmVhaygpIHx8IGlzTGluZUJyZWFrQm94KCk7IH0K
ICAgICBib29sIGlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSBjb25zdCB7IHJldHVybiBtX3R5cGUg
PT0gVHlwZTo6QXRvbWljSW5saW5lTGV2ZWxCb3g7IH0KQEAgLTEyNiwxMSArMTI3LDExIEBAIHN0
cnVjdCBCb3ggewogICAgIHNpemVfdCBsaW5lSW5kZXgoKSBjb25zdCB7IHJldHVybiBtX2xpbmVJ
bmRleDsgfQogICAgIC8vIFRoZXNlIGZ1bmN0aW9ucyB0ZWxsIHlvdSB3aGV0aGVyIHRoaXMgZGlz
cGxheSBib3ggaXMgdGhlIGZpcnN0L2xhc3QgZm9yIHRoZSBhc3NvY2lhdGVkIGlubGluZSBsZXZl
bCBib3ggKExheW91dDo6Qm94KSBhbmQgbm90IHdoZXRoZXIgaXQncyB0aGUgZmlyc3QvbGFzdCBi
b3ggb24gdGhlIGxpbmUuCiAgICAgLy8gKGUuZy4gYWx3YXlzIHRydWUgZm9yIGF0b21pYyBib3hl
cywgYnV0IGlubGluZSBib3hlcyBzcGFubmluZyBvdmVyIG11bHRpcGxlIGxpbmVzIGNhbiBwcm9k
dWNlIGluZGl2aWR1YWwgZmlyc3QvbGFzdCBib3hlcykuCi0gICAgYm9vbCBpc0ZpcnN0Qm94KCkg
Y29uc3QgeyByZXR1cm4gbV9pc0ZpcnN0V2l0aGluSW5saW5lTGV2ZWxCb3g7IH0KLSAgICBib29s
IGlzTGFzdEJveCgpIGNvbnN0IHsgcmV0dXJuIG1faXNMYXN0V2l0aGluSW5saW5lTGV2ZWxCb3g7
IH0KKyAgICBib29sIGlzRmlyc3RGb3JMYXlvdXRCb3goKSBjb25zdCB7IHJldHVybiBtX2lzRmly
c3RGb3JMYXlvdXRCb3g7IH0KKyAgICBib29sIGlzTGFzdEZvckxheW91dEJveCgpIGNvbnN0IHsg
cmV0dXJuIG1faXNMYXN0Rm9yTGF5b3V0Qm94OyB9CiAKLSAgICB2b2lkIHNldElzTGFzdEJveChi
b29sIGlzTGFzdEJveCkgeyBtX2lzTGFzdFdpdGhpbklubGluZUxldmVsQm94ID0gaXNMYXN0Qm94
OyB9Ci0gICAgdm9pZCBzZXRJc0ZpcnN0Qm94KGJvb2wgaXNGaXJzdEJveCkgeyBtX2lzRmlyc3RX
aXRoaW5JbmxpbmVMZXZlbEJveCA9IGlzRmlyc3RCb3g7IH0KKyAgICB2b2lkIHNldElzRmlyc3RG
b3JMYXlvdXRCb3goYm9vbCBpc0ZpcnN0Qm94KSB7IG1faXNGaXJzdEZvckxheW91dEJveCA9IGlz
Rmlyc3RCb3g7IH0KKyAgICB2b2lkIHNldElzTGFzdEZvckxheW91dEJveChib29sIGlzTGFzdEJv
eCkgeyBtX2lzTGFzdEZvckxheW91dEJveCA9IGlzTGFzdEJveDsgfQogCiBwcml2YXRlOgogICAg
IGNvbnN0IHNpemVfdCBtX2xpbmVJbmRleCB7IDAgfTsKQEAgLTE0MCw4ICsxNDEsOCBAQCBwcml2
YXRlOgogICAgIExheW91dDo6SW5saW5lUmVjdCBtX2xvZ2ljYWxSZWN0OwogICAgIExheW91dDo6
SW5saW5lUmVjdCBtX2lua092ZXJmbG93OwogICAgIGJvb2wgbV9oYXNDb250ZW50IDogMTsKLSAg
ICBib29sIG1faXNGaXJzdFdpdGhpbklubGluZUxldmVsQm94IDogMTsKLSAgICBib29sIG1faXNM
YXN0V2l0aGluSW5saW5lTGV2ZWxCb3ggOiAxOworICAgIGJvb2wgbV9pc0ZpcnN0Rm9yTGF5b3V0
Qm94IDogMTsKKyAgICBib29sIG1faXNMYXN0Rm9yTGF5b3V0Qm94IDogMTsKICAgICBFeHBhbnNp
b24gbV9leHBhbnNpb247CiAgICAgc3RkOjpvcHRpb25hbDxUZXh0PiBtX3RleHQ7CiB9OwpAQCAt
MTU0LDggKzE1NSw4IEBAIGlubGluZSBCb3g6OkJveChzaXplX3QgbGluZUluZGV4LCBUeXBlIHR5
cGUsIGNvbnN0IExheW91dDo6Qm94JiBsYXlvdXRCb3gsIFVCaURpCiAgICAgLCBtX2xvZ2ljYWxS
ZWN0KGxvZ2ljYWxSZWN0KQogICAgICwgbV9pbmtPdmVyZmxvdyhpbmtPdmVyZmxvdykKICAgICAs
IG1faGFzQ29udGVudChoYXNDb250ZW50KQotICAgICwgbV9pc0ZpcnN0V2l0aGluSW5saW5lTGV2
ZWxCb3gocG9zaXRpb25XaXRoaW5JbmxpbmVMZXZlbEJveC5jb250YWlucyhQb3NpdGlvbldpdGhp
bklubGluZUxldmVsQm94OjpGaXJzdCkpCi0gICAgLCBtX2lzTGFzdFdpdGhpbklubGluZUxldmVs
Qm94KHBvc2l0aW9uV2l0aGluSW5saW5lTGV2ZWxCb3guY29udGFpbnMoUG9zaXRpb25XaXRoaW5J
bmxpbmVMZXZlbEJveDo6TGFzdCkpCisgICAgLCBtX2lzRmlyc3RGb3JMYXlvdXRCb3gocG9zaXRp
b25XaXRoaW5JbmxpbmVMZXZlbEJveC5jb250YWlucyhQb3NpdGlvbldpdGhpbklubGluZUxldmVs
Qm94OjpGaXJzdCkpCisgICAgLCBtX2lzTGFzdEZvckxheW91dEJveChwb3NpdGlvbldpdGhpbklu
bGluZUxldmVsQm94LmNvbnRhaW5zKFBvc2l0aW9uV2l0aGluSW5saW5lTGV2ZWxCb3g6Okxhc3Qp
KQogICAgICwgbV9leHBhbnNpb24oZXhwYW5zaW9uKQogICAgICwgbV90ZXh0KHRleHQpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0
b3JCb3hNb2Rlcm5QYXRoLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5s
aW5lSXRlcmF0b3JCb3hNb2Rlcm5QYXRoLmgKaW5kZXggZTdlZjZkYmEzYTlkNzA3ODM3NzQ5Y2U3
ODAyODI5Y2ZhZDA1YzlhNC4uOGFjNmRlMDRlYTljMTRkYzRkZjEwMzBhMGMzZGE4ZDY5MzhjZGVm
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0
ZXJhdG9yQm94TW9kZXJuUGF0aC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9JbmxpbmVJdGVyYXRvckJveE1vZGVyblBhdGguaApAQCAtNDgsNyArNDgsNyBAQCBwdWJs
aWM6CiAgICAgewogICAgIH0KIAotICAgIGJvb2wgaXNUZXh0KCkgY29uc3QgeyByZXR1cm4gISFi
b3goKS50ZXh0KCk7IH0KKyAgICBib29sIGlzVGV4dCgpIGNvbnN0IHsgcmV0dXJuIGJveCgpLmlz
VGV4dE9yU29mdExpbmVCcmVhaygpOyB9CiAgICAgYm9vbCBpc0lubGluZUJveCgpIGNvbnN0IHsg
cmV0dXJuIGJveCgpLmlzSW5saW5lQm94KCk7IH0KICAgICBib29sIGlzUm9vdElubGluZUJveCgp
IGNvbnN0IHsgcmV0dXJuIGJveCgpLmlzUm9vdElubGluZUJveCgpOyB9CiAKQEAgLTEwNiwxNiAr
MTA2LDE2IEBAIHB1YmxpYzoKICAgICB2b2lkIHRyYXZlcnNlTmV4dFRleHRCb3goKQogICAgIHsK
ICAgICAgICAgQVNTRVJUKCFhdEVuZCgpKTsKLSAgICAgICAgQVNTRVJUKGJveCgpLnRleHQoKSk7
CisgICAgICAgIEFTU0VSVChib3goKS5pc1RleHRPclNvZnRMaW5lQnJlYWsoKSk7CiAKLSAgICAg
ICAgYXV0byYgbGF5b3V0Qm94ID0gYm94KCkubGF5b3V0Qm94KCk7Ci0KLSAgICAgICAgdHJhdmVy
c2VOZXh0TGVhZigpOwotCi0gICAgICAgIGlmICghYXRFbmQoKSAmJiAmbGF5b3V0Qm94ICE9ICZi
b3goKS5sYXlvdXRCb3goKSkKKyAgICAgICAgaWYgKGJveCgpLmlzTGFzdEZvckxheW91dEJveCgp
KSB7CiAgICAgICAgICAgICBzZXRBdEVuZCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICB9CisKKyAgICAgICAgdHJhdmVyc2VOZXh0V2l0aFNhbWVMYXlvdXRCb3goKTsKIAotICAgICAg
ICBBU1NFUlQoYXRFbmQoKSB8fCBib3goKS50ZXh0KCkpOworICAgICAgICBBU1NFUlQoYm94KCku
aXNUZXh0T3JTb2Z0TGluZUJyZWFrKCkpOwogICAgIH0KIAogICAgIHZvaWQgdHJhdmVyc2VOZXh0
T25MaW5lKCkKQEAgLTE0NCwzNiArMTQ0LDMyIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgdHJhdmVy
c2VOZXh0SW5saW5lQm94KCkKICAgICB7CisgICAgICAgIEFTU0VSVCghYXRFbmQoKSk7CiAgICAg
ICAgIEFTU0VSVChib3goKS5pc0lubGluZUJveCgpKTsKIAotICAgICAgICBpZiAoYm94KCkuaXNM
YXN0Qm94KCkpIHsKKyAgICAgICAgaWYgKGJveCgpLmlzTGFzdEZvckxheW91dEJveCgpKSB7CiAg
ICAgICAgICAgICBzZXRBdEVuZCgpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAK
LSAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gYm94KCkubGF5b3V0Qm94KCk7Ci0gICAgICAgIGRv
IHsKLSAgICAgICAgICAgIHRyYXZlcnNlTmV4dEJveCgpOwotICAgICAgICB9IHdoaWxlICghYXRF
bmQoKSAmJiAmYm94KCkubGF5b3V0Qm94KCkgIT0gJmxheW91dEJveCk7CisgICAgICAgIHRyYXZl
cnNlTmV4dFdpdGhTYW1lTGF5b3V0Qm94KCk7CiAKLSAgICAgICAgQVNTRVJUKGF0RW5kKCkgfHwg
Ym94KCkuaXNJbmxpbmVCb3goKSk7CisgICAgICAgIEFTU0VSVChib3goKS5pc0lubGluZUJveCgp
KTsKICAgICB9CiAKICAgICB2b2lkIHRyYXZlcnNlUHJldmlvdXNJbmxpbmVCb3goKQogICAgIHsK
KyAgICAgICAgQVNTRVJUKCFhdEVuZCgpKTsKICAgICAgICAgQVNTRVJUKGJveCgpLmlzSW5saW5l
Qm94KCkpOwogCi0gICAgICAgIGlmIChib3goKS5pc0ZpcnN0Qm94KCkpIHsKKyAgICAgICAgaWYg
KGJveCgpLmlzRmlyc3RGb3JMYXlvdXRCb3goKSkgewogICAgICAgICAgICAgc2V0QXRFbmQoKTsK
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIGF1dG8mIGxheW91dEJv
eCA9IGJveCgpLmxheW91dEJveCgpOwotICAgICAgICBkbyB7Ci0gICAgICAgICAgICB0cmF2ZXJz
ZVByZXZpb3VzQm94KCk7Ci0gICAgICAgIH0gd2hpbGUgKCFhdEVuZCgpICYmICZib3goKS5sYXlv
dXRCb3goKSAhPSAmbGF5b3V0Qm94KTsKKyAgICAgICAgdHJhdmVyc2VQcmV2aW91c1dpdGhTYW1l
TGF5b3V0Qm94KCk7CiAKLSAgICAgICAgQVNTRVJUKGF0RW5kKCkgfHwgYm94KCkuaXNJbmxpbmVC
b3goKSk7CisgICAgICAgIEFTU0VSVChib3goKS5pc0lubGluZUJveCgpKTsKICAgICB9CiAKICAg
ICBCb3hNb2Rlcm5QYXRoIGZpcnN0TGVhZkJveEZvcklubGluZUJveCgpIGNvbnN0CkBAIC0yNDks
NiArMjQ1LDIyIEBAIHByaXZhdGU6CiAgICAgICAgIH0gd2hpbGUgKCFhdEVuZCgpICYmIGJveCgp
LmlzSW5saW5lQm94KCkpOwogICAgIH0KIAorICAgIHZvaWQgdHJhdmVyc2VOZXh0V2l0aFNhbWVM
YXlvdXRCb3goKQorICAgIHsKKyAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gYm94KCkubGF5b3V0
Qm94KCk7CisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIHRyYXZlcnNlTmV4dEJveCgpOworICAg
ICAgICB9IHdoaWxlICghYXRFbmQoKSAmJiAmYm94KCkubGF5b3V0Qm94KCkgIT0gJmxheW91dEJv
eCk7CisgICAgfQorCisgICAgdm9pZCB0cmF2ZXJzZVByZXZpb3VzV2l0aFNhbWVMYXlvdXRCb3go
KQorICAgIHsKKyAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gYm94KCkubGF5b3V0Qm94KCk7Cisg
ICAgICAgIGRvIHsKKyAgICAgICAgICAgIHRyYXZlcnNlUHJldmlvdXNCb3goKTsKKyAgICAgICAg
fSB3aGlsZSAoIWF0RW5kKCkgJiYgJmJveCgpLmxheW91dEJveCgpICE9ICZsYXlvdXRCb3gpOwor
ICAgIH0KKwogICAgIHZvaWQgc2V0QXRFbmQoKSB7IG1fYm94SW5kZXggPSBib3hlcygpLnNpemUo
KTsgfQogCiAgICAgY29uc3QgTGF5b3V0SW50ZWdyYXRpb246OklubGluZUNvbnRlbnQ6OkJveGVz
JiBib3hlcygpIGNvbnN0IHsgcmV0dXJuIG1faW5saW5lQ29udGVudC0+Ym94ZXM7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvclRl
eHRCb3guaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRv
clRleHRCb3guaAppbmRleCA3NGZmMjE3ODJlMmZhOTRmYmZlYmVmZjM1YWQ2MDdhZWYxZDViZjkx
Li45ZWY3NmZiNjAxMTQzZTIzN2JkYWIxYjBmY2YxMDk5NmE3MzE5YzBiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JUZXh0Qm94LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0ZXJhdG9yVGV4
dEJveC5oCkBAIC01OSw4ICs1OSw4IEBAIHB1YmxpYzoKICAgICAvLyBGSVhNRTogUmVtb3ZlLiBG
b3IgaW50ZXJtZWRpYXRlIHBvcnRpbmcgc3RlcHMgb25seS4KICAgICBjb25zdCBMZWdhY3lJbmxp
bmVUZXh0Qm94KiBsZWdhY3lJbmxpbmVCb3goKSBjb25zdCB7IHJldHVybiBkb3duY2FzdDxMZWdh
Y3lJbmxpbmVUZXh0Qm94PihCb3g6OmxlZ2FjeUlubGluZUJveCgpKTsgfQogCisgICAgLy8gVGhp
cyByZXR1cm5zIHRoZSBuZXh0IHRleHQgYm94IGdlbmVyYXRlZCBmb3IgdGhlIHNhbWUgUmVuZGVy
VGV4dC9MYXlvdXQ6OklubGluZVRleHRCb3guCiAgICAgVGV4dEJveEl0ZXJhdG9yIG5leHRUZXh0
Qm94KCkgY29uc3Q7Ci0gICAgVGV4dEJveEl0ZXJhdG9yIHByZXZpb3VzVGV4dEJveCgpIGNvbnN0
OwogfTsKIAogY2xhc3MgVGV4dEJveEl0ZXJhdG9yIDogcHVibGljIExlYWZCb3hJdGVyYXRvciB7
CkBAIC03NCw2ICs3NCw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBUZXh0Qm94JiBvcGVyYXRvcioo
KSBjb25zdCB7IHJldHVybiBnZXQoKTsgfQogICAgIGNvbnN0IFRleHRCb3gqIG9wZXJhdG9yLT4o
KSBjb25zdCB7IHJldHVybiAmZ2V0KCk7IH0KIAorICAgIC8vIFRoaXMgdHJhdmVyc2VzIHRvIHRo
ZSBuZXh0IHRleHQgYm94IGdlbmVyYXRlZCBmb3IgdGhlIHNhbWUgUmVuZGVyVGV4dC9MYXlvdXQ6
OklubGluZVRleHRCb3guCiAgICAgVGV4dEJveEl0ZXJhdG9yJiB0cmF2ZXJzZU5leHRUZXh0Qm94
KCk7CiAKIHByaXZhdGU6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445987</attachid>
            <date>2021-12-05 09:44:03 -0800</date>
            <delta_ts>2021-12-05 10:37:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233858-20211205194401.patch</filename>
            <type>text/plain</type>
            <size>16104</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmYzNDUxZjJlZjJkZDli
MTMyMjViMDM3NWViZjg4NzAzZTk4OTdjYi4uMjY4OWU1ZjA0MWVkZjU1NjY1OWY0NDFmNDZiYWQ5
ZTc1ODJlMWQyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDIxLTEyLTA1ICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlv
bl0gVXNlIGVuZCBiaXRzIGluIHRleHQgYm94IGl0ZXJhdG9yCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM4NTgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHRleHQgYm94IHRyYXZlcnNhbCB3b3Jr
IGNvcnJlY3RseSBpbiBiaWRpIGNvbnRleHQgd2hlcmUgZW5jb3VudGVyaW5nIGEgZGlmZmVyZW50
CisgICAgICAgIGxheW91dCBib3ggZG9lcyBub3QgbmVjZXNzYXJpbHkgbWVhbiB0aGVyZSBhcmUg
bm8gZnVydGhlciB0ZXh0IGJveGVzIGZvciB0aGUgbGF5b3V0IGJveC4KKworICAgICAgICAqIGxh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZURpc3BsYXlDb250ZW50QnVpbGRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZURpc3BsYXlDb250ZW50QnVp
bGRlcjo6cHJvY2Vzc0JpZGlDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5s
aW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpjb21wdXRlSXNGaXJzdElzTGFzdEJveEZvcklubGlu
ZUNvbnRlbnQpOgorCisgICAgICAgIFNldCB0aGUgYml0cyBmb3IgYWxsIGJveCB0eXBlcyBleGNl
cHQgbm9uLXJvb3QgaW5saW5lIGJveGVzCisgICAgICAgICh3aGljaCBjdXJyZW50bHkgbmVlZCB0
byBiZSBoYW5kbGVkIGVhcmxpZXIpLgorCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Qm94Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpJbmxpbmVEaXNwbGF5OjpCb3g6OkJveCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVEaXNw
bGF5OjpCb3g6OmlzVGV4dE9yU29mdExpbmVCcmVhayBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpJbmxpbmVEaXNwbGF5OjpCb3g6OmlzRmlyc3RGb3JMYXlvdXRCb3ggY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94Ojppc0xhc3RGb3JMYXlvdXRCb3ggY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94OjpzZXRJc0ZpcnN0Rm9yTGF5
b3V0Qm94KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZURpc3BsYXk6OkJveDo6c2V0SXNMYXN0
Rm9yTGF5b3V0Qm94KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZURpc3BsYXk6OkJveDo6aXNG
aXJzdEJveCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVEaXNwbGF5
OjpCb3g6OmlzTGFzdEJveCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbmxp
bmVEaXNwbGF5OjpCb3g6OnNldElzTGFzdEJveCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpJbmxpbmVEaXNwbGF5OjpCb3g6OnNldElzRmlyc3RCb3gpOiBEZWxldGVkLgorCisgICAgICAg
IFJlbmFtZWQgZm9yIGNsYXJpdHkgYW5kIGNvcnJlY3RuZXNzLgorCisgICAgICAgICogbGF5b3V0
L2ludGVncmF0aW9uL0lubGluZUl0ZXJhdG9yQm94TW9kZXJuUGF0aC5oOgorICAgICAgICAoV2Vi
Q29yZTo6SW5saW5lSXRlcmF0b3I6OkJveE1vZGVyblBhdGg6OmlzVGV4dCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRvcjo6Qm94TW9kZXJuUGF0aDo6dHJhdmVyc2VOZXh0
VGV4dEJveCk6CisKKyAgICAgICAgVXNlIHRoZSBpc0xhc3RGb3JMYXlvdXRCb3ggYml0IHRvIGVu
ZCB0aGUgdHJhdmVyc2FsLgorCisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRvcjo6Qm94
TW9kZXJuUGF0aDo6dHJhdmVyc2VOZXh0SW5saW5lQm94KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
bGluZUl0ZXJhdG9yOjpCb3hNb2Rlcm5QYXRoOjp0cmF2ZXJzZVByZXZpb3VzSW5saW5lQm94KToK
KyAgICAgICAgKFdlYkNvcmU6OklubGluZUl0ZXJhdG9yOjpCb3hNb2Rlcm5QYXRoOjp0cmF2ZXJz
ZU5leHRXaXRoU2FtZUxheW91dEJveCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRv
cjo6Qm94TW9kZXJuUGF0aDo6dHJhdmVyc2VQcmV2aW91c1dpdGhTYW1lTGF5b3V0Qm94KToKKwor
ICAgICAgICBGYWN0b3IgaW50byBoZWxwZXJzLgorCisgICAgICAgICogbGF5b3V0L2ludGVncmF0
aW9uL0lubGluZUl0ZXJhdG9yVGV4dEJveC5oOgorCiAyMDIxLTEyLTA0ICBBbGFuIEJ1anRhcyAg
PHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIENvbXB1dGUgaXNGaXJzdEJv
eC9pc0xhc3RCb3ggZm9yIHRleHQgY29udGVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWls
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAKaW5kZXggNzk3YWMwMzE4MTg5ZTJkNTQx
MmFjNmIwYTE2OTFlZmQyZGNlZmY5Zi4uOWRlZDRjOTZmZThiZjIxY2U0MzNjODIyNTlkODhiYzBj
NDdhYjJjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVEaXNwbGF5Q29u
dGVudEJ1aWxkZXIuY3BwCkBAIC00NzgsNyArNDc4LDcgQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29u
dGVudEJ1aWxkZXI6OnByb2Nlc3NCaWRpQ29udGVudChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNv
bnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvIGxhc3REaXNwbGF5Qm94Rm9ySW5s
aW5lQm94SW5kZXggPSBpbmxpbmVCb3hEaXNwbGF5Qm94TWFwLnRha2UoaW5saW5lQm94KTsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvIGlzRmlyc3RGcmFnbWVudCA9ICFsYXN0RGlz
cGxheUJveEZvcklubGluZUJveEluZGV4OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICghaXNGaXJzdEZyYWdtZW50KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3hl
c1tsYXN0RGlzcGxheUJveEZvcklubGluZUJveEluZGV4XS5zZXRJc0xhc3RCb3goZmFsc2UpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3hlc1tsYXN0RGlzcGxheUJveEZvcklu
bGluZUJveEluZGV4XS5zZXRJc0xhc3RGb3JMYXlvdXRCb3goZmFsc2UpOwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlubGluZUJveERpc3BsYXlCb3hNYXAuc2V0KGlubGluZUJveCwgaW5k
ZXgpOwogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0byYgYm94R2VvbWV0cnkgPSBm
b3JtYXR0aW5nU3RhdGUoKS5ib3hHZW9tZXRyeSgqaW5saW5lQm94KTsKQEAgLTUzNCwxMyArNTM0
LDEzIEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNzQmlkaUNvbnRl
bnQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250CiAKICAgICAgICAgICAgICAgICBhdXRvJiBi
b3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdTdGF0ZSgpLmJveEdlb21ldHJ5KGlubGluZUJveERpc3Bs
YXlCb3gubGF5b3V0Qm94KCkpOwogICAgICAgICAgICAgICAgIGF1dG8gY29udGVudFJpZ2h0ID0g
ZGlzcGxheUJveC5sb2dpY2FsUmlnaHQoKTsKLSAgICAgICAgICAgICAgICBpZiAoaW5saW5lQm94
RGlzcGxheUJveC5pc0xhc3RCb3goKSkgeworICAgICAgICAgICAgICAgIGlmIChpbmxpbmVCb3hE
aXNwbGF5Qm94LmlzTGFzdEZvckxheW91dEJveCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGFj
Y3VtdWxhdGVkT2Zmc2V0ICs9IGJveEdlb21ldHJ5LmJvcmRlckFuZFBhZGRpbmdFbmQoKSArIGJv
eEdlb21ldHJ5Lm1hcmdpbkVuZCgpOwogICAgICAgICAgICAgICAgICAgICBpbmxpbmVCb3hEaXNw
bGF5Qm94LnNldExvZ2ljYWxSaWdodChjb250ZW50UmlnaHQgKyBib3hHZW9tZXRyeS5ib3JkZXJB
bmRQYWRkaW5nRW5kKCkpOwogICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAg
ICAgICBpbmxpbmVCb3hEaXNwbGF5Qm94LnNldExvZ2ljYWxSaWdodChjb250ZW50UmlnaHQpOwog
ICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKGRpc3BsYXlCb3guaXNOb25Sb290SW5saW5l
Qm94KCkgJiYgZGlzcGxheUJveC5pc0ZpcnN0Qm94KCkpIHsKKyAgICAgICAgICAgIGlmIChkaXNw
bGF5Qm94LmlzTm9uUm9vdElubGluZUJveCgpICYmIGRpc3BsYXlCb3guaXNGaXJzdEZvckxheW91
dEJveCgpKSB7CiAgICAgICAgICAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gZGlzcGxheUJveC5s
YXlvdXRCb3goKTsKICAgICAgICAgICAgICAgICBhdXRvJiBib3hHZW9tZXRyeSA9IGZvcm1hdHRp
bmdTdGF0ZSgpLmJveEdlb21ldHJ5KGxheW91dEJveCk7CiAKQEAgLTU1Niw3ICs1NTYsNyBAQCB2
b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6cHJvY2Vzc0JpZGlDb250ZW50KGNvbnN0
IExpbmVCdWlsZGVyOjpMaW5lQ29udAogICAgICAgICBBU1NFUlQoIWlubGluZUJveFJhbmdlTGlz
dC5pc0VtcHR5KCkpOwogICAgICAgICBmb3IgKGF1dG8mIGlubGluZUJveFJhbmdlIDogaW5saW5l
Qm94UmFuZ2VMaXN0KSB7CiAgICAgICAgICAgICBhdXRvJiBpbmxpbmVCb3hEaXNwbGF5Qm94ID0g
Ym94ZXNbaW5saW5lQm94UmFuZ2UuYmVnaW4oKV07Ci0gICAgICAgICAgICBzZXRJbmxpbmVCb3hH
ZW9tZXRyeShpbmxpbmVCb3hEaXNwbGF5Qm94LmxheW91dEJveCgpLCBpbmxpbmVCb3hEaXNwbGF5
Qm94LmxvZ2ljYWxSZWN0KCksIGlubGluZUJveERpc3BsYXlCb3guaXNGaXJzdEJveCgpKTsKKyAg
ICAgICAgICAgIHNldElubGluZUJveEdlb21ldHJ5KGlubGluZUJveERpc3BsYXlCb3gubGF5b3V0
Qm94KCksIGlubGluZUJveERpc3BsYXlCb3gubG9naWNhbFJlY3QoKSwgaW5saW5lQm94RGlzcGxh
eUJveC5pc0ZpcnN0Rm9yTGF5b3V0Qm94KCkpOwogICAgICAgICB9CiAgICAgfTsKICAgICBpZiAo
bmVlZHNOb25Sb290SW5saW5lQm94RGlzcGxheUJveCkKQEAgLTY1MywyMCArNjUzLDI5IEBAIHZv
aWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpjb2xsZWN0SW5rT3ZlcmZsb3dGb3JJbmxp
bmVCb3hlcyhjb25zdCBMaW5lQm94CiAKIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVy
Ojpjb21wdXRlSXNGaXJzdElzTGFzdEJveEZvcklubGluZUNvbnRlbnQoRGlzcGxheUJveGVzJiBi
b3hlcykKIHsKLSAgICBIYXNoTWFwPGNvbnN0IEJveCosIHNpemVfdD4gbGFzdERpc3BsYXlCb3hG
b3JJbmxpbmVUZXh0Qm94SW5kZXhlczsKKyAgICBIYXNoTWFwPGNvbnN0IEJveCosIHNpemVfdD4g
bGFzdERpc3BsYXlCb3hGb3JMYXlvdXRCb3hJbmRleGVzOworCiAgICAgQVNTRVJUKGJveGVzWzBd
LmlzUm9vdElubGluZUJveCgpKTsKKyAgICBib3hlc1swXS5zZXRJc0ZpcnN0Rm9yTGF5b3V0Qm94
KHRydWUpOworICAgIHNpemVfdCBsYXN0Um9vdElubGluZUJveEluZGV4ID0gMDsKKwogICAgIGZv
ciAoc2l6ZV90IGluZGV4ID0gMTsgaW5kZXggPCBib3hlcy5zaXplKCk7ICsraW5kZXgpIHsKICAg
ICAgICAgYXV0byYgZGlzcGxheUJveCA9IGJveGVzW2luZGV4XTsKKyAgICAgICAgaWYgKGRpc3Bs
YXlCb3guaXNSb290SW5saW5lQm94KCkpIHsKKyAgICAgICAgICAgIGxhc3RSb290SW5saW5lQm94
SW5kZXggPSBpbmRleDsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CiAgICAgICAg
IC8vIEZJWE1FOiBUcmFuc2l0aW9uIHRoZSBpbmxpbmUgYm94IGlzRmlyc3QvaXNMYXN0IGNvbXB1
dGF0aW9uIGhlcmUgYXMgd2VsbC4KLSAgICAgICAgaWYgKCFkaXNwbGF5Qm94LmlzVGV4dCgpKQor
ICAgICAgICBpZiAoZGlzcGxheUJveC5pc05vblJvb3RJbmxpbmVCb3goKSkKICAgICAgICAgICAg
IGNvbnRpbnVlOwogICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBkaXNwbGF5Qm94LmxheW91dEJv
eCgpOwotICAgICAgICBpZiAoIWxhc3REaXNwbGF5Qm94Rm9ySW5saW5lVGV4dEJveEluZGV4ZXMu
Y29udGFpbnMoJmxheW91dEJveCkpCi0gICAgICAgICAgICBkaXNwbGF5Qm94LnNldElzRmlyc3RC
b3godHJ1ZSk7Ci0gICAgICAgIGxhc3REaXNwbGF5Qm94Rm9ySW5saW5lVGV4dEJveEluZGV4ZXMu
c2V0KCZsYXlvdXRCb3gsIGluZGV4KTsKKyAgICAgICAgaWYgKGxhc3REaXNwbGF5Qm94Rm9yTGF5
b3V0Qm94SW5kZXhlcy5zZXQoJmxheW91dEJveCwgaW5kZXgpLmlzTmV3RW50cnkpCisgICAgICAg
ICAgICBkaXNwbGF5Qm94LnNldElzRmlyc3RGb3JMYXlvdXRCb3godHJ1ZSk7CiAgICAgfQotICAg
IGZvciAoYXV0byBsYXN0RGlzcGxheUJveEZvcklubGluZVRleHRCb3hJbmRleCA6IGxhc3REaXNw
bGF5Qm94Rm9ySW5saW5lVGV4dEJveEluZGV4ZXMpCi0gICAgICAgIGJveGVzW2xhc3REaXNwbGF5
Qm94Rm9ySW5saW5lVGV4dEJveEluZGV4LnZhbHVlXS5zZXRJc0xhc3RCb3godHJ1ZSk7CisgICAg
Zm9yIChhdXRvIGluZGV4IDogbGFzdERpc3BsYXlCb3hGb3JMYXlvdXRCb3hJbmRleGVzLnZhbHVl
cygpKQorICAgICAgICBib3hlc1tpbmRleF0uc2V0SXNMYXN0Rm9yTGF5b3V0Qm94KHRydWUpOwor
CisgICAgYm94ZXNbbGFzdFJvb3RJbmxpbmVCb3hJbmRleF0uc2V0SXNMYXN0Rm9yTGF5b3V0Qm94
KHRydWUpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlCb3guaCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlz
cGxheUJveC5oCmluZGV4IDcyZTMzYTJlZDI0MTE3ZDNmMmJjMTkwMWFjYzUyYWI5NTRlZTBkZDYu
LjcyOTM4MDM2Y2QyODVjZjc2OTMyZDMyN2JkMWRjZTk5ZjIzNjI0OTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5s
aW5lRGlzcGxheUJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUJveC5oCkBAIC03NCwxMSArNzQsMTIg
QEAgc3RydWN0IEJveCB7CiAgICAgICAgIEZpcnN0ID0gMSA8PCAwLAogICAgICAgICBMYXN0ICA9
IDEgPDwgMQogICAgIH07Ci0gICAgQm94KHNpemVfdCBsaW5lSW5kZXgsIFR5cGUsIGNvbnN0IExh
eW91dDo6Qm94JiwgVUJpRGlMZXZlbCwgY29uc3QgTGF5b3V0OjpJbmxpbmVSZWN0JiwgY29uc3Qg
TGF5b3V0OjpJbmxpbmVSZWN0JiBpbmtPdmVyZmxvdywgRXhwYW5zaW9uLCBzdGQ6Om9wdGlvbmFs
PFRleHQ+ID0gc3RkOjpudWxsb3B0LCBib29sIGhhc0NvbnRlbnQgPSB0cnVlLCBPcHRpb25TZXQ8
UG9zaXRpb25XaXRoaW5JbmxpbmVMZXZlbEJveD4gPSB7IFBvc2l0aW9uV2l0aGluSW5saW5lTGV2
ZWxCb3g6OkZpcnN0LCBQb3NpdGlvbldpdGhpbklubGluZUxldmVsQm94OjpMYXN0IH0pOworICAg
IEJveChzaXplX3QgbGluZUluZGV4LCBUeXBlLCBjb25zdCBMYXlvdXQ6OkJveCYsIFVCaURpTGV2
ZWwsIGNvbnN0IExheW91dDo6SW5saW5lUmVjdCYsIGNvbnN0IExheW91dDo6SW5saW5lUmVjdCYg
aW5rT3ZlcmZsb3csIEV4cGFuc2lvbiwgc3RkOjpvcHRpb25hbDxUZXh0PiA9IHN0ZDo6bnVsbG9w
dCwgYm9vbCBoYXNDb250ZW50ID0gdHJ1ZSwgT3B0aW9uU2V0PFBvc2l0aW9uV2l0aGluSW5saW5l
TGV2ZWxCb3g+ID0geyB9KTsKIAogICAgIGJvb2wgaXNUZXh0KCkgY29uc3QgeyByZXR1cm4gbV90
eXBlID09IFR5cGU6OlRleHQ7IH0KICAgICBib29sIGlzRWxsaXBzaXMoKSBjb25zdCB7IHJldHVy
biBtX3R5cGUgPT0gVHlwZTo6RWxsaXBzaXM7IH0KICAgICBib29sIGlzU29mdExpbmVCcmVhaygp
IGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBUeXBlOjpTb2Z0TGluZUJyZWFrOyB9CisgICAgYm9v
bCBpc1RleHRPclNvZnRMaW5lQnJlYWsoKSBjb25zdCB7IHJldHVybiBpc1RleHQoKSB8fCBpc1Nv
ZnRMaW5lQnJlYWsoKTsgfQogICAgIGJvb2wgaXNMaW5lQnJlYWtCb3goKSBjb25zdCB7IHJldHVy
biBtX3R5cGUgPT0gVHlwZTo6TGluZUJyZWFrQm94OyB9CiAgICAgYm9vbCBpc0xpbmVCcmVhaygp
IGNvbnN0IHsgcmV0dXJuIGlzU29mdExpbmVCcmVhaygpIHx8IGlzTGluZUJyZWFrQm94KCk7IH0K
ICAgICBib29sIGlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSBjb25zdCB7IHJldHVybiBtX3R5cGUg
PT0gVHlwZTo6QXRvbWljSW5saW5lTGV2ZWxCb3g7IH0KQEAgLTEyNiwxMSArMTI3LDExIEBAIHN0
cnVjdCBCb3ggewogICAgIHNpemVfdCBsaW5lSW5kZXgoKSBjb25zdCB7IHJldHVybiBtX2xpbmVJ
bmRleDsgfQogICAgIC8vIFRoZXNlIGZ1bmN0aW9ucyB0ZWxsIHlvdSB3aGV0aGVyIHRoaXMgZGlz
cGxheSBib3ggaXMgdGhlIGZpcnN0L2xhc3QgZm9yIHRoZSBhc3NvY2lhdGVkIGlubGluZSBsZXZl
bCBib3ggKExheW91dDo6Qm94KSBhbmQgbm90IHdoZXRoZXIgaXQncyB0aGUgZmlyc3QvbGFzdCBi
b3ggb24gdGhlIGxpbmUuCiAgICAgLy8gKGUuZy4gYWx3YXlzIHRydWUgZm9yIGF0b21pYyBib3hl
cywgYnV0IGlubGluZSBib3hlcyBzcGFubmluZyBvdmVyIG11bHRpcGxlIGxpbmVzIGNhbiBwcm9k
dWNlIGluZGl2aWR1YWwgZmlyc3QvbGFzdCBib3hlcykuCi0gICAgYm9vbCBpc0ZpcnN0Qm94KCkg
Y29uc3QgeyByZXR1cm4gbV9pc0ZpcnN0V2l0aGluSW5saW5lTGV2ZWxCb3g7IH0KLSAgICBib29s
IGlzTGFzdEJveCgpIGNvbnN0IHsgcmV0dXJuIG1faXNMYXN0V2l0aGluSW5saW5lTGV2ZWxCb3g7
IH0KKyAgICBib29sIGlzRmlyc3RGb3JMYXlvdXRCb3goKSBjb25zdCB7IHJldHVybiBtX2lzRmly
c3RGb3JMYXlvdXRCb3g7IH0KKyAgICBib29sIGlzTGFzdEZvckxheW91dEJveCgpIGNvbnN0IHsg
cmV0dXJuIG1faXNMYXN0Rm9yTGF5b3V0Qm94OyB9CiAKLSAgICB2b2lkIHNldElzTGFzdEJveChi
b29sIGlzTGFzdEJveCkgeyBtX2lzTGFzdFdpdGhpbklubGluZUxldmVsQm94ID0gaXNMYXN0Qm94
OyB9Ci0gICAgdm9pZCBzZXRJc0ZpcnN0Qm94KGJvb2wgaXNGaXJzdEJveCkgeyBtX2lzRmlyc3RX
aXRoaW5JbmxpbmVMZXZlbEJveCA9IGlzRmlyc3RCb3g7IH0KKyAgICB2b2lkIHNldElzRmlyc3RG
b3JMYXlvdXRCb3goYm9vbCBpc0ZpcnN0Qm94KSB7IG1faXNGaXJzdEZvckxheW91dEJveCA9IGlz
Rmlyc3RCb3g7IH0KKyAgICB2b2lkIHNldElzTGFzdEZvckxheW91dEJveChib29sIGlzTGFzdEJv
eCkgeyBtX2lzTGFzdEZvckxheW91dEJveCA9IGlzTGFzdEJveDsgfQogCiBwcml2YXRlOgogICAg
IGNvbnN0IHNpemVfdCBtX2xpbmVJbmRleCB7IDAgfTsKQEAgLTE0MCw4ICsxNDEsOCBAQCBwcml2
YXRlOgogICAgIExheW91dDo6SW5saW5lUmVjdCBtX2xvZ2ljYWxSZWN0OwogICAgIExheW91dDo6
SW5saW5lUmVjdCBtX2lua092ZXJmbG93OwogICAgIGJvb2wgbV9oYXNDb250ZW50IDogMTsKLSAg
ICBib29sIG1faXNGaXJzdFdpdGhpbklubGluZUxldmVsQm94IDogMTsKLSAgICBib29sIG1faXNM
YXN0V2l0aGluSW5saW5lTGV2ZWxCb3ggOiAxOworICAgIGJvb2wgbV9pc0ZpcnN0Rm9yTGF5b3V0
Qm94IDogMTsKKyAgICBib29sIG1faXNMYXN0Rm9yTGF5b3V0Qm94IDogMTsKICAgICBFeHBhbnNp
b24gbV9leHBhbnNpb247CiAgICAgc3RkOjpvcHRpb25hbDxUZXh0PiBtX3RleHQ7CiB9OwpAQCAt
MTU0LDggKzE1NSw4IEBAIGlubGluZSBCb3g6OkJveChzaXplX3QgbGluZUluZGV4LCBUeXBlIHR5
cGUsIGNvbnN0IExheW91dDo6Qm94JiBsYXlvdXRCb3gsIFVCaURpCiAgICAgLCBtX2xvZ2ljYWxS
ZWN0KGxvZ2ljYWxSZWN0KQogICAgICwgbV9pbmtPdmVyZmxvdyhpbmtPdmVyZmxvdykKICAgICAs
IG1faGFzQ29udGVudChoYXNDb250ZW50KQotICAgICwgbV9pc0ZpcnN0V2l0aGluSW5saW5lTGV2
ZWxCb3gocG9zaXRpb25XaXRoaW5JbmxpbmVMZXZlbEJveC5jb250YWlucyhQb3NpdGlvbldpdGhp
bklubGluZUxldmVsQm94OjpGaXJzdCkpCi0gICAgLCBtX2lzTGFzdFdpdGhpbklubGluZUxldmVs
Qm94KHBvc2l0aW9uV2l0aGluSW5saW5lTGV2ZWxCb3guY29udGFpbnMoUG9zaXRpb25XaXRoaW5J
bmxpbmVMZXZlbEJveDo6TGFzdCkpCisgICAgLCBtX2lzRmlyc3RGb3JMYXlvdXRCb3gocG9zaXRp
b25XaXRoaW5JbmxpbmVMZXZlbEJveC5jb250YWlucyhQb3NpdGlvbldpdGhpbklubGluZUxldmVs
Qm94OjpGaXJzdCkpCisgICAgLCBtX2lzTGFzdEZvckxheW91dEJveChwb3NpdGlvbldpdGhpbklu
bGluZUxldmVsQm94LmNvbnRhaW5zKFBvc2l0aW9uV2l0aGluSW5saW5lTGV2ZWxCb3g6Okxhc3Qp
KQogICAgICwgbV9leHBhbnNpb24oZXhwYW5zaW9uKQogICAgICwgbV90ZXh0KHRleHQpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0
b3JCb3hNb2Rlcm5QYXRoLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5s
aW5lSXRlcmF0b3JCb3hNb2Rlcm5QYXRoLmgKaW5kZXggZTdlZjZkYmEzYTlkNzA3ODM3NzQ5Y2U3
ODAyODI5Y2ZhZDA1YzlhNC4uOGFjNmRlMDRlYTljMTRkYzRkZjEwMzBhMGMzZGE4ZDY5MzhjZGVm
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0
ZXJhdG9yQm94TW9kZXJuUGF0aC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9JbmxpbmVJdGVyYXRvckJveE1vZGVyblBhdGguaApAQCAtNDgsNyArNDgsNyBAQCBwdWJs
aWM6CiAgICAgewogICAgIH0KIAotICAgIGJvb2wgaXNUZXh0KCkgY29uc3QgeyByZXR1cm4gISFi
b3goKS50ZXh0KCk7IH0KKyAgICBib29sIGlzVGV4dCgpIGNvbnN0IHsgcmV0dXJuIGJveCgpLmlz
VGV4dE9yU29mdExpbmVCcmVhaygpOyB9CiAgICAgYm9vbCBpc0lubGluZUJveCgpIGNvbnN0IHsg
cmV0dXJuIGJveCgpLmlzSW5saW5lQm94KCk7IH0KICAgICBib29sIGlzUm9vdElubGluZUJveCgp
IGNvbnN0IHsgcmV0dXJuIGJveCgpLmlzUm9vdElubGluZUJveCgpOyB9CiAKQEAgLTEwNiwxNiAr
MTA2LDE2IEBAIHB1YmxpYzoKICAgICB2b2lkIHRyYXZlcnNlTmV4dFRleHRCb3goKQogICAgIHsK
ICAgICAgICAgQVNTRVJUKCFhdEVuZCgpKTsKLSAgICAgICAgQVNTRVJUKGJveCgpLnRleHQoKSk7
CisgICAgICAgIEFTU0VSVChib3goKS5pc1RleHRPclNvZnRMaW5lQnJlYWsoKSk7CiAKLSAgICAg
ICAgYXV0byYgbGF5b3V0Qm94ID0gYm94KCkubGF5b3V0Qm94KCk7Ci0KLSAgICAgICAgdHJhdmVy
c2VOZXh0TGVhZigpOwotCi0gICAgICAgIGlmICghYXRFbmQoKSAmJiAmbGF5b3V0Qm94ICE9ICZi
b3goKS5sYXlvdXRCb3goKSkKKyAgICAgICAgaWYgKGJveCgpLmlzTGFzdEZvckxheW91dEJveCgp
KSB7CiAgICAgICAgICAgICBzZXRBdEVuZCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICB9CisKKyAgICAgICAgdHJhdmVyc2VOZXh0V2l0aFNhbWVMYXlvdXRCb3goKTsKIAotICAgICAg
ICBBU1NFUlQoYXRFbmQoKSB8fCBib3goKS50ZXh0KCkpOworICAgICAgICBBU1NFUlQoYm94KCku
aXNUZXh0T3JTb2Z0TGluZUJyZWFrKCkpOwogICAgIH0KIAogICAgIHZvaWQgdHJhdmVyc2VOZXh0
T25MaW5lKCkKQEAgLTE0NCwzNiArMTQ0LDMyIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgdHJhdmVy
c2VOZXh0SW5saW5lQm94KCkKICAgICB7CisgICAgICAgIEFTU0VSVCghYXRFbmQoKSk7CiAgICAg
ICAgIEFTU0VSVChib3goKS5pc0lubGluZUJveCgpKTsKIAotICAgICAgICBpZiAoYm94KCkuaXNM
YXN0Qm94KCkpIHsKKyAgICAgICAgaWYgKGJveCgpLmlzTGFzdEZvckxheW91dEJveCgpKSB7CiAg
ICAgICAgICAgICBzZXRBdEVuZCgpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAK
LSAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gYm94KCkubGF5b3V0Qm94KCk7Ci0gICAgICAgIGRv
IHsKLSAgICAgICAgICAgIHRyYXZlcnNlTmV4dEJveCgpOwotICAgICAgICB9IHdoaWxlICghYXRF
bmQoKSAmJiAmYm94KCkubGF5b3V0Qm94KCkgIT0gJmxheW91dEJveCk7CisgICAgICAgIHRyYXZl
cnNlTmV4dFdpdGhTYW1lTGF5b3V0Qm94KCk7CiAKLSAgICAgICAgQVNTRVJUKGF0RW5kKCkgfHwg
Ym94KCkuaXNJbmxpbmVCb3goKSk7CisgICAgICAgIEFTU0VSVChib3goKS5pc0lubGluZUJveCgp
KTsKICAgICB9CiAKICAgICB2b2lkIHRyYXZlcnNlUHJldmlvdXNJbmxpbmVCb3goKQogICAgIHsK
KyAgICAgICAgQVNTRVJUKCFhdEVuZCgpKTsKICAgICAgICAgQVNTRVJUKGJveCgpLmlzSW5saW5l
Qm94KCkpOwogCi0gICAgICAgIGlmIChib3goKS5pc0ZpcnN0Qm94KCkpIHsKKyAgICAgICAgaWYg
KGJveCgpLmlzRmlyc3RGb3JMYXlvdXRCb3goKSkgewogICAgICAgICAgICAgc2V0QXRFbmQoKTsK
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIGF1dG8mIGxheW91dEJv
eCA9IGJveCgpLmxheW91dEJveCgpOwotICAgICAgICBkbyB7Ci0gICAgICAgICAgICB0cmF2ZXJz
ZVByZXZpb3VzQm94KCk7Ci0gICAgICAgIH0gd2hpbGUgKCFhdEVuZCgpICYmICZib3goKS5sYXlv
dXRCb3goKSAhPSAmbGF5b3V0Qm94KTsKKyAgICAgICAgdHJhdmVyc2VQcmV2aW91c1dpdGhTYW1l
TGF5b3V0Qm94KCk7CiAKLSAgICAgICAgQVNTRVJUKGF0RW5kKCkgfHwgYm94KCkuaXNJbmxpbmVC
b3goKSk7CisgICAgICAgIEFTU0VSVChib3goKS5pc0lubGluZUJveCgpKTsKICAgICB9CiAKICAg
ICBCb3hNb2Rlcm5QYXRoIGZpcnN0TGVhZkJveEZvcklubGluZUJveCgpIGNvbnN0CkBAIC0yNDks
NiArMjQ1LDIyIEBAIHByaXZhdGU6CiAgICAgICAgIH0gd2hpbGUgKCFhdEVuZCgpICYmIGJveCgp
LmlzSW5saW5lQm94KCkpOwogICAgIH0KIAorICAgIHZvaWQgdHJhdmVyc2VOZXh0V2l0aFNhbWVM
YXlvdXRCb3goKQorICAgIHsKKyAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gYm94KCkubGF5b3V0
Qm94KCk7CisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIHRyYXZlcnNlTmV4dEJveCgpOworICAg
ICAgICB9IHdoaWxlICghYXRFbmQoKSAmJiAmYm94KCkubGF5b3V0Qm94KCkgIT0gJmxheW91dEJv
eCk7CisgICAgfQorCisgICAgdm9pZCB0cmF2ZXJzZVByZXZpb3VzV2l0aFNhbWVMYXlvdXRCb3go
KQorICAgIHsKKyAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gYm94KCkubGF5b3V0Qm94KCk7Cisg
ICAgICAgIGRvIHsKKyAgICAgICAgICAgIHRyYXZlcnNlUHJldmlvdXNCb3goKTsKKyAgICAgICAg
fSB3aGlsZSAoIWF0RW5kKCkgJiYgJmJveCgpLmxheW91dEJveCgpICE9ICZsYXlvdXRCb3gpOwor
ICAgIH0KKwogICAgIHZvaWQgc2V0QXRFbmQoKSB7IG1fYm94SW5kZXggPSBib3hlcygpLnNpemUo
KTsgfQogCiAgICAgY29uc3QgTGF5b3V0SW50ZWdyYXRpb246OklubGluZUNvbnRlbnQ6OkJveGVz
JiBib3hlcygpIGNvbnN0IHsgcmV0dXJuIG1faW5saW5lQ29udGVudC0+Ym94ZXM7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvclRl
eHRCb3guaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRv
clRleHRCb3guaAppbmRleCA3NGZmMjE3ODJlMmZhOTRmYmZlYmVmZjM1YWQ2MDdhZWYxZDViZjkx
Li45ZWY3NmZiNjAxMTQzZTIzN2JkYWIxYjBmY2YxMDk5NmE3MzE5YzBiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JUZXh0Qm94LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0ZXJhdG9yVGV4
dEJveC5oCkBAIC01OSw4ICs1OSw4IEBAIHB1YmxpYzoKICAgICAvLyBGSVhNRTogUmVtb3ZlLiBG
b3IgaW50ZXJtZWRpYXRlIHBvcnRpbmcgc3RlcHMgb25seS4KICAgICBjb25zdCBMZWdhY3lJbmxp
bmVUZXh0Qm94KiBsZWdhY3lJbmxpbmVCb3goKSBjb25zdCB7IHJldHVybiBkb3duY2FzdDxMZWdh
Y3lJbmxpbmVUZXh0Qm94PihCb3g6OmxlZ2FjeUlubGluZUJveCgpKTsgfQogCisgICAgLy8gVGhp
cyByZXR1cm5zIHRoZSBuZXh0IHRleHQgYm94IGdlbmVyYXRlZCBmb3IgdGhlIHNhbWUgUmVuZGVy
VGV4dC9MYXlvdXQ6OklubGluZVRleHRCb3guCiAgICAgVGV4dEJveEl0ZXJhdG9yIG5leHRUZXh0
Qm94KCkgY29uc3Q7Ci0gICAgVGV4dEJveEl0ZXJhdG9yIHByZXZpb3VzVGV4dEJveCgpIGNvbnN0
OwogfTsKIAogY2xhc3MgVGV4dEJveEl0ZXJhdG9yIDogcHVibGljIExlYWZCb3hJdGVyYXRvciB7
CkBAIC03NCw2ICs3NCw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBUZXh0Qm94JiBvcGVyYXRvcioo
KSBjb25zdCB7IHJldHVybiBnZXQoKTsgfQogICAgIGNvbnN0IFRleHRCb3gqIG9wZXJhdG9yLT4o
KSBjb25zdCB7IHJldHVybiAmZ2V0KCk7IH0KIAorICAgIC8vIFRoaXMgdHJhdmVyc2VzIHRvIHRo
ZSBuZXh0IHRleHQgYm94IGdlbmVyYXRlZCBmb3IgdGhlIHNhbWUgUmVuZGVyVGV4dC9MYXlvdXQ6
OklubGluZVRleHRCb3guCiAgICAgVGV4dEJveEl0ZXJhdG9yJiB0cmF2ZXJzZU5leHRUZXh0Qm94
KCk7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25QYWdpbmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24uY3BwCmluZGV4IGZl
ODJhZTRiZTE1OGRhMjY1ZWU5ZjI2YWM4YWMxNDhjMWM3ZTBkNzIuLjQzMDQwNzgxZjNhNjBmZmI4
YWIxNDllMjZhZmYyNjkwNDVkYzI5ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24u
Y3BwCkBAIC0xNDIsMTYgKzE0Miw5IEBAIHN0YXRpYyBSZWY8SW5saW5lQ29udGVudD4gbWFrZUFk
anVzdGVkQ29udGVudChjb25zdCBJbmxpbmVDb250ZW50JiBpbmxpbmVDb250ZW50CiAKICAgICBh
dXRvIGFkanVzdGVkQm94ID0gWyZdKGNvbnN0IElubGluZURpc3BsYXk6OkJveCYgYm94LCBmbG9h
dCBvZmZzZXQpCiAgICAgewotICAgICAgICByZXR1cm4gSW5saW5lRGlzcGxheTo6Qm94IHsKLSAg
ICAgICAgICAgIGJveC5saW5lSW5kZXgoKSwKLSAgICAgICAgICAgIGJveC50eXBlKCksCi0gICAg
ICAgICAgICBib3gubGF5b3V0Qm94KCksCi0gICAgICAgICAgICBib3guYmlkaUxldmVsKCksCi0g
ICAgICAgICAgICBtb3ZlVmVydGljYWxseShib3gubG9naWNhbFJlY3QoKSwgb2Zmc2V0KSwKLSAg
ICAgICAgICAgIG1vdmVWZXJ0aWNhbGx5KGJveC5pbmtPdmVyZmxvdygpLCBvZmZzZXQpLAotICAg
ICAgICAgICAgYm94LmV4cGFuc2lvbigpLAotICAgICAgICAgICAgYm94LnRleHQoKQotICAgICAg
ICB9OworICAgICAgICBhdXRvIGFkanVzdGVkQm94ID0gYm94OworICAgICAgICBhZGp1c3RlZEJv
eC5tb3ZlVmVydGljYWxseShvZmZzZXQpOworICAgICAgICByZXR1cm4gYWRqdXN0ZWRCb3g7CiAg
ICAgfTsKIAogICAgIGF1dG8gYWRqdXN0ZWRDb250ZW50ID0gSW5saW5lQ29udGVudDo6Y3JlYXRl
KGlubGluZUNvbnRlbnQubGluZUxheW91dCgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445989</attachid>
            <date>2021-12-05 10:38:02 -0800</date>
            <delta_ts>2021-12-05 22:58:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233858-20211205203801.patch</filename>
            <type>text/plain</type>
            <size>17142</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmYzNDUxZjJlZjJkZDli
MTMyMjViMDM3NWViZjg4NzAzZTk4OTdjYi4uMjY4OWU1ZjA0MWVkZjU1NjY1OWY0NDFmNDZiYWQ5
ZTc1ODJlMWQyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDIxLTEyLTA1ICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlv
bl0gVXNlIGVuZCBiaXRzIGluIHRleHQgYm94IGl0ZXJhdG9yCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM4NTgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHRleHQgYm94IHRyYXZlcnNhbCB3b3Jr
IGNvcnJlY3RseSBpbiBiaWRpIGNvbnRleHQgd2hlcmUgZW5jb3VudGVyaW5nIGEgZGlmZmVyZW50
CisgICAgICAgIGxheW91dCBib3ggZG9lcyBub3QgbmVjZXNzYXJpbHkgbWVhbiB0aGVyZSBhcmUg
bm8gZnVydGhlciB0ZXh0IGJveGVzIGZvciB0aGUgbGF5b3V0IGJveC4KKworICAgICAgICAqIGxh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZURpc3BsYXlDb250ZW50QnVpbGRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZURpc3BsYXlDb250ZW50QnVp
bGRlcjo6cHJvY2Vzc0JpZGlDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5s
aW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpjb21wdXRlSXNGaXJzdElzTGFzdEJveEZvcklubGlu
ZUNvbnRlbnQpOgorCisgICAgICAgIFNldCB0aGUgYml0cyBmb3IgYWxsIGJveCB0eXBlcyBleGNl
cHQgbm9uLXJvb3QgaW5saW5lIGJveGVzCisgICAgICAgICh3aGljaCBjdXJyZW50bHkgbmVlZCB0
byBiZSBoYW5kbGVkIGVhcmxpZXIpLgorCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Qm94Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpJbmxpbmVEaXNwbGF5OjpCb3g6OkJveCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVEaXNw
bGF5OjpCb3g6OmlzVGV4dE9yU29mdExpbmVCcmVhayBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpJbmxpbmVEaXNwbGF5OjpCb3g6OmlzRmlyc3RGb3JMYXlvdXRCb3ggY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94Ojppc0xhc3RGb3JMYXlvdXRCb3ggY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94OjpzZXRJc0ZpcnN0Rm9yTGF5
b3V0Qm94KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZURpc3BsYXk6OkJveDo6c2V0SXNMYXN0
Rm9yTGF5b3V0Qm94KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZURpc3BsYXk6OkJveDo6aXNG
aXJzdEJveCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVEaXNwbGF5
OjpCb3g6OmlzTGFzdEJveCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbmxp
bmVEaXNwbGF5OjpCb3g6OnNldElzTGFzdEJveCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpJbmxpbmVEaXNwbGF5OjpCb3g6OnNldElzRmlyc3RCb3gpOiBEZWxldGVkLgorCisgICAgICAg
IFJlbmFtZWQgZm9yIGNsYXJpdHkgYW5kIGNvcnJlY3RuZXNzLgorCisgICAgICAgICogbGF5b3V0
L2ludGVncmF0aW9uL0lubGluZUl0ZXJhdG9yQm94TW9kZXJuUGF0aC5oOgorICAgICAgICAoV2Vi
Q29yZTo6SW5saW5lSXRlcmF0b3I6OkJveE1vZGVyblBhdGg6OmlzVGV4dCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRvcjo6Qm94TW9kZXJuUGF0aDo6dHJhdmVyc2VOZXh0
VGV4dEJveCk6CisKKyAgICAgICAgVXNlIHRoZSBpc0xhc3RGb3JMYXlvdXRCb3ggYml0IHRvIGVu
ZCB0aGUgdHJhdmVyc2FsLgorCisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRvcjo6Qm94
TW9kZXJuUGF0aDo6dHJhdmVyc2VOZXh0SW5saW5lQm94KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
bGluZUl0ZXJhdG9yOjpCb3hNb2Rlcm5QYXRoOjp0cmF2ZXJzZVByZXZpb3VzSW5saW5lQm94KToK
KyAgICAgICAgKFdlYkNvcmU6OklubGluZUl0ZXJhdG9yOjpCb3hNb2Rlcm5QYXRoOjp0cmF2ZXJz
ZU5leHRXaXRoU2FtZUxheW91dEJveCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRv
cjo6Qm94TW9kZXJuUGF0aDo6dHJhdmVyc2VQcmV2aW91c1dpdGhTYW1lTGF5b3V0Qm94KToKKwor
ICAgICAgICBGYWN0b3IgaW50byBoZWxwZXJzLgorCisgICAgICAgICogbGF5b3V0L2ludGVncmF0
aW9uL0lubGluZUl0ZXJhdG9yVGV4dEJveC5oOgorCiAyMDIxLTEyLTA0ICBBbGFuIEJ1anRhcyAg
PHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIENvbXB1dGUgaXNGaXJzdEJv
eC9pc0xhc3RCb3ggZm9yIHRleHQgY29udGVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWls
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAKaW5kZXggNzk3YWMwMzE4MTg5ZTJkNTQx
MmFjNmIwYTE2OTFlZmQyZGNlZmY5Zi4uOWRlZDRjOTZmZThiZjIxY2U0MzNjODIyNTlkODhiYzBj
NDdhYjJjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVEaXNwbGF5Q29u
dGVudEJ1aWxkZXIuY3BwCkBAIC00NzgsNyArNDc4LDcgQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29u
dGVudEJ1aWxkZXI6OnByb2Nlc3NCaWRpQ29udGVudChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNv
bnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvIGxhc3REaXNwbGF5Qm94Rm9ySW5s
aW5lQm94SW5kZXggPSBpbmxpbmVCb3hEaXNwbGF5Qm94TWFwLnRha2UoaW5saW5lQm94KTsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvIGlzRmlyc3RGcmFnbWVudCA9ICFsYXN0RGlz
cGxheUJveEZvcklubGluZUJveEluZGV4OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICghaXNGaXJzdEZyYWdtZW50KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3hl
c1tsYXN0RGlzcGxheUJveEZvcklubGluZUJveEluZGV4XS5zZXRJc0xhc3RCb3goZmFsc2UpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3hlc1tsYXN0RGlzcGxheUJveEZvcklu
bGluZUJveEluZGV4XS5zZXRJc0xhc3RGb3JMYXlvdXRCb3goZmFsc2UpOwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlubGluZUJveERpc3BsYXlCb3hNYXAuc2V0KGlubGluZUJveCwgaW5k
ZXgpOwogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0byYgYm94R2VvbWV0cnkgPSBm
b3JtYXR0aW5nU3RhdGUoKS5ib3hHZW9tZXRyeSgqaW5saW5lQm94KTsKQEAgLTUzNCwxMyArNTM0
LDEzIEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNzQmlkaUNvbnRl
bnQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250CiAKICAgICAgICAgICAgICAgICBhdXRvJiBi
b3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdTdGF0ZSgpLmJveEdlb21ldHJ5KGlubGluZUJveERpc3Bs
YXlCb3gubGF5b3V0Qm94KCkpOwogICAgICAgICAgICAgICAgIGF1dG8gY29udGVudFJpZ2h0ID0g
ZGlzcGxheUJveC5sb2dpY2FsUmlnaHQoKTsKLSAgICAgICAgICAgICAgICBpZiAoaW5saW5lQm94
RGlzcGxheUJveC5pc0xhc3RCb3goKSkgeworICAgICAgICAgICAgICAgIGlmIChpbmxpbmVCb3hE
aXNwbGF5Qm94LmlzTGFzdEZvckxheW91dEJveCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGFj
Y3VtdWxhdGVkT2Zmc2V0ICs9IGJveEdlb21ldHJ5LmJvcmRlckFuZFBhZGRpbmdFbmQoKSArIGJv
eEdlb21ldHJ5Lm1hcmdpbkVuZCgpOwogICAgICAgICAgICAgICAgICAgICBpbmxpbmVCb3hEaXNw
bGF5Qm94LnNldExvZ2ljYWxSaWdodChjb250ZW50UmlnaHQgKyBib3hHZW9tZXRyeS5ib3JkZXJB
bmRQYWRkaW5nRW5kKCkpOwogICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAg
ICAgICBpbmxpbmVCb3hEaXNwbGF5Qm94LnNldExvZ2ljYWxSaWdodChjb250ZW50UmlnaHQpOwog
ICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKGRpc3BsYXlCb3guaXNOb25Sb290SW5saW5l
Qm94KCkgJiYgZGlzcGxheUJveC5pc0ZpcnN0Qm94KCkpIHsKKyAgICAgICAgICAgIGlmIChkaXNw
bGF5Qm94LmlzTm9uUm9vdElubGluZUJveCgpICYmIGRpc3BsYXlCb3guaXNGaXJzdEZvckxheW91
dEJveCgpKSB7CiAgICAgICAgICAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gZGlzcGxheUJveC5s
YXlvdXRCb3goKTsKICAgICAgICAgICAgICAgICBhdXRvJiBib3hHZW9tZXRyeSA9IGZvcm1hdHRp
bmdTdGF0ZSgpLmJveEdlb21ldHJ5KGxheW91dEJveCk7CiAKQEAgLTU1Niw3ICs1NTYsNyBAQCB2
b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6cHJvY2Vzc0JpZGlDb250ZW50KGNvbnN0
IExpbmVCdWlsZGVyOjpMaW5lQ29udAogICAgICAgICBBU1NFUlQoIWlubGluZUJveFJhbmdlTGlz
dC5pc0VtcHR5KCkpOwogICAgICAgICBmb3IgKGF1dG8mIGlubGluZUJveFJhbmdlIDogaW5saW5l
Qm94UmFuZ2VMaXN0KSB7CiAgICAgICAgICAgICBhdXRvJiBpbmxpbmVCb3hEaXNwbGF5Qm94ID0g
Ym94ZXNbaW5saW5lQm94UmFuZ2UuYmVnaW4oKV07Ci0gICAgICAgICAgICBzZXRJbmxpbmVCb3hH
ZW9tZXRyeShpbmxpbmVCb3hEaXNwbGF5Qm94LmxheW91dEJveCgpLCBpbmxpbmVCb3hEaXNwbGF5
Qm94LmxvZ2ljYWxSZWN0KCksIGlubGluZUJveERpc3BsYXlCb3guaXNGaXJzdEJveCgpKTsKKyAg
ICAgICAgICAgIHNldElubGluZUJveEdlb21ldHJ5KGlubGluZUJveERpc3BsYXlCb3gubGF5b3V0
Qm94KCksIGlubGluZUJveERpc3BsYXlCb3gubG9naWNhbFJlY3QoKSwgaW5saW5lQm94RGlzcGxh
eUJveC5pc0ZpcnN0Rm9yTGF5b3V0Qm94KCkpOwogICAgICAgICB9CiAgICAgfTsKICAgICBpZiAo
bmVlZHNOb25Sb290SW5saW5lQm94RGlzcGxheUJveCkKQEAgLTY1MywyMCArNjUzLDI5IEBAIHZv
aWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpjb2xsZWN0SW5rT3ZlcmZsb3dGb3JJbmxp
bmVCb3hlcyhjb25zdCBMaW5lQm94CiAKIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVy
Ojpjb21wdXRlSXNGaXJzdElzTGFzdEJveEZvcklubGluZUNvbnRlbnQoRGlzcGxheUJveGVzJiBi
b3hlcykKIHsKLSAgICBIYXNoTWFwPGNvbnN0IEJveCosIHNpemVfdD4gbGFzdERpc3BsYXlCb3hG
b3JJbmxpbmVUZXh0Qm94SW5kZXhlczsKKyAgICBIYXNoTWFwPGNvbnN0IEJveCosIHNpemVfdD4g
bGFzdERpc3BsYXlCb3hGb3JMYXlvdXRCb3hJbmRleGVzOworCiAgICAgQVNTRVJUKGJveGVzWzBd
LmlzUm9vdElubGluZUJveCgpKTsKKyAgICBib3hlc1swXS5zZXRJc0ZpcnN0Rm9yTGF5b3V0Qm94
KHRydWUpOworICAgIHNpemVfdCBsYXN0Um9vdElubGluZUJveEluZGV4ID0gMDsKKwogICAgIGZv
ciAoc2l6ZV90IGluZGV4ID0gMTsgaW5kZXggPCBib3hlcy5zaXplKCk7ICsraW5kZXgpIHsKICAg
ICAgICAgYXV0byYgZGlzcGxheUJveCA9IGJveGVzW2luZGV4XTsKKyAgICAgICAgaWYgKGRpc3Bs
YXlCb3guaXNSb290SW5saW5lQm94KCkpIHsKKyAgICAgICAgICAgIGxhc3RSb290SW5saW5lQm94
SW5kZXggPSBpbmRleDsKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICB9CiAgICAgICAg
IC8vIEZJWE1FOiBUcmFuc2l0aW9uIHRoZSBpbmxpbmUgYm94IGlzRmlyc3QvaXNMYXN0IGNvbXB1
dGF0aW9uIGhlcmUgYXMgd2VsbC4KLSAgICAgICAgaWYgKCFkaXNwbGF5Qm94LmlzVGV4dCgpKQor
ICAgICAgICBpZiAoZGlzcGxheUJveC5pc05vblJvb3RJbmxpbmVCb3goKSkKICAgICAgICAgICAg
IGNvbnRpbnVlOwogICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBkaXNwbGF5Qm94LmxheW91dEJv
eCgpOwotICAgICAgICBpZiAoIWxhc3REaXNwbGF5Qm94Rm9ySW5saW5lVGV4dEJveEluZGV4ZXMu
Y29udGFpbnMoJmxheW91dEJveCkpCi0gICAgICAgICAgICBkaXNwbGF5Qm94LnNldElzRmlyc3RC
b3godHJ1ZSk7Ci0gICAgICAgIGxhc3REaXNwbGF5Qm94Rm9ySW5saW5lVGV4dEJveEluZGV4ZXMu
c2V0KCZsYXlvdXRCb3gsIGluZGV4KTsKKyAgICAgICAgaWYgKGxhc3REaXNwbGF5Qm94Rm9yTGF5
b3V0Qm94SW5kZXhlcy5zZXQoJmxheW91dEJveCwgaW5kZXgpLmlzTmV3RW50cnkpCisgICAgICAg
ICAgICBkaXNwbGF5Qm94LnNldElzRmlyc3RGb3JMYXlvdXRCb3godHJ1ZSk7CiAgICAgfQotICAg
IGZvciAoYXV0byBsYXN0RGlzcGxheUJveEZvcklubGluZVRleHRCb3hJbmRleCA6IGxhc3REaXNw
bGF5Qm94Rm9ySW5saW5lVGV4dEJveEluZGV4ZXMpCi0gICAgICAgIGJveGVzW2xhc3REaXNwbGF5
Qm94Rm9ySW5saW5lVGV4dEJveEluZGV4LnZhbHVlXS5zZXRJc0xhc3RCb3godHJ1ZSk7CisgICAg
Zm9yIChhdXRvIGluZGV4IDogbGFzdERpc3BsYXlCb3hGb3JMYXlvdXRCb3hJbmRleGVzLnZhbHVl
cygpKQorICAgICAgICBib3hlc1tpbmRleF0uc2V0SXNMYXN0Rm9yTGF5b3V0Qm94KHRydWUpOwor
CisgICAgYm94ZXNbbGFzdFJvb3RJbmxpbmVCb3hJbmRleF0uc2V0SXNMYXN0Rm9yTGF5b3V0Qm94
KHRydWUpOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0
dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlCb3guaCBiL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlz
cGxheUJveC5oCmluZGV4IDcyZTMzYTJlZDI0MTE3ZDNmMmJjMTkwMWFjYzUyYWI5NTRlZTBkZDYu
LjVmMGEyNzUwNDRmNDYwMmU0NTY2MzRmMGIxNGRjZmJjNjNkYmMzZTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5s
aW5lRGlzcGxheUJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29u
dGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUJveC5oCkBAIC03NCwxMSArNzQsMTIg
QEAgc3RydWN0IEJveCB7CiAgICAgICAgIEZpcnN0ID0gMSA8PCAwLAogICAgICAgICBMYXN0ICA9
IDEgPDwgMQogICAgIH07Ci0gICAgQm94KHNpemVfdCBsaW5lSW5kZXgsIFR5cGUsIGNvbnN0IExh
eW91dDo6Qm94JiwgVUJpRGlMZXZlbCwgY29uc3QgTGF5b3V0OjpJbmxpbmVSZWN0JiwgY29uc3Qg
TGF5b3V0OjpJbmxpbmVSZWN0JiBpbmtPdmVyZmxvdywgRXhwYW5zaW9uLCBzdGQ6Om9wdGlvbmFs
PFRleHQ+ID0gc3RkOjpudWxsb3B0LCBib29sIGhhc0NvbnRlbnQgPSB0cnVlLCBPcHRpb25TZXQ8
UG9zaXRpb25XaXRoaW5JbmxpbmVMZXZlbEJveD4gPSB7IFBvc2l0aW9uV2l0aGluSW5saW5lTGV2
ZWxCb3g6OkZpcnN0LCBQb3NpdGlvbldpdGhpbklubGluZUxldmVsQm94OjpMYXN0IH0pOworICAg
IEJveChzaXplX3QgbGluZUluZGV4LCBUeXBlLCBjb25zdCBMYXlvdXQ6OkJveCYsIFVCaURpTGV2
ZWwsIGNvbnN0IExheW91dDo6SW5saW5lUmVjdCYsIGNvbnN0IExheW91dDo6SW5saW5lUmVjdCYg
aW5rT3ZlcmZsb3csIEV4cGFuc2lvbiwgc3RkOjpvcHRpb25hbDxUZXh0PiA9IHN0ZDo6bnVsbG9w
dCwgYm9vbCBoYXNDb250ZW50ID0gdHJ1ZSwgT3B0aW9uU2V0PFBvc2l0aW9uV2l0aGluSW5saW5l
TGV2ZWxCb3g+ID0geyB9KTsKIAogICAgIGJvb2wgaXNUZXh0KCkgY29uc3QgeyByZXR1cm4gbV90
eXBlID09IFR5cGU6OlRleHQ7IH0KICAgICBib29sIGlzRWxsaXBzaXMoKSBjb25zdCB7IHJldHVy
biBtX3R5cGUgPT0gVHlwZTo6RWxsaXBzaXM7IH0KICAgICBib29sIGlzU29mdExpbmVCcmVhaygp
IGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBUeXBlOjpTb2Z0TGluZUJyZWFrOyB9CisgICAgYm9v
bCBpc1RleHRPclNvZnRMaW5lQnJlYWsoKSBjb25zdCB7IHJldHVybiBpc1RleHQoKSB8fCBpc1Nv
ZnRMaW5lQnJlYWsoKTsgfQogICAgIGJvb2wgaXNMaW5lQnJlYWtCb3goKSBjb25zdCB7IHJldHVy
biBtX3R5cGUgPT0gVHlwZTo6TGluZUJyZWFrQm94OyB9CiAgICAgYm9vbCBpc0xpbmVCcmVhaygp
IGNvbnN0IHsgcmV0dXJuIGlzU29mdExpbmVCcmVhaygpIHx8IGlzTGluZUJyZWFrQm94KCk7IH0K
ICAgICBib29sIGlzQXRvbWljSW5saW5lTGV2ZWxCb3goKSBjb25zdCB7IHJldHVybiBtX3R5cGUg
PT0gVHlwZTo6QXRvbWljSW5saW5lTGV2ZWxCb3g7IH0KQEAgLTEwNSw4ICsxMDYsMTYgQEAgc3Ry
dWN0IEJveCB7CiAgICAgTGF5b3V0OjpJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCgpIGNv
bnN0IHsgcmV0dXJuIGxvZ2ljYWxSZWN0KCkud2lkdGgoKTsgfQogICAgIExheW91dDo6SW5saW5l
TGF5b3V0VW5pdCBsb2dpY2FsSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbG9naWNhbFJlY3QoKS5o
ZWlnaHQoKTsgfQogCi0gICAgdm9pZCBtb3ZlVmVydGljYWxseShMYXlvdXQ6OklubGluZUxheW91
dFVuaXQgb2Zmc2V0KSB7IG1fbG9naWNhbFJlY3QubW92ZVZlcnRpY2FsbHkob2Zmc2V0KTsgfQot
ICAgIHZvaWQgbW92ZUhvcml6b250YWxseShMYXlvdXQ6OklubGluZUxheW91dFVuaXQgb2Zmc2V0
KSB7IG1fbG9naWNhbFJlY3QubW92ZUhvcml6b250YWxseShvZmZzZXQpOyB9CisgICAgdm9pZCBt
b3ZlVmVydGljYWxseShMYXlvdXQ6OklubGluZUxheW91dFVuaXQgb2Zmc2V0KQorICAgIHsKKyAg
ICAgICAgbV9sb2dpY2FsUmVjdC5tb3ZlVmVydGljYWxseShvZmZzZXQpOworICAgICAgICBtX2lu
a092ZXJmbG93Lm1vdmVWZXJ0aWNhbGx5KG9mZnNldCk7CisgICAgfQorICAgIHZvaWQgbW92ZUhv
cml6b250YWxseShMYXlvdXQ6OklubGluZUxheW91dFVuaXQgb2Zmc2V0KQorICAgIHsKKyAgICAg
ICAgbV9sb2dpY2FsUmVjdC5tb3ZlSG9yaXpvbnRhbGx5KG9mZnNldCk7CisgICAgICAgIG1faW5r
T3ZlcmZsb3cubW92ZUhvcml6b250YWxseShvZmZzZXQpOworICAgIH0KICAgICB2b2lkIGFkanVz
dElua092ZXJmbG93KGNvbnN0IExheW91dDo6SW5saW5lUmVjdCYgY2hpbGRCb3JkZXJCb3gpIHsg
cmV0dXJuIG1faW5rT3ZlcmZsb3cuZXhwYW5kVG9Db250YWluKGNoaWxkQm9yZGVyQm94KTsgfQog
ICAgIHZvaWQgdHJ1bmNhdGUoTGF5b3V0OjpJbmxpbmVMYXlvdXRVbml0IHRydW5jYXRlZHdpZHRo
ID0gMC5mKTsKICAgICB2b2lkIHNldExvZ2ljYWxSaWdodChMYXlvdXQ6OklubGluZUxheW91dFVu
aXQgcmlnaHQpIHsgbV9sb2dpY2FsUmVjdC5zZXRSaWdodChyaWdodCk7IH0KQEAgLTEyNiwxMSAr
MTM1LDExIEBAIHN0cnVjdCBCb3ggewogICAgIHNpemVfdCBsaW5lSW5kZXgoKSBjb25zdCB7IHJl
dHVybiBtX2xpbmVJbmRleDsgfQogICAgIC8vIFRoZXNlIGZ1bmN0aW9ucyB0ZWxsIHlvdSB3aGV0
aGVyIHRoaXMgZGlzcGxheSBib3ggaXMgdGhlIGZpcnN0L2xhc3QgZm9yIHRoZSBhc3NvY2lhdGVk
IGlubGluZSBsZXZlbCBib3ggKExheW91dDo6Qm94KSBhbmQgbm90IHdoZXRoZXIgaXQncyB0aGUg
Zmlyc3QvbGFzdCBib3ggb24gdGhlIGxpbmUuCiAgICAgLy8gKGUuZy4gYWx3YXlzIHRydWUgZm9y
IGF0b21pYyBib3hlcywgYnV0IGlubGluZSBib3hlcyBzcGFubmluZyBvdmVyIG11bHRpcGxlIGxp
bmVzIGNhbiBwcm9kdWNlIGluZGl2aWR1YWwgZmlyc3QvbGFzdCBib3hlcykuCi0gICAgYm9vbCBp
c0ZpcnN0Qm94KCkgY29uc3QgeyByZXR1cm4gbV9pc0ZpcnN0V2l0aGluSW5saW5lTGV2ZWxCb3g7
IH0KLSAgICBib29sIGlzTGFzdEJveCgpIGNvbnN0IHsgcmV0dXJuIG1faXNMYXN0V2l0aGluSW5s
aW5lTGV2ZWxCb3g7IH0KKyAgICBib29sIGlzRmlyc3RGb3JMYXlvdXRCb3goKSBjb25zdCB7IHJl
dHVybiBtX2lzRmlyc3RGb3JMYXlvdXRCb3g7IH0KKyAgICBib29sIGlzTGFzdEZvckxheW91dEJv
eCgpIGNvbnN0IHsgcmV0dXJuIG1faXNMYXN0Rm9yTGF5b3V0Qm94OyB9CiAKLSAgICB2b2lkIHNl
dElzTGFzdEJveChib29sIGlzTGFzdEJveCkgeyBtX2lzTGFzdFdpdGhpbklubGluZUxldmVsQm94
ID0gaXNMYXN0Qm94OyB9Ci0gICAgdm9pZCBzZXRJc0ZpcnN0Qm94KGJvb2wgaXNGaXJzdEJveCkg
eyBtX2lzRmlyc3RXaXRoaW5JbmxpbmVMZXZlbEJveCA9IGlzRmlyc3RCb3g7IH0KKyAgICB2b2lk
IHNldElzRmlyc3RGb3JMYXlvdXRCb3goYm9vbCBpc0ZpcnN0Qm94KSB7IG1faXNGaXJzdEZvckxh
eW91dEJveCA9IGlzRmlyc3RCb3g7IH0KKyAgICB2b2lkIHNldElzTGFzdEZvckxheW91dEJveChi
b29sIGlzTGFzdEJveCkgeyBtX2lzTGFzdEZvckxheW91dEJveCA9IGlzTGFzdEJveDsgfQogCiBw
cml2YXRlOgogICAgIGNvbnN0IHNpemVfdCBtX2xpbmVJbmRleCB7IDAgfTsKQEAgLTE0MCw4ICsx
NDksOCBAQCBwcml2YXRlOgogICAgIExheW91dDo6SW5saW5lUmVjdCBtX2xvZ2ljYWxSZWN0Owog
ICAgIExheW91dDo6SW5saW5lUmVjdCBtX2lua092ZXJmbG93OwogICAgIGJvb2wgbV9oYXNDb250
ZW50IDogMTsKLSAgICBib29sIG1faXNGaXJzdFdpdGhpbklubGluZUxldmVsQm94IDogMTsKLSAg
ICBib29sIG1faXNMYXN0V2l0aGluSW5saW5lTGV2ZWxCb3ggOiAxOworICAgIGJvb2wgbV9pc0Zp
cnN0Rm9yTGF5b3V0Qm94IDogMTsKKyAgICBib29sIG1faXNMYXN0Rm9yTGF5b3V0Qm94IDogMTsK
ICAgICBFeHBhbnNpb24gbV9leHBhbnNpb247CiAgICAgc3RkOjpvcHRpb25hbDxUZXh0PiBtX3Rl
eHQ7CiB9OwpAQCAtMTU0LDggKzE2Myw4IEBAIGlubGluZSBCb3g6OkJveChzaXplX3QgbGluZUlu
ZGV4LCBUeXBlIHR5cGUsIGNvbnN0IExheW91dDo6Qm94JiBsYXlvdXRCb3gsIFVCaURpCiAgICAg
LCBtX2xvZ2ljYWxSZWN0KGxvZ2ljYWxSZWN0KQogICAgICwgbV9pbmtPdmVyZmxvdyhpbmtPdmVy
ZmxvdykKICAgICAsIG1faGFzQ29udGVudChoYXNDb250ZW50KQotICAgICwgbV9pc0ZpcnN0V2l0
aGluSW5saW5lTGV2ZWxCb3gocG9zaXRpb25XaXRoaW5JbmxpbmVMZXZlbEJveC5jb250YWlucyhQ
b3NpdGlvbldpdGhpbklubGluZUxldmVsQm94OjpGaXJzdCkpCi0gICAgLCBtX2lzTGFzdFdpdGhp
bklubGluZUxldmVsQm94KHBvc2l0aW9uV2l0aGluSW5saW5lTGV2ZWxCb3guY29udGFpbnMoUG9z
aXRpb25XaXRoaW5JbmxpbmVMZXZlbEJveDo6TGFzdCkpCisgICAgLCBtX2lzRmlyc3RGb3JMYXlv
dXRCb3gocG9zaXRpb25XaXRoaW5JbmxpbmVMZXZlbEJveC5jb250YWlucyhQb3NpdGlvbldpdGhp
bklubGluZUxldmVsQm94OjpGaXJzdCkpCisgICAgLCBtX2lzTGFzdEZvckxheW91dEJveChwb3Np
dGlvbldpdGhpbklubGluZUxldmVsQm94LmNvbnRhaW5zKFBvc2l0aW9uV2l0aGluSW5saW5lTGV2
ZWxCb3g6Okxhc3QpKQogICAgICwgbV9leHBhbnNpb24oZXhwYW5zaW9uKQogICAgICwgbV90ZXh0
KHRleHQpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24v
SW5saW5lSXRlcmF0b3JCb3hNb2Rlcm5QYXRoLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50
ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JCb3hNb2Rlcm5QYXRoLmgKaW5kZXggZTdlZjZkYmEzYTlk
NzA3ODM3NzQ5Y2U3ODAyODI5Y2ZhZDA1YzlhNC4uOGFjNmRlMDRlYTljMTRkYzRkZjEwMzBhMGMz
ZGE4ZDY5MzhjZGVmMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0
aW9uL0lubGluZUl0ZXJhdG9yQm94TW9kZXJuUGF0aC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvckJveE1vZGVyblBhdGguaApAQCAtNDgsNyAr
NDgsNyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KIAotICAgIGJvb2wgaXNUZXh0KCkgY29uc3Qg
eyByZXR1cm4gISFib3goKS50ZXh0KCk7IH0KKyAgICBib29sIGlzVGV4dCgpIGNvbnN0IHsgcmV0
dXJuIGJveCgpLmlzVGV4dE9yU29mdExpbmVCcmVhaygpOyB9CiAgICAgYm9vbCBpc0lubGluZUJv
eCgpIGNvbnN0IHsgcmV0dXJuIGJveCgpLmlzSW5saW5lQm94KCk7IH0KICAgICBib29sIGlzUm9v
dElubGluZUJveCgpIGNvbnN0IHsgcmV0dXJuIGJveCgpLmlzUm9vdElubGluZUJveCgpOyB9CiAK
QEAgLTEwNiwxNiArMTA2LDE2IEBAIHB1YmxpYzoKICAgICB2b2lkIHRyYXZlcnNlTmV4dFRleHRC
b3goKQogICAgIHsKICAgICAgICAgQVNTRVJUKCFhdEVuZCgpKTsKLSAgICAgICAgQVNTRVJUKGJv
eCgpLnRleHQoKSk7CisgICAgICAgIEFTU0VSVChib3goKS5pc1RleHRPclNvZnRMaW5lQnJlYWso
KSk7CiAKLSAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gYm94KCkubGF5b3V0Qm94KCk7Ci0KLSAg
ICAgICAgdHJhdmVyc2VOZXh0TGVhZigpOwotCi0gICAgICAgIGlmICghYXRFbmQoKSAmJiAmbGF5
b3V0Qm94ICE9ICZib3goKS5sYXlvdXRCb3goKSkKKyAgICAgICAgaWYgKGJveCgpLmlzTGFzdEZv
ckxheW91dEJveCgpKSB7CiAgICAgICAgICAgICBzZXRBdEVuZCgpOworICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICB9CisKKyAgICAgICAgdHJhdmVyc2VOZXh0V2l0aFNhbWVMYXlvdXRCb3go
KTsKIAotICAgICAgICBBU1NFUlQoYXRFbmQoKSB8fCBib3goKS50ZXh0KCkpOworICAgICAgICBB
U1NFUlQoYm94KCkuaXNUZXh0T3JTb2Z0TGluZUJyZWFrKCkpOwogICAgIH0KIAogICAgIHZvaWQg
dHJhdmVyc2VOZXh0T25MaW5lKCkKQEAgLTE0NCwzNiArMTQ0LDMyIEBAIHB1YmxpYzoKIAogICAg
IHZvaWQgdHJhdmVyc2VOZXh0SW5saW5lQm94KCkKICAgICB7CisgICAgICAgIEFTU0VSVCghYXRF
bmQoKSk7CiAgICAgICAgIEFTU0VSVChib3goKS5pc0lubGluZUJveCgpKTsKIAotICAgICAgICBp
ZiAoYm94KCkuaXNMYXN0Qm94KCkpIHsKKyAgICAgICAgaWYgKGJveCgpLmlzTGFzdEZvckxheW91
dEJveCgpKSB7CiAgICAgICAgICAgICBzZXRBdEVuZCgpOwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CiAKLSAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gYm94KCkubGF5b3V0Qm94KCk7
Ci0gICAgICAgIGRvIHsKLSAgICAgICAgICAgIHRyYXZlcnNlTmV4dEJveCgpOwotICAgICAgICB9
IHdoaWxlICghYXRFbmQoKSAmJiAmYm94KCkubGF5b3V0Qm94KCkgIT0gJmxheW91dEJveCk7Cisg
ICAgICAgIHRyYXZlcnNlTmV4dFdpdGhTYW1lTGF5b3V0Qm94KCk7CiAKLSAgICAgICAgQVNTRVJU
KGF0RW5kKCkgfHwgYm94KCkuaXNJbmxpbmVCb3goKSk7CisgICAgICAgIEFTU0VSVChib3goKS5p
c0lubGluZUJveCgpKTsKICAgICB9CiAKICAgICB2b2lkIHRyYXZlcnNlUHJldmlvdXNJbmxpbmVC
b3goKQogICAgIHsKKyAgICAgICAgQVNTRVJUKCFhdEVuZCgpKTsKICAgICAgICAgQVNTRVJUKGJv
eCgpLmlzSW5saW5lQm94KCkpOwogCi0gICAgICAgIGlmIChib3goKS5pc0ZpcnN0Qm94KCkpIHsK
KyAgICAgICAgaWYgKGJveCgpLmlzRmlyc3RGb3JMYXlvdXRCb3goKSkgewogICAgICAgICAgICAg
c2V0QXRFbmQoKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIGF1
dG8mIGxheW91dEJveCA9IGJveCgpLmxheW91dEJveCgpOwotICAgICAgICBkbyB7Ci0gICAgICAg
ICAgICB0cmF2ZXJzZVByZXZpb3VzQm94KCk7Ci0gICAgICAgIH0gd2hpbGUgKCFhdEVuZCgpICYm
ICZib3goKS5sYXlvdXRCb3goKSAhPSAmbGF5b3V0Qm94KTsKKyAgICAgICAgdHJhdmVyc2VQcmV2
aW91c1dpdGhTYW1lTGF5b3V0Qm94KCk7CiAKLSAgICAgICAgQVNTRVJUKGF0RW5kKCkgfHwgYm94
KCkuaXNJbmxpbmVCb3goKSk7CisgICAgICAgIEFTU0VSVChib3goKS5pc0lubGluZUJveCgpKTsK
ICAgICB9CiAKICAgICBCb3hNb2Rlcm5QYXRoIGZpcnN0TGVhZkJveEZvcklubGluZUJveCgpIGNv
bnN0CkBAIC0yNDksNiArMjQ1LDIyIEBAIHByaXZhdGU6CiAgICAgICAgIH0gd2hpbGUgKCFhdEVu
ZCgpICYmIGJveCgpLmlzSW5saW5lQm94KCkpOwogICAgIH0KIAorICAgIHZvaWQgdHJhdmVyc2VO
ZXh0V2l0aFNhbWVMYXlvdXRCb3goKQorICAgIHsKKyAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0g
Ym94KCkubGF5b3V0Qm94KCk7CisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIHRyYXZlcnNlTmV4
dEJveCgpOworICAgICAgICB9IHdoaWxlICghYXRFbmQoKSAmJiAmYm94KCkubGF5b3V0Qm94KCkg
IT0gJmxheW91dEJveCk7CisgICAgfQorCisgICAgdm9pZCB0cmF2ZXJzZVByZXZpb3VzV2l0aFNh
bWVMYXlvdXRCb3goKQorICAgIHsKKyAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gYm94KCkubGF5
b3V0Qm94KCk7CisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIHRyYXZlcnNlUHJldmlvdXNCb3go
KTsKKyAgICAgICAgfSB3aGlsZSAoIWF0RW5kKCkgJiYgJmJveCgpLmxheW91dEJveCgpICE9ICZs
YXlvdXRCb3gpOworICAgIH0KKwogICAgIHZvaWQgc2V0QXRFbmQoKSB7IG1fYm94SW5kZXggPSBi
b3hlcygpLnNpemUoKTsgfQogCiAgICAgY29uc3QgTGF5b3V0SW50ZWdyYXRpb246OklubGluZUNv
bnRlbnQ6OkJveGVzJiBib3hlcygpIGNvbnN0IHsgcmV0dXJuIG1faW5saW5lQ29udGVudC0+Ym94
ZXM7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9Jbmxp
bmVJdGVyYXRvclRleHRCb3guaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9J
bmxpbmVJdGVyYXRvclRleHRCb3guaAppbmRleCA3NGZmMjE3ODJlMmZhOTRmYmZlYmVmZjM1YWQ2
MDdhZWYxZDViZjkxLi45ZWY3NmZiNjAxMTQzZTIzN2JkYWIxYjBmY2YxMDk5NmE3MzE5YzBiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0
b3JUZXh0Qm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGlu
ZUl0ZXJhdG9yVGV4dEJveC5oCkBAIC01OSw4ICs1OSw4IEBAIHB1YmxpYzoKICAgICAvLyBGSVhN
RTogUmVtb3ZlLiBGb3IgaW50ZXJtZWRpYXRlIHBvcnRpbmcgc3RlcHMgb25seS4KICAgICBjb25z
dCBMZWdhY3lJbmxpbmVUZXh0Qm94KiBsZWdhY3lJbmxpbmVCb3goKSBjb25zdCB7IHJldHVybiBk
b3duY2FzdDxMZWdhY3lJbmxpbmVUZXh0Qm94PihCb3g6OmxlZ2FjeUlubGluZUJveCgpKTsgfQog
CisgICAgLy8gVGhpcyByZXR1cm5zIHRoZSBuZXh0IHRleHQgYm94IGdlbmVyYXRlZCBmb3IgdGhl
IHNhbWUgUmVuZGVyVGV4dC9MYXlvdXQ6OklubGluZVRleHRCb3guCiAgICAgVGV4dEJveEl0ZXJh
dG9yIG5leHRUZXh0Qm94KCkgY29uc3Q7Ci0gICAgVGV4dEJveEl0ZXJhdG9yIHByZXZpb3VzVGV4
dEJveCgpIGNvbnN0OwogfTsKIAogY2xhc3MgVGV4dEJveEl0ZXJhdG9yIDogcHVibGljIExlYWZC
b3hJdGVyYXRvciB7CkBAIC03NCw2ICs3NCw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBUZXh0Qm94
JiBvcGVyYXRvciooKSBjb25zdCB7IHJldHVybiBnZXQoKTsgfQogICAgIGNvbnN0IFRleHRCb3gq
IG9wZXJhdG9yLT4oKSBjb25zdCB7IHJldHVybiAmZ2V0KCk7IH0KIAorICAgIC8vIFRoaXMgdHJh
dmVyc2VzIHRvIHRoZSBuZXh0IHRleHQgYm94IGdlbmVyYXRlZCBmb3IgdGhlIHNhbWUgUmVuZGVy
VGV4dC9MYXlvdXQ6OklubGluZVRleHRCb3guCiAgICAgVGV4dEJveEl0ZXJhdG9yJiB0cmF2ZXJz
ZU5leHRUZXh0Qm94KCk7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9s
YXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25QYWdpbmF0aW9uLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24u
Y3BwCmluZGV4IGZlODJhZTRiZTE1OGRhMjY1ZWU5ZjI2YWM4YWMxNDhjMWM3ZTBkNzIuLjQzMDQw
NzgxZjNhNjBmZmI4YWIxNDllMjZhZmYyNjkwNDVkYzI5ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24uY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlv
blBhZ2luYXRpb24uY3BwCkBAIC0xNDIsMTYgKzE0Miw5IEBAIHN0YXRpYyBSZWY8SW5saW5lQ29u
dGVudD4gbWFrZUFkanVzdGVkQ29udGVudChjb25zdCBJbmxpbmVDb250ZW50JiBpbmxpbmVDb250
ZW50CiAKICAgICBhdXRvIGFkanVzdGVkQm94ID0gWyZdKGNvbnN0IElubGluZURpc3BsYXk6OkJv
eCYgYm94LCBmbG9hdCBvZmZzZXQpCiAgICAgewotICAgICAgICByZXR1cm4gSW5saW5lRGlzcGxh
eTo6Qm94IHsKLSAgICAgICAgICAgIGJveC5saW5lSW5kZXgoKSwKLSAgICAgICAgICAgIGJveC50
eXBlKCksCi0gICAgICAgICAgICBib3gubGF5b3V0Qm94KCksCi0gICAgICAgICAgICBib3guYmlk
aUxldmVsKCksCi0gICAgICAgICAgICBtb3ZlVmVydGljYWxseShib3gubG9naWNhbFJlY3QoKSwg
b2Zmc2V0KSwKLSAgICAgICAgICAgIG1vdmVWZXJ0aWNhbGx5KGJveC5pbmtPdmVyZmxvdygpLCBv
ZmZzZXQpLAotICAgICAgICAgICAgYm94LmV4cGFuc2lvbigpLAotICAgICAgICAgICAgYm94LnRl
eHQoKQotICAgICAgICB9OworICAgICAgICBhdXRvIGFkanVzdGVkQm94ID0gYm94OworICAgICAg
ICBhZGp1c3RlZEJveC5tb3ZlVmVydGljYWxseShvZmZzZXQpOworICAgICAgICByZXR1cm4gYWRq
dXN0ZWRCb3g7CiAgICAgfTsKIAogICAgIGF1dG8gYWRqdXN0ZWRDb250ZW50ID0gSW5saW5lQ29u
dGVudDo6Y3JlYXRlKGlubGluZUNvbnRlbnQubGluZUxheW91dCgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446001</attachid>
            <date>2021-12-05 22:58:15 -0800</date>
            <delta_ts>2021-12-05 23:02:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233858-20211206085814.patch</filename>
            <type>text/plain</type>
            <size>17073</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmYzNDUxZjJlZjJkZDli
MTMyMjViMDM3NWViZjg4NzAzZTk4OTdjYi4uMjY4OWU1ZjA0MWVkZjU1NjY1OWY0NDFmNDZiYWQ5
ZTc1ODJlMWQyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDIxLTEyLTA1ICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlv
bl0gVXNlIGVuZCBiaXRzIGluIHRleHQgYm94IGl0ZXJhdG9yCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM4NTgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIHRleHQgYm94IHRyYXZlcnNhbCB3b3Jr
IGNvcnJlY3RseSBpbiBiaWRpIGNvbnRleHQgd2hlcmUgZW5jb3VudGVyaW5nIGEgZGlmZmVyZW50
CisgICAgICAgIGxheW91dCBib3ggZG9lcyBub3QgbmVjZXNzYXJpbHkgbWVhbiB0aGVyZSBhcmUg
bm8gZnVydGhlciB0ZXh0IGJveGVzIGZvciB0aGUgbGF5b3V0IGJveC4KKworICAgICAgICAqIGxh
eW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZURpc3BsYXlDb250ZW50QnVpbGRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZURpc3BsYXlDb250ZW50QnVp
bGRlcjo6cHJvY2Vzc0JpZGlDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5s
aW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpjb21wdXRlSXNGaXJzdElzTGFzdEJveEZvcklubGlu
ZUNvbnRlbnQpOgorCisgICAgICAgIFNldCB0aGUgYml0cyBmb3IgYWxsIGJveCB0eXBlcyBleGNl
cHQgbm9uLXJvb3QgaW5saW5lIGJveGVzCisgICAgICAgICh3aGljaCBjdXJyZW50bHkgbmVlZCB0
byBiZSBoYW5kbGVkIGVhcmxpZXIpLgorCisgICAgICAgICogbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5Qm94Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpJbmxpbmVEaXNwbGF5OjpCb3g6OkJveCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVEaXNw
bGF5OjpCb3g6OmlzVGV4dE9yU29mdExpbmVCcmVhayBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpJbmxpbmVEaXNwbGF5OjpCb3g6OmlzRmlyc3RGb3JMYXlvdXRCb3ggY29uc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94Ojppc0xhc3RGb3JMYXlvdXRCb3ggY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94OjpzZXRJc0ZpcnN0Rm9yTGF5
b3V0Qm94KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZURpc3BsYXk6OkJveDo6c2V0SXNMYXN0
Rm9yTGF5b3V0Qm94KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZURpc3BsYXk6OkJveDo6aXNG
aXJzdEJveCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVEaXNwbGF5
OjpCb3g6OmlzTGFzdEJveCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpJbmxp
bmVEaXNwbGF5OjpCb3g6OnNldElzTGFzdEJveCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpJbmxpbmVEaXNwbGF5OjpCb3g6OnNldElzRmlyc3RCb3gpOiBEZWxldGVkLgorCisgICAgICAg
IFJlbmFtZWQgZm9yIGNsYXJpdHkgYW5kIGNvcnJlY3RuZXNzLgorCisgICAgICAgICogbGF5b3V0
L2ludGVncmF0aW9uL0lubGluZUl0ZXJhdG9yQm94TW9kZXJuUGF0aC5oOgorICAgICAgICAoV2Vi
Q29yZTo6SW5saW5lSXRlcmF0b3I6OkJveE1vZGVyblBhdGg6OmlzVGV4dCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRvcjo6Qm94TW9kZXJuUGF0aDo6dHJhdmVyc2VOZXh0
VGV4dEJveCk6CisKKyAgICAgICAgVXNlIHRoZSBpc0xhc3RGb3JMYXlvdXRCb3ggYml0IHRvIGVu
ZCB0aGUgdHJhdmVyc2FsLgorCisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRvcjo6Qm94
TW9kZXJuUGF0aDo6dHJhdmVyc2VOZXh0SW5saW5lQm94KToKKyAgICAgICAgKFdlYkNvcmU6Oklu
bGluZUl0ZXJhdG9yOjpCb3hNb2Rlcm5QYXRoOjp0cmF2ZXJzZVByZXZpb3VzSW5saW5lQm94KToK
KyAgICAgICAgKFdlYkNvcmU6OklubGluZUl0ZXJhdG9yOjpCb3hNb2Rlcm5QYXRoOjp0cmF2ZXJz
ZU5leHRXaXRoU2FtZUxheW91dEJveCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRv
cjo6Qm94TW9kZXJuUGF0aDo6dHJhdmVyc2VQcmV2aW91c1dpdGhTYW1lTGF5b3V0Qm94KToKKwor
ICAgICAgICBGYWN0b3IgaW50byBoZWxwZXJzLgorCisgICAgICAgICogbGF5b3V0L2ludGVncmF0
aW9uL0lubGluZUl0ZXJhdG9yVGV4dEJveC5oOgorCiAyMDIxLTEyLTA0ICBBbGFuIEJ1anRhcyAg
PHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtJRkNdIENvbXB1dGUgaXNGaXJzdEJv
eC9pc0xhc3RCb3ggZm9yIHRleHQgY29udGVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
bGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWls
ZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAKaW5kZXggNzk3YWMwMzE4MTg5ZTJkNTQx
MmFjNmIwYTE2OTFlZmQyZGNlZmY5Zi4uNjk3YWUyODliM2QxZTU4NGU5NzNkNmI5ZTkwNzIwNzZk
M2MxMjI3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVEaXNwbGF5Q29u
dGVudEJ1aWxkZXIuY3BwCkBAIC00NzgsNyArNDc4LDcgQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29u
dGVudEJ1aWxkZXI6OnByb2Nlc3NCaWRpQ29udGVudChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNv
bnQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvIGxhc3REaXNwbGF5Qm94Rm9ySW5s
aW5lQm94SW5kZXggPSBpbmxpbmVCb3hEaXNwbGF5Qm94TWFwLnRha2UoaW5saW5lQm94KTsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvIGlzRmlyc3RGcmFnbWVudCA9ICFsYXN0RGlz
cGxheUJveEZvcklubGluZUJveEluZGV4OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlm
ICghaXNGaXJzdEZyYWdtZW50KQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3hl
c1tsYXN0RGlzcGxheUJveEZvcklubGluZUJveEluZGV4XS5zZXRJc0xhc3RCb3goZmFsc2UpOwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3hlc1tsYXN0RGlzcGxheUJveEZvcklu
bGluZUJveEluZGV4XS5zZXRJc0xhc3RGb3JMYXlvdXRCb3goZmFsc2UpOwogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGlubGluZUJveERpc3BsYXlCb3hNYXAuc2V0KGlubGluZUJveCwgaW5k
ZXgpOwogCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0byYgYm94R2VvbWV0cnkgPSBm
b3JtYXR0aW5nU3RhdGUoKS5ib3hHZW9tZXRyeSgqaW5saW5lQm94KTsKQEAgLTUzNCwxMyArNTM0
LDEzIEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNzQmlkaUNvbnRl
bnQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250CiAKICAgICAgICAgICAgICAgICBhdXRvJiBi
b3hHZW9tZXRyeSA9IGZvcm1hdHRpbmdTdGF0ZSgpLmJveEdlb21ldHJ5KGlubGluZUJveERpc3Bs
YXlCb3gubGF5b3V0Qm94KCkpOwogICAgICAgICAgICAgICAgIGF1dG8gY29udGVudFJpZ2h0ID0g
ZGlzcGxheUJveC5sb2dpY2FsUmlnaHQoKTsKLSAgICAgICAgICAgICAgICBpZiAoaW5saW5lQm94
RGlzcGxheUJveC5pc0xhc3RCb3goKSkgeworICAgICAgICAgICAgICAgIGlmIChpbmxpbmVCb3hE
aXNwbGF5Qm94LmlzTGFzdEZvckxheW91dEJveCgpKSB7CiAgICAgICAgICAgICAgICAgICAgIGFj
Y3VtdWxhdGVkT2Zmc2V0ICs9IGJveEdlb21ldHJ5LmJvcmRlckFuZFBhZGRpbmdFbmQoKSArIGJv
eEdlb21ldHJ5Lm1hcmdpbkVuZCgpOwogICAgICAgICAgICAgICAgICAgICBpbmxpbmVCb3hEaXNw
bGF5Qm94LnNldExvZ2ljYWxSaWdodChjb250ZW50UmlnaHQgKyBib3hHZW9tZXRyeS5ib3JkZXJB
bmRQYWRkaW5nRW5kKCkpOwogICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAg
ICAgICBpbmxpbmVCb3hEaXNwbGF5Qm94LnNldExvZ2ljYWxSaWdodChjb250ZW50UmlnaHQpOwog
ICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKGRpc3BsYXlCb3guaXNOb25Sb290SW5saW5l
Qm94KCkgJiYgZGlzcGxheUJveC5pc0ZpcnN0Qm94KCkpIHsKKyAgICAgICAgICAgIGlmIChkaXNw
bGF5Qm94LmlzTm9uUm9vdElubGluZUJveCgpICYmIGRpc3BsYXlCb3guaXNGaXJzdEZvckxheW91
dEJveCgpKSB7CiAgICAgICAgICAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gZGlzcGxheUJveC5s
YXlvdXRCb3goKTsKICAgICAgICAgICAgICAgICBhdXRvJiBib3hHZW9tZXRyeSA9IGZvcm1hdHRp
bmdTdGF0ZSgpLmJveEdlb21ldHJ5KGxheW91dEJveCk7CiAKQEAgLTU1Niw3ICs1NTYsNyBAQCB2
b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6cHJvY2Vzc0JpZGlDb250ZW50KGNvbnN0
IExpbmVCdWlsZGVyOjpMaW5lQ29udAogICAgICAgICBBU1NFUlQoIWlubGluZUJveFJhbmdlTGlz
dC5pc0VtcHR5KCkpOwogICAgICAgICBmb3IgKGF1dG8mIGlubGluZUJveFJhbmdlIDogaW5saW5l
Qm94UmFuZ2VMaXN0KSB7CiAgICAgICAgICAgICBhdXRvJiBpbmxpbmVCb3hEaXNwbGF5Qm94ID0g
Ym94ZXNbaW5saW5lQm94UmFuZ2UuYmVnaW4oKV07Ci0gICAgICAgICAgICBzZXRJbmxpbmVCb3hH
ZW9tZXRyeShpbmxpbmVCb3hEaXNwbGF5Qm94LmxheW91dEJveCgpLCBpbmxpbmVCb3hEaXNwbGF5
Qm94LmxvZ2ljYWxSZWN0KCksIGlubGluZUJveERpc3BsYXlCb3guaXNGaXJzdEJveCgpKTsKKyAg
ICAgICAgICAgIHNldElubGluZUJveEdlb21ldHJ5KGlubGluZUJveERpc3BsYXlCb3gubGF5b3V0
Qm94KCksIGlubGluZUJveERpc3BsYXlCb3gubG9naWNhbFJlY3QoKSwgaW5saW5lQm94RGlzcGxh
eUJveC5pc0ZpcnN0Rm9yTGF5b3V0Qm94KCkpOwogICAgICAgICB9CiAgICAgfTsKICAgICBpZiAo
bmVlZHNOb25Sb290SW5saW5lQm94RGlzcGxheUJveCkKQEAgLTY1MywyMCArNjUzLDI2IEBAIHZv
aWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpjb2xsZWN0SW5rT3ZlcmZsb3dGb3JJbmxp
bmVCb3hlcyhjb25zdCBMaW5lQm94CiAKIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVy
Ojpjb21wdXRlSXNGaXJzdElzTGFzdEJveEZvcklubGluZUNvbnRlbnQoRGlzcGxheUJveGVzJiBi
b3hlcykKIHsKLSAgICBIYXNoTWFwPGNvbnN0IEJveCosIHNpemVfdD4gbGFzdERpc3BsYXlCb3hG
b3JJbmxpbmVUZXh0Qm94SW5kZXhlczsKKyAgICBIYXNoTWFwPGNvbnN0IEJveCosIHNpemVfdD4g
bGFzdERpc3BsYXlCb3hGb3JMYXlvdXRCb3hJbmRleGVzOworCiAgICAgQVNTRVJUKGJveGVzWzBd
LmlzUm9vdElubGluZUJveCgpKTsKKyAgICBib3hlc1swXS5zZXRJc0ZpcnN0Rm9yTGF5b3V0Qm94
KHRydWUpOworICAgIHNpemVfdCBsYXN0Um9vdElubGluZUJveEluZGV4ID0gMDsKKwogICAgIGZv
ciAoc2l6ZV90IGluZGV4ID0gMTsgaW5kZXggPCBib3hlcy5zaXplKCk7ICsraW5kZXgpIHsKICAg
ICAgICAgYXV0byYgZGlzcGxheUJveCA9IGJveGVzW2luZGV4XTsKLSAgICAgICAgLy8gRklYTUU6
IFRyYW5zaXRpb24gdGhlIGlubGluZSBib3ggaXNGaXJzdC9pc0xhc3QgY29tcHV0YXRpb24gaGVy
ZSBhcyB3ZWxsLgotICAgICAgICBpZiAoIWRpc3BsYXlCb3guaXNUZXh0KCkpCisgICAgICAgIGlm
IChkaXNwbGF5Qm94LmlzUm9vdElubGluZUJveCgpKSB7CisgICAgICAgICAgICBsYXN0Um9vdElu
bGluZUJveEluZGV4ID0gaW5kZXg7CiAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgfQog
ICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBkaXNwbGF5Qm94LmxheW91dEJveCgpOwotICAgICAg
ICBpZiAoIWxhc3REaXNwbGF5Qm94Rm9ySW5saW5lVGV4dEJveEluZGV4ZXMuY29udGFpbnMoJmxh
eW91dEJveCkpCi0gICAgICAgICAgICBkaXNwbGF5Qm94LnNldElzRmlyc3RCb3godHJ1ZSk7Ci0g
ICAgICAgIGxhc3REaXNwbGF5Qm94Rm9ySW5saW5lVGV4dEJveEluZGV4ZXMuc2V0KCZsYXlvdXRC
b3gsIGluZGV4KTsKKyAgICAgICAgaWYgKGxhc3REaXNwbGF5Qm94Rm9yTGF5b3V0Qm94SW5kZXhl
cy5zZXQoJmxheW91dEJveCwgaW5kZXgpLmlzTmV3RW50cnkpCisgICAgICAgICAgICBkaXNwbGF5
Qm94LnNldElzRmlyc3RGb3JMYXlvdXRCb3godHJ1ZSk7CiAgICAgfQotICAgIGZvciAoYXV0byBs
YXN0RGlzcGxheUJveEZvcklubGluZVRleHRCb3hJbmRleCA6IGxhc3REaXNwbGF5Qm94Rm9ySW5s
aW5lVGV4dEJveEluZGV4ZXMpCi0gICAgICAgIGJveGVzW2xhc3REaXNwbGF5Qm94Rm9ySW5saW5l
VGV4dEJveEluZGV4LnZhbHVlXS5zZXRJc0xhc3RCb3godHJ1ZSk7CisgICAgZm9yIChhdXRvIGlu
ZGV4IDogbGFzdERpc3BsYXlCb3hGb3JMYXlvdXRCb3hJbmRleGVzLnZhbHVlcygpKQorICAgICAg
ICBib3hlc1tpbmRleF0uc2V0SXNMYXN0Rm9yTGF5b3V0Qm94KHRydWUpOworCisgICAgYm94ZXNb
bGFzdFJvb3RJbmxpbmVCb3hJbmRleF0uc2V0SXNMYXN0Rm9yTGF5b3V0Qm94KHRydWUpOwogfQog
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRz
L2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlCb3guaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUJveC5oCmlu
ZGV4IDcyZTMzYTJlZDI0MTE3ZDNmMmJjMTkwMWFjYzUyYWI5NTRlZTBkZDYuLjVmMGEyNzUwNDRm
NDYwMmU0NTY2MzRmMGIxNGRjZmJjNjNkYmMzZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlzcGxheUJv
eC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5l
L2Rpc3BsYXkvSW5saW5lRGlzcGxheUJveC5oCkBAIC03NCwxMSArNzQsMTIgQEAgc3RydWN0IEJv
eCB7CiAgICAgICAgIEZpcnN0ID0gMSA8PCAwLAogICAgICAgICBMYXN0ICA9IDEgPDwgMQogICAg
IH07Ci0gICAgQm94KHNpemVfdCBsaW5lSW5kZXgsIFR5cGUsIGNvbnN0IExheW91dDo6Qm94Jiwg
VUJpRGlMZXZlbCwgY29uc3QgTGF5b3V0OjpJbmxpbmVSZWN0JiwgY29uc3QgTGF5b3V0OjpJbmxp
bmVSZWN0JiBpbmtPdmVyZmxvdywgRXhwYW5zaW9uLCBzdGQ6Om9wdGlvbmFsPFRleHQ+ID0gc3Rk
OjpudWxsb3B0LCBib29sIGhhc0NvbnRlbnQgPSB0cnVlLCBPcHRpb25TZXQ8UG9zaXRpb25XaXRo
aW5JbmxpbmVMZXZlbEJveD4gPSB7IFBvc2l0aW9uV2l0aGluSW5saW5lTGV2ZWxCb3g6OkZpcnN0
LCBQb3NpdGlvbldpdGhpbklubGluZUxldmVsQm94OjpMYXN0IH0pOworICAgIEJveChzaXplX3Qg
bGluZUluZGV4LCBUeXBlLCBjb25zdCBMYXlvdXQ6OkJveCYsIFVCaURpTGV2ZWwsIGNvbnN0IExh
eW91dDo6SW5saW5lUmVjdCYsIGNvbnN0IExheW91dDo6SW5saW5lUmVjdCYgaW5rT3ZlcmZsb3cs
IEV4cGFuc2lvbiwgc3RkOjpvcHRpb25hbDxUZXh0PiA9IHN0ZDo6bnVsbG9wdCwgYm9vbCBoYXND
b250ZW50ID0gdHJ1ZSwgT3B0aW9uU2V0PFBvc2l0aW9uV2l0aGluSW5saW5lTGV2ZWxCb3g+ID0g
eyB9KTsKIAogICAgIGJvb2wgaXNUZXh0KCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IFR5cGU6
OlRleHQ7IH0KICAgICBib29sIGlzRWxsaXBzaXMoKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0g
VHlwZTo6RWxsaXBzaXM7IH0KICAgICBib29sIGlzU29mdExpbmVCcmVhaygpIGNvbnN0IHsgcmV0
dXJuIG1fdHlwZSA9PSBUeXBlOjpTb2Z0TGluZUJyZWFrOyB9CisgICAgYm9vbCBpc1RleHRPclNv
ZnRMaW5lQnJlYWsoKSBjb25zdCB7IHJldHVybiBpc1RleHQoKSB8fCBpc1NvZnRMaW5lQnJlYWso
KTsgfQogICAgIGJvb2wgaXNMaW5lQnJlYWtCb3goKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0g
VHlwZTo6TGluZUJyZWFrQm94OyB9CiAgICAgYm9vbCBpc0xpbmVCcmVhaygpIGNvbnN0IHsgcmV0
dXJuIGlzU29mdExpbmVCcmVhaygpIHx8IGlzTGluZUJyZWFrQm94KCk7IH0KICAgICBib29sIGlz
QXRvbWljSW5saW5lTGV2ZWxCb3goKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gVHlwZTo6QXRv
bWljSW5saW5lTGV2ZWxCb3g7IH0KQEAgLTEwNSw4ICsxMDYsMTYgQEAgc3RydWN0IEJveCB7CiAg
ICAgTGF5b3V0OjpJbmxpbmVMYXlvdXRVbml0IGxvZ2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0dXJu
IGxvZ2ljYWxSZWN0KCkud2lkdGgoKTsgfQogICAgIExheW91dDo6SW5saW5lTGF5b3V0VW5pdCBs
b2dpY2FsSGVpZ2h0KCkgY29uc3QgeyByZXR1cm4gbG9naWNhbFJlY3QoKS5oZWlnaHQoKTsgfQog
Ci0gICAgdm9pZCBtb3ZlVmVydGljYWxseShMYXlvdXQ6OklubGluZUxheW91dFVuaXQgb2Zmc2V0
KSB7IG1fbG9naWNhbFJlY3QubW92ZVZlcnRpY2FsbHkob2Zmc2V0KTsgfQotICAgIHZvaWQgbW92
ZUhvcml6b250YWxseShMYXlvdXQ6OklubGluZUxheW91dFVuaXQgb2Zmc2V0KSB7IG1fbG9naWNh
bFJlY3QubW92ZUhvcml6b250YWxseShvZmZzZXQpOyB9CisgICAgdm9pZCBtb3ZlVmVydGljYWxs
eShMYXlvdXQ6OklubGluZUxheW91dFVuaXQgb2Zmc2V0KQorICAgIHsKKyAgICAgICAgbV9sb2dp
Y2FsUmVjdC5tb3ZlVmVydGljYWxseShvZmZzZXQpOworICAgICAgICBtX2lua092ZXJmbG93Lm1v
dmVWZXJ0aWNhbGx5KG9mZnNldCk7CisgICAgfQorICAgIHZvaWQgbW92ZUhvcml6b250YWxseShM
YXlvdXQ6OklubGluZUxheW91dFVuaXQgb2Zmc2V0KQorICAgIHsKKyAgICAgICAgbV9sb2dpY2Fs
UmVjdC5tb3ZlSG9yaXpvbnRhbGx5KG9mZnNldCk7CisgICAgICAgIG1faW5rT3ZlcmZsb3cubW92
ZUhvcml6b250YWxseShvZmZzZXQpOworICAgIH0KICAgICB2b2lkIGFkanVzdElua092ZXJmbG93
KGNvbnN0IExheW91dDo6SW5saW5lUmVjdCYgY2hpbGRCb3JkZXJCb3gpIHsgcmV0dXJuIG1faW5r
T3ZlcmZsb3cuZXhwYW5kVG9Db250YWluKGNoaWxkQm9yZGVyQm94KTsgfQogICAgIHZvaWQgdHJ1
bmNhdGUoTGF5b3V0OjpJbmxpbmVMYXlvdXRVbml0IHRydW5jYXRlZHdpZHRoID0gMC5mKTsKICAg
ICB2b2lkIHNldExvZ2ljYWxSaWdodChMYXlvdXQ6OklubGluZUxheW91dFVuaXQgcmlnaHQpIHsg
bV9sb2dpY2FsUmVjdC5zZXRSaWdodChyaWdodCk7IH0KQEAgLTEyNiwxMSArMTM1LDExIEBAIHN0
cnVjdCBCb3ggewogICAgIHNpemVfdCBsaW5lSW5kZXgoKSBjb25zdCB7IHJldHVybiBtX2xpbmVJ
bmRleDsgfQogICAgIC8vIFRoZXNlIGZ1bmN0aW9ucyB0ZWxsIHlvdSB3aGV0aGVyIHRoaXMgZGlz
cGxheSBib3ggaXMgdGhlIGZpcnN0L2xhc3QgZm9yIHRoZSBhc3NvY2lhdGVkIGlubGluZSBsZXZl
bCBib3ggKExheW91dDo6Qm94KSBhbmQgbm90IHdoZXRoZXIgaXQncyB0aGUgZmlyc3QvbGFzdCBi
b3ggb24gdGhlIGxpbmUuCiAgICAgLy8gKGUuZy4gYWx3YXlzIHRydWUgZm9yIGF0b21pYyBib3hl
cywgYnV0IGlubGluZSBib3hlcyBzcGFubmluZyBvdmVyIG11bHRpcGxlIGxpbmVzIGNhbiBwcm9k
dWNlIGluZGl2aWR1YWwgZmlyc3QvbGFzdCBib3hlcykuCi0gICAgYm9vbCBpc0ZpcnN0Qm94KCkg
Y29uc3QgeyByZXR1cm4gbV9pc0ZpcnN0V2l0aGluSW5saW5lTGV2ZWxCb3g7IH0KLSAgICBib29s
IGlzTGFzdEJveCgpIGNvbnN0IHsgcmV0dXJuIG1faXNMYXN0V2l0aGluSW5saW5lTGV2ZWxCb3g7
IH0KKyAgICBib29sIGlzRmlyc3RGb3JMYXlvdXRCb3goKSBjb25zdCB7IHJldHVybiBtX2lzRmly
c3RGb3JMYXlvdXRCb3g7IH0KKyAgICBib29sIGlzTGFzdEZvckxheW91dEJveCgpIGNvbnN0IHsg
cmV0dXJuIG1faXNMYXN0Rm9yTGF5b3V0Qm94OyB9CiAKLSAgICB2b2lkIHNldElzTGFzdEJveChi
b29sIGlzTGFzdEJveCkgeyBtX2lzTGFzdFdpdGhpbklubGluZUxldmVsQm94ID0gaXNMYXN0Qm94
OyB9Ci0gICAgdm9pZCBzZXRJc0ZpcnN0Qm94KGJvb2wgaXNGaXJzdEJveCkgeyBtX2lzRmlyc3RX
aXRoaW5JbmxpbmVMZXZlbEJveCA9IGlzRmlyc3RCb3g7IH0KKyAgICB2b2lkIHNldElzRmlyc3RG
b3JMYXlvdXRCb3goYm9vbCBpc0ZpcnN0Qm94KSB7IG1faXNGaXJzdEZvckxheW91dEJveCA9IGlz
Rmlyc3RCb3g7IH0KKyAgICB2b2lkIHNldElzTGFzdEZvckxheW91dEJveChib29sIGlzTGFzdEJv
eCkgeyBtX2lzTGFzdEZvckxheW91dEJveCA9IGlzTGFzdEJveDsgfQogCiBwcml2YXRlOgogICAg
IGNvbnN0IHNpemVfdCBtX2xpbmVJbmRleCB7IDAgfTsKQEAgLTE0MCw4ICsxNDksOCBAQCBwcml2
YXRlOgogICAgIExheW91dDo6SW5saW5lUmVjdCBtX2xvZ2ljYWxSZWN0OwogICAgIExheW91dDo6
SW5saW5lUmVjdCBtX2lua092ZXJmbG93OwogICAgIGJvb2wgbV9oYXNDb250ZW50IDogMTsKLSAg
ICBib29sIG1faXNGaXJzdFdpdGhpbklubGluZUxldmVsQm94IDogMTsKLSAgICBib29sIG1faXNM
YXN0V2l0aGluSW5saW5lTGV2ZWxCb3ggOiAxOworICAgIGJvb2wgbV9pc0ZpcnN0Rm9yTGF5b3V0
Qm94IDogMTsKKyAgICBib29sIG1faXNMYXN0Rm9yTGF5b3V0Qm94IDogMTsKICAgICBFeHBhbnNp
b24gbV9leHBhbnNpb247CiAgICAgc3RkOjpvcHRpb25hbDxUZXh0PiBtX3RleHQ7CiB9OwpAQCAt
MTU0LDggKzE2Myw4IEBAIGlubGluZSBCb3g6OkJveChzaXplX3QgbGluZUluZGV4LCBUeXBlIHR5
cGUsIGNvbnN0IExheW91dDo6Qm94JiBsYXlvdXRCb3gsIFVCaURpCiAgICAgLCBtX2xvZ2ljYWxS
ZWN0KGxvZ2ljYWxSZWN0KQogICAgICwgbV9pbmtPdmVyZmxvdyhpbmtPdmVyZmxvdykKICAgICAs
IG1faGFzQ29udGVudChoYXNDb250ZW50KQotICAgICwgbV9pc0ZpcnN0V2l0aGluSW5saW5lTGV2
ZWxCb3gocG9zaXRpb25XaXRoaW5JbmxpbmVMZXZlbEJveC5jb250YWlucyhQb3NpdGlvbldpdGhp
bklubGluZUxldmVsQm94OjpGaXJzdCkpCi0gICAgLCBtX2lzTGFzdFdpdGhpbklubGluZUxldmVs
Qm94KHBvc2l0aW9uV2l0aGluSW5saW5lTGV2ZWxCb3guY29udGFpbnMoUG9zaXRpb25XaXRoaW5J
bmxpbmVMZXZlbEJveDo6TGFzdCkpCisgICAgLCBtX2lzRmlyc3RGb3JMYXlvdXRCb3gocG9zaXRp
b25XaXRoaW5JbmxpbmVMZXZlbEJveC5jb250YWlucyhQb3NpdGlvbldpdGhpbklubGluZUxldmVs
Qm94OjpGaXJzdCkpCisgICAgLCBtX2lzTGFzdEZvckxheW91dEJveChwb3NpdGlvbldpdGhpbklu
bGluZUxldmVsQm94LmNvbnRhaW5zKFBvc2l0aW9uV2l0aGluSW5saW5lTGV2ZWxCb3g6Okxhc3Qp
KQogICAgICwgbV9leHBhbnNpb24oZXhwYW5zaW9uKQogICAgICwgbV90ZXh0KHRleHQpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0
b3JCb3hNb2Rlcm5QYXRoLmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5s
aW5lSXRlcmF0b3JCb3hNb2Rlcm5QYXRoLmgKaW5kZXggZTdlZjZkYmEzYTlkNzA3ODM3NzQ5Y2U3
ODAyODI5Y2ZhZDA1YzlhNC4uOGFjNmRlMDRlYTljMTRkYzRkZjEwMzBhMGMzZGE4ZDY5MzhjZGVm
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0
ZXJhdG9yQm94TW9kZXJuUGF0aC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3Jh
dGlvbi9JbmxpbmVJdGVyYXRvckJveE1vZGVyblBhdGguaApAQCAtNDgsNyArNDgsNyBAQCBwdWJs
aWM6CiAgICAgewogICAgIH0KIAotICAgIGJvb2wgaXNUZXh0KCkgY29uc3QgeyByZXR1cm4gISFi
b3goKS50ZXh0KCk7IH0KKyAgICBib29sIGlzVGV4dCgpIGNvbnN0IHsgcmV0dXJuIGJveCgpLmlz
VGV4dE9yU29mdExpbmVCcmVhaygpOyB9CiAgICAgYm9vbCBpc0lubGluZUJveCgpIGNvbnN0IHsg
cmV0dXJuIGJveCgpLmlzSW5saW5lQm94KCk7IH0KICAgICBib29sIGlzUm9vdElubGluZUJveCgp
IGNvbnN0IHsgcmV0dXJuIGJveCgpLmlzUm9vdElubGluZUJveCgpOyB9CiAKQEAgLTEwNiwxNiAr
MTA2LDE2IEBAIHB1YmxpYzoKICAgICB2b2lkIHRyYXZlcnNlTmV4dFRleHRCb3goKQogICAgIHsK
ICAgICAgICAgQVNTRVJUKCFhdEVuZCgpKTsKLSAgICAgICAgQVNTRVJUKGJveCgpLnRleHQoKSk7
CisgICAgICAgIEFTU0VSVChib3goKS5pc1RleHRPclNvZnRMaW5lQnJlYWsoKSk7CiAKLSAgICAg
ICAgYXV0byYgbGF5b3V0Qm94ID0gYm94KCkubGF5b3V0Qm94KCk7Ci0KLSAgICAgICAgdHJhdmVy
c2VOZXh0TGVhZigpOwotCi0gICAgICAgIGlmICghYXRFbmQoKSAmJiAmbGF5b3V0Qm94ICE9ICZi
b3goKS5sYXlvdXRCb3goKSkKKyAgICAgICAgaWYgKGJveCgpLmlzTGFzdEZvckxheW91dEJveCgp
KSB7CiAgICAgICAgICAgICBzZXRBdEVuZCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICB9CisKKyAgICAgICAgdHJhdmVyc2VOZXh0V2l0aFNhbWVMYXlvdXRCb3goKTsKIAotICAgICAg
ICBBU1NFUlQoYXRFbmQoKSB8fCBib3goKS50ZXh0KCkpOworICAgICAgICBBU1NFUlQoYm94KCku
aXNUZXh0T3JTb2Z0TGluZUJyZWFrKCkpOwogICAgIH0KIAogICAgIHZvaWQgdHJhdmVyc2VOZXh0
T25MaW5lKCkKQEAgLTE0NCwzNiArMTQ0LDMyIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgdHJhdmVy
c2VOZXh0SW5saW5lQm94KCkKICAgICB7CisgICAgICAgIEFTU0VSVCghYXRFbmQoKSk7CiAgICAg
ICAgIEFTU0VSVChib3goKS5pc0lubGluZUJveCgpKTsKIAotICAgICAgICBpZiAoYm94KCkuaXNM
YXN0Qm94KCkpIHsKKyAgICAgICAgaWYgKGJveCgpLmlzTGFzdEZvckxheW91dEJveCgpKSB7CiAg
ICAgICAgICAgICBzZXRBdEVuZCgpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAK
LSAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gYm94KCkubGF5b3V0Qm94KCk7Ci0gICAgICAgIGRv
IHsKLSAgICAgICAgICAgIHRyYXZlcnNlTmV4dEJveCgpOwotICAgICAgICB9IHdoaWxlICghYXRF
bmQoKSAmJiAmYm94KCkubGF5b3V0Qm94KCkgIT0gJmxheW91dEJveCk7CisgICAgICAgIHRyYXZl
cnNlTmV4dFdpdGhTYW1lTGF5b3V0Qm94KCk7CiAKLSAgICAgICAgQVNTRVJUKGF0RW5kKCkgfHwg
Ym94KCkuaXNJbmxpbmVCb3goKSk7CisgICAgICAgIEFTU0VSVChib3goKS5pc0lubGluZUJveCgp
KTsKICAgICB9CiAKICAgICB2b2lkIHRyYXZlcnNlUHJldmlvdXNJbmxpbmVCb3goKQogICAgIHsK
KyAgICAgICAgQVNTRVJUKCFhdEVuZCgpKTsKICAgICAgICAgQVNTRVJUKGJveCgpLmlzSW5saW5l
Qm94KCkpOwogCi0gICAgICAgIGlmIChib3goKS5pc0ZpcnN0Qm94KCkpIHsKKyAgICAgICAgaWYg
KGJveCgpLmlzRmlyc3RGb3JMYXlvdXRCb3goKSkgewogICAgICAgICAgICAgc2V0QXRFbmQoKTsK
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIGF1dG8mIGxheW91dEJv
eCA9IGJveCgpLmxheW91dEJveCgpOwotICAgICAgICBkbyB7Ci0gICAgICAgICAgICB0cmF2ZXJz
ZVByZXZpb3VzQm94KCk7Ci0gICAgICAgIH0gd2hpbGUgKCFhdEVuZCgpICYmICZib3goKS5sYXlv
dXRCb3goKSAhPSAmbGF5b3V0Qm94KTsKKyAgICAgICAgdHJhdmVyc2VQcmV2aW91c1dpdGhTYW1l
TGF5b3V0Qm94KCk7CiAKLSAgICAgICAgQVNTRVJUKGF0RW5kKCkgfHwgYm94KCkuaXNJbmxpbmVC
b3goKSk7CisgICAgICAgIEFTU0VSVChib3goKS5pc0lubGluZUJveCgpKTsKICAgICB9CiAKICAg
ICBCb3hNb2Rlcm5QYXRoIGZpcnN0TGVhZkJveEZvcklubGluZUJveCgpIGNvbnN0CkBAIC0yNDks
NiArMjQ1LDIyIEBAIHByaXZhdGU6CiAgICAgICAgIH0gd2hpbGUgKCFhdEVuZCgpICYmIGJveCgp
LmlzSW5saW5lQm94KCkpOwogICAgIH0KIAorICAgIHZvaWQgdHJhdmVyc2VOZXh0V2l0aFNhbWVM
YXlvdXRCb3goKQorICAgIHsKKyAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gYm94KCkubGF5b3V0
Qm94KCk7CisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIHRyYXZlcnNlTmV4dEJveCgpOworICAg
ICAgICB9IHdoaWxlICghYXRFbmQoKSAmJiAmYm94KCkubGF5b3V0Qm94KCkgIT0gJmxheW91dEJv
eCk7CisgICAgfQorCisgICAgdm9pZCB0cmF2ZXJzZVByZXZpb3VzV2l0aFNhbWVMYXlvdXRCb3go
KQorICAgIHsKKyAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gYm94KCkubGF5b3V0Qm94KCk7Cisg
ICAgICAgIGRvIHsKKyAgICAgICAgICAgIHRyYXZlcnNlUHJldmlvdXNCb3goKTsKKyAgICAgICAg
fSB3aGlsZSAoIWF0RW5kKCkgJiYgJmJveCgpLmxheW91dEJveCgpICE9ICZsYXlvdXRCb3gpOwor
ICAgIH0KKwogICAgIHZvaWQgc2V0QXRFbmQoKSB7IG1fYm94SW5kZXggPSBib3hlcygpLnNpemUo
KTsgfQogCiAgICAgY29uc3QgTGF5b3V0SW50ZWdyYXRpb246OklubGluZUNvbnRlbnQ6OkJveGVz
JiBib3hlcygpIGNvbnN0IHsgcmV0dXJuIG1faW5saW5lQ29udGVudC0+Ym94ZXM7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvclRl
eHRCb3guaCBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRv
clRleHRCb3guaAppbmRleCA3NGZmMjE3ODJlMmZhOTRmYmZlYmVmZjM1YWQ2MDdhZWYxZDViZjkx
Li45ZWY3NmZiNjAxMTQzZTIzN2JkYWIxYjBmY2YxMDk5NmE3MzE5YzBiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JUZXh0Qm94LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0ZXJhdG9yVGV4
dEJveC5oCkBAIC01OSw4ICs1OSw4IEBAIHB1YmxpYzoKICAgICAvLyBGSVhNRTogUmVtb3ZlLiBG
b3IgaW50ZXJtZWRpYXRlIHBvcnRpbmcgc3RlcHMgb25seS4KICAgICBjb25zdCBMZWdhY3lJbmxp
bmVUZXh0Qm94KiBsZWdhY3lJbmxpbmVCb3goKSBjb25zdCB7IHJldHVybiBkb3duY2FzdDxMZWdh
Y3lJbmxpbmVUZXh0Qm94PihCb3g6OmxlZ2FjeUlubGluZUJveCgpKTsgfQogCisgICAgLy8gVGhp
cyByZXR1cm5zIHRoZSBuZXh0IHRleHQgYm94IGdlbmVyYXRlZCBmb3IgdGhlIHNhbWUgUmVuZGVy
VGV4dC9MYXlvdXQ6OklubGluZVRleHRCb3guCiAgICAgVGV4dEJveEl0ZXJhdG9yIG5leHRUZXh0
Qm94KCkgY29uc3Q7Ci0gICAgVGV4dEJveEl0ZXJhdG9yIHByZXZpb3VzVGV4dEJveCgpIGNvbnN0
OwogfTsKIAogY2xhc3MgVGV4dEJveEl0ZXJhdG9yIDogcHVibGljIExlYWZCb3hJdGVyYXRvciB7
CkBAIC03NCw2ICs3NCw3IEBAIHB1YmxpYzoKICAgICBjb25zdCBUZXh0Qm94JiBvcGVyYXRvcioo
KSBjb25zdCB7IHJldHVybiBnZXQoKTsgfQogICAgIGNvbnN0IFRleHRCb3gqIG9wZXJhdG9yLT4o
KSBjb25zdCB7IHJldHVybiAmZ2V0KCk7IH0KIAorICAgIC8vIFRoaXMgdHJhdmVyc2VzIHRvIHRo
ZSBuZXh0IHRleHQgYm94IGdlbmVyYXRlZCBmb3IgdGhlIHNhbWUgUmVuZGVyVGV4dC9MYXlvdXQ6
OklubGluZVRleHRCb3guCiAgICAgVGV4dEJveEl0ZXJhdG9yJiB0cmF2ZXJzZU5leHRUZXh0Qm94
KCk7CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdy
YXRpb24vTGF5b3V0SW50ZWdyYXRpb25QYWdpbmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24uY3BwCmluZGV4IGZl
ODJhZTRiZTE1OGRhMjY1ZWU5ZjI2YWM4YWMxNDhjMWM3ZTBkNzIuLjQzMDQwNzgxZjNhNjBmZmI4
YWIxNDllMjZhZmYyNjkwNDVkYzI5ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2xheW91
dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2xheW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvblBhZ2luYXRpb24u
Y3BwCkBAIC0xNDIsMTYgKzE0Miw5IEBAIHN0YXRpYyBSZWY8SW5saW5lQ29udGVudD4gbWFrZUFk
anVzdGVkQ29udGVudChjb25zdCBJbmxpbmVDb250ZW50JiBpbmxpbmVDb250ZW50CiAKICAgICBh
dXRvIGFkanVzdGVkQm94ID0gWyZdKGNvbnN0IElubGluZURpc3BsYXk6OkJveCYgYm94LCBmbG9h
dCBvZmZzZXQpCiAgICAgewotICAgICAgICByZXR1cm4gSW5saW5lRGlzcGxheTo6Qm94IHsKLSAg
ICAgICAgICAgIGJveC5saW5lSW5kZXgoKSwKLSAgICAgICAgICAgIGJveC50eXBlKCksCi0gICAg
ICAgICAgICBib3gubGF5b3V0Qm94KCksCi0gICAgICAgICAgICBib3guYmlkaUxldmVsKCksCi0g
ICAgICAgICAgICBtb3ZlVmVydGljYWxseShib3gubG9naWNhbFJlY3QoKSwgb2Zmc2V0KSwKLSAg
ICAgICAgICAgIG1vdmVWZXJ0aWNhbGx5KGJveC5pbmtPdmVyZmxvdygpLCBvZmZzZXQpLAotICAg
ICAgICAgICAgYm94LmV4cGFuc2lvbigpLAotICAgICAgICAgICAgYm94LnRleHQoKQotICAgICAg
ICB9OworICAgICAgICBhdXRvIGFkanVzdGVkQm94ID0gYm94OworICAgICAgICBhZGp1c3RlZEJv
eC5tb3ZlVmVydGljYWxseShvZmZzZXQpOworICAgICAgICByZXR1cm4gYWRqdXN0ZWRCb3g7CiAg
ICAgfTsKIAogICAgIGF1dG8gYWRqdXN0ZWRDb250ZW50ID0gSW5saW5lQ29udGVudDo6Y3JlYXRl
KGlubGluZUNvbnRlbnQubGluZUxheW91dCgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>446002</attachid>
            <date>2021-12-05 23:02:37 -0800</date>
            <delta_ts>2021-12-06 00:13:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233858-20211206090235.patch</filename>
            <type>text/plain</type>
            <size>16987</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NTM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmYzNDUxZjJlZjJkZDli
MTMyMjViMDM3NWViZjg4NzAzZTk4OTdjYi4uNjQ2YTQ1YTU1MjlhMTE3OThhODI4YjEwZGY2NzU2
MjYwZDhiNTg4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ4IEBACisyMDIxLTEyLTA1ICBBbnR0
aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBbTEZDXVtJbnRlZ3JhdGlv
bl0gVXNlIGVuZCBiaXRzIGluIHRleHQgYm94IGl0ZXJhdG9yCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzM4NTgKKworICAgICAgICBSZXZpZXdlZCBi
eSBBbGFuIEJ1anRhcy4KKworICAgICAgICBNYWtlIHRleHQgYm94IHRyYXZlcnNhbCB3b3JrIGNv
cnJlY3RseSBpbiBiaWRpIGNvbnRleHQgd2hlcmUgZW5jb3VudGVyaW5nIGEgZGlmZmVyZW50Cisg
ICAgICAgIGxheW91dCBib3ggZG9lcyBub3QgbmVjZXNzYXJpbHkgbWVhbiB0aGVyZSBhcmUgbm8g
ZnVydGhlciB0ZXh0IGJveGVzIGZvciB0aGUgbGF5b3V0IGJveC4KKworICAgICAgICAqIGxheW91
dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpMYXlvdXQ6OklubGluZURpc3BsYXlDb250ZW50QnVpbGRl
cjo6cHJvY2Vzc0JpZGlDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkxheW91dDo6SW5saW5l
RGlzcGxheUNvbnRlbnRCdWlsZGVyOjpjb21wdXRlSXNGaXJzdElzTGFzdEJveEZvcklubGluZUNv
bnRlbnQpOgorCisgICAgICAgIFNldCB0aGUgYml0cyBmb3IgYWxsIGJveCB0eXBlcy4KKworICAg
ICAgICAqIGxheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL2Rpc3BsYXkvSW5saW5lRGlz
cGxheUJveC5oOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94OjpCb3gpOgor
ICAgICAgICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94Ojppc1RleHRPclNvZnRMaW5lQnJl
YWsgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94Ojppc0ZpcnN0
Rm9yTGF5b3V0Qm94IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZURpc3BsYXk6OkJv
eDo6aXNMYXN0Rm9yTGF5b3V0Qm94IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OklubGluZURp
c3BsYXk6OkJveDo6c2V0SXNGaXJzdEZvckxheW91dEJveCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bmxpbmVEaXNwbGF5OjpCb3g6OnNldElzTGFzdEZvckxheW91dEJveCk6CisgICAgICAgIChXZWJD
b3JlOjpJbmxpbmVEaXNwbGF5OjpCb3g6OmlzRmlyc3RCb3ggY29uc3QpOiBEZWxldGVkLgorICAg
ICAgICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94Ojppc0xhc3RCb3ggY29uc3QpOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94OjpzZXRJc0xhc3RCb3gp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRGlzcGxheTo6Qm94OjpzZXRJc0Zp
cnN0Qm94KTogRGVsZXRlZC4KKworICAgICAgICBSZW5hbWVkIGZvciBjbGFyaXR5IGFuZCBjb3Jy
ZWN0bmVzcy4KKworICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvckJv
eE1vZGVyblBhdGguaDoKKyAgICAgICAgKFdlYkNvcmU6OklubGluZUl0ZXJhdG9yOjpCb3hNb2Rl
cm5QYXRoOjppc1RleHQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lSXRlcmF0b3I6
OkJveE1vZGVyblBhdGg6OnRyYXZlcnNlTmV4dFRleHRCb3gpOgorCisgICAgICAgIFVzZSB0aGUg
aXNMYXN0Rm9yTGF5b3V0Qm94IGJpdCB0byBlbmQgdGhlIHRyYXZlcnNhbC4KKworICAgICAgICAo
V2ViQ29yZTo6SW5saW5lSXRlcmF0b3I6OkJveE1vZGVyblBhdGg6OnRyYXZlcnNlTmV4dElubGlu
ZUJveCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJdGVyYXRvcjo6Qm94TW9kZXJuUGF0aDo6
dHJhdmVyc2VQcmV2aW91c0lubGluZUJveCk6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVJdGVy
YXRvcjo6Qm94TW9kZXJuUGF0aDo6dHJhdmVyc2VOZXh0V2l0aFNhbWVMYXlvdXRCb3gpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5saW5lSXRlcmF0b3I6OkJveE1vZGVyblBhdGg6OnRyYXZlcnNlUHJl
dmlvdXNXaXRoU2FtZUxheW91dEJveCk6CisKKyAgICAgICAgRmFjdG9yIGludG8gaGVscGVycy4K
KworICAgICAgICAqIGxheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvclRleHRCb3guaDoK
KwogMjAyMS0xMi0wNCAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAg
W0xGQ11bSUZDXSBDb21wdXRlIGlzRmlyc3RCb3gvaXNMYXN0Qm94IGZvciB0ZXh0IGNvbnRlbnQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5s
aW5lL0lubGluZURpc3BsYXlDb250ZW50QnVpbGRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9JbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxkZXIu
Y3BwCmluZGV4IDc5N2FjMDMxODE4OWUyZDU0MTJhYzZiMGExNjkxZWZkMmRjZWZmOWYuLjY5N2Fl
Mjg5YjNkMWU1ODRlOTczZDZiOWU5MDcyMDc2ZDNjMTIyN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xheW91dC9mb3JtYXR0aW5nQ29udGV4dHMvaW5saW5lL0lubGluZURpc3BsYXlDb250
ZW50QnVpbGRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250
ZXh0cy9pbmxpbmUvSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyLmNwcApAQCAtNDc4LDcgKzQ3
OCw3IEBAIHZvaWQgSW5saW5lRGlzcGxheUNvbnRlbnRCdWlsZGVyOjpwcm9jZXNzQmlkaUNvbnRl
bnQoY29uc3QgTGluZUJ1aWxkZXI6OkxpbmVDb250CiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYXV0byBsYXN0RGlzcGxheUJveEZvcklubGluZUJveEluZGV4ID0gaW5saW5lQm94RGlzcGxh
eUJveE1hcC50YWtlKGlubGluZUJveCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0
byBpc0ZpcnN0RnJhZ21lbnQgPSAhbGFzdERpc3BsYXlCb3hGb3JJbmxpbmVCb3hJbmRleDsKICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWlzRmlyc3RGcmFnbWVudCkKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYm94ZXNbbGFzdERpc3BsYXlCb3hGb3JJbmxpbmVCb3hJ
bmRleF0uc2V0SXNMYXN0Qm94KGZhbHNlKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYm94ZXNbbGFzdERpc3BsYXlCb3hGb3JJbmxpbmVCb3hJbmRleF0uc2V0SXNMYXN0Rm9yTGF5
b3V0Qm94KGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmxpbmVCb3hEaXNw
bGF5Qm94TWFwLnNldChpbmxpbmVCb3gsIGluZGV4KTsKIAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGF1dG8mIGJveEdlb21ldHJ5ID0gZm9ybWF0dGluZ1N0YXRlKCkuYm94R2VvbWV0cnko
KmlubGluZUJveCk7CkBAIC01MzQsMTMgKzUzNCwxMyBAQCB2b2lkIElubGluZURpc3BsYXlDb250
ZW50QnVpbGRlcjo6cHJvY2Vzc0JpZGlDb250ZW50KGNvbnN0IExpbmVCdWlsZGVyOjpMaW5lQ29u
dAogCiAgICAgICAgICAgICAgICAgYXV0byYgYm94R2VvbWV0cnkgPSBmb3JtYXR0aW5nU3RhdGUo
KS5ib3hHZW9tZXRyeShpbmxpbmVCb3hEaXNwbGF5Qm94LmxheW91dEJveCgpKTsKICAgICAgICAg
ICAgICAgICBhdXRvIGNvbnRlbnRSaWdodCA9IGRpc3BsYXlCb3gubG9naWNhbFJpZ2h0KCk7Ci0g
ICAgICAgICAgICAgICAgaWYgKGlubGluZUJveERpc3BsYXlCb3guaXNMYXN0Qm94KCkpIHsKKyAg
ICAgICAgICAgICAgICBpZiAoaW5saW5lQm94RGlzcGxheUJveC5pc0xhc3RGb3JMYXlvdXRCb3go
KSkgewogICAgICAgICAgICAgICAgICAgICBhY2N1bXVsYXRlZE9mZnNldCArPSBib3hHZW9tZXRy
eS5ib3JkZXJBbmRQYWRkaW5nRW5kKCkgKyBib3hHZW9tZXRyeS5tYXJnaW5FbmQoKTsKICAgICAg
ICAgICAgICAgICAgICAgaW5saW5lQm94RGlzcGxheUJveC5zZXRMb2dpY2FsUmlnaHQoY29udGVu
dFJpZ2h0ICsgYm94R2VvbWV0cnkuYm9yZGVyQW5kUGFkZGluZ0VuZCgpKTsKICAgICAgICAgICAg
ICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICAgICAgaW5saW5lQm94RGlzcGxheUJveC5zZXRM
b2dpY2FsUmlnaHQoY29udGVudFJpZ2h0KTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlm
IChkaXNwbGF5Qm94LmlzTm9uUm9vdElubGluZUJveCgpICYmIGRpc3BsYXlCb3guaXNGaXJzdEJv
eCgpKSB7CisgICAgICAgICAgICBpZiAoZGlzcGxheUJveC5pc05vblJvb3RJbmxpbmVCb3goKSAm
JiBkaXNwbGF5Qm94LmlzRmlyc3RGb3JMYXlvdXRCb3goKSkgewogICAgICAgICAgICAgICAgIGF1
dG8mIGxheW91dEJveCA9IGRpc3BsYXlCb3gubGF5b3V0Qm94KCk7CiAgICAgICAgICAgICAgICAg
YXV0byYgYm94R2VvbWV0cnkgPSBmb3JtYXR0aW5nU3RhdGUoKS5ib3hHZW9tZXRyeShsYXlvdXRC
b3gpOwogCkBAIC01NTYsNyArNTU2LDcgQEAgdm9pZCBJbmxpbmVEaXNwbGF5Q29udGVudEJ1aWxk
ZXI6OnByb2Nlc3NCaWRpQ29udGVudChjb25zdCBMaW5lQnVpbGRlcjo6TGluZUNvbnQKICAgICAg
ICAgQVNTRVJUKCFpbmxpbmVCb3hSYW5nZUxpc3QuaXNFbXB0eSgpKTsKICAgICAgICAgZm9yIChh
dXRvJiBpbmxpbmVCb3hSYW5nZSA6IGlubGluZUJveFJhbmdlTGlzdCkgewogICAgICAgICAgICAg
YXV0byYgaW5saW5lQm94RGlzcGxheUJveCA9IGJveGVzW2lubGluZUJveFJhbmdlLmJlZ2luKCld
OwotICAgICAgICAgICAgc2V0SW5saW5lQm94R2VvbWV0cnkoaW5saW5lQm94RGlzcGxheUJveC5s
YXlvdXRCb3goKSwgaW5saW5lQm94RGlzcGxheUJveC5sb2dpY2FsUmVjdCgpLCBpbmxpbmVCb3hE
aXNwbGF5Qm94LmlzRmlyc3RCb3goKSk7CisgICAgICAgICAgICBzZXRJbmxpbmVCb3hHZW9tZXRy
eShpbmxpbmVCb3hEaXNwbGF5Qm94LmxheW91dEJveCgpLCBpbmxpbmVCb3hEaXNwbGF5Qm94Lmxv
Z2ljYWxSZWN0KCksIGlubGluZUJveERpc3BsYXlCb3guaXNGaXJzdEZvckxheW91dEJveCgpKTsK
ICAgICAgICAgfQogICAgIH07CiAgICAgaWYgKG5lZWRzTm9uUm9vdElubGluZUJveERpc3BsYXlC
b3gpCkBAIC02NTMsMjAgKzY1MywyNiBAQCB2b2lkIElubGluZURpc3BsYXlDb250ZW50QnVpbGRl
cjo6Y29sbGVjdElua092ZXJmbG93Rm9ySW5saW5lQm94ZXMoY29uc3QgTGluZUJveAogCiB2b2lk
IElubGluZURpc3BsYXlDb250ZW50QnVpbGRlcjo6Y29tcHV0ZUlzRmlyc3RJc0xhc3RCb3hGb3JJ
bmxpbmVDb250ZW50KERpc3BsYXlCb3hlcyYgYm94ZXMpCiB7Ci0gICAgSGFzaE1hcDxjb25zdCBC
b3gqLCBzaXplX3Q+IGxhc3REaXNwbGF5Qm94Rm9ySW5saW5lVGV4dEJveEluZGV4ZXM7CisgICAg
SGFzaE1hcDxjb25zdCBCb3gqLCBzaXplX3Q+IGxhc3REaXNwbGF5Qm94Rm9yTGF5b3V0Qm94SW5k
ZXhlczsKKwogICAgIEFTU0VSVChib3hlc1swXS5pc1Jvb3RJbmxpbmVCb3goKSk7CisgICAgYm94
ZXNbMF0uc2V0SXNGaXJzdEZvckxheW91dEJveCh0cnVlKTsKKyAgICBzaXplX3QgbGFzdFJvb3RJ
bmxpbmVCb3hJbmRleCA9IDA7CisKICAgICBmb3IgKHNpemVfdCBpbmRleCA9IDE7IGluZGV4IDwg
Ym94ZXMuc2l6ZSgpOyArK2luZGV4KSB7CiAgICAgICAgIGF1dG8mIGRpc3BsYXlCb3ggPSBib3hl
c1tpbmRleF07Ci0gICAgICAgIC8vIEZJWE1FOiBUcmFuc2l0aW9uIHRoZSBpbmxpbmUgYm94IGlz
Rmlyc3QvaXNMYXN0IGNvbXB1dGF0aW9uIGhlcmUgYXMgd2VsbC4KLSAgICAgICAgaWYgKCFkaXNw
bGF5Qm94LmlzVGV4dCgpKQorICAgICAgICBpZiAoZGlzcGxheUJveC5pc1Jvb3RJbmxpbmVCb3go
KSkgeworICAgICAgICAgICAgbGFzdFJvb3RJbmxpbmVCb3hJbmRleCA9IGluZGV4OwogICAgICAg
ICAgICAgY29udGludWU7CisgICAgICAgIH0KICAgICAgICAgYXV0byYgbGF5b3V0Qm94ID0gZGlz
cGxheUJveC5sYXlvdXRCb3goKTsKLSAgICAgICAgaWYgKCFsYXN0RGlzcGxheUJveEZvcklubGlu
ZVRleHRCb3hJbmRleGVzLmNvbnRhaW5zKCZsYXlvdXRCb3gpKQotICAgICAgICAgICAgZGlzcGxh
eUJveC5zZXRJc0ZpcnN0Qm94KHRydWUpOwotICAgICAgICBsYXN0RGlzcGxheUJveEZvcklubGlu
ZVRleHRCb3hJbmRleGVzLnNldCgmbGF5b3V0Qm94LCBpbmRleCk7CisgICAgICAgIGlmIChsYXN0
RGlzcGxheUJveEZvckxheW91dEJveEluZGV4ZXMuc2V0KCZsYXlvdXRCb3gsIGluZGV4KS5pc05l
d0VudHJ5KQorICAgICAgICAgICAgZGlzcGxheUJveC5zZXRJc0ZpcnN0Rm9yTGF5b3V0Qm94KHRy
dWUpOwogICAgIH0KLSAgICBmb3IgKGF1dG8gbGFzdERpc3BsYXlCb3hGb3JJbmxpbmVUZXh0Qm94
SW5kZXggOiBsYXN0RGlzcGxheUJveEZvcklubGluZVRleHRCb3hJbmRleGVzKQotICAgICAgICBi
b3hlc1tsYXN0RGlzcGxheUJveEZvcklubGluZVRleHRCb3hJbmRleC52YWx1ZV0uc2V0SXNMYXN0
Qm94KHRydWUpOworICAgIGZvciAoYXV0byBpbmRleCA6IGxhc3REaXNwbGF5Qm94Rm9yTGF5b3V0
Qm94SW5kZXhlcy52YWx1ZXMoKSkKKyAgICAgICAgYm94ZXNbaW5kZXhdLnNldElzTGFzdEZvckxh
eW91dEJveCh0cnVlKTsKKworICAgIGJveGVzW2xhc3RSb290SW5saW5lQm94SW5kZXhdLnNldElz
TGFzdEZvckxheW91dEJveCh0cnVlKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvbGF5b3V0L2Zvcm1hdHRpbmdDb250ZXh0cy9pbmxpbmUvZGlzcGxheS9JbmxpbmVEaXNwbGF5
Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9k
aXNwbGF5L0lubGluZURpc3BsYXlCb3guaAppbmRleCA3MmUzM2EyZWQyNDExN2QzZjJiYzE5MDFh
Y2M1MmFiOTU0ZWUwZGQ2Li41ZjBhMjc1MDQ0ZjQ2MDJlNDU2NjM0ZjBiMTRkY2ZiYzYzZGJjM2Uz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvZm9ybWF0dGluZ0NvbnRleHRzL2lu
bGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvZm9ybWF0dGluZ0NvbnRleHRzL2lubGluZS9kaXNwbGF5L0lubGluZURpc3BsYXlCb3guaApA
QCAtNzQsMTEgKzc0LDEyIEBAIHN0cnVjdCBCb3ggewogICAgICAgICBGaXJzdCA9IDEgPDwgMCwK
ICAgICAgICAgTGFzdCAgPSAxIDw8IDEKICAgICB9OwotICAgIEJveChzaXplX3QgbGluZUluZGV4
LCBUeXBlLCBjb25zdCBMYXlvdXQ6OkJveCYsIFVCaURpTGV2ZWwsIGNvbnN0IExheW91dDo6SW5s
aW5lUmVjdCYsIGNvbnN0IExheW91dDo6SW5saW5lUmVjdCYgaW5rT3ZlcmZsb3csIEV4cGFuc2lv
biwgc3RkOjpvcHRpb25hbDxUZXh0PiA9IHN0ZDo6bnVsbG9wdCwgYm9vbCBoYXNDb250ZW50ID0g
dHJ1ZSwgT3B0aW9uU2V0PFBvc2l0aW9uV2l0aGluSW5saW5lTGV2ZWxCb3g+ID0geyBQb3NpdGlv
bldpdGhpbklubGluZUxldmVsQm94OjpGaXJzdCwgUG9zaXRpb25XaXRoaW5JbmxpbmVMZXZlbEJv
eDo6TGFzdCB9KTsKKyAgICBCb3goc2l6ZV90IGxpbmVJbmRleCwgVHlwZSwgY29uc3QgTGF5b3V0
OjpCb3gmLCBVQmlEaUxldmVsLCBjb25zdCBMYXlvdXQ6OklubGluZVJlY3QmLCBjb25zdCBMYXlv
dXQ6OklubGluZVJlY3QmIGlua092ZXJmbG93LCBFeHBhbnNpb24sIHN0ZDo6b3B0aW9uYWw8VGV4
dD4gPSBzdGQ6Om51bGxvcHQsIGJvb2wgaGFzQ29udGVudCA9IHRydWUsIE9wdGlvblNldDxQb3Np
dGlvbldpdGhpbklubGluZUxldmVsQm94PiA9IHsgfSk7CiAKICAgICBib29sIGlzVGV4dCgpIGNv
bnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBUeXBlOjpUZXh0OyB9CiAgICAgYm9vbCBpc0VsbGlwc2lz
KCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IFR5cGU6OkVsbGlwc2lzOyB9CiAgICAgYm9vbCBp
c1NvZnRMaW5lQnJlYWsoKSBjb25zdCB7IHJldHVybiBtX3R5cGUgPT0gVHlwZTo6U29mdExpbmVC
cmVhazsgfQorICAgIGJvb2wgaXNUZXh0T3JTb2Z0TGluZUJyZWFrKCkgY29uc3QgeyByZXR1cm4g
aXNUZXh0KCkgfHwgaXNTb2Z0TGluZUJyZWFrKCk7IH0KICAgICBib29sIGlzTGluZUJyZWFrQm94
KCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IFR5cGU6OkxpbmVCcmVha0JveDsgfQogICAgIGJv
b2wgaXNMaW5lQnJlYWsoKSBjb25zdCB7IHJldHVybiBpc1NvZnRMaW5lQnJlYWsoKSB8fCBpc0xp
bmVCcmVha0JveCgpOyB9CiAgICAgYm9vbCBpc0F0b21pY0lubGluZUxldmVsQm94KCkgY29uc3Qg
eyByZXR1cm4gbV90eXBlID09IFR5cGU6OkF0b21pY0lubGluZUxldmVsQm94OyB9CkBAIC0xMDUs
OCArMTA2LDE2IEBAIHN0cnVjdCBCb3ggewogICAgIExheW91dDo6SW5saW5lTGF5b3V0VW5pdCBs
b2dpY2FsV2lkdGgoKSBjb25zdCB7IHJldHVybiBsb2dpY2FsUmVjdCgpLndpZHRoKCk7IH0KICAg
ICBMYXlvdXQ6OklubGluZUxheW91dFVuaXQgbG9naWNhbEhlaWdodCgpIGNvbnN0IHsgcmV0dXJu
IGxvZ2ljYWxSZWN0KCkuaGVpZ2h0KCk7IH0KIAotICAgIHZvaWQgbW92ZVZlcnRpY2FsbHkoTGF5
b3V0OjpJbmxpbmVMYXlvdXRVbml0IG9mZnNldCkgeyBtX2xvZ2ljYWxSZWN0Lm1vdmVWZXJ0aWNh
bGx5KG9mZnNldCk7IH0KLSAgICB2b2lkIG1vdmVIb3Jpem9udGFsbHkoTGF5b3V0OjpJbmxpbmVM
YXlvdXRVbml0IG9mZnNldCkgeyBtX2xvZ2ljYWxSZWN0Lm1vdmVIb3Jpem9udGFsbHkob2Zmc2V0
KTsgfQorICAgIHZvaWQgbW92ZVZlcnRpY2FsbHkoTGF5b3V0OjpJbmxpbmVMYXlvdXRVbml0IG9m
ZnNldCkKKyAgICB7CisgICAgICAgIG1fbG9naWNhbFJlY3QubW92ZVZlcnRpY2FsbHkob2Zmc2V0
KTsKKyAgICAgICAgbV9pbmtPdmVyZmxvdy5tb3ZlVmVydGljYWxseShvZmZzZXQpOworICAgIH0K
KyAgICB2b2lkIG1vdmVIb3Jpem9udGFsbHkoTGF5b3V0OjpJbmxpbmVMYXlvdXRVbml0IG9mZnNl
dCkKKyAgICB7CisgICAgICAgIG1fbG9naWNhbFJlY3QubW92ZUhvcml6b250YWxseShvZmZzZXQp
OworICAgICAgICBtX2lua092ZXJmbG93Lm1vdmVIb3Jpem9udGFsbHkob2Zmc2V0KTsKKyAgICB9
CiAgICAgdm9pZCBhZGp1c3RJbmtPdmVyZmxvdyhjb25zdCBMYXlvdXQ6OklubGluZVJlY3QmIGNo
aWxkQm9yZGVyQm94KSB7IHJldHVybiBtX2lua092ZXJmbG93LmV4cGFuZFRvQ29udGFpbihjaGls
ZEJvcmRlckJveCk7IH0KICAgICB2b2lkIHRydW5jYXRlKExheW91dDo6SW5saW5lTGF5b3V0VW5p
dCB0cnVuY2F0ZWR3aWR0aCA9IDAuZik7CiAgICAgdm9pZCBzZXRMb2dpY2FsUmlnaHQoTGF5b3V0
OjpJbmxpbmVMYXlvdXRVbml0IHJpZ2h0KSB7IG1fbG9naWNhbFJlY3Quc2V0UmlnaHQocmlnaHQp
OyB9CkBAIC0xMjYsMTEgKzEzNSwxMSBAQCBzdHJ1Y3QgQm94IHsKICAgICBzaXplX3QgbGluZUlu
ZGV4KCkgY29uc3QgeyByZXR1cm4gbV9saW5lSW5kZXg7IH0KICAgICAvLyBUaGVzZSBmdW5jdGlv
bnMgdGVsbCB5b3Ugd2hldGhlciB0aGlzIGRpc3BsYXkgYm94IGlzIHRoZSBmaXJzdC9sYXN0IGZv
ciB0aGUgYXNzb2NpYXRlZCBpbmxpbmUgbGV2ZWwgYm94IChMYXlvdXQ6OkJveCkgYW5kIG5vdCB3
aGV0aGVyIGl0J3MgdGhlIGZpcnN0L2xhc3QgYm94IG9uIHRoZSBsaW5lLgogICAgIC8vIChlLmcu
IGFsd2F5cyB0cnVlIGZvciBhdG9taWMgYm94ZXMsIGJ1dCBpbmxpbmUgYm94ZXMgc3Bhbm5pbmcg
b3ZlciBtdWx0aXBsZSBsaW5lcyBjYW4gcHJvZHVjZSBpbmRpdmlkdWFsIGZpcnN0L2xhc3QgYm94
ZXMpLgotICAgIGJvb2wgaXNGaXJzdEJveCgpIGNvbnN0IHsgcmV0dXJuIG1faXNGaXJzdFdpdGhp
bklubGluZUxldmVsQm94OyB9Ci0gICAgYm9vbCBpc0xhc3RCb3goKSBjb25zdCB7IHJldHVybiBt
X2lzTGFzdFdpdGhpbklubGluZUxldmVsQm94OyB9CisgICAgYm9vbCBpc0ZpcnN0Rm9yTGF5b3V0
Qm94KCkgY29uc3QgeyByZXR1cm4gbV9pc0ZpcnN0Rm9yTGF5b3V0Qm94OyB9CisgICAgYm9vbCBp
c0xhc3RGb3JMYXlvdXRCb3goKSBjb25zdCB7IHJldHVybiBtX2lzTGFzdEZvckxheW91dEJveDsg
fQogCi0gICAgdm9pZCBzZXRJc0xhc3RCb3goYm9vbCBpc0xhc3RCb3gpIHsgbV9pc0xhc3RXaXRo
aW5JbmxpbmVMZXZlbEJveCA9IGlzTGFzdEJveDsgfQotICAgIHZvaWQgc2V0SXNGaXJzdEJveChi
b29sIGlzRmlyc3RCb3gpIHsgbV9pc0ZpcnN0V2l0aGluSW5saW5lTGV2ZWxCb3ggPSBpc0ZpcnN0
Qm94OyB9CisgICAgdm9pZCBzZXRJc0ZpcnN0Rm9yTGF5b3V0Qm94KGJvb2wgaXNGaXJzdEJveCkg
eyBtX2lzRmlyc3RGb3JMYXlvdXRCb3ggPSBpc0ZpcnN0Qm94OyB9CisgICAgdm9pZCBzZXRJc0xh
c3RGb3JMYXlvdXRCb3goYm9vbCBpc0xhc3RCb3gpIHsgbV9pc0xhc3RGb3JMYXlvdXRCb3ggPSBp
c0xhc3RCb3g7IH0KIAogcHJpdmF0ZToKICAgICBjb25zdCBzaXplX3QgbV9saW5lSW5kZXggeyAw
IH07CkBAIC0xNDAsOCArMTQ5LDggQEAgcHJpdmF0ZToKICAgICBMYXlvdXQ6OklubGluZVJlY3Qg
bV9sb2dpY2FsUmVjdDsKICAgICBMYXlvdXQ6OklubGluZVJlY3QgbV9pbmtPdmVyZmxvdzsKICAg
ICBib29sIG1faGFzQ29udGVudCA6IDE7Ci0gICAgYm9vbCBtX2lzRmlyc3RXaXRoaW5JbmxpbmVM
ZXZlbEJveCA6IDE7Ci0gICAgYm9vbCBtX2lzTGFzdFdpdGhpbklubGluZUxldmVsQm94IDogMTsK
KyAgICBib29sIG1faXNGaXJzdEZvckxheW91dEJveCA6IDE7CisgICAgYm9vbCBtX2lzTGFzdEZv
ckxheW91dEJveCA6IDE7CiAgICAgRXhwYW5zaW9uIG1fZXhwYW5zaW9uOwogICAgIHN0ZDo6b3B0
aW9uYWw8VGV4dD4gbV90ZXh0OwogfTsKQEAgLTE1NCw4ICsxNjMsOCBAQCBpbmxpbmUgQm94OjpC
b3goc2l6ZV90IGxpbmVJbmRleCwgVHlwZSB0eXBlLCBjb25zdCBMYXlvdXQ6OkJveCYgbGF5b3V0
Qm94LCBVQmlEaQogICAgICwgbV9sb2dpY2FsUmVjdChsb2dpY2FsUmVjdCkKICAgICAsIG1faW5r
T3ZlcmZsb3coaW5rT3ZlcmZsb3cpCiAgICAgLCBtX2hhc0NvbnRlbnQoaGFzQ29udGVudCkKLSAg
ICAsIG1faXNGaXJzdFdpdGhpbklubGluZUxldmVsQm94KHBvc2l0aW9uV2l0aGluSW5saW5lTGV2
ZWxCb3guY29udGFpbnMoUG9zaXRpb25XaXRoaW5JbmxpbmVMZXZlbEJveDo6Rmlyc3QpKQotICAg
ICwgbV9pc0xhc3RXaXRoaW5JbmxpbmVMZXZlbEJveChwb3NpdGlvbldpdGhpbklubGluZUxldmVs
Qm94LmNvbnRhaW5zKFBvc2l0aW9uV2l0aGluSW5saW5lTGV2ZWxCb3g6Okxhc3QpKQorICAgICwg
bV9pc0ZpcnN0Rm9yTGF5b3V0Qm94KHBvc2l0aW9uV2l0aGluSW5saW5lTGV2ZWxCb3guY29udGFp
bnMoUG9zaXRpb25XaXRoaW5JbmxpbmVMZXZlbEJveDo6Rmlyc3QpKQorICAgICwgbV9pc0xhc3RG
b3JMYXlvdXRCb3gocG9zaXRpb25XaXRoaW5JbmxpbmVMZXZlbEJveC5jb250YWlucyhQb3NpdGlv
bldpdGhpbklubGluZUxldmVsQm94OjpMYXN0KSkKICAgICAsIG1fZXhwYW5zaW9uKGV4cGFuc2lv
bikKICAgICAsIG1fdGV4dCh0ZXh0KQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbGF5
b3V0L2ludGVncmF0aW9uL0lubGluZUl0ZXJhdG9yQm94TW9kZXJuUGF0aC5oIGIvU291cmNlL1dl
YkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0lubGluZUl0ZXJhdG9yQm94TW9kZXJuUGF0aC5oCmlu
ZGV4IGU3ZWY2ZGJhM2E5ZDcwNzgzNzc0OWNlNzgwMjgyOWNmYWQwNWM5YTQuLjhhYzZkZTA0ZWE5
YzE0ZGM0ZGYxMDMwYTBjM2RhOGQ2OTM4Y2RlZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xheW91dC9pbnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvckJveE1vZGVyblBhdGguaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JCb3hNb2Rlcm5Q
YXRoLmgKQEAgLTQ4LDcgKzQ4LDcgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICBib29s
IGlzVGV4dCgpIGNvbnN0IHsgcmV0dXJuICEhYm94KCkudGV4dCgpOyB9CisgICAgYm9vbCBpc1Rl
eHQoKSBjb25zdCB7IHJldHVybiBib3goKS5pc1RleHRPclNvZnRMaW5lQnJlYWsoKTsgfQogICAg
IGJvb2wgaXNJbmxpbmVCb3goKSBjb25zdCB7IHJldHVybiBib3goKS5pc0lubGluZUJveCgpOyB9
CiAgICAgYm9vbCBpc1Jvb3RJbmxpbmVCb3goKSBjb25zdCB7IHJldHVybiBib3goKS5pc1Jvb3RJ
bmxpbmVCb3goKTsgfQogCkBAIC0xMDYsMTYgKzEwNiwxNiBAQCBwdWJsaWM6CiAgICAgdm9pZCB0
cmF2ZXJzZU5leHRUZXh0Qm94KCkKICAgICB7CiAgICAgICAgIEFTU0VSVCghYXRFbmQoKSk7Ci0g
ICAgICAgIEFTU0VSVChib3goKS50ZXh0KCkpOworICAgICAgICBBU1NFUlQoYm94KCkuaXNUZXh0
T3JTb2Z0TGluZUJyZWFrKCkpOwogCi0gICAgICAgIGF1dG8mIGxheW91dEJveCA9IGJveCgpLmxh
eW91dEJveCgpOwotCi0gICAgICAgIHRyYXZlcnNlTmV4dExlYWYoKTsKLQotICAgICAgICBpZiAo
IWF0RW5kKCkgJiYgJmxheW91dEJveCAhPSAmYm94KCkubGF5b3V0Qm94KCkpCisgICAgICAgIGlm
IChib3goKS5pc0xhc3RGb3JMYXlvdXRCb3goKSkgewogICAgICAgICAgICAgc2V0QXRFbmQoKTsK
KyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHRyYXZlcnNlTmV4dFdp
dGhTYW1lTGF5b3V0Qm94KCk7CiAKLSAgICAgICAgQVNTRVJUKGF0RW5kKCkgfHwgYm94KCkudGV4
dCgpKTsKKyAgICAgICAgQVNTRVJUKGJveCgpLmlzVGV4dE9yU29mdExpbmVCcmVhaygpKTsKICAg
ICB9CiAKICAgICB2b2lkIHRyYXZlcnNlTmV4dE9uTGluZSgpCkBAIC0xNDQsMzYgKzE0NCwzMiBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIHRyYXZlcnNlTmV4dElubGluZUJveCgpCiAgICAgeworICAg
ICAgICBBU1NFUlQoIWF0RW5kKCkpOwogICAgICAgICBBU1NFUlQoYm94KCkuaXNJbmxpbmVCb3go
KSk7CiAKLSAgICAgICAgaWYgKGJveCgpLmlzTGFzdEJveCgpKSB7CisgICAgICAgIGlmIChib3go
KS5pc0xhc3RGb3JMYXlvdXRCb3goKSkgewogICAgICAgICAgICAgc2V0QXRFbmQoKTsKICAgICAg
ICAgICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIGF1dG8mIGxheW91dEJveCA9IGJv
eCgpLmxheW91dEJveCgpOwotICAgICAgICBkbyB7Ci0gICAgICAgICAgICB0cmF2ZXJzZU5leHRC
b3goKTsKLSAgICAgICAgfSB3aGlsZSAoIWF0RW5kKCkgJiYgJmJveCgpLmxheW91dEJveCgpICE9
ICZsYXlvdXRCb3gpOworICAgICAgICB0cmF2ZXJzZU5leHRXaXRoU2FtZUxheW91dEJveCgpOwog
Ci0gICAgICAgIEFTU0VSVChhdEVuZCgpIHx8IGJveCgpLmlzSW5saW5lQm94KCkpOworICAgICAg
ICBBU1NFUlQoYm94KCkuaXNJbmxpbmVCb3goKSk7CiAgICAgfQogCiAgICAgdm9pZCB0cmF2ZXJz
ZVByZXZpb3VzSW5saW5lQm94KCkKICAgICB7CisgICAgICAgIEFTU0VSVCghYXRFbmQoKSk7CiAg
ICAgICAgIEFTU0VSVChib3goKS5pc0lubGluZUJveCgpKTsKIAotICAgICAgICBpZiAoYm94KCku
aXNGaXJzdEJveCgpKSB7CisgICAgICAgIGlmIChib3goKS5pc0ZpcnN0Rm9yTGF5b3V0Qm94KCkp
IHsKICAgICAgICAgICAgIHNldEF0RW5kKCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IH0KIAotICAgICAgICBhdXRvJiBsYXlvdXRCb3ggPSBib3goKS5sYXlvdXRCb3goKTsKLSAgICAg
ICAgZG8gewotICAgICAgICAgICAgdHJhdmVyc2VQcmV2aW91c0JveCgpOwotICAgICAgICB9IHdo
aWxlICghYXRFbmQoKSAmJiAmYm94KCkubGF5b3V0Qm94KCkgIT0gJmxheW91dEJveCk7CisgICAg
ICAgIHRyYXZlcnNlUHJldmlvdXNXaXRoU2FtZUxheW91dEJveCgpOwogCi0gICAgICAgIEFTU0VS
VChhdEVuZCgpIHx8IGJveCgpLmlzSW5saW5lQm94KCkpOworICAgICAgICBBU1NFUlQoYm94KCku
aXNJbmxpbmVCb3goKSk7CiAgICAgfQogCiAgICAgQm94TW9kZXJuUGF0aCBmaXJzdExlYWZCb3hG
b3JJbmxpbmVCb3goKSBjb25zdApAQCAtMjQ5LDYgKzI0NSwyMiBAQCBwcml2YXRlOgogICAgICAg
ICB9IHdoaWxlICghYXRFbmQoKSAmJiBib3goKS5pc0lubGluZUJveCgpKTsKICAgICB9CiAKKyAg
ICB2b2lkIHRyYXZlcnNlTmV4dFdpdGhTYW1lTGF5b3V0Qm94KCkKKyAgICB7CisgICAgICAgIGF1
dG8mIGxheW91dEJveCA9IGJveCgpLmxheW91dEJveCgpOworICAgICAgICBkbyB7CisgICAgICAg
ICAgICB0cmF2ZXJzZU5leHRCb3goKTsKKyAgICAgICAgfSB3aGlsZSAoIWF0RW5kKCkgJiYgJmJv
eCgpLmxheW91dEJveCgpICE9ICZsYXlvdXRCb3gpOworICAgIH0KKworICAgIHZvaWQgdHJhdmVy
c2VQcmV2aW91c1dpdGhTYW1lTGF5b3V0Qm94KCkKKyAgICB7CisgICAgICAgIGF1dG8mIGxheW91
dEJveCA9IGJveCgpLmxheW91dEJveCgpOworICAgICAgICBkbyB7CisgICAgICAgICAgICB0cmF2
ZXJzZVByZXZpb3VzQm94KCk7CisgICAgICAgIH0gd2hpbGUgKCFhdEVuZCgpICYmICZib3goKS5s
YXlvdXRCb3goKSAhPSAmbGF5b3V0Qm94KTsKKyAgICB9CisKICAgICB2b2lkIHNldEF0RW5kKCkg
eyBtX2JveEluZGV4ID0gYm94ZXMoKS5zaXplKCk7IH0KIAogICAgIGNvbnN0IExheW91dEludGVn
cmF0aW9uOjpJbmxpbmVDb250ZW50OjpCb3hlcyYgYm94ZXMoKSBjb25zdCB7IHJldHVybiBtX2lu
bGluZUNvbnRlbnQtPmJveGVzOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQv
aW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JUZXh0Qm94LmggYi9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW50ZWdyYXRpb24vSW5saW5lSXRlcmF0b3JUZXh0Qm94LmgKaW5kZXggNzRmZjIxNzgyZTJm
YTk0ZmJmZWJlZmYzNWFkNjA3YWVmMWQ1YmY5MS4uOWVmNzZmYjYwMTE0M2UyMzdiZGFiMWIwZmNm
MTA5OTZhNzMxOWMwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0
aW9uL0lubGluZUl0ZXJhdG9yVGV4dEJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xheW91dC9p
bnRlZ3JhdGlvbi9JbmxpbmVJdGVyYXRvclRleHRCb3guaApAQCAtNTksOCArNTksOCBAQCBwdWJs
aWM6CiAgICAgLy8gRklYTUU6IFJlbW92ZS4gRm9yIGludGVybWVkaWF0ZSBwb3J0aW5nIHN0ZXBz
IG9ubHkuCiAgICAgY29uc3QgTGVnYWN5SW5saW5lVGV4dEJveCogbGVnYWN5SW5saW5lQm94KCkg
Y29uc3QgeyByZXR1cm4gZG93bmNhc3Q8TGVnYWN5SW5saW5lVGV4dEJveD4oQm94OjpsZWdhY3lJ
bmxpbmVCb3goKSk7IH0KIAorICAgIC8vIFRoaXMgcmV0dXJucyB0aGUgbmV4dCB0ZXh0IGJveCBn
ZW5lcmF0ZWQgZm9yIHRoZSBzYW1lIFJlbmRlclRleHQvTGF5b3V0OjpJbmxpbmVUZXh0Qm94Lgog
ICAgIFRleHRCb3hJdGVyYXRvciBuZXh0VGV4dEJveCgpIGNvbnN0OwotICAgIFRleHRCb3hJdGVy
YXRvciBwcmV2aW91c1RleHRCb3goKSBjb25zdDsKIH07CiAKIGNsYXNzIFRleHRCb3hJdGVyYXRv
ciA6IHB1YmxpYyBMZWFmQm94SXRlcmF0b3IgewpAQCAtNzQsNiArNzQsNyBAQCBwdWJsaWM6CiAg
ICAgY29uc3QgVGV4dEJveCYgb3BlcmF0b3IqKCkgY29uc3QgeyByZXR1cm4gZ2V0KCk7IH0KICAg
ICBjb25zdCBUZXh0Qm94KiBvcGVyYXRvci0+KCkgY29uc3QgeyByZXR1cm4gJmdldCgpOyB9CiAK
KyAgICAvLyBUaGlzIHRyYXZlcnNlcyB0byB0aGUgbmV4dCB0ZXh0IGJveCBnZW5lcmF0ZWQgZm9y
IHRoZSBzYW1lIFJlbmRlclRleHQvTGF5b3V0OjpJbmxpbmVUZXh0Qm94LgogICAgIFRleHRCb3hJ
dGVyYXRvciYgdHJhdmVyc2VOZXh0VGV4dEJveCgpOwogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uUGFnaW5h
dGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdy
YXRpb25QYWdpbmF0aW9uLmNwcAppbmRleCBmZTgyYWU0YmUxNThkYTI2NWVlOWYyNmFjOGFjMTQ4
YzFjN2UwZDcyLi40MzA0MDc4MWYzYTYwZmZiOGFiMTQ5ZTI2YWZmMjY5MDQ1ZGMyOWYwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRp
b25QYWdpbmF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sYXlvdXQvaW50ZWdyYXRpb24v
TGF5b3V0SW50ZWdyYXRpb25QYWdpbmF0aW9uLmNwcApAQCAtMTQyLDE2ICsxNDIsOSBAQCBzdGF0
aWMgUmVmPElubGluZUNvbnRlbnQ+IG1ha2VBZGp1c3RlZENvbnRlbnQoY29uc3QgSW5saW5lQ29u
dGVudCYgaW5saW5lQ29udGVudAogCiAgICAgYXV0byBhZGp1c3RlZEJveCA9IFsmXShjb25zdCBJ
bmxpbmVEaXNwbGF5OjpCb3gmIGJveCwgZmxvYXQgb2Zmc2V0KQogICAgIHsKLSAgICAgICAgcmV0
dXJuIElubGluZURpc3BsYXk6OkJveCB7Ci0gICAgICAgICAgICBib3gubGluZUluZGV4KCksCi0g
ICAgICAgICAgICBib3gudHlwZSgpLAotICAgICAgICAgICAgYm94LmxheW91dEJveCgpLAotICAg
ICAgICAgICAgYm94LmJpZGlMZXZlbCgpLAotICAgICAgICAgICAgbW92ZVZlcnRpY2FsbHkoYm94
LmxvZ2ljYWxSZWN0KCksIG9mZnNldCksCi0gICAgICAgICAgICBtb3ZlVmVydGljYWxseShib3gu
aW5rT3ZlcmZsb3coKSwgb2Zmc2V0KSwKLSAgICAgICAgICAgIGJveC5leHBhbnNpb24oKSwKLSAg
ICAgICAgICAgIGJveC50ZXh0KCkKLSAgICAgICAgfTsKKyAgICAgICAgYXV0byBhZGp1c3RlZEJv
eCA9IGJveDsKKyAgICAgICAgYWRqdXN0ZWRCb3gubW92ZVZlcnRpY2FsbHkob2Zmc2V0KTsKKyAg
ICAgICAgcmV0dXJuIGFkanVzdGVkQm94OwogICAgIH07CiAKICAgICBhdXRvIGFkanVzdGVkQ29u
dGVudCA9IElubGluZUNvbnRlbnQ6OmNyZWF0ZShpbmxpbmVDb250ZW50LmxpbmVMYXlvdXQoKSk7
Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>