<?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>198266</bug_id>
          
          <creation_ts>2019-05-26 20:41:42 -0700</creation_ts>
          <short_desc>Move GraphicsLayerCA::adjustTiledLayerVisibleRect() to TileController</short_desc>
          <delta_ts>2019-05-27 10:42:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1539315</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-05-26 20:41:42 -0700</bug_when>
    <thetext>Move GraphicsLayerCA::adjustTiledLayerVisibleRect() to TileController</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1539318</commentid>
    <comment_count>1</comment_count>
      <attachid>370664</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-05-26 20:44:32 -0700</bug_when>
    <thetext>Created attachment 370664
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1539328</commentid>
    <comment_count>2</comment_count>
      <attachid>370667</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-05-26 22:12:14 -0700</bug_when>
    <thetext>Created attachment 370667
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1539392</commentid>
    <comment_count>3</comment_count>
      <attachid>370667</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-27 08:05:26 -0700</bug_when>
    <thetext>Comment on attachment 370667
Patch

Rejecting attachment 370667 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.webkit.org&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;validate-changelog&apos;, &apos;--check-oops&apos;, &apos;--non-interactive&apos;, 370667, &apos;--port=mac&apos;]&quot; exit_code: 1 cwd: /Volumes/Data/EWS/WebKit

ChangeLog entry in Source/WebCore/ChangeLog contains OOPS!.

Full output: https://webkit-queues.webkit.org/results/12301174</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1539414</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2019-05-27 10:41:31 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/245794/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1539415</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-05-27 10:42:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/51161561&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370664</attachid>
            <date>2019-05-26 20:44:32 -0700</date>
            <delta_ts>2019-05-26 20:45:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198266-20190526204431.patch</filename>
            <type>text/plain</type>
            <size>20867</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1Nzc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTlhMmFhNWFjMmQ3NzZk
