<?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>145602</bug_id>
          
          <creation_ts>2015-06-03 04:57:24 -0700</creation_ts>
          <short_desc>[CoordinatedGraphics] Merge CoordinatedTile into Tile</short_desc>
          <delta_ts>2015-06-03 17:04:08 -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>WebKit EFL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryuan Choi">ryuan.choi</reporter>
          <assigned_to name="Ryuan Choi">ryuan.choi</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>lucas.de.marchi</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1099123</commentid>
    <comment_count>0</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2015-06-03 04:57:24 -0700</bug_when>
    <thetext>There is no reason that CoordinatedTile inherits Tile interface because it is the only sub class of Tile now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099124</commentid>
    <comment_count>1</comment_count>
      <attachid>254168</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2015-06-03 05:18:38 -0700</bug_when>
    <thetext>Created attachment 254168
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099324</commentid>
    <comment_count>2</comment_count>
      <attachid>254168</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-03 17:04:01 -0700</bug_when>
    <thetext>Comment on attachment 254168
Patch

Clearing flags on attachment: 254168

Committed r185180: &lt;http://trac.webkit.org/changeset/185180&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1099325</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-06-03 17:04:08 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>254168</attachid>
            <date>2015-06-03 05:18:38 -0700</date>
            <delta_ts>2015-06-03 17:04:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145602-20150603211811.patch</filename>
            <type>text/plain</type>
            <size>25233</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg1MTQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjRhOTI1OGRkM2VjZTE4