OGUxMjJlZTEwNzZiYzI0M2RlNTE1N2E3ZS4uMDVkNWMxNWI0OTM1ZmMzOGUyMWQwNWU5YmNmNTg1
NmQwNDBmOGM2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE5LTA1LTI2ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgR3JhcGhp
Y3NMYXllckNBOjphZGp1c3RUaWxlZExheWVyVmlzaWJsZVJlY3QoKSB0byBUaWxlQ29udHJvbGxl
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MjY2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR3JhcGhp
Y3NMYXllckNBOjphZGp1c3RUaWxlZExheWVyVmlzaWJsZVJlY3QoKSB3YXMgY29tcHV0aW5nIHRp
bGUgY292ZXJhZ2UgZm9yIGEKKyAgICAgICAgVGlsZWRCYWNraW5nLCBqdXN0IGxpa2UgVGlsZUNv
bnRyb2xsZXI6OmFkanVzdFRpbGVDb3ZlcmFnZVJlY3QoKSwgc28gbW92ZSB0aGUgY29kZQorICAg
ICAgICBpbnRvIFRpbGVDb250cm9sbGVyIGFzIGEgZmlyc3Qgc3RlcCB0byB1bmlmeWluZyBtb3Jl
IG9mIHRoaXMgY29kZS4gSXQncyBjdXJyZW50bHkKKyAgICAgICAgdXNlZCBmb3IgdGlsZWQgY29t
cG9zaXRpbmcgbGF5ZXJzLCBpbmNsdWRpbmcgb3ZlcmZsb3c6c2Nyb2xsLCBhbmQgdGlsZWQgbGF5
ZXJzCisgICAgICAgIHdob3NlIGNvdmVyYWdlIG1heSBiZSBhZmZlY3RlZCBieSBhbmltYXRpb25z
LCBzbyBpdCdzIGdlbmVyYWwtcHVycG9zZS4KKworICAgICAgICBUaWxlQ29udHJvbGxlcjo6YWRq
dXN0VGlsZUNvdmVyYWdlUmVjdCgpIGlzIHVzZWQgZm9yIHNjcm9sbGFibGUgdGhpbmdzLCBzbyBy
ZW5hbWUKKyAgICAgICAgaXQgdG8gYWRqdXN0VGlsZUNvdmVyYWdlUmVjdEZvclNjcm9sbGluZygp
LgorCisgICAgICAgIE5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL1RpbGVkQmFja2luZy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL0dy
YXBoaWNzTGF5ZXJDQS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ0E6OmFk
anVzdENvdmVyYWdlUmVjdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVy
Q0E6OmFkanVzdFRpbGVkTGF5ZXJWaXNpYmxlUmVjdCk6IERlbGV0ZWQuCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGlsZUNv
bnRyb2xsZXI6OmFkanVzdFRpbGVDb3ZlcmFnZVJlY3QgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6VGlsZUNvbnRyb2xsZXI6OmFkanVzdFRpbGVDb3ZlcmFnZVJlY3RGb3JTY3JvbGxpbmcgY29u
c3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmg6CisK
IDIwMTktMDUtMjYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAg
ICAgICAgTW92ZSBWZWxvY2l0eURhdGEgdG8gV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmcuaAppbmRleCA1MjVjNGYzYTY3NTg5YTBiY2Y2
MGEzOGEwYWY3NmYxNDQxY2RlZjQ1Li5mMjJhNmZjYzUwNmI1MGI2M2E2ZjFmMzJlOGM3NmRmOThl
YzM3M2JiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxl
ZEJhY2tpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJh
Y2tpbmcuaApAQCAtOTUsNyArOTUsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldFRp
bGVDb3ZlcmFnZShUaWxlQ292ZXJhZ2UpID0gMDsKICAgICB2aXJ0dWFsIFRpbGVDb3ZlcmFnZSB0
aWxlQ292ZXJhZ2UoKSBjb25zdCA9IDA7CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0VGlsZUNv
dmVyYWdlUmVjdChGbG9hdFJlY3QmIGNvdmVyYWdlUmVjdCwgY29uc3QgRmxvYXRTaXplJiBuZXdT
aXplLCBjb25zdCBGbG9hdFJlY3QmIHByZXZpb3VzVmlzaWJsZVJlY3QsIGNvbnN0IEZsb2F0UmVj
dCYgY3VycmVudFZpc2libGVSZWN0LCBmbG9hdCBjb250ZW50c1NjYWxlKSBjb25zdCA9IDA7Cisg
ICAgdmlydHVhbCBGbG9hdFJlY3QgYWRqdXN0VGlsZUNvdmVyYWdlUmVjdChjb25zdCBGbG9hdFJl
Y3QmIGNvdmVyYWdlUmVjdCwgY29uc3QgRmxvYXRSZWN0JiBwcmV2aW91c1Zpc2libGVSZWN0LCBj
b25zdCBGbG9hdFJlY3QmIGN1cnJlbnRWaXNpYmxlUmVjdCwgYm9vbCBzaXplQ2hhbmdlZCkgY29u
c3QgPSAwOworICAgIHZpcnR1YWwgRmxvYXRSZWN0IGFkanVzdFRpbGVDb3ZlcmFnZVJlY3RGb3JT
Y3JvbGxpbmcoY29uc3QgRmxvYXRSZWN0JiBjb3ZlcmFnZVJlY3QsIGNvbnN0IEZsb2F0U2l6ZSYg
bmV3U2l6ZSwgY29uc3QgRmxvYXRSZWN0JiBwcmV2aW91c1Zpc2libGVSZWN0LCBjb25zdCBGbG9h
dFJlY3QmIGN1cnJlbnRWaXNpYmxlUmVjdCwgZmxvYXQgY29udGVudHNTY2FsZSkgY29uc3QgPSAw
OwogCiAgICAgdmlydHVhbCB2b2lkIHdpbGxTdGFydExpdmVSZXNpemUoKSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIGRpZEVuZExpdmVSZXNpemUoKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcAppbmRleCBmYmU0
YzM1NzkyNGEwYTYxNmRiMmUzZGEyMDQ4ZmNjNWY0MjM0ZGVjLi4xOGVkMmU3ZTU5ZjdlYjAwMTdi
YjgxOGNhZjg2YjllZDc5ZTRhN2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAKQEAgLTE0NDMsMTYgKzE0NDMs
MTQgQEAgYm9vbCBHcmFwaGljc0xheWVyQ0E6OmFkanVzdENvdmVyYWdlUmVjdChWaXNpYmxlQW5k
Q292ZXJhZ2VSZWN0cyYgcmVjdHMsIGNvbnN0IEYKIHsKICAgICBGbG9hdFJlY3QgY292ZXJhZ2VS
ZWN0ID0gcmVjdHMuY292ZXJhZ2VSZWN0OwogCi0gICAgLy8gRklYTUU6IFRpbGVDb250cm9sbGVy
J3MgY29tcHV0ZVRpbGVDb3ZlcmFnZVJlY3QoKSBjb2RlIHNob3VsZCBtb3ZlIGhlcmUsIGFuZCB3
ZSBzaG91bGQgdW5pZnkgdGhlc2UgZGlmZmVyZW50Ci0gICAgLy8gd2F5cyBvZiBjb21wdXRpbmcg
Y292ZXJhZ2UuCiAgICAgc3dpdGNoICh0eXBlKCkpIHsKICAgICBjYXNlIFR5cGU6OlBhZ2VUaWxl
ZEJhY2tpbmc6Ci0gICAgICAgIHRpbGVkQmFja2luZygpLT5hZGp1c3RUaWxlQ292ZXJhZ2VSZWN0
KGNvdmVyYWdlUmVjdCwgc2l6ZSgpLCBvbGRWaXNpYmxlUmVjdCwgcmVjdHMudmlzaWJsZVJlY3Qs
IHBhZ2VTY2FsZUZhY3RvcigpICogZGV2aWNlU2NhbGVGYWN0b3IoKSk7CisgICAgICAgIGNvdmVy
YWdlUmVjdCA9IHRpbGVkQmFja2luZygpLT5hZGp1c3RUaWxlQ292ZXJhZ2VSZWN0Rm9yU2Nyb2xs
aW5nKGNvdmVyYWdlUmVjdCwgc2l6ZSgpLCBvbGRWaXNpYmxlUmVjdCwgcmVjdHMudmlzaWJsZVJl
Y3QsIHBhZ2VTY2FsZUZhY3RvcigpICogZGV2aWNlU2NhbGVGYWN0b3IoKSk7CiAgICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgVHlwZTo6Tm9ybWFsOgogICAgIGNhc2UgVHlwZTo6U2Nyb2xsZWRDb250
ZW50czoKICAgICAgICAgaWYgKG1fbGF5ZXItPmxheWVyVHlwZSgpID09IFBsYXRmb3JtQ0FMYXll
cjo6TGF5ZXJUeXBlVGlsZWRCYWNraW5nTGF5ZXIpCi0gICAgICAgICAgICBjb3ZlcmFnZVJlY3Qu
dW5pdGUoYWRqdXN0VGlsZWRMYXllclZpc2libGVSZWN0KHRpbGVkQmFja2luZygpLCBvbGRWaXNp
YmxlUmVjdCwgcmVjdHMudmlzaWJsZVJlY3QsIG1fc2l6ZUF0TGFzdENvdmVyYWdlUmVjdFVwZGF0
ZSwgbV9zaXplKSk7CisgICAgICAgICAgICBjb3ZlcmFnZVJlY3QgPSB0aWxlZEJhY2tpbmcoKS0+
YWRqdXN0VGlsZUNvdmVyYWdlUmVjdChjb3ZlcmFnZVJlY3QsIG9sZFZpc2libGVSZWN0LCByZWN0
cy52aXNpYmxlUmVjdCwgc2l6ZSgpICE9IG1fc2l6ZUF0TGFzdENvdmVyYWdlUmVjdFVwZGF0ZSk7
CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIGJyZWFrOwpAQCAtMjQ5OSw3
MCArMjQ5Nyw2IEBAIHZvaWQgR3JhcGhpY3NMYXllckNBOjp1cGRhdGVEZWJ1Z0luZGljYXRvcnMo
KQogICAgIH0KIH0KIAotRmxvYXRSZWN0IEdyYXBoaWNzTGF5ZXJDQTo6YWRqdXN0VGlsZWRMYXll
clZpc2libGVSZWN0KFRpbGVkQmFja2luZyogdGlsZWRCYWNraW5nLCBjb25zdCBGbG9hdFJlY3Qm
IG9sZFZpc2libGVSZWN0LCBjb25zdCBGbG9hdFJlY3QmIG5ld1Zpc2libGVSZWN0LCBjb25zdCBG
bG9hdFNpemUmIG9sZFNpemUsIGNvbnN0IEZsb2F0U2l6ZSYgbmV3U2l6ZSkKLXsKLSAgICAvLyBJ
ZiB0aGUgb2xkIHZpc2libGUgcmVjdCBpcyBlbXB0eSwgd2UgaGF2ZSBubyBpbmZvcm1hdGlvbiBh
Ym91dCBob3cgdGhlIHZpc2libGUgYXJlYSBpcyBjaGFuZ2luZwotICAgIC8vIChtYXliZSB0aGUg
bGF5ZXIgd2FzIGp1c3QgY3JlYXRlZCksIHNvIGRvbid0IGF0dGVtcHQgdG8gZXhwYW5kLiBBbHNv
IGRvbid0IGF0dGVtcHQgdG8gZXhwYW5kCi0gICAgLy8gaWYgdGhlIHNpemUgY2hhbmdlZCBvciB0
aGUgcmVjdHMgZG9uJ3Qgb3ZlcmxhcC4KLSAgICBpZiAob2xkVmlzaWJsZVJlY3QuaXNFbXB0eSgp
IHx8IG5ld1NpemUgIT0gb2xkU2l6ZSB8fCAhbmV3VmlzaWJsZVJlY3QuaW50ZXJzZWN0cyhvbGRW
aXNpYmxlUmVjdCkpCi0gICAgICAgIHJldHVybiBuZXdWaXNpYmxlUmVjdDsKLQotICAgIGlmIChN
ZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnNpbmdsZXRvbigpLmlzVW5kZXJNZW1vcnlQcmVzc3VyZSgp
KQotICAgICAgICByZXR1cm4gbmV3VmlzaWJsZVJlY3Q7Ci0KLSAgICBjb25zdCBmbG9hdCBwYWRk
aW5nTXVsdGlwbGllciA9IDI7Ci0KLSAgICBmbG9hdCBsZWZ0RWRnZURlbHRhID0gcGFkZGluZ011
bHRpcGxpZXIgKiAobmV3VmlzaWJsZVJlY3QueCgpIC0gb2xkVmlzaWJsZVJlY3QueCgpKTsKLSAg
ICBmbG9hdCByaWdodEVkZ2VEZWx0YSA9IHBhZGRpbmdNdWx0aXBsaWVyICogKG5ld1Zpc2libGVS
ZWN0Lm1heFgoKSAtIG9sZFZpc2libGVSZWN0Lm1heFgoKSk7Ci0KLSAgICBmbG9hdCB0b3BFZGdl
RGVsdGEgPSBwYWRkaW5nTXVsdGlwbGllciAqIChuZXdWaXNpYmxlUmVjdC55KCkgLSBvbGRWaXNp
YmxlUmVjdC55KCkpOwotICAgIGZsb2F0IGJvdHRvbUVkZ2VEZWx0YSA9IHBhZGRpbmdNdWx0aXBs
aWVyICogKG5ld1Zpc2libGVSZWN0Lm1heFkoKSAtIG9sZFZpc2libGVSZWN0Lm1heFkoKSk7Ci0g
ICAgCi0gICAgRmxvYXRSZWN0IGV4aXN0aW5nVGlsZUJhY2tpbmdSZWN0ID0gdGlsZWRCYWNraW5n
LT52aXNpYmxlUmVjdCgpOwotICAgIEZsb2F0UmVjdCBleHBhbmRlZFJlY3QgPSBuZXdWaXNpYmxl
UmVjdDsKLQotICAgIC8vIE1vcmUgZXhwb3NlZCBvbiBsZWZ0IHNpZGUuCi0gICAgaWYgKGxlZnRF
ZGdlRGVsdGEgPCAwKSB7Ci0gICAgICAgIGZsb2F0IG5ld0xlZnQgPSBleHBhbmRlZFJlY3QueCgp
ICsgbGVmdEVkZ2VEZWx0YTsKLSAgICAgICAgLy8gUGFkIHRvIHRoZSBsZWZ0LCBidXQgZG9uJ3Qg
cmVkdWNlIHBhZGRpbmcgdGhhdCdzIGFscmVhZHkgaW4gdGhlIGJhY2tpbmcgc3RvcmUgKHNpbmNl
IHdlJ3JlIHN0aWxsIGV4cG9zaW5nIHRvIHRoZSBsZWZ0KS4KLSAgICAgICAgaWYgKG5ld0xlZnQg
PCBleGlzdGluZ1RpbGVCYWNraW5nUmVjdC54KCkpCi0gICAgICAgICAgICBleHBhbmRlZFJlY3Qu
c2hpZnRYRWRnZVRvKG5ld0xlZnQpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBleHBhbmRl
ZFJlY3Quc2hpZnRYRWRnZVRvKGV4aXN0aW5nVGlsZUJhY2tpbmdSZWN0LngoKSk7Ci0gICAgfQot
Ci0gICAgLy8gTW9yZSBleHBvc2VkIG9uIHJpZ2h0LgotICAgIGlmIChyaWdodEVkZ2VEZWx0YSA+
IDApIHsKLSAgICAgICAgZmxvYXQgbmV3UmlnaHQgPSBleHBhbmRlZFJlY3QubWF4WCgpICsgcmln
aHRFZGdlRGVsdGE7Ci0gICAgICAgIC8vIFBhZCB0byB0aGUgcmlnaHQsIGJ1dCBkb24ndCByZWR1
Y2UgcGFkZGluZyB0aGF0J3MgYWxyZWFkeSBpbiB0aGUgYmFja2luZyBzdG9yZSAoc2luY2Ugd2Un
cmUgc3RpbGwgZXhwb3NpbmcgdG8gdGhlIHJpZ2h0KS4KLSAgICAgICAgaWYgKG5ld1JpZ2h0ID4g
ZXhpc3RpbmdUaWxlQmFja2luZ1JlY3QubWF4WCgpKQotICAgICAgICAgICAgZXhwYW5kZWRSZWN0
LnNldFdpZHRoKG5ld1JpZ2h0IC0gZXhwYW5kZWRSZWN0LngoKSk7Ci0gICAgICAgIGVsc2UKLSAg
ICAgICAgICAgIGV4cGFuZGVkUmVjdC5zZXRXaWR0aChleGlzdGluZ1RpbGVCYWNraW5nUmVjdC5t
YXhYKCkgLSBleHBhbmRlZFJlY3QueCgpKTsKLSAgICB9Ci0KLSAgICAvLyBNb3JlIGV4cG9zZWQg
YXQgdG9wLgotICAgIGlmICh0b3BFZGdlRGVsdGEgPCAwKSB7Ci0gICAgICAgIGZsb2F0IG5ld1Rv
cCA9IGV4cGFuZGVkUmVjdC55KCkgKyB0b3BFZGdlRGVsdGE7Ci0gICAgICAgIGlmIChuZXdUb3Ag
PCBleGlzdGluZ1RpbGVCYWNraW5nUmVjdC55KCkpCi0gICAgICAgICAgICBleHBhbmRlZFJlY3Qu
c2hpZnRZRWRnZVRvKG5ld1RvcCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGV4cGFuZGVk
UmVjdC5zaGlmdFlFZGdlVG8oZXhpc3RpbmdUaWxlQmFja2luZ1JlY3QueSgpKTsKLSAgICB9Ci0K
LSAgICAvLyBNb3JlIGV4cG9zZWQgb24gYm90dG9tLgotICAgIGlmIChib3R0b21FZGdlRGVsdGEg
PiAwKSB7Ci0gICAgICAgIGZsb2F0IG5ld0JvdHRvbSA9IGV4cGFuZGVkUmVjdC5tYXhZKCkgKyBi
b3R0b21FZGdlRGVsdGE7Ci0gICAgICAgIGlmIChuZXdCb3R0b20gPiBleGlzdGluZ1RpbGVCYWNr
aW5nUmVjdC5tYXhZKCkpCi0gICAgICAgICAgICBleHBhbmRlZFJlY3Quc2V0SGVpZ2h0KG5ld0Jv
dHRvbSAtIGV4cGFuZGVkUmVjdC55KCkpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBleHBh
bmRlZFJlY3Quc2V0SGVpZ2h0KGV4aXN0aW5nVGlsZUJhY2tpbmdSZWN0Lm1heFkoKSAtIGV4cGFu
ZGVkUmVjdC55KCkpOwotICAgIH0KLSAgICAKLSAgICBleHBhbmRlZFJlY3QuaW50ZXJzZWN0KHRp
bGVkQmFja2luZy0+Ym91bmRzV2l0aG91dE1hcmdpbigpKTsKLSAgICByZXR1cm4gZXhwYW5kZWRS
ZWN0OwotfQotCiB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6dXBkYXRlVGlsZXMoKQogewogICAgIGlm
ICghbV9sYXllci0+dXNlc1RpbGVkQmFja2luZ0xheWVyKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5oCmluZGV4IGViYmZi
NTJiNWNlZTFlNGQxOTg1NWE0YzM1YjI3NWYyYThjOGVjOTguLmM5MjFkNWZmZWU2OWViOTNkNGQ2
Njk2OWE4MjUzZWUxMGU2NzYzZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5oCkBAIC0zMjMsOCArMzIzLDYgQEAgcHJp
dmF0ZToKIAogICAgIHZvaWQgc2V0VmlzaWJsZUFuZENvdmVyYWdlUmVjdHMoY29uc3QgVmlzaWJs
ZUFuZENvdmVyYWdlUmVjdHMmLCBib29sIGlzVmlld3BvcnRDb25zdHJhaW5lZCk7CiAgICAgCi0g
ICAgc3RhdGljIEZsb2F0UmVjdCBhZGp1c3RUaWxlZExheWVyVmlzaWJsZVJlY3QoVGlsZWRCYWNr
aW5nKiwgY29uc3QgRmxvYXRSZWN0JiBvbGRWaXNpYmxlUmVjdCwgY29uc3QgRmxvYXRSZWN0JiBu
ZXdWaXNpYmxlUmVjdCwgY29uc3QgRmxvYXRTaXplJiBvbGRTaXplLCBjb25zdCBGbG9hdFNpemUm
IG5ld1NpemUpOwotCiAgICAgYm9vbCByZWN1cnNpdmVWaXNpYmxlUmVjdENoYW5nZVJlcXVpcmVz
Rmx1c2goY29uc3QgQ29tbWl0U3RhdGUmLCBjb25zdCBUcmFuc2Zvcm1TdGF0ZSYpIGNvbnN0Owog
ICAgIAogICAgIGJvb2wgaXNQYWdlVGlsZWRCYWNraW5nTGF5ZXIoKSBjb25zdCB7IHJldHVybiB0
eXBlKCkgPT0gVHlwZTo6UGFnZVRpbGVkQmFja2luZzsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwCmluZGV4IDI1NDZh
YzdjOWMzMTIxNjNiY2MyY2Q4YWMzYWMwOGRjNjc2ZTUzNzUuLjgyOTNlNDE5OTM1ZWMyYmZlMjRm
N2JmZmJiYmY5YTJhYzczZmQ3MGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAKQEAgLTM4NiwyMiArMzg2LDgxIEBA
IHN0YXRpYyBGbG9hdFJlY3QgZXhwYW5kUmVjdFdpdGhpblJlY3QoY29uc3QgRmxvYXRSZWN0JiBy
ZWN0LCBjb25zdCBGbG9hdFNpemUmIG5lCiB9CiAjZW5kaWYKIAotdm9pZCBUaWxlQ29udHJvbGxl
cjo6YWRqdXN0VGlsZUNvdmVyYWdlUmVjdChGbG9hdFJlY3QmIGNvdmVyYWdlUmVjdCwgY29uc3Qg
RmxvYXRTaXplJiBuZXdTaXplLCBjb25zdCBGbG9hdFJlY3QmIHByZXZpb3VzVmlzaWJsZVJlY3Qs
IGNvbnN0IEZsb2F0UmVjdCYgdmlzaWJsZVJlY3QsIGZsb2F0IGNvbnRlbnRzU2NhbGUpIGNvbnN0
CitGbG9hdFJlY3QgVGlsZUNvbnRyb2xsZXI6OmFkanVzdFRpbGVDb3ZlcmFnZVJlY3QoY29uc3Qg
RmxvYXRSZWN0JiBjb3ZlcmFnZVJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgcHJldmlvdXNWaXNpYmxl
UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBjdXJyZW50VmlzaWJsZVJlY3QsIGJvb2wgc2l6ZUNoYW5n
ZWQpIGNvbnN0CiB7Ci0gICAgLy8gSWYgdGhlIHBhZ2UgaXMgbm90IGluIGEgd2luZG93IChmb3Ig
ZXhhbXBsZSBpZiBpdCdzIGluIGEgYmFja2dyb3VuZCB0YWIpLCB3ZSBsaW1pdCB0aGUgdGlsZSBj
b3ZlcmFnZSByZWN0IHRvIHRoZSB2aXNpYmxlIHJlY3QuCi0gICAgaWYgKCFtX2lzSW5XaW5kb3cp
IHsKLSAgICAgICAgY292ZXJhZ2VSZWN0ID0gdmlzaWJsZVJlY3Q7Ci0gICAgICAgIHJldHVybjsK
KyAgICAvLyBJZiB0aGUgb2xkIHZpc2libGUgcmVjdCBpcyBlbXB0eSwgd2UgaGF2ZSBubyBpbmZv
cm1hdGlvbiBhYm91dCBob3cgdGhlIHZpc2libGUgYXJlYSBpcyBjaGFuZ2luZworICAgIC8vICht
YXliZSB0aGUgbGF5ZXIgd2FzIGp1c3QgY3JlYXRlZCksIHNvIGRvbid0IGF0dGVtcHQgdG8gZXhw
YW5kLiBBbHNvIGRvbid0IGF0dGVtcHQgdG8gZXhwYW5kCisgICAgLy8gaWYgdGhlIHNpemUgY2hh
bmdlZCBvciB0aGUgcmVjdHMgZG9uJ3Qgb3ZlcmxhcC4KKyAgICBpZiAocHJldmlvdXNWaXNpYmxl
UmVjdC5pc0VtcHR5KCkgfHwgc2l6ZUNoYW5nZWQgIHx8ICFjdXJyZW50VmlzaWJsZVJlY3QuaW50
ZXJzZWN0cyhwcmV2aW91c1Zpc2libGVSZWN0KSkKKyAgICAgICAgcmV0dXJuIHVuaW9uUmVjdChj
b3ZlcmFnZVJlY3QsIGN1cnJlbnRWaXNpYmxlUmVjdCk7CisKKyAgICBpZiAoTWVtb3J5UHJlc3N1
cmVIYW5kbGVyOjpzaW5nbGV0b24oKS5pc1VuZGVyTWVtb3J5UHJlc3N1cmUoKSkKKyAgICAgICAg
cmV0dXJuIHVuaW9uUmVjdChjb3ZlcmFnZVJlY3QsIGN1cnJlbnRWaXNpYmxlUmVjdCk7CisKKyAg
ICBjb25zdCBmbG9hdCBwYWRkaW5nTXVsdGlwbGllciA9IDI7CisKKyAgICBmbG9hdCBsZWZ0RWRn
ZURlbHRhID0gcGFkZGluZ011bHRpcGxpZXIgKiAoY3VycmVudFZpc2libGVSZWN0LngoKSAtIHBy
ZXZpb3VzVmlzaWJsZVJlY3QueCgpKTsKKyAgICBmbG9hdCByaWdodEVkZ2VEZWx0YSA9IHBhZGRp
bmdNdWx0aXBsaWVyICogKGN1cnJlbnRWaXNpYmxlUmVjdC5tYXhYKCkgLSBwcmV2aW91c1Zpc2li
bGVSZWN0Lm1heFgoKSk7CisKKyAgICBmbG9hdCB0b3BFZGdlRGVsdGEgPSBwYWRkaW5nTXVsdGlw
bGllciAqIChjdXJyZW50VmlzaWJsZVJlY3QueSgpIC0gcHJldmlvdXNWaXNpYmxlUmVjdC55KCkp
OworICAgIGZsb2F0IGJvdHRvbUVkZ2VEZWx0YSA9IHBhZGRpbmdNdWx0aXBsaWVyICogKGN1cnJl
bnRWaXNpYmxlUmVjdC5tYXhZKCkgLSBwcmV2aW91c1Zpc2libGVSZWN0Lm1heFkoKSk7CisgICAg
CisgICAgRmxvYXRSZWN0IGV4cGFuZGVkUmVjdCA9IGN1cnJlbnRWaXNpYmxlUmVjdDsKKworICAg
IC8vIE1vcmUgZXhwb3NlZCBvbiBsZWZ0IHNpZGUuCisgICAgaWYgKGxlZnRFZGdlRGVsdGEgPCAw
KSB7CisgICAgICAgIGZsb2F0IG5ld0xlZnQgPSBleHBhbmRlZFJlY3QueCgpICsgbGVmdEVkZ2VE
ZWx0YTsKKyAgICAgICAgLy8gUGFkIHRvIHRoZSBsZWZ0LCBidXQgZG9uJ3QgcmVkdWNlIHBhZGRp
bmcgdGhhdCdzIGFscmVhZHkgaW4gdGhlIGJhY2tpbmcgc3RvcmUgKHNpbmNlIHdlJ3JlIHN0aWxs
IGV4cG9zaW5nIHRvIHRoZSBsZWZ0KS4KKyAgICAgICAgaWYgKG5ld0xlZnQgPCBwcmV2aW91c1Zp
c2libGVSZWN0LngoKSkKKyAgICAgICAgICAgIGV4cGFuZGVkUmVjdC5zaGlmdFhFZGdlVG8obmV3
TGVmdCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGV4cGFuZGVkUmVjdC5zaGlmdFhFZGdl
VG8ocHJldmlvdXNWaXNpYmxlUmVjdC54KCkpOworICAgIH0KKworICAgIC8vIE1vcmUgZXhwb3Nl
ZCBvbiByaWdodC4KKyAgICBpZiAocmlnaHRFZGdlRGVsdGEgPiAwKSB7CisgICAgICAgIGZsb2F0
IG5ld1JpZ2h0ID0gZXhwYW5kZWRSZWN0Lm1heFgoKSArIHJpZ2h0RWRnZURlbHRhOworICAgICAg
ICAvLyBQYWQgdG8gdGhlIHJpZ2h0LCBidXQgZG9uJ3QgcmVkdWNlIHBhZGRpbmcgdGhhdCdzIGFs
cmVhZHkgaW4gdGhlIGJhY2tpbmcgc3RvcmUgKHNpbmNlIHdlJ3JlIHN0aWxsIGV4cG9zaW5nIHRv
IHRoZSByaWdodCkuCisgICAgICAgIGlmIChuZXdSaWdodCA+IHByZXZpb3VzVmlzaWJsZVJlY3Qu
bWF4WCgpKQorICAgICAgICAgICAgZXhwYW5kZWRSZWN0LnNldFdpZHRoKG5ld1JpZ2h0IC0gZXhw
YW5kZWRSZWN0LngoKSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGV4cGFuZGVkUmVjdC5z
ZXRXaWR0aChwcmV2aW91c1Zpc2libGVSZWN0Lm1heFgoKSAtIGV4cGFuZGVkUmVjdC54KCkpOwor
ICAgIH0KKworICAgIC8vIE1vcmUgZXhwb3NlZCBhdCB0b3AuCisgICAgaWYgKHRvcEVkZ2VEZWx0
YSA8IDApIHsKKyAgICAgICAgZmxvYXQgbmV3VG9wID0gZXhwYW5kZWRSZWN0LnkoKSArIHRvcEVk
Z2VEZWx0YTsKKyAgICAgICAgaWYgKG5ld1RvcCA8IHByZXZpb3VzVmlzaWJsZVJlY3QueSgpKQor
ICAgICAgICAgICAgZXhwYW5kZWRSZWN0LnNoaWZ0WUVkZ2VUbyhuZXdUb3ApOworICAgICAgICBl
bHNlCisgICAgICAgICAgICBleHBhbmRlZFJlY3Quc2hpZnRZRWRnZVRvKHByZXZpb3VzVmlzaWJs
ZVJlY3QueSgpKTsKKyAgICB9CisKKyAgICAvLyBNb3JlIGV4cG9zZWQgb24gYm90dG9tLgorICAg
IGlmIChib3R0b21FZGdlRGVsdGEgPiAwKSB7CisgICAgICAgIGZsb2F0IG5ld0JvdHRvbSA9IGV4
cGFuZGVkUmVjdC5tYXhZKCkgKyBib3R0b21FZGdlRGVsdGE7CisgICAgICAgIGlmIChuZXdCb3R0
b20gPiBwcmV2aW91c1Zpc2libGVSZWN0Lm1heFkoKSkKKyAgICAgICAgICAgIGV4cGFuZGVkUmVj
dC5zZXRIZWlnaHQobmV3Qm90dG9tIC0gZXhwYW5kZWRSZWN0LnkoKSk7CisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgIGV4cGFuZGVkUmVjdC5zZXRIZWlnaHQocHJldmlvdXNWaXNpYmxlUmVjdC5t
YXhZKCkgLSBleHBhbmRlZFJlY3QueSgpKTsKICAgICB9CisgICAgCisgICAgZXhwYW5kZWRSZWN0
LmludGVyc2VjdChib3VuZHNXaXRob3V0TWFyZ2luKCkpOworICAgIHJldHVybiB1bmlvblJlY3Qo
Y292ZXJhZ2VSZWN0LCBleHBhbmRlZFJlY3QpOworfQorCitGbG9hdFJlY3QgVGlsZUNvbnRyb2xs
ZXI6OmFkanVzdFRpbGVDb3ZlcmFnZVJlY3RGb3JTY3JvbGxpbmcoY29uc3QgRmxvYXRSZWN0JiBj
b3ZlcmFnZVJlY3QsIGNvbnN0IEZsb2F0U2l6ZSYgbmV3U2l6ZSwgY29uc3QgRmxvYXRSZWN0JiBw
cmV2aW91c1Zpc2libGVSZWN0LCBjb25zdCBGbG9hdFJlY3QmIHZpc2libGVSZWN0LCBmbG9hdCBj
b250ZW50c1NjYWxlKSBjb25zdAoreworICAgIC8vIElmIHRoZSBwYWdlIGlzIG5vdCBpbiBhIHdp
bmRvdyAoZm9yIGV4YW1wbGUgaWYgaXQncyBpbiBhIGJhY2tncm91bmQgdGFiKSwgd2UgbGltaXQg
dGhlIHRpbGUgY292ZXJhZ2UgcmVjdCB0byB0aGUgdmlzaWJsZSByZWN0LgorICAgIGlmICghbV9p
c0luV2luZG93KQorICAgICAgICByZXR1cm4gdmlzaWJsZVJlY3Q7CiAKICNpZiBQTEFURk9STShJ
T1NfRkFNSUxZKQogICAgIC8vIEZJWE1FOiB1bmlmeSB0aGUgaU9TIGFuZCBNYWMgY29kZS4KICAg
ICBVTlVTRURfUEFSQU0ocHJldmlvdXNWaXNpYmxlUmVjdCk7CiAgICAgCi0gICAgaWYgKG1fdGls
ZUNvdmVyYWdlID09IENvdmVyYWdlRm9yVmlzaWJsZUFyZWEgfHwgTWVtb3J5UHJlc3N1cmVIYW5k
bGVyOjpzaW5nbGV0b24oKS5pc1VuZGVyTWVtb3J5UHJlc3N1cmUoKSkgewotICAgICAgICBjb3Zl
cmFnZVJlY3QgPSB2aXNpYmxlUmVjdDsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KKyAgICBpZiAo
bV90aWxlQ292ZXJhZ2UgPT0gQ292ZXJhZ2VGb3JWaXNpYmxlQXJlYSB8fCBNZW1vcnlQcmVzc3Vy
ZUhhbmRsZXI6OnNpbmdsZXRvbigpLmlzVW5kZXJNZW1vcnlQcmVzc3VyZSgpKQorICAgICAgICBy
ZXR1cm4gdmlzaWJsZVJlY3Q7CiAKICAgICBkb3VibGUgaG9yaXpvbnRhbE1hcmdpbiA9IGtEZWZh
dWx0VGlsZVNpemUgLyBjb250ZW50c1NjYWxlOwogICAgIGRvdWJsZSB2ZXJ0aWNhbE1hcmdpbiA9
IGtEZWZhdWx0VGlsZVNpemUgLyBjb250ZW50c1NjYWxlOwpAQCAtNDI4LDkgKzQ4Nyw4IEBAIHZv
aWQgVGlsZUNvbnRyb2xsZXI6OmFkanVzdFRpbGVDb3ZlcmFnZVJlY3QoRmxvYXRSZWN0JiBjb3Zl
cmFnZVJlY3QsIGNvbnN0IEZsb2F0CiAKICAgICBpZiAoIW1fdmVsb2NpdHkuaG9yaXpvbnRhbFZl
bG9jaXR5ICYmICFtX3ZlbG9jaXR5LnZlcnRpY2FsVmVsb2NpdHkpIHsKICAgICAgICAgaWYgKG1f
dmVsb2NpdHkuc2NhbGVDaGFuZ2VSYXRlID4gMCkgewotICAgICAgICAgICAgY292ZXJhZ2VSZWN0
ID0gdmlzaWJsZVJlY3Q7CiAgICAgICAgICAgICBMT0dfV0lUSF9TVFJFQU0oVGlsaW5nLCBzdHJl
YW0gPDwgIlRpbGVDb250cm9sbGVyICIgPDwgdGhpcyA8PCAiIGNvbXB1dGVUaWxlQ292ZXJhZ2VS
ZWN0IC0gem9vbWluZywgY292ZXJhZ2UgaXMgdmlzaWJsZSByZWN0ICIgPDwgY292ZXJhZ2VSZWN0
KTsKLSAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIHJldHVybiB2aXNpYmxlUmVjdDsK
ICAgICAgICAgfQogICAgICAgICBmdXR1cmVSZWN0LnNldFdpZHRoKGZ1dHVyZVJlY3Qud2lkdGgo
KSArIGhvcml6b250YWxNYXJnaW4pOwogICAgICAgICBmdXR1cmVSZWN0LnNldEhlaWdodChmdXR1
cmVSZWN0LmhlaWdodCgpICsgdmVydGljYWxNYXJnaW4pOwpAQCAtNDUyLDcgKzUxMCw3IEBAIHZv
aWQgVGlsZUNvbnRyb2xsZXI6OmFkanVzdFRpbGVDb3ZlcmFnZVJlY3QoRmxvYXRSZWN0JiBjb3Zl
cmFnZVJlY3QsIGNvbnN0IEZsb2F0CiAKICAgICBMT0dfV0lUSF9TVFJFQU0oVGlsaW5nLCBzdHJl
YW0gPDwgIlRpbGVDb250cm9sbGVyICIgPDwgdGhpcyA8PCAiIGNvbXB1dGVUaWxlQ292ZXJhZ2VS
ZWN0IC0gY292ZXJhZ2UgIiA8PCBjb3ZlcmFnZVJlY3QgPDwgIiBleHBhbmRlZCB0byAiIDw8IHVu
aW9uUmVjdChjb3ZlcmFnZVJlY3QsIGZ1dHVyZVJlY3QpIDw8ICIgdmVsb2NpdHkgIiA8PCBtX3Zl
bG9jaXR5KTsKIAotICAgIGNvdmVyYWdlUmVjdC51bml0ZShmdXR1cmVSZWN0KTsKKyAgICByZXR1
cm4gdW5pb25SZWN0KGNvdmVyYWdlUmVjdCwgZnV0dXJlUmVjdCk7CiAjZWxzZQogICAgIFVOVVNF
RF9QQVJBTShjb250ZW50c1NjYWxlKTsKIApAQCAtNDc5LDcgKzUzNyw3IEBAIHZvaWQgVGlsZUNv
bnRyb2xsZXI6OmFkanVzdFRpbGVDb3ZlcmFnZVJlY3QoRmxvYXRSZWN0JiBjb3ZlcmFnZVJlY3Qs
IGNvbnN0IEZsb2F0CiAgICAgCiAgICAgRmxvYXRSZWN0IGNvdmVyYWdlID0gZXhwYW5kUmVjdFdp
dGhpblJlY3QodmlzaWJsZVJlY3QsIGNvdmVyYWdlU2l6ZSwgY292ZXJhZ2VCb3VuZHMpOwogICAg
IExPR19XSVRIX1NUUkVBTShUaWxpbmcsIHN0cmVhbSA8PCAiVGlsZUNvbnRyb2xsZXI6OmNvbXB1
dGVUaWxlQ292ZXJhZ2VSZWN0IG5ld1NpemU9IiA8PCBuZXdTaXplIDw8ICIgbW9kZSAiIDw8IG1f
dGlsZUNvdmVyYWdlIDw8ICIgZXhwYW5kZWQgdG8gIiA8PCBjb3ZlcmFnZVNpemUgPDwgIiBib3Vu
ZHMgd2l0aCBtYXJnaW4gIiA8PCBjb3ZlcmFnZUJvdW5kcyA8PCAiIGNvdmVyYWdlICIgPDwgY292
ZXJhZ2UpOwotICAgIGNvdmVyYWdlUmVjdC51bml0ZShjb3ZlcmFnZSk7CisgICAgcmV0dXJuIHVu
aW9uUmVjdChjb3ZlcmFnZVJlY3QsIGNvdmVyYWdlKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuaAppbmRl
eCBkYmIwNDlhYmU1NDMxN2JkMTFiZjA4YjYzNzlkZjJhY2Y2OGExN2MzLi44ZGZjNDMyYWM2N2Y5
ZjgxNzQ0MzlhNWQxMTAwZWJjZjZhNjNjM2M4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmgKQEAgLTg3LDggKzg3LDggQEAg
cHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0VGlsZURlYnVnQm9yZGVyV2lkdGgo
ZmxvYXQpOwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0VGlsZURlYnVnQm9yZGVyQ29sb3Io
Q29sb3IpOwogCi0gICAgRmxvYXRSZWN0IHZpc2libGVSZWN0KCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gbV92aXNpYmxlUmVjdDsgfQotICAgIEZsb2F0UmVjdCBjb3ZlcmFnZVJlY3QoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiBtX2NvdmVyYWdlUmVjdDsgfQorICAgIEZsb2F0UmVjdCB2aXNp
YmxlUmVjdCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fdmlzaWJsZVJlY3Q7IH0KKyAgICBGbG9h
dFJlY3QgY292ZXJhZ2VSZWN0KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9jb3ZlcmFnZVJlY3Q7
IH0KICAgICBPcHRpb25hbDxGbG9hdFJlY3Q+IGxheW91dFZpZXdwb3J0UmVjdCgpIGNvbnN0IHsg
cmV0dXJuIG1fbGF5b3V0Vmlld3BvcnRSZWN0OyB9CiAKICAgICB2b2lkIHNldFRpbGVTaXplVXBk
YXRlRGVsYXlEaXNhYmxlZEZvclRlc3RpbmcoYm9vbCkgZmluYWw7CkBAIC0xMDcsMjIgKzEwNywy
NSBAQCBwdWJsaWM6CiAgICAgZmxvYXQgdGlsZURlYnVnQm9yZGVyV2lkdGgoKSBjb25zdCB7IHJl
dHVybiBtX3RpbGVEZWJ1Z0JvcmRlcldpZHRoOyB9CiAgICAgU2Nyb2xsaW5nTW9kZUluZGljYXRp
b24gaW5kaWNhdG9yTW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1faW5kaWNhdG9yTW9kZTsgfQogCi0g
ICAgdm9pZCB3aWxsU3RhcnRMaXZlUmVzaXplKCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBkaWRFbmRM
aXZlUmVzaXplKCkgb3ZlcnJpZGU7Ci0KLSAgICBJbnRTaXplIHRpbGVTaXplKCkgY29uc3Qgb3Zl
cnJpZGU7Ci0gICAgSW50UmVjdCBib3VuZHMoKSBjb25zdCBvdmVycmlkZTsKLSAgICBJbnRSZWN0
IGJvdW5kc1dpdGhvdXRNYXJnaW4oKSBjb25zdCBvdmVycmlkZTsKLSAgICBib29sIGhhc01hcmdp
bnMoKSBjb25zdCBvdmVycmlkZTsKLSAgICBib29sIGhhc0hvcml6b250YWxNYXJnaW5zKCkgY29u
c3Qgb3ZlcnJpZGU7Ci0gICAgYm9vbCBoYXNWZXJ0aWNhbE1hcmdpbnMoKSBjb25zdCBvdmVycmlk
ZTsKLSAgICBpbnQgdG9wTWFyZ2luSGVpZ2h0KCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgaW50IGJv
dHRvbU1hcmdpbkhlaWdodCgpIGNvbnN0IG92ZXJyaWRlOwotICAgIGludCBsZWZ0TWFyZ2luV2lk
dGgoKSBjb25zdCBvdmVycmlkZTsKLSAgICBpbnQgcmlnaHRNYXJnaW5XaWR0aCgpIGNvbnN0IG92
ZXJyaWRlOwotICAgIFRpbGVDb3ZlcmFnZSB0aWxlQ292ZXJhZ2UoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiBtX3RpbGVDb3ZlcmFnZTsgfQotICAgIHZvaWQgYWRqdXN0VGlsZUNvdmVyYWdlUmVj
dChGbG9hdFJlY3QmIGNvdmVyYWdlUmVjdCwgY29uc3QgRmxvYXRTaXplJiBuZXdTaXplLCBjb25z
dCBGbG9hdFJlY3QmIHByZXZpb3VzVmlzaWJsZVJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgY3VycmVu
dFZpc2libGVSZWN0LCBmbG9hdCBjb250ZW50c1NjYWxlKSBjb25zdCBvdmVycmlkZTsKLSAgICBi
b29sIHNjcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiBtX3Njcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQ7IH0KKyAgICB2b2lk
IHdpbGxTdGFydExpdmVSZXNpemUoKSBmaW5hbDsKKyAgICB2b2lkIGRpZEVuZExpdmVSZXNpemUo
KSBmaW5hbDsKKworICAgIEludFNpemUgdGlsZVNpemUoKSBjb25zdCBmaW5hbDsKKyAgICBJbnRS
ZWN0IGJvdW5kcygpIGNvbnN0IGZpbmFsOworICAgIEludFJlY3QgYm91bmRzV2l0aG91dE1hcmdp
bigpIGNvbnN0IGZpbmFsOworICAgIGJvb2wgaGFzTWFyZ2lucygpIGNvbnN0IGZpbmFsOworICAg
IGJvb2wgaGFzSG9yaXpvbnRhbE1hcmdpbnMoKSBjb25zdCBmaW5hbDsKKyAgICBib29sIGhhc1Zl
cnRpY2FsTWFyZ2lucygpIGNvbnN0IGZpbmFsOworICAgIGludCB0b3BNYXJnaW5IZWlnaHQoKSBj
b25zdCBmaW5hbDsKKyAgICBpbnQgYm90dG9tTWFyZ2luSGVpZ2h0KCkgY29uc3QgZmluYWw7Cisg
ICAgaW50IGxlZnRNYXJnaW5XaWR0aCgpIGNvbnN0IGZpbmFsOworICAgIGludCByaWdodE1hcmdp
bldpZHRoKCkgY29uc3QgZmluYWw7CisgICAgVGlsZUNvdmVyYWdlIHRpbGVDb3ZlcmFnZSgpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIG1fdGlsZUNvdmVyYWdlOyB9CisKKyAgICBGbG9hdFJlY3QgYWRq
dXN0VGlsZUNvdmVyYWdlUmVjdChjb25zdCBGbG9hdFJlY3QmIGNvdmVyYWdlUmVjdCwgY29uc3Qg
RmxvYXRSZWN0JiBwcmV2aW91c1Zpc2libGVSZWN0LCBjb25zdCBGbG9hdFJlY3QmIGN1cnJlbnRW
aXNpYmxlUmVjdCwgYm9vbCBzaXplQ2hhbmdlZCkgY29uc3QgZmluYWw7CisgICAgRmxvYXRSZWN0
IGFkanVzdFRpbGVDb3ZlcmFnZVJlY3RGb3JTY3JvbGxpbmcoY29uc3QgRmxvYXRSZWN0JiBjb3Zl
cmFnZVJlY3QsIGNvbnN0IEZsb2F0U2l6ZSYgbmV3U2l6ZSwgY29uc3QgRmxvYXRSZWN0JiBwcmV2
aW91c1Zpc2libGVSZWN0LCBjb25zdCBGbG9hdFJlY3QmIGN1cnJlbnRWaXNpYmxlUmVjdCwgZmxv
YXQgY29udGVudHNTY2FsZSkgY29uc3QgZmluYWw7CisKKyAgICBib29sIHNjcm9sbGluZ1BlcmZv
cm1hbmNlTG9nZ2luZ0VuYWJsZWQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3Njcm9sbGluZ1Bl
cmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQ7IH0KIAogICAgIEludFNpemUgY29tcHV0ZVRpbGVTaXpl
KCk7CiAKQEAgLTE1MSwzMiArMTU0LDMyIEBAIHByaXZhdGU6CiAgICAgZmxvYXQgdG9wQ29udGVu
dEluc2V0KCkgY29uc3QgeyByZXR1cm4gbV90b3BDb250ZW50SW5zZXQ7IH0KIAogICAgIC8vIFRp
bGVkQmFja2luZyBtZW1iZXIgZnVuY3Rpb25zLgotICAgIHZvaWQgc2V0VmlzaWJsZVJlY3QoY29u
c3QgRmxvYXRSZWN0Jikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzZXRMYXlvdXRWaWV3cG9ydFJlY3Qo
T3B0aW9uYWw8RmxvYXRSZWN0Pikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzZXRDb3ZlcmFnZVJlY3Qo
Y29uc3QgRmxvYXRSZWN0Jikgb3ZlcnJpZGU7Ci0gICAgYm9vbCB0aWxlc1dvdWxkQ2hhbmdlRm9y
Q292ZXJhZ2VSZWN0KGNvbnN0IEZsb2F0UmVjdCYpIGNvbnN0IG92ZXJyaWRlOwotICAgIHZvaWQg
c2V0VGlsZWRTY3JvbGxpbmdJbmRpY2F0b3JQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50Jikgb3Zl
cnJpZGU7Ci0gICAgdm9pZCBzZXRUb3BDb250ZW50SW5zZXQoZmxvYXQpIG92ZXJyaWRlOwotICAg
IHZvaWQgc2V0VmVsb2NpdHkoY29uc3QgVmVsb2NpdHlEYXRhJikgb3ZlcnJpZGU7Ci0gICAgdm9p
ZCBzZXRTY3JvbGxhYmlsaXR5KFNjcm9sbGFiaWxpdHkpIG92ZXJyaWRlOwotICAgIHZvaWQgcHJl
cG9wdWxhdGVSZWN0KGNvbnN0IEZsb2F0UmVjdCYpIG92ZXJyaWRlOwotICAgIHZvaWQgc2V0SXNJ
bldpbmRvdyhib29sKSBvdmVycmlkZTsKLSAgICBib29sIGlzSW5XaW5kb3coKSBjb25zdCBvdmVy
cmlkZSB7IHJldHVybiBtX2lzSW5XaW5kb3c7IH0KLSAgICB2b2lkIHNldFRpbGVDb3ZlcmFnZShU
aWxlQ292ZXJhZ2UpIG92ZXJyaWRlOwotICAgIHZvaWQgcmV2YWxpZGF0ZVRpbGVzKCkgb3ZlcnJp
ZGU7Ci0gICAgdm9pZCBmb3JjZVJlcGFpbnQoKSBvdmVycmlkZTsKLSAgICBJbnRSZWN0IHRpbGVH
cmlkRXh0ZW50KCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzZXRTY3JvbGxpbmdQZXJmb3Jt
YW5jZUxvZ2dpbmdFbmFibGVkKGJvb2wgZmxhZykgb3ZlcnJpZGUgeyBtX3Njcm9sbGluZ1BlcmZv
cm1hbmNlTG9nZ2luZ0VuYWJsZWQgPSBmbGFnOyB9Ci0gICAgZG91YmxlIHJldGFpbmVkVGlsZUJh
Y2tpbmdTdG9yZU1lbW9yeSgpIGNvbnN0IG92ZXJyaWRlOwotICAgIEludFJlY3QgdGlsZUNvdmVy
YWdlUmVjdCgpIGNvbnN0IG92ZXJyaWRlOworICAgIHZvaWQgc2V0VmlzaWJsZVJlY3QoY29uc3Qg
RmxvYXRSZWN0JikgZmluYWw7CisgICAgdm9pZCBzZXRMYXlvdXRWaWV3cG9ydFJlY3QoT3B0aW9u
YWw8RmxvYXRSZWN0PikgZmluYWw7CisgICAgdm9pZCBzZXRDb3ZlcmFnZVJlY3QoY29uc3QgRmxv
YXRSZWN0JikgZmluYWw7CisgICAgYm9vbCB0aWxlc1dvdWxkQ2hhbmdlRm9yQ292ZXJhZ2VSZWN0
KGNvbnN0IEZsb2F0UmVjdCYpIGNvbnN0IGZpbmFsOworICAgIHZvaWQgc2V0VGlsZWRTY3JvbGxp
bmdJbmRpY2F0b3JQb3NpdGlvbihjb25zdCBGbG9hdFBvaW50JikgZmluYWw7CisgICAgdm9pZCBz
ZXRUb3BDb250ZW50SW5zZXQoZmxvYXQpIGZpbmFsOworICAgIHZvaWQgc2V0VmVsb2NpdHkoY29u
c3QgVmVsb2NpdHlEYXRhJikgZmluYWw7CisgICAgdm9pZCBzZXRTY3JvbGxhYmlsaXR5KFNjcm9s
bGFiaWxpdHkpIGZpbmFsOworICAgIHZvaWQgcHJlcG9wdWxhdGVSZWN0KGNvbnN0IEZsb2F0UmVj
dCYpIGZpbmFsOworICAgIHZvaWQgc2V0SXNJbldpbmRvdyhib29sKSBmaW5hbDsKKyAgICBib29s
IGlzSW5XaW5kb3coKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2lzSW5XaW5kb3c7IH0KKyAgICB2
b2lkIHNldFRpbGVDb3ZlcmFnZShUaWxlQ292ZXJhZ2UpIGZpbmFsOworICAgIHZvaWQgcmV2YWxp
ZGF0ZVRpbGVzKCkgZmluYWw7CisgICAgdm9pZCBmb3JjZVJlcGFpbnQoKSBmaW5hbDsKKyAgICBJ
bnRSZWN0IHRpbGVHcmlkRXh0ZW50KCkgY29uc3QgZmluYWw7CisgICAgdm9pZCBzZXRTY3JvbGxp
bmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVkKGJvb2wgZmxhZykgZmluYWwgeyBtX3Njcm9sbGlu
Z1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQgPSBmbGFnOyB9CisgICAgZG91YmxlIHJldGFpbmVk
VGlsZUJhY2tpbmdTdG9yZU1lbW9yeSgpIGNvbnN0IGZpbmFsOworICAgIEludFJlY3QgdGlsZUNv
dmVyYWdlUmVjdCgpIGNvbnN0IGZpbmFsOwogI2lmIFVTRShDQSkKLSAgICBQbGF0Zm9ybUNBTGF5
ZXIqIHRpbGVkU2Nyb2xsaW5nSW5kaWNhdG9yTGF5ZXIoKSBvdmVycmlkZTsKKyAgICBQbGF0Zm9y
bUNBTGF5ZXIqIHRpbGVkU2Nyb2xsaW5nSW5kaWNhdG9yTGF5ZXIoKSBmaW5hbDsKICNlbmRpZgot
ICAgIHZvaWQgc2V0U2Nyb2xsaW5nTW9kZUluZGljYXRpb24oU2Nyb2xsaW5nTW9kZUluZGljYXRp
b24pIG92ZXJyaWRlOwotICAgIHZvaWQgc2V0SGFzTWFyZ2lucyhib29sIG1hcmdpblRvcCwgYm9v
bCBtYXJnaW5Cb3R0b20sIGJvb2wgbWFyZ2luTGVmdCwgYm9vbCBtYXJnaW5SaWdodCkgb3ZlcnJp
ZGU7Ci0gICAgdm9pZCBzZXRNYXJnaW5TaXplKGludCkgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzZXRa
b29tZWRPdXRDb250ZW50c1NjYWxlKGZsb2F0KSBvdmVycmlkZTsKLSAgICBmbG9hdCB6b29tZWRP
dXRDb250ZW50c1NjYWxlKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdm9pZCBzZXRTY3JvbGxpbmdN
b2RlSW5kaWNhdGlvbihTY3JvbGxpbmdNb2RlSW5kaWNhdGlvbikgZmluYWw7CisgICAgdm9pZCBz
ZXRIYXNNYXJnaW5zKGJvb2wgbWFyZ2luVG9wLCBib29sIG1hcmdpbkJvdHRvbSwgYm9vbCBtYXJn
aW5MZWZ0LCBib29sIG1hcmdpblJpZ2h0KSBmaW5hbDsKKyAgICB2b2lkIHNldE1hcmdpblNpemUo
aW50KSBmaW5hbDsKKyAgICB2b2lkIHNldFpvb21lZE91dENvbnRlbnRzU2NhbGUoZmxvYXQpIGZp
bmFsOworICAgIGZsb2F0IHpvb21lZE91dENvbnRlbnRzU2NhbGUoKSBjb25zdCBmaW5hbDsKIAog
ICAgIHZvaWQgdXBkYXRlTWFyZ2lucygpOwogICAgIHZvaWQgY2xlYXJab29tZWRPdXRUaWxlR3Jp
ZCgpOwo=
</data>
<flag name="review"
          id="386604"
          type_id="1"
          status="+"
          setter="zalan"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>370667</attachid>
            <date>2019-05-26 22:12:14 -0700</date>
            <delta_ts>2019-05-27 08:05:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-198266-20190526221213.patch</filename>
            <type>text/plain</type>
            <size>21220</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ1Nzc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTlhMmFhNWFjMmQ3NzZk
OGUxMjJlZTEwNzZiYzI0M2RlNTE1N2E3ZS4uMDVkNWMxNWI0OTM1ZmMzOGUyMWQwNWU5YmNmNTg1
NmQwNDBmOGM2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDE5LTA1LTI2ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIE1vdmUgR3JhcGhp
Y3NMYXllckNBOjphZGp1c3RUaWxlZExheWVyVmlzaWJsZVJlY3QoKSB0byBUaWxlQ29udHJvbGxl
cgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk4MjY2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgR3JhcGhp
Y3NMYXllckNBOjphZGp1c3RUaWxlZExheWVyVmlzaWJsZVJlY3QoKSB3YXMgY29tcHV0aW5nIHRp
bGUgY292ZXJhZ2UgZm9yIGEKKyAgICAgICAgVGlsZWRCYWNraW5nLCBqdXN0IGxpa2UgVGlsZUNv
bnRyb2xsZXI6OmFkanVzdFRpbGVDb3ZlcmFnZVJlY3QoKSwgc28gbW92ZSB0aGUgY29kZQorICAg
ICAgICBpbnRvIFRpbGVDb250cm9sbGVyIGFzIGEgZmlyc3Qgc3RlcCB0byB1bmlmeWluZyBtb3Jl
IG9mIHRoaXMgY29kZS4gSXQncyBjdXJyZW50bHkKKyAgICAgICAgdXNlZCBmb3IgdGlsZWQgY29t
cG9zaXRpbmcgbGF5ZXJzLCBpbmNsdWRpbmcgb3ZlcmZsb3c6c2Nyb2xsLCBhbmQgdGlsZWQgbGF5
ZXJzCisgICAgICAgIHdob3NlIGNvdmVyYWdlIG1heSBiZSBhZmZlY3RlZCBieSBhbmltYXRpb25z
LCBzbyBpdCdzIGdlbmVyYWwtcHVycG9zZS4KKworICAgICAgICBUaWxlQ29udHJvbGxlcjo6YWRq
dXN0VGlsZUNvdmVyYWdlUmVjdCgpIGlzIHVzZWQgZm9yIHNjcm9sbGFibGUgdGhpbmdzLCBzbyBy
ZW5hbWUKKyAgICAgICAgaXQgdG8gYWRqdXN0VGlsZUNvdmVyYWdlUmVjdEZvclNjcm9sbGluZygp
LgorCisgICAgICAgIE5vIGJlaGF2aW9yIGNoYW5nZS4KKworICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL1RpbGVkQmFja2luZy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL0dy
YXBoaWNzTGF5ZXJDQS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ0E6OmFk
anVzdENvdmVyYWdlUmVjdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVy
Q0E6OmFkanVzdFRpbGVkTGF5ZXJWaXNpYmxlUmVjdCk6IERlbGV0ZWQuCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VGlsZUNv
bnRyb2xsZXI6OmFkanVzdFRpbGVDb3ZlcmFnZVJlY3QgY29uc3QpOgorICAgICAgICAoV2ViQ29y
ZTo6VGlsZUNvbnRyb2xsZXI6OmFkanVzdFRpbGVDb3ZlcmFnZVJlY3RGb3JTY3JvbGxpbmcgY29u
c3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmg6CisK
IDIwMTktMDUtMjYgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAg
ICAgICAgTW92ZSBWZWxvY2l0eURhdGEgdG8gV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvVGlsZWRCYWNraW5nLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJhY2tpbmcuaAppbmRleCA1MjVjNGYzYTY3NTg5YTBiY2Y2
MGEzOGEwYWY3NmYxNDQxY2RlZjQ1Li5mMjJhNmZjYzUwNmI1MGI2M2E2ZjFmMzJlOGM3NmRmOThl
YzM3M2JiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxl
ZEJhY2tpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9UaWxlZEJh
Y2tpbmcuaApAQCAtOTUsNyArOTUsOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldFRp
bGVDb3ZlcmFnZShUaWxlQ292ZXJhZ2UpID0gMDsKICAgICB2aXJ0dWFsIFRpbGVDb3ZlcmFnZSB0
aWxlQ292ZXJhZ2UoKSBjb25zdCA9IDA7CiAKLSAgICB2aXJ0dWFsIHZvaWQgYWRqdXN0VGlsZUNv
dmVyYWdlUmVjdChGbG9hdFJlY3QmIGNvdmVyYWdlUmVjdCwgY29uc3QgRmxvYXRTaXplJiBuZXdT
aXplLCBjb25zdCBGbG9hdFJlY3QmIHByZXZpb3VzVmlzaWJsZVJlY3QsIGNvbnN0IEZsb2F0UmVj
dCYgY3VycmVudFZpc2libGVSZWN0LCBmbG9hdCBjb250ZW50c1NjYWxlKSBjb25zdCA9IDA7Cisg
ICAgdmlydHVhbCBGbG9hdFJlY3QgYWRqdXN0VGlsZUNvdmVyYWdlUmVjdChjb25zdCBGbG9hdFJl
Y3QmIGNvdmVyYWdlUmVjdCwgY29uc3QgRmxvYXRSZWN0JiBwcmV2aW91c1Zpc2libGVSZWN0LCBj
b25zdCBGbG9hdFJlY3QmIGN1cnJlbnRWaXNpYmxlUmVjdCwgYm9vbCBzaXplQ2hhbmdlZCkgY29u
c3QgPSAwOworICAgIHZpcnR1YWwgRmxvYXRSZWN0IGFkanVzdFRpbGVDb3ZlcmFnZVJlY3RGb3JT
Y3JvbGxpbmcoY29uc3QgRmxvYXRSZWN0JiBjb3ZlcmFnZVJlY3QsIGNvbnN0IEZsb2F0U2l6ZSYg
bmV3U2l6ZSwgY29uc3QgRmxvYXRSZWN0JiBwcmV2aW91c1Zpc2libGVSZWN0LCBjb25zdCBGbG9h
dFJlY3QmIGN1cnJlbnRWaXNpYmxlUmVjdCwgZmxvYXQgY29udGVudHNTY2FsZSkgY29uc3QgPSAw
OwogCiAgICAgdmlydHVhbCB2b2lkIHdpbGxTdGFydExpdmVSZXNpemUoKSA9IDA7CiAgICAgdmly
dHVhbCB2b2lkIGRpZEVuZExpdmVSZXNpemUoKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcAppbmRleCBmYmU0
YzM1NzkyNGEwYTYxNmRiMmUzZGEyMDQ4ZmNjNWY0MjM0ZGVjLi4xOGVkMmU3ZTU5ZjdlYjAwMTdi
YjgxOGNhZjg2YjllZDc5ZTRhN2Q5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAKQEAgLTE0NDMsMTYgKzE0NDMs
MTQgQEAgYm9vbCBHcmFwaGljc0xheWVyQ0E6OmFkanVzdENvdmVyYWdlUmVjdChWaXNpYmxlQW5k
Q292ZXJhZ2VSZWN0cyYgcmVjdHMsIGNvbnN0IEYKIHsKICAgICBGbG9hdFJlY3QgY292ZXJhZ2VS
ZWN0ID0gcmVjdHMuY292ZXJhZ2VSZWN0OwogCi0gICAgLy8gRklYTUU6IFRpbGVDb250cm9sbGVy
J3MgY29tcHV0ZVRpbGVDb3ZlcmFnZVJlY3QoKSBjb2RlIHNob3VsZCBtb3ZlIGhlcmUsIGFuZCB3
ZSBzaG91bGQgdW5pZnkgdGhlc2UgZGlmZmVyZW50Ci0gICAgLy8gd2F5cyBvZiBjb21wdXRpbmcg
Y292ZXJhZ2UuCiAgICAgc3dpdGNoICh0eXBlKCkpIHsKICAgICBjYXNlIFR5cGU6OlBhZ2VUaWxl
ZEJhY2tpbmc6Ci0gICAgICAgIHRpbGVkQmFja2luZygpLT5hZGp1c3RUaWxlQ292ZXJhZ2VSZWN0
KGNvdmVyYWdlUmVjdCwgc2l6ZSgpLCBvbGRWaXNpYmxlUmVjdCwgcmVjdHMudmlzaWJsZVJlY3Qs
IHBhZ2VTY2FsZUZhY3RvcigpICogZGV2aWNlU2NhbGVGYWN0b3IoKSk7CisgICAgICAgIGNvdmVy
YWdlUmVjdCA9IHRpbGVkQmFja2luZygpLT5hZGp1c3RUaWxlQ292ZXJhZ2VSZWN0Rm9yU2Nyb2xs
aW5nKGNvdmVyYWdlUmVjdCwgc2l6ZSgpLCBvbGRWaXNpYmxlUmVjdCwgcmVjdHMudmlzaWJsZVJl
Y3QsIHBhZ2VTY2FsZUZhY3RvcigpICogZGV2aWNlU2NhbGVGYWN0b3IoKSk7CiAgICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgVHlwZTo6Tm9ybWFsOgogICAgIGNhc2UgVHlwZTo6U2Nyb2xsZWRDb250
ZW50czoKICAgICAgICAgaWYgKG1fbGF5ZXItPmxheWVyVHlwZSgpID09IFBsYXRmb3JtQ0FMYXll
cjo6TGF5ZXJUeXBlVGlsZWRCYWNraW5nTGF5ZXIpCi0gICAgICAgICAgICBjb3ZlcmFnZVJlY3Qu
dW5pdGUoYWRqdXN0VGlsZWRMYXllclZpc2libGVSZWN0KHRpbGVkQmFja2luZygpLCBvbGRWaXNp
YmxlUmVjdCwgcmVjdHMudmlzaWJsZVJlY3QsIG1fc2l6ZUF0TGFzdENvdmVyYWdlUmVjdFVwZGF0
ZSwgbV9zaXplKSk7CisgICAgICAgICAgICBjb3ZlcmFnZVJlY3QgPSB0aWxlZEJhY2tpbmcoKS0+
YWRqdXN0VGlsZUNvdmVyYWdlUmVjdChjb3ZlcmFnZVJlY3QsIG9sZFZpc2libGVSZWN0LCByZWN0
cy52aXNpYmxlUmVjdCwgc2l6ZSgpICE9IG1fc2l6ZUF0TGFzdENvdmVyYWdlUmVjdFVwZGF0ZSk7
CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1bHQ6CiAgICAgICAgIGJyZWFrOwpAQCAtMjQ5OSw3
MCArMjQ5Nyw2IEBAIHZvaWQgR3JhcGhpY3NMYXllckNBOjp1cGRhdGVEZWJ1Z0luZGljYXRvcnMo
KQogICAgIH0KIH0KIAotRmxvYXRSZWN0IEdyYXBoaWNzTGF5ZXJDQTo6YWRqdXN0VGlsZWRMYXll
clZpc2libGVSZWN0KFRpbGVkQmFja2luZyogdGlsZWRCYWNraW5nLCBjb25zdCBGbG9hdFJlY3Qm
IG9sZFZpc2libGVSZWN0LCBjb25zdCBGbG9hdFJlY3QmIG5ld1Zpc2libGVSZWN0LCBjb25zdCBG
bG9hdFNpemUmIG9sZFNpemUsIGNvbnN0IEZsb2F0U2l6ZSYgbmV3U2l6ZSkKLXsKLSAgICAvLyBJ
ZiB0aGUgb2xkIHZpc2libGUgcmVjdCBpcyBlbXB0eSwgd2UgaGF2ZSBubyBpbmZvcm1hdGlvbiBh
Ym91dCBob3cgdGhlIHZpc2libGUgYXJlYSBpcyBjaGFuZ2luZwotICAgIC8vIChtYXliZSB0aGUg
bGF5ZXIgd2FzIGp1c3QgY3JlYXRlZCksIHNvIGRvbid0IGF0dGVtcHQgdG8gZXhwYW5kLiBBbHNv
IGRvbid0IGF0dGVtcHQgdG8gZXhwYW5kCi0gICAgLy8gaWYgdGhlIHNpemUgY2hhbmdlZCBvciB0
aGUgcmVjdHMgZG9uJ3Qgb3ZlcmxhcC4KLSAgICBpZiAob2xkVmlzaWJsZVJlY3QuaXNFbXB0eSgp
IHx8IG5ld1NpemUgIT0gb2xkU2l6ZSB8fCAhbmV3VmlzaWJsZVJlY3QuaW50ZXJzZWN0cyhvbGRW
aXNpYmxlUmVjdCkpCi0gICAgICAgIHJldHVybiBuZXdWaXNpYmxlUmVjdDsKLQotICAgIGlmIChN
ZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnNpbmdsZXRvbigpLmlzVW5kZXJNZW1vcnlQcmVzc3VyZSgp
KQotICAgICAgICByZXR1cm4gbmV3VmlzaWJsZVJlY3Q7Ci0KLSAgICBjb25zdCBmbG9hdCBwYWRk
aW5nTXVsdGlwbGllciA9IDI7Ci0KLSAgICBmbG9hdCBsZWZ0RWRnZURlbHRhID0gcGFkZGluZ011
bHRpcGxpZXIgKiAobmV3VmlzaWJsZVJlY3QueCgpIC0gb2xkVmlzaWJsZVJlY3QueCgpKTsKLSAg
ICBmbG9hdCByaWdodEVkZ2VEZWx0YSA9IHBhZGRpbmdNdWx0aXBsaWVyICogKG5ld1Zpc2libGVS
ZWN0Lm1heFgoKSAtIG9sZFZpc2libGVSZWN0Lm1heFgoKSk7Ci0KLSAgICBmbG9hdCB0b3BFZGdl
RGVsdGEgPSBwYWRkaW5nTXVsdGlwbGllciAqIChuZXdWaXNpYmxlUmVjdC55KCkgLSBvbGRWaXNp
YmxlUmVjdC55KCkpOwotICAgIGZsb2F0IGJvdHRvbUVkZ2VEZWx0YSA9IHBhZGRpbmdNdWx0aXBs
aWVyICogKG5ld1Zpc2libGVSZWN0Lm1heFkoKSAtIG9sZFZpc2libGVSZWN0Lm1heFkoKSk7Ci0g
ICAgCi0gICAgRmxvYXRSZWN0IGV4aXN0aW5nVGlsZUJhY2tpbmdSZWN0ID0gdGlsZWRCYWNraW5n
LT52aXNpYmxlUmVjdCgpOwotICAgIEZsb2F0UmVjdCBleHBhbmRlZFJlY3QgPSBuZXdWaXNpYmxl
UmVjdDsKLQotICAgIC8vIE1vcmUgZXhwb3NlZCBvbiBsZWZ0IHNpZGUuCi0gICAgaWYgKGxlZnRF
ZGdlRGVsdGEgPCAwKSB7Ci0gICAgICAgIGZsb2F0IG5ld0xlZnQgPSBleHBhbmRlZFJlY3QueCgp
ICsgbGVmdEVkZ2VEZWx0YTsKLSAgICAgICAgLy8gUGFkIHRvIHRoZSBsZWZ0LCBidXQgZG9uJ3Qg
cmVkdWNlIHBhZGRpbmcgdGhhdCdzIGFscmVhZHkgaW4gdGhlIGJhY2tpbmcgc3RvcmUgKHNpbmNl
IHdlJ3JlIHN0aWxsIGV4cG9zaW5nIHRvIHRoZSBsZWZ0KS4KLSAgICAgICAgaWYgKG5ld0xlZnQg
PCBleGlzdGluZ1RpbGVCYWNraW5nUmVjdC54KCkpCi0gICAgICAgICAgICBleHBhbmRlZFJlY3Qu
c2hpZnRYRWRnZVRvKG5ld0xlZnQpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBleHBhbmRl
ZFJlY3Quc2hpZnRYRWRnZVRvKGV4aXN0aW5nVGlsZUJhY2tpbmdSZWN0LngoKSk7Ci0gICAgfQot
Ci0gICAgLy8gTW9yZSBleHBvc2VkIG9uIHJpZ2h0LgotICAgIGlmIChyaWdodEVkZ2VEZWx0YSA+
IDApIHsKLSAgICAgICAgZmxvYXQgbmV3UmlnaHQgPSBleHBhbmRlZFJlY3QubWF4WCgpICsgcmln
aHRFZGdlRGVsdGE7Ci0gICAgICAgIC8vIFBhZCB0byB0aGUgcmlnaHQsIGJ1dCBkb24ndCByZWR1
Y2UgcGFkZGluZyB0aGF0J3MgYWxyZWFkeSBpbiB0aGUgYmFja2luZyBzdG9yZSAoc2luY2Ugd2Un
cmUgc3RpbGwgZXhwb3NpbmcgdG8gdGhlIHJpZ2h0KS4KLSAgICAgICAgaWYgKG5ld1JpZ2h0ID4g
ZXhpc3RpbmdUaWxlQmFja2luZ1JlY3QubWF4WCgpKQotICAgICAgICAgICAgZXhwYW5kZWRSZWN0
LnNldFdpZHRoKG5ld1JpZ2h0IC0gZXhwYW5kZWRSZWN0LngoKSk7Ci0gICAgICAgIGVsc2UKLSAg
ICAgICAgICAgIGV4cGFuZGVkUmVjdC5zZXRXaWR0aChleGlzdGluZ1RpbGVCYWNraW5nUmVjdC5t
YXhYKCkgLSBleHBhbmRlZFJlY3QueCgpKTsKLSAgICB9Ci0KLSAgICAvLyBNb3JlIGV4cG9zZWQg
YXQgdG9wLgotICAgIGlmICh0b3BFZGdlRGVsdGEgPCAwKSB7Ci0gICAgICAgIGZsb2F0IG5ld1Rv
cCA9IGV4cGFuZGVkUmVjdC55KCkgKyB0b3BFZGdlRGVsdGE7Ci0gICAgICAgIGlmIChuZXdUb3Ag
PCBleGlzdGluZ1RpbGVCYWNraW5nUmVjdC55KCkpCi0gICAgICAgICAgICBleHBhbmRlZFJlY3Qu
c2hpZnRZRWRnZVRvKG5ld1RvcCk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIGV4cGFuZGVk
UmVjdC5zaGlmdFlFZGdlVG8oZXhpc3RpbmdUaWxlQmFja2luZ1JlY3QueSgpKTsKLSAgICB9Ci0K
LSAgICAvLyBNb3JlIGV4cG9zZWQgb24gYm90dG9tLgotICAgIGlmIChib3R0b21FZGdlRGVsdGEg
PiAwKSB7Ci0gICAgICAgIGZsb2F0IG5ld0JvdHRvbSA9IGV4cGFuZGVkUmVjdC5tYXhZKCkgKyBi
b3R0b21FZGdlRGVsdGE7Ci0gICAgICAgIGlmIChuZXdCb3R0b20gPiBleGlzdGluZ1RpbGVCYWNr
aW5nUmVjdC5tYXhZKCkpCi0gICAgICAgICAgICBleHBhbmRlZFJlY3Quc2V0SGVpZ2h0KG5ld0Jv
dHRvbSAtIGV4cGFuZGVkUmVjdC55KCkpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBleHBh
bmRlZFJlY3Quc2V0SGVpZ2h0KGV4aXN0aW5nVGlsZUJhY2tpbmdSZWN0Lm1heFkoKSAtIGV4cGFu
ZGVkUmVjdC55KCkpOwotICAgIH0KLSAgICAKLSAgICBleHBhbmRlZFJlY3QuaW50ZXJzZWN0KHRp
bGVkQmFja2luZy0+Ym91bmRzV2l0aG91dE1hcmdpbigpKTsKLSAgICByZXR1cm4gZXhwYW5kZWRS
ZWN0OwotfQotCiB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6dXBkYXRlVGlsZXMoKQogewogICAgIGlm
ICghbV9sYXllci0+dXNlc1RpbGVkQmFja2luZ0xheWVyKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5oCmluZGV4IGViYmZi
NTJiNWNlZTFlNGQxOTg1NWE0YzM1YjI3NWYyYThjOGVjOTguLmM5MjFkNWZmZWU2OWViOTNkNGQ2
Njk2OWE4MjUzZWUxMGU2NzYzZjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5oCkBAIC0zMjMsOCArMzIzLDYgQEAgcHJp
dmF0ZToKIAogICAgIHZvaWQgc2V0VmlzaWJsZUFuZENvdmVyYWdlUmVjdHMoY29uc3QgVmlzaWJs
ZUFuZENvdmVyYWdlUmVjdHMmLCBib29sIGlzVmlld3BvcnRDb25zdHJhaW5lZCk7CiAgICAgCi0g
ICAgc3RhdGljIEZsb2F0UmVjdCBhZGp1c3RUaWxlZExheWVyVmlzaWJsZVJlY3QoVGlsZWRCYWNr
aW5nKiwgY29uc3QgRmxvYXRSZWN0JiBvbGRWaXNpYmxlUmVjdCwgY29uc3QgRmxvYXRSZWN0JiBu
ZXdWaXNpYmxlUmVjdCwgY29uc3QgRmxvYXRTaXplJiBvbGRTaXplLCBjb25zdCBGbG9hdFNpemUm
IG5ld1NpemUpOwotCiAgICAgYm9vbCByZWN1cnNpdmVWaXNpYmxlUmVjdENoYW5nZVJlcXVpcmVz
Rmx1c2goY29uc3QgQ29tbWl0U3RhdGUmLCBjb25zdCBUcmFuc2Zvcm1TdGF0ZSYpIGNvbnN0Owog
ICAgIAogICAgIGJvb2wgaXNQYWdlVGlsZWRCYWNraW5nTGF5ZXIoKSBjb25zdCB7IHJldHVybiB0
eXBlKCkgPT0gVHlwZTo6UGFnZVRpbGVkQmFja2luZzsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuY3BwCmluZGV4IDI1NDZh
YzdjOWMzMTIxNjNiY2MyY2Q4YWMzYWMwOGRjNjc2ZTUzNzUuLjRhZmYxMDE3MmRkZGUwODhjNmM3
NTk5NzIxMDE2NDc3NzMwOTNjZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJvbGxlci5jcHAKQEAgLTM3LDYgKzM3LDcgQEAKICNp
bmNsdWRlICJWZWxvY2l0eURhdGEuaCIKICNpbmNsdWRlIDx1dGlsaXR5PgogI2luY2x1ZGUgPHd0
Zi9NYWluVGhyZWFkLmg+CisjaW5jbHVkZSA8d3RmL01lbW9yeVByZXNzdXJlSGFuZGxlci5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRTdHJlYW0uaD4KIAogI2lmIEhBVkUoSU9TVVJGQUNFKQpA
QCAtNDUsNyArNDYsNiBAQAogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICNpbmNsdWRlICJU
aWxlQ29udHJvbGxlck1lbW9yeUhhbmRsZXJJT1MuaCIKLSNpbmNsdWRlIDx3dGYvTWVtb3J5UHJl
c3N1cmVIYW5kbGVyLmg+CiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMzg2LDIy
ICszODYsODEgQEAgc3RhdGljIEZsb2F0UmVjdCBleHBhbmRSZWN0V2l0aGluUmVjdChjb25zdCBG
bG9hdFJlY3QmIHJlY3QsIGNvbnN0IEZsb2F0U2l6ZSYgbmUKIH0KICNlbmRpZgogCi12b2lkIFRp
bGVDb250cm9sbGVyOjphZGp1c3RUaWxlQ292ZXJhZ2VSZWN0KEZsb2F0UmVjdCYgY292ZXJhZ2VS
ZWN0LCBjb25zdCBGbG9hdFNpemUmIG5ld1NpemUsIGNvbnN0IEZsb2F0UmVjdCYgcHJldmlvdXNW
aXNpYmxlUmVjdCwgY29uc3QgRmxvYXRSZWN0JiB2aXNpYmxlUmVjdCwgZmxvYXQgY29udGVudHNT
Y2FsZSkgY29uc3QKK0Zsb2F0UmVjdCBUaWxlQ29udHJvbGxlcjo6YWRqdXN0VGlsZUNvdmVyYWdl
UmVjdChjb25zdCBGbG9hdFJlY3QmIGNvdmVyYWdlUmVjdCwgY29uc3QgRmxvYXRSZWN0JiBwcmV2
aW91c1Zpc2libGVSZWN0LCBjb25zdCBGbG9hdFJlY3QmIGN1cnJlbnRWaXNpYmxlUmVjdCwgYm9v
bCBzaXplQ2hhbmdlZCkgY29uc3QKIHsKLSAgICAvLyBJZiB0aGUgcGFnZSBpcyBub3QgaW4gYSB3
aW5kb3cgKGZvciBleGFtcGxlIGlmIGl0J3MgaW4gYSBiYWNrZ3JvdW5kIHRhYiksIHdlIGxpbWl0
IHRoZSB0aWxlIGNvdmVyYWdlIHJlY3QgdG8gdGhlIHZpc2libGUgcmVjdC4KLSAgICBpZiAoIW1f
aXNJbldpbmRvdykgewotICAgICAgICBjb3ZlcmFnZVJlY3QgPSB2aXNpYmxlUmVjdDsKLSAgICAg
ICAgcmV0dXJuOworICAgIC8vIElmIHRoZSBvbGQgdmlzaWJsZSByZWN0IGlzIGVtcHR5LCB3ZSBo
YXZlIG5vIGluZm9ybWF0aW9uIGFib3V0IGhvdyB0aGUgdmlzaWJsZSBhcmVhIGlzIGNoYW5naW5n
CisgICAgLy8gKG1heWJlIHRoZSBsYXllciB3YXMganVzdCBjcmVhdGVkKSwgc28gZG9uJ3QgYXR0
ZW1wdCB0byBleHBhbmQuIEFsc28gZG9uJ3QgYXR0ZW1wdCB0byBleHBhbmQKKyAgICAvLyBpZiB0
aGUgc2l6ZSBjaGFuZ2VkIG9yIHRoZSByZWN0cyBkb24ndCBvdmVybGFwLgorICAgIGlmIChwcmV2
aW91c1Zpc2libGVSZWN0LmlzRW1wdHkoKSB8fCBzaXplQ2hhbmdlZCAgfHwgIWN1cnJlbnRWaXNp
YmxlUmVjdC5pbnRlcnNlY3RzKHByZXZpb3VzVmlzaWJsZVJlY3QpKQorICAgICAgICByZXR1cm4g
dW5pb25SZWN0KGNvdmVyYWdlUmVjdCwgY3VycmVudFZpc2libGVSZWN0KTsKKworICAgIGlmIChN
ZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnNpbmdsZXRvbigpLmlzVW5kZXJNZW1vcnlQcmVzc3VyZSgp
KQorICAgICAgICByZXR1cm4gdW5pb25SZWN0KGNvdmVyYWdlUmVjdCwgY3VycmVudFZpc2libGVS
ZWN0KTsKKworICAgIGNvbnN0IGZsb2F0IHBhZGRpbmdNdWx0aXBsaWVyID0gMjsKKworICAgIGZs
b2F0IGxlZnRFZGdlRGVsdGEgPSBwYWRkaW5nTXVsdGlwbGllciAqIChjdXJyZW50VmlzaWJsZVJl
Y3QueCgpIC0gcHJldmlvdXNWaXNpYmxlUmVjdC54KCkpOworICAgIGZsb2F0IHJpZ2h0RWRnZURl
bHRhID0gcGFkZGluZ011bHRpcGxpZXIgKiAoY3VycmVudFZpc2libGVSZWN0Lm1heFgoKSAtIHBy
ZXZpb3VzVmlzaWJsZVJlY3QubWF4WCgpKTsKKworICAgIGZsb2F0IHRvcEVkZ2VEZWx0YSA9IHBh
ZGRpbmdNdWx0aXBsaWVyICogKGN1cnJlbnRWaXNpYmxlUmVjdC55KCkgLSBwcmV2aW91c1Zpc2li
bGVSZWN0LnkoKSk7CisgICAgZmxvYXQgYm90dG9tRWRnZURlbHRhID0gcGFkZGluZ011bHRpcGxp
ZXIgKiAoY3VycmVudFZpc2libGVSZWN0Lm1heFkoKSAtIHByZXZpb3VzVmlzaWJsZVJlY3QubWF4
WSgpKTsKKyAgICAKKyAgICBGbG9hdFJlY3QgZXhwYW5kZWRSZWN0ID0gY3VycmVudFZpc2libGVS
ZWN0OworCisgICAgLy8gTW9yZSBleHBvc2VkIG9uIGxlZnQgc2lkZS4KKyAgICBpZiAobGVmdEVk
Z2VEZWx0YSA8IDApIHsKKyAgICAgICAgZmxvYXQgbmV3TGVmdCA9IGV4cGFuZGVkUmVjdC54KCkg
KyBsZWZ0RWRnZURlbHRhOworICAgICAgICAvLyBQYWQgdG8gdGhlIGxlZnQsIGJ1dCBkb24ndCBy
ZWR1Y2UgcGFkZGluZyB0aGF0J3MgYWxyZWFkeSBpbiB0aGUgYmFja2luZyBzdG9yZSAoc2luY2Ug
d2UncmUgc3RpbGwgZXhwb3NpbmcgdG8gdGhlIGxlZnQpLgorICAgICAgICBpZiAobmV3TGVmdCA8
IHByZXZpb3VzVmlzaWJsZVJlY3QueCgpKQorICAgICAgICAgICAgZXhwYW5kZWRSZWN0LnNoaWZ0
WEVkZ2VUbyhuZXdMZWZ0KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZXhwYW5kZWRSZWN0
LnNoaWZ0WEVkZ2VUbyhwcmV2aW91c1Zpc2libGVSZWN0LngoKSk7CisgICAgfQorCisgICAgLy8g
TW9yZSBleHBvc2VkIG9uIHJpZ2h0LgorICAgIGlmIChyaWdodEVkZ2VEZWx0YSA+IDApIHsKKyAg
ICAgICAgZmxvYXQgbmV3UmlnaHQgPSBleHBhbmRlZFJlY3QubWF4WCgpICsgcmlnaHRFZGdlRGVs
dGE7CisgICAgICAgIC8vIFBhZCB0byB0aGUgcmlnaHQsIGJ1dCBkb24ndCByZWR1Y2UgcGFkZGlu
ZyB0aGF0J3MgYWxyZWFkeSBpbiB0aGUgYmFja2luZyBzdG9yZSAoc2luY2Ugd2UncmUgc3RpbGwg
ZXhwb3NpbmcgdG8gdGhlIHJpZ2h0KS4KKyAgICAgICAgaWYgKG5ld1JpZ2h0ID4gcHJldmlvdXNW
aXNpYmxlUmVjdC5tYXhYKCkpCisgICAgICAgICAgICBleHBhbmRlZFJlY3Quc2V0V2lkdGgobmV3
UmlnaHQgLSBleHBhbmRlZFJlY3QueCgpKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZXhw
YW5kZWRSZWN0LnNldFdpZHRoKHByZXZpb3VzVmlzaWJsZVJlY3QubWF4WCgpIC0gZXhwYW5kZWRS
ZWN0LngoKSk7CiAgICAgfQogCisgICAgLy8gTW9yZSBleHBvc2VkIGF0IHRvcC4KKyAgICBpZiAo
dG9wRWRnZURlbHRhIDwgMCkgeworICAgICAgICBmbG9hdCBuZXdUb3AgPSBleHBhbmRlZFJlY3Qu
eSgpICsgdG9wRWRnZURlbHRhOworICAgICAgICBpZiAobmV3VG9wIDwgcHJldmlvdXNWaXNpYmxl
UmVjdC55KCkpCisgICAgICAgICAgICBleHBhbmRlZFJlY3Quc2hpZnRZRWRnZVRvKG5ld1RvcCk7
CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGV4cGFuZGVkUmVjdC5zaGlmdFlFZGdlVG8ocHJl
dmlvdXNWaXNpYmxlUmVjdC55KCkpOworICAgIH0KKworICAgIC8vIE1vcmUgZXhwb3NlZCBvbiBi
b3R0b20uCisgICAgaWYgKGJvdHRvbUVkZ2VEZWx0YSA+IDApIHsKKyAgICAgICAgZmxvYXQgbmV3
Qm90dG9tID0gZXhwYW5kZWRSZWN0Lm1heFkoKSArIGJvdHRvbUVkZ2VEZWx0YTsKKyAgICAgICAg
aWYgKG5ld0JvdHRvbSA+IHByZXZpb3VzVmlzaWJsZVJlY3QubWF4WSgpKQorICAgICAgICAgICAg
ZXhwYW5kZWRSZWN0LnNldEhlaWdodChuZXdCb3R0b20gLSBleHBhbmRlZFJlY3QueSgpKTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgZXhwYW5kZWRSZWN0LnNldEhlaWdodChwcmV2aW91c1Zp
c2libGVSZWN0Lm1heFkoKSAtIGV4cGFuZGVkUmVjdC55KCkpOworICAgIH0KKyAgICAKKyAgICBl
eHBhbmRlZFJlY3QuaW50ZXJzZWN0KGJvdW5kc1dpdGhvdXRNYXJnaW4oKSk7CisgICAgcmV0dXJu
IHVuaW9uUmVjdChjb3ZlcmFnZVJlY3QsIGV4cGFuZGVkUmVjdCk7Cit9CisKK0Zsb2F0UmVjdCBU
aWxlQ29udHJvbGxlcjo6YWRqdXN0VGlsZUNvdmVyYWdlUmVjdEZvclNjcm9sbGluZyhjb25zdCBG
bG9hdFJlY3QmIGNvdmVyYWdlUmVjdCwgY29uc3QgRmxvYXRTaXplJiBuZXdTaXplLCBjb25zdCBG
bG9hdFJlY3QmIHByZXZpb3VzVmlzaWJsZVJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgdmlzaWJsZVJl
Y3QsIGZsb2F0IGNvbnRlbnRzU2NhbGUpIGNvbnN0Cit7CisgICAgLy8gSWYgdGhlIHBhZ2UgaXMg
bm90IGluIGEgd2luZG93IChmb3IgZXhhbXBsZSBpZiBpdCdzIGluIGEgYmFja2dyb3VuZCB0YWIp
LCB3ZSBsaW1pdCB0aGUgdGlsZSBjb3ZlcmFnZSByZWN0IHRvIHRoZSB2aXNpYmxlIHJlY3QuCisg
ICAgaWYgKCFtX2lzSW5XaW5kb3cpCisgICAgICAgIHJldHVybiB2aXNpYmxlUmVjdDsKKwogI2lm
IFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgLy8gRklYTUU6IHVuaWZ5IHRoZSBpT1MgYW5kIE1h
YyBjb2RlLgogICAgIFVOVVNFRF9QQVJBTShwcmV2aW91c1Zpc2libGVSZWN0KTsKICAgICAKLSAg
ICBpZiAobV90aWxlQ292ZXJhZ2UgPT0gQ292ZXJhZ2VGb3JWaXNpYmxlQXJlYSB8fCBNZW1vcnlQ
cmVzc3VyZUhhbmRsZXI6OnNpbmdsZXRvbigpLmlzVW5kZXJNZW1vcnlQcmVzc3VyZSgpKSB7Ci0g
ICAgICAgIGNvdmVyYWdlUmVjdCA9IHZpc2libGVSZWN0OwotICAgICAgICByZXR1cm47Ci0gICAg
fQorICAgIGlmIChtX3RpbGVDb3ZlcmFnZSA9PSBDb3ZlcmFnZUZvclZpc2libGVBcmVhIHx8IE1l
bW9yeVByZXNzdXJlSGFuZGxlcjo6c2luZ2xldG9uKCkuaXNVbmRlck1lbW9yeVByZXNzdXJlKCkp
CisgICAgICAgIHJldHVybiB2aXNpYmxlUmVjdDsKIAogICAgIGRvdWJsZSBob3Jpem9udGFsTWFy
Z2luID0ga0RlZmF1bHRUaWxlU2l6ZSAvIGNvbnRlbnRzU2NhbGU7CiAgICAgZG91YmxlIHZlcnRp
Y2FsTWFyZ2luID0ga0RlZmF1bHRUaWxlU2l6ZSAvIGNvbnRlbnRzU2NhbGU7CkBAIC00MjgsOSAr
NDg3LDggQEAgdm9pZCBUaWxlQ29udHJvbGxlcjo6YWRqdXN0VGlsZUNvdmVyYWdlUmVjdChGbG9h
dFJlY3QmIGNvdmVyYWdlUmVjdCwgY29uc3QgRmxvYXQKIAogICAgIGlmICghbV92ZWxvY2l0eS5o
b3Jpem9udGFsVmVsb2NpdHkgJiYgIW1fdmVsb2NpdHkudmVydGljYWxWZWxvY2l0eSkgewogICAg
ICAgICBpZiAobV92ZWxvY2l0eS5zY2FsZUNoYW5nZVJhdGUgPiAwKSB7Ci0gICAgICAgICAgICBj
b3ZlcmFnZVJlY3QgPSB2aXNpYmxlUmVjdDsKICAgICAgICAgICAgIExPR19XSVRIX1NUUkVBTShU
aWxpbmcsIHN0cmVhbSA8PCAiVGlsZUNvbnRyb2xsZXIgIiA8PCB0aGlzIDw8ICIgY29tcHV0ZVRp
bGVDb3ZlcmFnZVJlY3QgLSB6b29taW5nLCBjb3ZlcmFnZSBpcyB2aXNpYmxlIHJlY3QgIiA8PCBj
b3ZlcmFnZVJlY3QpOwotICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgcmV0dXJuIHZp
c2libGVSZWN0OwogICAgICAgICB9CiAgICAgICAgIGZ1dHVyZVJlY3Quc2V0V2lkdGgoZnV0dXJl
UmVjdC53aWR0aCgpICsgaG9yaXpvbnRhbE1hcmdpbik7CiAgICAgICAgIGZ1dHVyZVJlY3Quc2V0
SGVpZ2h0KGZ1dHVyZVJlY3QuaGVpZ2h0KCkgKyB2ZXJ0aWNhbE1hcmdpbik7CkBAIC00NTIsNyAr
NTEwLDcgQEAgdm9pZCBUaWxlQ29udHJvbGxlcjo6YWRqdXN0VGlsZUNvdmVyYWdlUmVjdChGbG9h
dFJlY3QmIGNvdmVyYWdlUmVjdCwgY29uc3QgRmxvYXQKIAogICAgIExPR19XSVRIX1NUUkVBTShU
aWxpbmcsIHN0cmVhbSA8PCAiVGlsZUNvbnRyb2xsZXIgIiA8PCB0aGlzIDw8ICIgY29tcHV0ZVRp
bGVDb3ZlcmFnZVJlY3QgLSBjb3ZlcmFnZSAiIDw8IGNvdmVyYWdlUmVjdCA8PCAiIGV4cGFuZGVk
IHRvICIgPDwgdW5pb25SZWN0KGNvdmVyYWdlUmVjdCwgZnV0dXJlUmVjdCkgPDwgIiB2ZWxvY2l0
eSAiIDw8IG1fdmVsb2NpdHkpOwogCi0gICAgY292ZXJhZ2VSZWN0LnVuaXRlKGZ1dHVyZVJlY3Qp
OworICAgIHJldHVybiB1bmlvblJlY3QoY292ZXJhZ2VSZWN0LCBmdXR1cmVSZWN0KTsKICNlbHNl
CiAgICAgVU5VU0VEX1BBUkFNKGNvbnRlbnRzU2NhbGUpOwogCkBAIC00NzksNyArNTM3LDcgQEAg
dm9pZCBUaWxlQ29udHJvbGxlcjo6YWRqdXN0VGlsZUNvdmVyYWdlUmVjdChGbG9hdFJlY3QmIGNv
dmVyYWdlUmVjdCwgY29uc3QgRmxvYXQKICAgICAKICAgICBGbG9hdFJlY3QgY292ZXJhZ2UgPSBl
eHBhbmRSZWN0V2l0aGluUmVjdCh2aXNpYmxlUmVjdCwgY292ZXJhZ2VTaXplLCBjb3ZlcmFnZUJv
dW5kcyk7CiAgICAgTE9HX1dJVEhfU1RSRUFNKFRpbGluZywgc3RyZWFtIDw8ICJUaWxlQ29udHJv
bGxlcjo6Y29tcHV0ZVRpbGVDb3ZlcmFnZVJlY3QgbmV3U2l6ZT0iIDw8IG5ld1NpemUgPDwgIiBt
b2RlICIgPDwgbV90aWxlQ292ZXJhZ2UgPDwgIiBleHBhbmRlZCB0byAiIDw8IGNvdmVyYWdlU2l6
ZSA8PCAiIGJvdW5kcyB3aXRoIG1hcmdpbiAiIDw8IGNvdmVyYWdlQm91bmRzIDw8ICIgY292ZXJh
Z2UgIiA8PCBjb3ZlcmFnZSk7Ci0gICAgY292ZXJhZ2VSZWN0LnVuaXRlKGNvdmVyYWdlKTsKKyAg
ICByZXR1cm4gdW5pb25SZWN0KGNvdmVyYWdlUmVjdCwgY292ZXJhZ2UpOwogI2VuZGlmCiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250
cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9UaWxlQ29udHJv
bGxlci5oCmluZGV4IGRiYjA0OWFiZTU0MzE3YmQxMWJmMDhiNjM3OWRmMmFjZjY4YTE3YzMuLjhk
ZmM0MzJhYzY3ZjlmODE3NDQzOWE1ZDExMDBlYmNmNmE2M2MzYzggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL1RpbGVDb250cm9sbGVyLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvVGlsZUNvbnRyb2xsZXIuaApAQCAtODcs
OCArODcsOCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRUaWxlRGVidWdC
b3JkZXJXaWR0aChmbG9hdCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRUaWxlRGVidWdC
b3JkZXJDb2xvcihDb2xvcik7CiAKLSAgICBGbG9hdFJlY3QgdmlzaWJsZVJlY3QoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiBtX3Zpc2libGVSZWN0OyB9Ci0gICAgRmxvYXRSZWN0IGNvdmVyYWdl
UmVjdCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1fY292ZXJhZ2VSZWN0OyB9CisgICAgRmxv
YXRSZWN0IHZpc2libGVSZWN0KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV92aXNpYmxlUmVjdDsg
fQorICAgIEZsb2F0UmVjdCBjb3ZlcmFnZVJlY3QoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2Nv
dmVyYWdlUmVjdDsgfQogICAgIE9wdGlvbmFsPEZsb2F0UmVjdD4gbGF5b3V0Vmlld3BvcnRSZWN0
KCkgY29uc3QgeyByZXR1cm4gbV9sYXlvdXRWaWV3cG9ydFJlY3Q7IH0KIAogICAgIHZvaWQgc2V0
VGlsZVNpemVVcGRhdGVEZWxheURpc2FibGVkRm9yVGVzdGluZyhib29sKSBmaW5hbDsKQEAgLTEw
NywyMiArMTA3LDI1IEBAIHB1YmxpYzoKICAgICBmbG9hdCB0aWxlRGVidWdCb3JkZXJXaWR0aCgp
IGNvbnN0IHsgcmV0dXJuIG1fdGlsZURlYnVnQm9yZGVyV2lkdGg7IH0KICAgICBTY3JvbGxpbmdN
b2RlSW5kaWNhdGlvbiBpbmRpY2F0b3JNb2RlKCkgY29uc3QgeyByZXR1cm4gbV9pbmRpY2F0b3JN
b2RlOyB9CiAKLSAgICB2b2lkIHdpbGxTdGFydExpdmVSZXNpemUoKSBvdmVycmlkZTsKLSAgICB2
b2lkIGRpZEVuZExpdmVSZXNpemUoKSBvdmVycmlkZTsKLQotICAgIEludFNpemUgdGlsZVNpemUo
KSBjb25zdCBvdmVycmlkZTsKLSAgICBJbnRSZWN0IGJvdW5kcygpIGNvbnN0IG92ZXJyaWRlOwot
ICAgIEludFJlY3QgYm91bmRzV2l0aG91dE1hcmdpbigpIGNvbnN0IG92ZXJyaWRlOwotICAgIGJv
b2wgaGFzTWFyZ2lucygpIGNvbnN0IG92ZXJyaWRlOwotICAgIGJvb2wgaGFzSG9yaXpvbnRhbE1h
cmdpbnMoKSBjb25zdCBvdmVycmlkZTsKLSAgICBib29sIGhhc1ZlcnRpY2FsTWFyZ2lucygpIGNv
bnN0IG92ZXJyaWRlOwotICAgIGludCB0b3BNYXJnaW5IZWlnaHQoKSBjb25zdCBvdmVycmlkZTsK
LSAgICBpbnQgYm90dG9tTWFyZ2luSGVpZ2h0KCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgaW50IGxl
ZnRNYXJnaW5XaWR0aCgpIGNvbnN0IG92ZXJyaWRlOwotICAgIGludCByaWdodE1hcmdpbldpZHRo
KCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgVGlsZUNvdmVyYWdlIHRpbGVDb3ZlcmFnZSgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIG1fdGlsZUNvdmVyYWdlOyB9Ci0gICAgdm9pZCBhZGp1c3RUaWxl
Q292ZXJhZ2VSZWN0KEZsb2F0UmVjdCYgY292ZXJhZ2VSZWN0LCBjb25zdCBGbG9hdFNpemUmIG5l
d1NpemUsIGNvbnN0IEZsb2F0UmVjdCYgcHJldmlvdXNWaXNpYmxlUmVjdCwgY29uc3QgRmxvYXRS
ZWN0JiBjdXJyZW50VmlzaWJsZVJlY3QsIGZsb2F0IGNvbnRlbnRzU2NhbGUpIGNvbnN0IG92ZXJy
aWRlOwotICAgIGJvb2wgc2Nyb2xsaW5nUGVyZm9ybWFuY2VMb2dnaW5nRW5hYmxlZCgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuIG1fc2Nyb2xsaW5nUGVyZm9ybWFuY2VMb2dnaW5nRW5hYmxlZDsg
fQorICAgIHZvaWQgd2lsbFN0YXJ0TGl2ZVJlc2l6ZSgpIGZpbmFsOworICAgIHZvaWQgZGlkRW5k
TGl2ZVJlc2l6ZSgpIGZpbmFsOworCisgICAgSW50U2l6ZSB0aWxlU2l6ZSgpIGNvbnN0IGZpbmFs
OworICAgIEludFJlY3QgYm91bmRzKCkgY29uc3QgZmluYWw7CisgICAgSW50UmVjdCBib3VuZHNX
aXRob3V0TWFyZ2luKCkgY29uc3QgZmluYWw7CisgICAgYm9vbCBoYXNNYXJnaW5zKCkgY29uc3Qg
ZmluYWw7CisgICAgYm9vbCBoYXNIb3Jpem9udGFsTWFyZ2lucygpIGNvbnN0IGZpbmFsOworICAg
IGJvb2wgaGFzVmVydGljYWxNYXJnaW5zKCkgY29uc3QgZmluYWw7CisgICAgaW50IHRvcE1hcmdp
bkhlaWdodCgpIGNvbnN0IGZpbmFsOworICAgIGludCBib3R0b21NYXJnaW5IZWlnaHQoKSBjb25z
dCBmaW5hbDsKKyAgICBpbnQgbGVmdE1hcmdpbldpZHRoKCkgY29uc3QgZmluYWw7CisgICAgaW50
IHJpZ2h0TWFyZ2luV2lkdGgoKSBjb25zdCBmaW5hbDsKKyAgICBUaWxlQ292ZXJhZ2UgdGlsZUNv
dmVyYWdlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV90aWxlQ292ZXJhZ2U7IH0KKworICAgIEZs
b2F0UmVjdCBhZGp1c3RUaWxlQ292ZXJhZ2VSZWN0KGNvbnN0IEZsb2F0UmVjdCYgY292ZXJhZ2VS
ZWN0LCBjb25zdCBGbG9hdFJlY3QmIHByZXZpb3VzVmlzaWJsZVJlY3QsIGNvbnN0IEZsb2F0UmVj
dCYgY3VycmVudFZpc2libGVSZWN0LCBib29sIHNpemVDaGFuZ2VkKSBjb25zdCBmaW5hbDsKKyAg
ICBGbG9hdFJlY3QgYWRqdXN0VGlsZUNvdmVyYWdlUmVjdEZvclNjcm9sbGluZyhjb25zdCBGbG9h
dFJlY3QmIGNvdmVyYWdlUmVjdCwgY29uc3QgRmxvYXRTaXplJiBuZXdTaXplLCBjb25zdCBGbG9h
dFJlY3QmIHByZXZpb3VzVmlzaWJsZVJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgY3VycmVudFZpc2li
bGVSZWN0LCBmbG9hdCBjb250ZW50c1NjYWxlKSBjb25zdCBmaW5hbDsKKworICAgIGJvb2wgc2Ny
b2xsaW5nUGVyZm9ybWFuY2VMb2dnaW5nRW5hYmxlZCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1f
c2Nyb2xsaW5nUGVyZm9ybWFuY2VMb2dnaW5nRW5hYmxlZDsgfQogCiAgICAgSW50U2l6ZSBjb21w
dXRlVGlsZVNpemUoKTsKIApAQCAtMTUxLDMyICsxNTQsMzIgQEAgcHJpdmF0ZToKICAgICBmbG9h
dCB0b3BDb250ZW50SW5zZXQoKSBjb25zdCB7IHJldHVybiBtX3RvcENvbnRlbnRJbnNldDsgfQog
CiAgICAgLy8gVGlsZWRCYWNraW5nIG1lbWJlciBmdW5jdGlvbnMuCi0gICAgdm9pZCBzZXRWaXNp
YmxlUmVjdChjb25zdCBGbG9hdFJlY3QmKSBvdmVycmlkZTsKLSAgICB2b2lkIHNldExheW91dFZp
ZXdwb3J0UmVjdChPcHRpb25hbDxGbG9hdFJlY3Q+KSBvdmVycmlkZTsKLSAgICB2b2lkIHNldENv
dmVyYWdlUmVjdChjb25zdCBGbG9hdFJlY3QmKSBvdmVycmlkZTsKLSAgICBib29sIHRpbGVzV291
bGRDaGFuZ2VGb3JDb3ZlcmFnZVJlY3QoY29uc3QgRmxvYXRSZWN0JikgY29uc3Qgb3ZlcnJpZGU7
Ci0gICAgdm9pZCBzZXRUaWxlZFNjcm9sbGluZ0luZGljYXRvclBvc2l0aW9uKGNvbnN0IEZsb2F0
UG9pbnQmKSBvdmVycmlkZTsKLSAgICB2b2lkIHNldFRvcENvbnRlbnRJbnNldChmbG9hdCkgb3Zl
cnJpZGU7Ci0gICAgdm9pZCBzZXRWZWxvY2l0eShjb25zdCBWZWxvY2l0eURhdGEmKSBvdmVycmlk
ZTsKLSAgICB2b2lkIHNldFNjcm9sbGFiaWxpdHkoU2Nyb2xsYWJpbGl0eSkgb3ZlcnJpZGU7Ci0g
ICAgdm9pZCBwcmVwb3B1bGF0ZVJlY3QoY29uc3QgRmxvYXRSZWN0Jikgb3ZlcnJpZGU7Ci0gICAg
dm9pZCBzZXRJc0luV2luZG93KGJvb2wpIG92ZXJyaWRlOwotICAgIGJvb2wgaXNJbldpbmRvdygp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1faXNJbldpbmRvdzsgfQotICAgIHZvaWQgc2V0VGls
ZUNvdmVyYWdlKFRpbGVDb3ZlcmFnZSkgb3ZlcnJpZGU7Ci0gICAgdm9pZCByZXZhbGlkYXRlVGls
ZXMoKSBvdmVycmlkZTsKLSAgICB2b2lkIGZvcmNlUmVwYWludCgpIG92ZXJyaWRlOwotICAgIElu
dFJlY3QgdGlsZUdyaWRFeHRlbnQoKSBjb25zdCBvdmVycmlkZTsKLSAgICB2b2lkIHNldFNjcm9s
bGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQoYm9vbCBmbGFnKSBvdmVycmlkZSB7IG1fc2Ny
b2xsaW5nUGVyZm9ybWFuY2VMb2dnaW5nRW5hYmxlZCA9IGZsYWc7IH0KLSAgICBkb3VibGUgcmV0
YWluZWRUaWxlQmFja2luZ1N0b3JlTWVtb3J5KCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICAgSW50UmVj
dCB0aWxlQ292ZXJhZ2VSZWN0KCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdm9pZCBzZXRWaXNpYmxl
UmVjdChjb25zdCBGbG9hdFJlY3QmKSBmaW5hbDsKKyAgICB2b2lkIHNldExheW91dFZpZXdwb3J0
UmVjdChPcHRpb25hbDxGbG9hdFJlY3Q+KSBmaW5hbDsKKyAgICB2b2lkIHNldENvdmVyYWdlUmVj
dChjb25zdCBGbG9hdFJlY3QmKSBmaW5hbDsKKyAgICBib29sIHRpbGVzV291bGRDaGFuZ2VGb3JD
b3ZlcmFnZVJlY3QoY29uc3QgRmxvYXRSZWN0JikgY29uc3QgZmluYWw7CisgICAgdm9pZCBzZXRU
aWxlZFNjcm9sbGluZ0luZGljYXRvclBvc2l0aW9uKGNvbnN0IEZsb2F0UG9pbnQmKSBmaW5hbDsK
KyAgICB2b2lkIHNldFRvcENvbnRlbnRJbnNldChmbG9hdCkgZmluYWw7CisgICAgdm9pZCBzZXRW
ZWxvY2l0eShjb25zdCBWZWxvY2l0eURhdGEmKSBmaW5hbDsKKyAgICB2b2lkIHNldFNjcm9sbGFi
aWxpdHkoU2Nyb2xsYWJpbGl0eSkgZmluYWw7CisgICAgdm9pZCBwcmVwb3B1bGF0ZVJlY3QoY29u
c3QgRmxvYXRSZWN0JikgZmluYWw7CisgICAgdm9pZCBzZXRJc0luV2luZG93KGJvb2wpIGZpbmFs
OworICAgIGJvb2wgaXNJbldpbmRvdygpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1faXNJbldpbmRv
dzsgfQorICAgIHZvaWQgc2V0VGlsZUNvdmVyYWdlKFRpbGVDb3ZlcmFnZSkgZmluYWw7CisgICAg
dm9pZCByZXZhbGlkYXRlVGlsZXMoKSBmaW5hbDsKKyAgICB2b2lkIGZvcmNlUmVwYWludCgpIGZp
bmFsOworICAgIEludFJlY3QgdGlsZUdyaWRFeHRlbnQoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lk
IHNldFNjcm9sbGluZ1BlcmZvcm1hbmNlTG9nZ2luZ0VuYWJsZWQoYm9vbCBmbGFnKSBmaW5hbCB7
IG1fc2Nyb2xsaW5nUGVyZm9ybWFuY2VMb2dnaW5nRW5hYmxlZCA9IGZsYWc7IH0KKyAgICBkb3Vi
bGUgcmV0YWluZWRUaWxlQmFja2luZ1N0b3JlTWVtb3J5KCkgY29uc3QgZmluYWw7CisgICAgSW50
UmVjdCB0aWxlQ292ZXJhZ2VSZWN0KCkgY29uc3QgZmluYWw7CiAjaWYgVVNFKENBKQotICAgIFBs
YXRmb3JtQ0FMYXllciogdGlsZWRTY3JvbGxpbmdJbmRpY2F0b3JMYXllcigpIG92ZXJyaWRlOwor
ICAgIFBsYXRmb3JtQ0FMYXllciogdGlsZWRTY3JvbGxpbmdJbmRpY2F0b3JMYXllcigpIGZpbmFs
OwogI2VuZGlmCi0gICAgdm9pZCBzZXRTY3JvbGxpbmdNb2RlSW5kaWNhdGlvbihTY3JvbGxpbmdN
b2RlSW5kaWNhdGlvbikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBzZXRIYXNNYXJnaW5zKGJvb2wgbWFy
Z2luVG9wLCBib29sIG1hcmdpbkJvdHRvbSwgYm9vbCBtYXJnaW5MZWZ0LCBib29sIG1hcmdpblJp
Z2h0KSBvdmVycmlkZTsKLSAgICB2b2lkIHNldE1hcmdpblNpemUoaW50KSBvdmVycmlkZTsKLSAg
ICB2b2lkIHNldFpvb21lZE91dENvbnRlbnRzU2NhbGUoZmxvYXQpIG92ZXJyaWRlOwotICAgIGZs
b2F0IHpvb21lZE91dENvbnRlbnRzU2NhbGUoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lkIHNl
dFNjcm9sbGluZ01vZGVJbmRpY2F0aW9uKFNjcm9sbGluZ01vZGVJbmRpY2F0aW9uKSBmaW5hbDsK
KyAgICB2b2lkIHNldEhhc01hcmdpbnMoYm9vbCBtYXJnaW5Ub3AsIGJvb2wgbWFyZ2luQm90dG9t
LCBib29sIG1hcmdpbkxlZnQsIGJvb2wgbWFyZ2luUmlnaHQpIGZpbmFsOworICAgIHZvaWQgc2V0
TWFyZ2luU2l6ZShpbnQpIGZpbmFsOworICAgIHZvaWQgc2V0Wm9vbWVkT3V0Q29udGVudHNTY2Fs
ZShmbG9hdCkgZmluYWw7CisgICAgZmxvYXQgem9vbWVkT3V0Q29udGVudHNTY2FsZSgpIGNvbnN0
IGZpbmFsOwogCiAgICAgdm9pZCB1cGRhdGVNYXJnaW5zKCk7CiAgICAgdm9pZCBjbGVhclpvb21l
ZE91dFRpbGVHcmlkKCk7Cg==
</data>
<flag name="commit-queue"
          id="386627"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>