ZDU5MTA3NGQ5MTQ0OTEzZTI0Y2E5NzE4Zi4uYmNhNmVmZTZlYTA2OTc5ODc1NzRmNWZiMDIzNzFh
NjI1ODhiN2Q2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDE1LTA2LTAzICBSeXVh
biBDaG9pICA8cnl1YW4uY2hvaUBuYXZlcmNvcnAuY29tPgorCisgICAgICAgIFtDb29yZGluYXRl
ZEdyYXBoaWNzXSBNZXJnZSBDb29yZGluYXRlZFRpbGUgaW50byBUaWxlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDU2MDIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDb29yZGluYXRlZFRpbGUgb25seSBp
bXBsZW1lbnRzIFRpbGUgc2luY2UgUXQgYW5kIFdlYktpdDEvRWZsIHdlcmUgZHJvcHBlZC4KKyAg
ICAgICAgU28sIHRoZXJlIGlzIG5vIHJlYXNvbiB0aGF0IENvb3JkaW5hdGVkVGlsZSBpbmhlcml0
cyBUaWxlIGludGVyZmFjZS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGJlaGF2aW9yIGNo
YW5nZXMuCisKKyAgICAgICAgKiBQbGF0Zm9ybUVmbC5jbWFrZToKKyAgICAgICAgKiBQbGF0Zm9y
bUdUSy5jbWFrZToKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOgor
ICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFw
aGljc0xheWVyLmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRp
bmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkVGlsZS5jcHA6IFJlbmFtZWQgdG8g
VGlsZS5jcHAKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQv
Q29vcmRpbmF0ZWRUaWxlLmg6IE1lcmdlZCBpbnRvIFRpbGUuaAorICAgICAgICAoV2ViQ29yZTo6
Q29vcmRpbmF0ZWRUaWxlOjpjb29yZGluYXRlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkNvb3JkaW5hdGVkVGlsZTo6cmVjdCk6IERlbGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL1RpbGUuY3BwOiBSZW5hbWVkIGZyb20gQ29vcmRpbmF0
ZWRUaWxlLmNwcC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0
ZWQvVGlsZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRl
ZC9UaWxlZEJhY2tpbmdTdG9yZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUaWxlZEJhY2tpbmdT
dG9yZTo6Y3JlYXRlVGlsZXMpOgorCiAyMDE1LTA2LTAyICBSeXVhbiBDaG9pICA8cnl1YW4uY2hv
aUBuYXZlcmNvcnAuY29tPgogCiAgICAgICAgIFtDb29yZGluYXRlZEdyYXBoaWNzXSBSZWZhY3Rv
ciBUaWxlZEJhY2tpbmdTdG9yZUNsaWVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUGxh
dGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZQppbmRleCBl
ZDAyZmUxNTEyZjY0NmE2NjFhZmNkOTljZjEyYTM1ZjYwNGVmMWVkLi4xODMwMTkyNzA3MTc0ZmNl
NzJhNzgzMTdkNmZiYWY3ZWZkNGYwOTczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QbGF0
Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAt
MTkyLDcgKzE5Miw3IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIHBsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuY3Bw
CiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkSW1h
Z2VCYWNraW5nLmNwcAogICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9D
b29yZGluYXRlZFN1cmZhY2UuY3BwCi0gICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3Jk
aW5hdGVkL0Nvb3JkaW5hdGVkVGlsZS5jcHAKKyAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Y29vcmRpbmF0ZWQvVGlsZS5jcHAKICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRp
bmF0ZWQvVGlsZWRCYWNraW5nU3RvcmUuY3BwCiAgICAgcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFw
L2Nvb3JkaW5hdGVkL1VwZGF0ZUF0bGFzLmNwcAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9QbGF0Zm9ybUdUSy5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCmlu
ZGV4IGIyNjA5MmQ2M2IwNThkMTgyOTc2YWQxMTE4ZTAxOWMxYjYxY2NjYzcuLjcwZDg0OWE0N2Zi
NmFjMjgyZDc4OTZiOTM0YzMzZDk4MWFlNzM1NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1BsYXRmb3JtR1RLLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtl
CkBAIC00MTMsNyArNDEzLDcgQEAgaWYgKEVOQUJMRV9USFJFQURFRF9DT01QT1NJVE9SKQogICAg
ICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFw
aGljc0xheWVyLmNwcAogICAgICAgICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0
ZWQvQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcuY3BwCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZFN1cmZhY2UuY3BwCi0gICAgICAgIHBsYXRm
b3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZFRpbGUuY3BwCisgICAg
ICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9UaWxlLmNwcAogICAgICAg
ICBwbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvVGlsZWRCYWNraW5nU3RvcmUu
Y3BwCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9VcGRhdGVB
dGxhcy5jcHAKICAgICApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvagppbmRleCA5MmI5YjNmZjk5YjFkMDcxODNhNzU3ZWRjNDc5YTgwZjM4Yzc5Nzcy
Li42ODliYzU0MWE5YjI0NjJhY2NiMDRlN2NlNWU5YWU5M2E3ZGYyZTBjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKQEAgLTc2NjgsNyArNzY2
OCw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1x0ZXht
YXBcY29vcmRpbmF0ZWRcQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcCIgLz4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXHRleG1hcFxjb29yZGluYXRlZFxD
b29yZGluYXRlZEltYWdlQmFja2luZy5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxwbGF0Zm9ybVxncmFwaGljc1x0ZXhtYXBcY29vcmRpbmF0ZWRcQ29vcmRpbmF0ZWRTdXJmYWNl
LmNwcCIgLz4KLSAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXHRl
eG1hcFxjb29yZGluYXRlZFxDb29yZGluYXRlZFRpbGUuY3BwIiAvPgorICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcdGV4bWFwXGNvb3JkaW5hdGVkXFRpbGUuY3Bw
IiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcdGV4bWFw
XGNvb3JkaW5hdGVkXFVwZGF0ZUF0bGFzLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXHRleG1hcFxHcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlci5j
cHAiPgogICAgICAgPEV4Y2x1ZGVkRnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlv
bil8JChQbGF0Zm9ybSknPT0nRGVidWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4K
QEAgLTE5ODM2LDggKzE5ODM2LDggQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRm
b3JtXGdyYXBoaWNzXHRleG1hcFxjb29yZGluYXRlZFxDb29yZGluYXRlZEdyYXBoaWNzU3RhdGUu
aCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXHRleG1h
cFxjb29yZGluYXRlZFxDb29yZGluYXRlZEltYWdlQmFja2luZy5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcdGV4bWFwXGNvb3JkaW5hdGVkXENvb3Jk
aW5hdGVkU3VyZmFjZS5oIiAvPgotICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1c
Z3JhcGhpY3NcdGV4bWFwXGNvb3JkaW5hdGVkXENvb3JkaW5hdGVkVGlsZS5oIiAvPgogICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcdGV4bWFwXGNvb3JkaW5hdGVk
XFN1cmZhY2VVcGRhdGVJbmZvLmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0
Zm9ybVxncmFwaGljc1x0ZXhtYXBcY29vcmRpbmF0ZWRcVGlsZS5oIiAvPgogICAgIDxDbEluY2x1
ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcdGV4bWFwXGNvb3JkaW5hdGVkXFVwZGF0
ZUF0bGFzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGlj
c1x0ZXhtYXBcR3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXIuaCIgLz4KICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXHRleG1hcFxUZXh0dXJlTWFwcGVyLmgiIC8+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hw
cm9qLmZpbHRlcnMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hw
cm9qLmZpbHRlcnMKaW5kZXggMzQ5YTY5ZTYwMDM2YzhjNzNlNTI4YjY2ZGI3ZmE2YzE2Y2E4YTE2
MS4uMjhiMDAwMWU1MTk4ZGI3Mzg1NWU2YzJjN2ZjYWVkYzcxMzQ2YzE3MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVy
cwpAQCAtNjczOSw3ICs2NzM5LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXHBsYXRm
b3JtXGdyYXBoaWNzXHRleG1hcFxjb29yZGluYXRlZFxDb29yZGluYXRlZFN1cmZhY2UuY3BwIj4K
ICAgICAgIDxGaWx0ZXI+cGxhdGZvcm1cZ3JhcGhpY3NcdGV4bWFwXGNvb3JkaW5hdGVkPC9GaWx0
ZXI+CiAgICAgPC9DbENvbXBpbGU+Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9y
bVxncmFwaGljc1x0ZXhtYXBcY29vcmRpbmF0ZWRcQ29vcmRpbmF0ZWRUaWxlLmNwcCI+CisgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1x0ZXhtYXBcY29vcmRpbmF0
ZWRcVGlsZS5jcHAiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxncmFwaGljc1x0ZXhtYXBcY29v
cmRpbmF0ZWQ8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXHBsYXRmb3JtXGdyYXBoaWNzXHRleG1hcFxjb29yZGluYXRlZFxVcGRhdGVBdGxhcy5j
cHAiPgpAQCAtMTQxNDcsMTAgKzE0MTQ3LDEwIEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIu
LlxwbGF0Zm9ybVxncmFwaGljc1x0ZXhtYXBcY29vcmRpbmF0ZWRcQ29vcmRpbmF0ZWRTdXJmYWNl
LmgiPgogICAgICAgPEZpbHRlcj5wbGF0Zm9ybVxncmFwaGljc1x0ZXhtYXBcY29vcmRpbmF0ZWQ8
L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KLSAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXHBs
YXRmb3JtXGdyYXBoaWNzXHRleG1hcFxjb29yZGluYXRlZFxDb29yZGluYXRlZFRpbGUuaCI+Cisg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxwbGF0Zm9ybVxncmFwaGljc1x0ZXhtYXBcY29vcmRp
bmF0ZWRcU3VyZmFjZVVwZGF0ZUluZm8uaCI+CiAgICAgICA8RmlsdGVyPnBsYXRmb3JtXGdyYXBo
aWNzXHRleG1hcFxjb29yZGluYXRlZDwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgotICAgIDxD
bEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcdGV4bWFwXGNvb3JkaW5hdGVk
XFN1cmZhY2VVcGRhdGVJbmZvLmgiPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZv
cm1cZ3JhcGhpY3NcdGV4bWFwXGNvb3JkaW5hdGVkXFRpbGUuaCI+CiAgICAgICA8RmlsdGVyPnBs
YXRmb3JtXGdyYXBoaWNzXHRleG1hcFxjb29yZGluYXRlZDwvRmlsdGVyPgogICAgIDwvQ2xJbmNs
dWRlPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5ccGxhdGZvcm1cZ3JhcGhpY3NcdGV4bWFw
XGNvb3JkaW5hdGVkXFVwZGF0ZUF0bGFzLmgiPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NM
YXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRp
bmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcAppbmRleCA2MThkOGJiNDNkNDdhMGRl
ZmQ2MjkzZTc5ZDQwNWY3ZDE2YmJjOGI1Li4xZmI1YjllMjdkNTZhZjRjMzQ5MzhmN2FjYmRmMDhl
MDBjOGI3MjA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0
ZWRHcmFwaGljc0xheWVyLmNwcApAQCAtMjUsNyArMjUsNiBAQAogI2lmIFVTRShDT09SRElOQVRF
RF9HUkFQSElDUykKICNpbmNsdWRlICJDb29yZGluYXRlZEdyYXBoaWNzTGF5ZXIuaCIKIAotI2lu
Y2x1ZGUgIkNvb3JkaW5hdGVkVGlsZS5oIgogI2luY2x1ZGUgIkZsb2F0UXVhZC5oIgogI2luY2x1
ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRH
cmFwaGljc0xheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAv
Y29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyLmgKaW5kZXggOTE3YmFmZGIzOTIx
MzUxYmM0M2EzNWIxZTYxYTlmNGIyYWQwN2E5OS4uMWE4NmY1OTIwZjczNDU5OGZiNTZiYTE1NjNm
M2I3NjMxMGVlYjM2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvdGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkR3JhcGhpY3NMYXllci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGlu
YXRlZEdyYXBoaWNzTGF5ZXIuaApAQCAtMjMsNyArMjMsNiBAQAogCiAjaW5jbHVkZSAiQ29vcmRp
bmF0ZWRHcmFwaGljc1N0YXRlLmgiCiAjaW5jbHVkZSAiQ29vcmRpbmF0ZWRJbWFnZUJhY2tpbmcu
aCIKLSNpbmNsdWRlICJDb29yZGluYXRlZFRpbGUuaCIKICNpbmNsdWRlICJGbG9hdFBvaW50M0Qu
aCIKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllclRy
YW5zZm9ybS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
dGV4bWFwL2Nvb3JkaW5hdGVkL0Nvb3JkaW5hdGVkVGlsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvQ29vcmRpbmF0ZWRUaWxlLmNwcApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGI5MDIyYzNmNWExNTBkNWQ2MTI4N2QyYjI4
YzZmMjY2ZTY2OTI5OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQv
Q29vcmRpbmF0ZWRUaWxlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDEyNyArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDExIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lk
aWFyeSgtaWVzKQotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
Ci0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgot
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiQ29v
cmRpbmF0ZWRUaWxlLmgiCi0KLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCi0KLSNpbmNs
dWRlICJHcmFwaGljc0NvbnRleHQuaCIKLSNpbmNsdWRlICJJbWFnZUJ1ZmZlci5oIgotI2luY2x1
ZGUgIlN1cmZhY2VVcGRhdGVJbmZvLmgiCi0jaW5jbHVkZSAiVGlsZWRCYWNraW5nU3RvcmVDbGll
bnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1zdGF0aWMgY29uc3QgdWludDMyX3QgSW52
YWxpZENvb3JkaW5hdGVkVGlsZUlEID0gMDsKLQotUGFzc1JlZlB0cjxUaWxlPiBDb29yZGluYXRl
ZFRpbGU6OmNyZWF0ZShUaWxlZEJhY2tpbmdTdG9yZSogdGlsZWRCYWNraW5nU3RvcmUsIGNvbnN0
IENvb3JkaW5hdGUmIHRpbGVDb29yZGluYXRlKQotewotICAgIHJldHVybiBhZG9wdFJlZihuZXcg
Q29vcmRpbmF0ZWRUaWxlKHRpbGVkQmFja2luZ1N0b3JlLCB0aWxlQ29vcmRpbmF0ZSkpOwotfQot
Ci1Db29yZGluYXRlZFRpbGU6OkNvb3JkaW5hdGVkVGlsZShUaWxlZEJhY2tpbmdTdG9yZSogdGls
ZWRCYWNraW5nU3RvcmUsIGNvbnN0IENvb3JkaW5hdGUmIHRpbGVDb29yZGluYXRlKQotICAgIDog
bV90aWxlZEJhY2tpbmdTdG9yZSh0aWxlZEJhY2tpbmdTdG9yZSkKLSAgICAsIG1fY29vcmRpbmF0
ZSh0aWxlQ29vcmRpbmF0ZSkKLSAgICAsIG1fcmVjdCh0aWxlZEJhY2tpbmdTdG9yZS0+dGlsZVJl
Y3RGb3JDb29yZGluYXRlKHRpbGVDb29yZGluYXRlKSkKLSAgICAsIG1fSUQoSW52YWxpZENvb3Jk
aW5hdGVkVGlsZUlEKQotICAgICwgbV9kaXJ0eVJlY3QobV9yZWN0KQotewotfQotCi1Db29yZGlu
YXRlZFRpbGU6On5Db29yZGluYXRlZFRpbGUoKQotewotICAgIGlmIChtX0lEICE9IEludmFsaWRD
b29yZGluYXRlZFRpbGVJRCkKLSAgICAgICAgbV90aWxlZEJhY2tpbmdTdG9yZS0+Y2xpZW50KCkt
PnJlbW92ZVRpbGUobV9JRCk7Ci19Ci0KLWJvb2wgQ29vcmRpbmF0ZWRUaWxlOjppc0RpcnR5KCkg
Y29uc3QKLXsKLSAgICByZXR1cm4gIW1fZGlydHlSZWN0LmlzRW1wdHkoKTsKLX0KLQotdm9pZCBD
b29yZGluYXRlZFRpbGU6OmludmFsaWRhdGUoY29uc3QgSW50UmVjdCYgZGlydHlSZWN0KQotewot
ICAgIEludFJlY3QgdGlsZURpcnR5UmVjdCA9IGludGVyc2VjdGlvbihkaXJ0eVJlY3QsIG1fcmVj
dCk7Ci0gICAgaWYgKHRpbGVEaXJ0eVJlY3QuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm47Ci0K
LSAgICBtX2RpcnR5UmVjdC51bml0ZSh0aWxlRGlydHlSZWN0KTsKLX0KLQotYm9vbCBDb29yZGlu
YXRlZFRpbGU6OnVwZGF0ZUJhY2tCdWZmZXIoKQotewotICAgIGlmICghaXNEaXJ0eSgpKQotICAg
ICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBTdXJmYWNlVXBkYXRlSW5mbyB1cGRhdGVJbmZvOwot
Ci0gICAgaWYgKCFtX3RpbGVkQmFja2luZ1N0b3JlLT5jbGllbnQoKS0+cGFpbnRUb1N1cmZhY2Uo
bV9kaXJ0eVJlY3Quc2l6ZSgpLCB1cGRhdGVJbmZvLmF0bGFzSUQsIHVwZGF0ZUluZm8uc3VyZmFj
ZU9mZnNldCwgdGhpcykpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHVwZGF0ZUluZm8u
dXBkYXRlUmVjdCA9IG1fZGlydHlSZWN0OwotICAgIHVwZGF0ZUluZm8udXBkYXRlUmVjdC5tb3Zl
KC1tX3JlY3QueCgpLCAtbV9yZWN0LnkoKSk7Ci0KLSAgICBzdGF0aWMgdWludDMyX3QgaWQgPSAx
OwotICAgIGlmIChtX0lEID09IEludmFsaWRDb29yZGluYXRlZFRpbGVJRCkgewotICAgICAgICBt
X0lEID0gaWQrKzsKLSAgICAgICAgLy8gV2UgbWF5IGdldCBhbiBpbnZhbGlkIElEIGR1ZSB0byB3
cmFwLWFyb3VuZCBvbiBvdmVyZmxvdy4KLSAgICAgICAgaWYgKG1fSUQgPT0gSW52YWxpZENvb3Jk
aW5hdGVkVGlsZUlEKQotICAgICAgICAgICAgbV9JRCA9IGlkKys7Ci0gICAgICAgIG1fdGlsZWRC
YWNraW5nU3RvcmUtPmNsaWVudCgpLT5jcmVhdGVUaWxlKG1fSUQsIG1fdGlsZWRCYWNraW5nU3Rv
cmUtPmNvbnRlbnRzU2NhbGUoKSk7Ci0gICAgfQotICAgIG1fdGlsZWRCYWNraW5nU3RvcmUtPmNs
aWVudCgpLT51cGRhdGVUaWxlKG1fSUQsIHVwZGF0ZUluZm8sIG1fcmVjdCk7Ci0KLSAgICBtX2Rp
cnR5UmVjdCA9IEludFJlY3QoKTsKLQotICAgIHJldHVybiB0cnVlOwotfQotCi12b2lkIENvb3Jk
aW5hdGVkVGlsZTo6cGFpbnRUb1N1cmZhY2VDb250ZXh0KEdyYXBoaWNzQ29udGV4dCogY29udGV4
dCkKLXsKLSAgICBjb250ZXh0LT50cmFuc2xhdGUoLW1fZGlydHlSZWN0LngoKSwgLW1fZGlydHlS
ZWN0LnkoKSk7Ci0gICAgY29udGV4dC0+c2NhbGUoRmxvYXRTaXplKG1fdGlsZWRCYWNraW5nU3Rv
cmUtPmNvbnRlbnRzU2NhbGUoKSwgbV90aWxlZEJhY2tpbmdTdG9yZS0+Y29udGVudHNTY2FsZSgp
KSk7Ci0gICAgbV90aWxlZEJhY2tpbmdTdG9yZS0+Y2xpZW50KCktPnRpbGVkQmFja2luZ1N0b3Jl
UGFpbnQoY29udGV4dCwgbV90aWxlZEJhY2tpbmdTdG9yZS0+bWFwVG9Db250ZW50cyhtX2RpcnR5
UmVjdCkpOwotfQotCi1ib29sIENvb3JkaW5hdGVkVGlsZTo6aXNSZWFkeVRvUGFpbnQoKSBjb25z
dAotewotICAgIHJldHVybiBtX0lEICE9IEludmFsaWRDb29yZGluYXRlZFRpbGVJRDsKLX0KLQot
dm9pZCBDb29yZGluYXRlZFRpbGU6OnBhaW50KEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEludFJl
Y3QmKQotewotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotfQotCi12b2lkIENvb3JkaW5hdGVk
VGlsZTo6cmVzaXplKGNvbnN0IEludFNpemUmIG5ld1NpemUpCi17Ci0gICAgbV9yZWN0ID0gSW50
UmVjdChtX3JlY3QubG9jYXRpb24oKSwgbmV3U2l6ZSk7Ci0gICAgbV9kaXJ0eVJlY3QgPSBtX3Jl
Y3Q7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIFVTRShDT09SRElO
QVRFRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZFRpbGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29yZGluYXRlZC9Db29yZGluYXRlZFRpbGUuaApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWE4MGU5YTMzYjI5MjFmY2M4YWRhZDQ0MmFh
ZmJlZGI3OGQ3NmY2ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQv
Q29vcmRpbmF0ZWRUaWxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw3NCArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDExIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFy
eSgtaWVzKQotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0g
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIENvb3JkaW5hdGVkVGlsZV9oCi0jZGVmaW5lIENv
b3JkaW5hdGVkVGlsZV9oCi0KLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCi0KLSNpbmNs
dWRlICJDb29yZGluYXRlZFN1cmZhY2UuaCIKLSNpbmNsdWRlICJJbnRSZWN0LmgiCi0jaW5jbHVk
ZSAiVGlsZS5oIgotI2luY2x1ZGUgIlRpbGVkQmFja2luZ1N0b3JlLmgiCi0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLQotY2xhc3MgSW1hZ2VCdWZmZXI7Ci1jbGFzcyBUaWxlZEJhY2tpbmdTdG9yZTsK
LQotY2xhc3MgQ29vcmRpbmF0ZWRUaWxlIDogcHVibGljIFRpbGUsIHB1YmxpYyBDb29yZGluYXRl
ZFN1cmZhY2U6OkNsaWVudCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8VGlsZT4g
Y3JlYXRlKFRpbGVkQmFja2luZ1N0b3JlKiwgY29uc3QgQ29vcmRpbmF0ZSYpOwotCi0gICAgfkNv
b3JkaW5hdGVkVGlsZSgpOwotCi0gICAgYm9vbCBpc0RpcnR5KCkgY29uc3Q7Ci0gICAgdm9pZCBp
bnZhbGlkYXRlKGNvbnN0IEludFJlY3QmKTsKLSAgICBib29sIHVwZGF0ZUJhY2tCdWZmZXIoKTsK
LSAgICBib29sIGlzUmVhZHlUb1BhaW50KCkgY29uc3Q7Ci0gICAgdm9pZCBwYWludChHcmFwaGlj
c0NvbnRleHQqLCBjb25zdCBJbnRSZWN0Jik7Ci0KLSAgICBjb25zdCBDb29yZGluYXRlJiBjb29y
ZGluYXRlKCkgY29uc3QgeyByZXR1cm4gbV9jb29yZGluYXRlOyB9Ci0gICAgY29uc3QgSW50UmVj
dCYgcmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVjdDsgfQotICAgIHZvaWQgcmVzaXplKGNvbnN0
IEludFNpemUmKTsKLQotICAgIHZpcnR1YWwgdm9pZCBwYWludFRvU3VyZmFjZUNvbnRleHQoR3Jh
cGhpY3NDb250ZXh0Kikgb3ZlcnJpZGU7Ci0KLXByaXZhdGU6Ci0gICAgQ29vcmRpbmF0ZWRUaWxl
KFRpbGVkQmFja2luZ1N0b3JlKiwgY29uc3QgQ29vcmRpbmF0ZSYpOwotCi0gICAgVGlsZWRCYWNr
aW5nU3RvcmUqIG1fdGlsZWRCYWNraW5nU3RvcmU7Ci0gICAgQ29vcmRpbmF0ZSBtX2Nvb3JkaW5h
dGU7Ci0gICAgSW50UmVjdCBtX3JlY3Q7Ci0KLSAgICB1aW50MzJfdCBtX0lEOwotICAgIEludFJl
Y3QgbV9kaXJ0eVJlY3Q7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAv
LyBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCi0KLSNlbmRpZiAvLyBDb29yZGluYXRlZFRpbGVf
aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nv
b3JkaW5hdGVkL1RpbGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL2Nvb3JkaW5hdGVkL1RpbGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYwZTUyYzIwYzI1NTYxODVlNmJm
OTBiZGM1OTg1ODQ3ZTQ2MTRhMjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvVGlsZS5jcHAKQEAgLTAsMCArMSwx
MjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgTm9raWEgQ29ycG9yYXRpb24gYW5kL29y
IGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJUaWxlLmgiCisKKyNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCisjaW5jbHVk
ZSAiR3JhcGhpY3NDb250ZXh0LmgiCisjaW5jbHVkZSAiU3VyZmFjZVVwZGF0ZUluZm8uaCIKKyNp
bmNsdWRlICJUaWxlZEJhY2tpbmdTdG9yZS5oIgorI2luY2x1ZGUgIlRpbGVkQmFja2luZ1N0b3Jl
Q2xpZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RhdGljIGNvbnN0IHVpbnQzMl90
IEludmFsaWRUaWxlSUQgPSAwOworCitQYXNzUmVmUHRyPFRpbGU+IFRpbGU6OmNyZWF0ZShUaWxl
ZEJhY2tpbmdTdG9yZSYgdGlsZWRCYWNraW5nU3RvcmUsIGNvbnN0IENvb3JkaW5hdGUmIHRpbGVD
b29yZGluYXRlKQoreworICAgIHJldHVybiBhZG9wdFJlZihuZXcgVGlsZSh0aWxlZEJhY2tpbmdT
dG9yZSwgdGlsZUNvb3JkaW5hdGUpKTsKK30KKworVGlsZTo6VGlsZShUaWxlZEJhY2tpbmdTdG9y
ZSYgdGlsZWRCYWNraW5nU3RvcmUsIGNvbnN0IENvb3JkaW5hdGUmIHRpbGVDb29yZGluYXRlKQor
ICAgIDogbV90aWxlZEJhY2tpbmdTdG9yZSh0aWxlZEJhY2tpbmdTdG9yZSkKKyAgICAsIG1fY29v
cmRpbmF0ZSh0aWxlQ29vcmRpbmF0ZSkKKyAgICAsIG1fcmVjdCh0aWxlZEJhY2tpbmdTdG9yZS50
aWxlUmVjdEZvckNvb3JkaW5hdGUodGlsZUNvb3JkaW5hdGUpKQorICAgICwgbV9JRChJbnZhbGlk
VGlsZUlEKQorICAgICwgbV9kaXJ0eVJlY3QobV9yZWN0KQoreworfQorCitUaWxlOjp+VGlsZSgp
Cit7CisgICAgaWYgKG1fSUQgIT0gSW52YWxpZFRpbGVJRCkKKyAgICAgICAgbV90aWxlZEJhY2tp
bmdTdG9yZS5jbGllbnQoKS0+cmVtb3ZlVGlsZShtX0lEKTsKK30KKworYm9vbCBUaWxlOjppc0Rp
cnR5KCkgY29uc3QKK3sKKyAgICByZXR1cm4gIW1fZGlydHlSZWN0LmlzRW1wdHkoKTsKK30KKwor
dm9pZCBUaWxlOjppbnZhbGlkYXRlKGNvbnN0IEludFJlY3QmIGRpcnR5UmVjdCkKK3sKKyAgICBJ
bnRSZWN0IHRpbGVEaXJ0eVJlY3QgPSBpbnRlcnNlY3Rpb24oZGlydHlSZWN0LCBtX3JlY3QpOwor
ICAgIGlmICh0aWxlRGlydHlSZWN0LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
bV9kaXJ0eVJlY3QudW5pdGUodGlsZURpcnR5UmVjdCk7Cit9CisKK2Jvb2wgVGlsZTo6dXBkYXRl
QmFja0J1ZmZlcigpCit7CisgICAgaWYgKCFpc0RpcnR5KCkpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKworICAgIFN1cmZhY2VVcGRhdGVJbmZvIHVwZGF0ZUluZm87CisKKyAgICBpZiAoIW1fdGls
ZWRCYWNraW5nU3RvcmUuY2xpZW50KCktPnBhaW50VG9TdXJmYWNlKG1fZGlydHlSZWN0LnNpemUo
KSwgdXBkYXRlSW5mby5hdGxhc0lELCB1cGRhdGVJbmZvLnN1cmZhY2VPZmZzZXQsIHRoaXMpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICB1cGRhdGVJbmZvLnVwZGF0ZVJlY3QgPSBtX2Rp
cnR5UmVjdDsKKyAgICB1cGRhdGVJbmZvLnVwZGF0ZVJlY3QubW92ZSgtbV9yZWN0LngoKSwgLW1f
cmVjdC55KCkpOworCisgICAgc3RhdGljIHVpbnQzMl90IGlkID0gMTsKKyAgICBpZiAobV9JRCA9
PSBJbnZhbGlkVGlsZUlEKSB7CisgICAgICAgIG1fSUQgPSBpZCsrOworICAgICAgICAvLyBXZSBt
YXkgZ2V0IGFuIGludmFsaWQgSUQgZHVlIHRvIHdyYXAtYXJvdW5kIG9uIG92ZXJmbG93LgorICAg
ICAgICBpZiAobV9JRCA9PSBJbnZhbGlkVGlsZUlEKQorICAgICAgICAgICAgbV9JRCA9IGlkKys7
CisgICAgICAgIG1fdGlsZWRCYWNraW5nU3RvcmUuY2xpZW50KCktPmNyZWF0ZVRpbGUobV9JRCwg
bV90aWxlZEJhY2tpbmdTdG9yZS5jb250ZW50c1NjYWxlKCkpOworICAgIH0KKyAgICBtX3RpbGVk
QmFja2luZ1N0b3JlLmNsaWVudCgpLT51cGRhdGVUaWxlKG1fSUQsIHVwZGF0ZUluZm8sIG1fcmVj
dCk7CisKKyAgICBtX2RpcnR5UmVjdCA9IEludFJlY3QoKTsKKworICAgIHJldHVybiB0cnVlOwor
fQorCit2b2lkIFRpbGU6OnBhaW50VG9TdXJmYWNlQ29udGV4dChHcmFwaGljc0NvbnRleHQqIGNv
bnRleHQpCit7CisgICAgY29udGV4dC0+dHJhbnNsYXRlKC1tX2RpcnR5UmVjdC54KCksIC1tX2Rp
cnR5UmVjdC55KCkpOworICAgIGNvbnRleHQtPnNjYWxlKEZsb2F0U2l6ZShtX3RpbGVkQmFja2lu
Z1N0b3JlLmNvbnRlbnRzU2NhbGUoKSwgbV90aWxlZEJhY2tpbmdTdG9yZS5jb250ZW50c1NjYWxl
KCkpKTsKKyAgICBtX3RpbGVkQmFja2luZ1N0b3JlLmNsaWVudCgpLT50aWxlZEJhY2tpbmdTdG9y
ZVBhaW50KGNvbnRleHQsIG1fdGlsZWRCYWNraW5nU3RvcmUubWFwVG9Db250ZW50cyhtX2RpcnR5
UmVjdCkpOworfQorCitib29sIFRpbGU6OmlzUmVhZHlUb1BhaW50KCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbV9JRCAhPSBJbnZhbGlkVGlsZUlEOworfQorCit2b2lkIFRpbGU6OnJlc2l6ZShjb25z
dCBJbnRTaXplJiBuZXdTaXplKQoreworICAgIG1fcmVjdCA9IEludFJlY3QobV9yZWN0LmxvY2F0
aW9uKCksIG5ld1NpemUpOworICAgIG1fZGlydHlSZWN0ID0gbV9yZWN0OworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRp
bmF0ZWQvVGlsZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nv
b3JkaW5hdGVkL1RpbGUuaAppbmRleCA5NGU1MWQ0YjhlYzI2N2I1MDFhYTYxYzE0MjE1Y2IwZWVk
OTQyMDhiLi5hMzRiMjIwZmY2MGVjMTE5MjBlZTUxMWMxZTVlYjM3NTg0OWZlM2QyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQv
VGlsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9jb29y
ZGluYXRlZC9UaWxlLmgKQEAgLTEsNTQgKzEsNzUgQEAKIC8qCi0gQ29weXJpZ2h0IChDKSAyMDEw
IE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQotIAotIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
LSBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYwotIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b247IGVpdGhlcgotIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9u
KSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAKLSBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIE1FUkNIQU5UQUJJTElU
WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gCi0gWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQotIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KKyAqIENvcHlyaWdodCAoQykgMjAxMC0yMDExIE5va2lhIENvcnBvcmF0aW9u
IGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCiAjaWZuZGVmIFRpbGVfaAog
I2RlZmluZSBUaWxlX2gKIAogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKLQorI2luY2x1
ZGUgIkNvb3JkaW5hdGVkU3VyZmFjZS5oIgogI2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5jbHVk
ZSAiSW50UG9pbnRIYXNoLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgPHd0Zi9S
ZWZDb3VudGVkLmg+Ci0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKK2NsYXNzIFRpbGVkQmFja2luZ1N0b3JlOwog
Ci1jbGFzcyBUaWxlIDogcHVibGljIFJlZkNvdW50ZWQ8VGlsZT4geworY2xhc3MgVGlsZSA6IHB1
YmxpYyBSZWZDb3VudGVkPFRpbGU+LCBwdWJsaWMgQ29vcmRpbmF0ZWRTdXJmYWNlOjpDbGllbnQg
ewogcHVibGljOgogICAgIHR5cGVkZWYgSW50UG9pbnQgQ29vcmRpbmF0ZTsKIAotICAgIHZpcnR1
YWwgflRpbGUoKSB7IH0KKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxUaWxlPiBjcmVhdGUoVGlsZWRC
YWNraW5nU3RvcmUmLCBjb25zdCBDb29yZGluYXRlJik7CisKKyAgICB+VGlsZSgpOworCisgICAg
Ym9vbCBpc0RpcnR5KCkgY29uc3Q7CisgICAgdm9pZCBpbnZhbGlkYXRlKGNvbnN0IEludFJlY3Qm
KTsKKyAgICBib29sIHVwZGF0ZUJhY2tCdWZmZXIoKTsKKyAgICBib29sIGlzUmVhZHlUb1BhaW50
KCkgY29uc3Q7CisKKyAgICBjb25zdCBDb29yZGluYXRlJiBjb29yZGluYXRlKCkgY29uc3QgeyBy
ZXR1cm4gbV9jb29yZGluYXRlOyB9CisgICAgY29uc3QgSW50UmVjdCYgcmVjdCgpIGNvbnN0IHsg
cmV0dXJuIG1fcmVjdDsgfQorICAgIHZvaWQgcmVzaXplKGNvbnN0IEludFNpemUmKTsKIAotICAg
IHZpcnR1YWwgYm9vbCBpc0RpcnR5KCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBpbnZh
bGlkYXRlKGNvbnN0IEludFJlY3QmKSA9IDA7Ci0gICAgdmlydHVhbCBib29sIHVwZGF0ZUJhY2tC
dWZmZXIoKSA9IDA7Ci0gICAgdmlydHVhbCBib29sIGlzUmVhZHlUb1BhaW50KCkgY29uc3QgPSAw
OwotICAgIHZpcnR1YWwgdm9pZCBwYWludChHcmFwaGljc0NvbnRleHQqLCBjb25zdCBJbnRSZWN0
JikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBwYWludFRvU3VyZmFjZUNvbnRleHQoR3JhcGhpY3ND
b250ZXh0Kikgb3ZlcnJpZGU7CiAKLSAgICB2aXJ0dWFsIGNvbnN0IFRpbGU6OkNvb3JkaW5hdGUm
IGNvb3JkaW5hdGUoKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCBjb25zdCBJbnRSZWN0JiByZWN0
KCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgdm9pZCByZXNpemUoY29uc3QgV2ViQ29yZTo6SW50
U2l6ZSYpID0gMDsKK3ByaXZhdGU6CisgICAgVGlsZShUaWxlZEJhY2tpbmdTdG9yZSYsIGNvbnN0
IENvb3JkaW5hdGUmKTsKKworICAgIFRpbGVkQmFja2luZ1N0b3JlJiBtX3RpbGVkQmFja2luZ1N0
b3JlOworICAgIENvb3JkaW5hdGUgbV9jb29yZGluYXRlOworICAgIEludFJlY3QgbV9yZWN0Owor
CisgICAgdWludDMyX3QgbV9JRDsKKyAgICBJbnRSZWN0IG1fZGlydHlSZWN0OwogfTsKIAotfQot
I2VuZGlmCi0jZW5kaWYKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFVTRShD
T09SRElOQVRFRF9HUkFQSElDUykKKworI2VuZGlmIC8vIFRpbGVfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4bWFwL2Nvb3JkaW5hdGVkL1RpbGVkQmFj
a2luZ1N0b3JlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9j
b29yZGluYXRlZC9UaWxlZEJhY2tpbmdTdG9yZS5jcHAKaW5kZXggMTU3NDk5MTdkNzJmOWZmYmZh
NmEzNmFlMDliYzhhNjY0NDU5MDVhNi4uOTJkMjdlNmFiZDA0NmY4N2Q4MWE3MWM1OGFlZDIwNjEx
YWQzMjZhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdGV4
bWFwL2Nvb3JkaW5hdGVkL1RpbGVkQmFja2luZ1N0b3JlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvY29vcmRpbmF0ZWQvVGlsZWRCYWNraW5nU3RvcmUu
Y3BwCkBAIC0yMSw4ICsyMSw2IEBACiAjaW5jbHVkZSAiVGlsZWRCYWNraW5nU3RvcmUuaCIKIAog
I2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKLQotI2luY2x1ZGUgIkNvb3JkaW5hdGVkVGls
ZS5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dC5oIgogI2luY2x1ZGUgIlRpbGVkQmFja2lu
Z1N0b3JlQ2xpZW50LmgiCiAKQEAgLTI1Niw3ICsyNTQsNyBAQCB2b2lkIFRpbGVkQmFja2luZ1N0
b3JlOjpjcmVhdGVUaWxlcygpCiAgICAgdW5zaWduZWQgdGlsZXNUb0NyZWF0ZUNvdW50ID0gdGls
ZXNUb0NyZWF0ZS5zaXplKCk7CiAgICAgZm9yICh1bnNpZ25lZCBuID0gMDsgbiA8IHRpbGVzVG9D
cmVhdGVDb3VudDsgKytuKSB7CiAgICAgICAgIFRpbGU6OkNvb3JkaW5hdGUgY29vcmRpbmF0ZSA9
IHRpbGVzVG9DcmVhdGVbbl07Ci0gICAgICAgIHNldFRpbGUoY29vcmRpbmF0ZSwgQ29vcmRpbmF0
ZWRUaWxlOjpjcmVhdGUodGhpcywgY29vcmRpbmF0ZSkpOworICAgICAgICBzZXRUaWxlKGNvb3Jk
aW5hdGUsIFRpbGU6OmNyZWF0ZSgqdGhpcywgY29vcmRpbmF0ZSkpOwogICAgIH0KICAgICByZXF1
aXJlZFRpbGVDb3VudCAtPSB0aWxlc1RvQ3JlYXRlQ291bnQ7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>