<?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>158520</bug_id>
          
          <creation_ts>2016-06-08 03:01:14 -0700</creation_ts>
          <short_desc>LayerTreeHost should be created with a WebPage reference instead of a pointer</short_desc>
          <delta_ts>2016-06-08 05:11:53 -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>WebKit2</component>
          <version>WebKit Local 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="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bugs-noreply</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1200402</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-06-08 03:01:14 -0700</bug_when>
    <thetext>We are indeed creating the LayerTreeHost always from a WebPage reference but getting its address to pass it to the LayerTreeHost create() function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1200404</commentid>
    <comment_count>1</comment_count>
      <attachid>280794</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-06-08 03:02:52 -0700</bug_when>
    <thetext>Created attachment 280794
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1200412</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-06-08 05:11:53 -0700</bug_when>
    <thetext>Committed r201802: &lt;http://trac.webkit.org/changeset/201802&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>280794</attachid>
            <date>2016-06-08 03:02:52 -0700</date>
            <delta_ts>2016-06-08 05:05:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-layer-tree-host.diff</filename>
            <type>text/plain</type>
            <size>23805</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCA0YzVlYTAzLi40OTcwODczIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTEg
QEAKKzIwMTYtMDYtMDggIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29t
PgorCisgICAgICAgIExheWVyVHJlZUhvc3Qgc2hvdWxkIGJlIGNyZWF0ZWQgd2l0aCBhIFdlYlBh
Z2UgcmVmZXJlbmNlIGluc3RlYWQgb2YgYSBwb2ludGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTg1MjAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBhcmUgaW5kZWVkIGNyZWF0aW5nIHRoZSBMYXll
clRyZWVIb3N0IGFsd2F5cyBmcm9tIGEgV2ViUGFnZSByZWZlcmVuY2UgYnV0IGdldHRpbmcgaXRz
IGFkZHJlc3MgdG8gcGFzcyBpdCB0bworICAgICAgICB0aGUgTGF5ZXJUcmVlSG9zdCBjcmVhdGUo
KSBmdW5jdGlvbi4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdy
YXBoaWNzL0Nvb3JkaW5hdGVkRHJhd2luZ0FyZWEuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb29y
ZGluYXRlZERyYXdpbmdBcmVhOjplbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRl
ZExheWVyVHJlZUhvc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVyVHJl
ZUhvc3Q6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0KToKKyAgICAgICAgKFdlYktpdDo6Q29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0OjpkaWRGbHVzaFJvb3RMYXllcik6CisgICAgICAgIChXZWJLaXQ6OkNv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6cGVyZm9ybVNjaGVkdWxlZExheWVyRmx1c2gpOgorICAg
ICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmNvbW1pdFNjZW5lU3RhdGUp
OgorICAgICAgICAoV2ViS2l0OjpDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmRldmljZU9yUGFn
ZVNjYWxlRmFjdG9yQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Lmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvVGhyZWFkZWRDb29yZGluYXRlZExh
eWVyVHJlZUhvc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpUaHJlYWRlZENvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6VGhyZWFkZWRDb29yZGluYXRl
ZExheWVyVHJlZUhvc3Q6OlRocmVhZGVkQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0KToKKyAgICAg
ICAgKFdlYktpdDo6VGhyZWFkZWRDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OmRldmljZU9yUGFn
ZVNjYWxlRmFjdG9yQ2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OlRocmVhZGVkQ29vcmRpbmF0
ZWRMYXllclRyZWVIb3N0Ojpjb21wb3NpdG9yRGlkRmx1c2hMYXllcnMpOgorICAgICAgICAoV2Vi
S2l0OjpUaHJlYWRlZENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6ZGlkU2NhbGVGYWN0b3JDaGFu
Z2VkKToKKyAgICAgICAgKFdlYktpdDo6VGhyZWFkZWRDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6
OnNldFZpc2libGVDb250ZW50c1JlY3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9D
b29yZGluYXRlZEdyYXBoaWNzL1RocmVhZGVkQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Lmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkRyYXdpbmdBcmVhSW1wbDo6ZW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9k
ZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0OjpjcmVhdGUpOgorICAgICAgICAoV2ViS2l0OjpM
YXllclRyZWVIb3N0OjpMYXllclRyZWVIb3N0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvTGF5ZXJUcmVlSG9zdC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9ndGsvTGF5
ZXJUcmVlSG9zdEd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3RHdGs6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3RHdGs6OkxheWVyVHJlZUhvc3RH
dGspOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0R3RrOjptYWtlQ29udGV4dEN1cnJl
bnQpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0R3RrOjpkZXZpY2VPclBhZ2VTY2Fs
ZUZhY3RvckNoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0R3RrOjpwYWlu
dENvbnRlbnRzKToKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdEd0azo6ZGV2aWNlU2Nh
bGVGYWN0b3IpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0R3RrOjpwYWdlU2NhbGVG
YWN0b3IpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0R3RrOjpmbHVzaFBlbmRpbmdM
YXllckNoYW5nZXMpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0R3RrOjpmbHVzaEFu
ZFJlbmRlckxheWVycyk6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3RHdGs6OnBhZ2VC
YWNrZ3JvdW5kVHJhbnNwYXJlbmN5Q2hhbmdlZCk6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJl
ZUhvc3RHdGs6OmluaXRpYWxpemUpOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9ndGsvTGF5ZXJUcmVlSG9zdEd0ay5oOgorCiAyMDE2LTA2LTA3ICBTYW0gV2VpbmlnICA8
c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgRml4IDEwLjEwIGJ1aWxkLgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29v
cmRpbmF0ZWREcmF3aW5nQXJlYS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmNwcAppbmRleCA5
ZGEzMWQ2Li5jZGYyZmFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZERyYXdpbmdBcmVhLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9D
b29yZGluYXRlZERyYXdpbmdBcmVhLmNwcApAQCAtMzA2LDcgKzMwNiw3IEBAIHZvaWQgQ29vcmRp
bmF0ZWREcmF3aW5nQXJlYTo6ZW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZShHcmFwaGlj
c0xheWVyKiBncmFwCiAgICAgbV9leGl0Q29tcG9zaXRpbmdUaW1lci5zdG9wKCk7CiAgICAgbV93
YW50c1RvRXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlID0gZmFsc2U7CiAKLSAgICBtX2xh
eWVyVHJlZUhvc3QgPSBMYXllclRyZWVIb3N0OjpjcmVhdGUoJm1fd2ViUGFnZSk7CisgICAgbV9s
YXllclRyZWVIb3N0ID0gTGF5ZXJUcmVlSG9zdDo6Y3JlYXRlKG1fd2ViUGFnZSk7CiAgICAgaWYg
KCFtX2luVXBkYXRlQmFja2luZ1N0b3JlU3RhdGUpCiAgICAgICAgIG1fbGF5ZXJUcmVlSG9zdC0+
c2V0U2hvdWxkTm90aWZ5QWZ0ZXJOZXh0U2NoZWR1bGVkTGF5ZXJGbHVzaCh0cnVlKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0Nvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dC5jcHAKaW5kZXggNDkyZTY3ZC4uYjY4ZGM0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRp
bmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCkBAIC00OSw3ICs0OSw3
IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotUmVm
PENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdD4gQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpjcmVh
dGUoV2ViUGFnZSogd2ViUGFnZSkKK1JlZjxDb29yZGluYXRlZExheWVyVHJlZUhvc3Q+IENvb3Jk
aW5hdGVkTGF5ZXJUcmVlSG9zdDo6Y3JlYXRlKFdlYlBhZ2UmIHdlYlBhZ2UpCiB7CiAgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0KHdlYlBhZ2UpKTsKIH0K
QEAgLTU4LDcgKzU4LDcgQEAgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Ojp+Q29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0KCkKIHsKIH0KIAotQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpDb29yZGlu
YXRlZExheWVyVHJlZUhvc3QoV2ViUGFnZSogd2ViUGFnZSkKK0Nvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdDo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0KFdlYlBhZ2UmIHdlYlBhZ2UpCiAgICAgOiBM
YXllclRyZWVIb3N0KHdlYlBhZ2UpCiAgICAgLCBtX25vdGlmeUFmdGVyU2NoZWR1bGVkTGF5ZXJG
bHVzaChmYWxzZSkKICAgICAsIG1faXNWYWxpZCh0cnVlKQpAQCAtNjksOSArNjksOSBAQCBDb29y
ZGluYXRlZExheWVyVHJlZUhvc3Q6OkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdChXZWJQYWdlKiB3
ZWJQYWdlKQogICAgICwgbV9mb3JjZVJlcGFpbnRBc3luY0NhbGxiYWNrSUQoMCkKICAgICAsIG1f
dmlld092ZXJsYXlSb290TGF5ZXIobnVsbHB0cikKIHsKLSAgICBtX2Nvb3JkaW5hdG9yID0gc3Rk
OjptYWtlX3VuaXF1ZTxDb21wb3NpdGluZ0Nvb3JkaW5hdG9yPih3ZWJQYWdlLT5jb3JlUGFnZSgp
LCB0aGlzKTsKKyAgICBtX2Nvb3JkaW5hdG9yID0gc3RkOjptYWtlX3VuaXF1ZTxDb21wb3NpdGlu
Z0Nvb3JkaW5hdG9yPihtX3dlYlBhZ2UuY29yZVBhZ2UoKSwgdGhpcyk7CiAKLSAgICBtX2Nvb3Jk
aW5hdG9yLT5jcmVhdGVSb290TGF5ZXIod2ViUGFnZS0+c2l6ZSgpKTsKKyAgICBtX2Nvb3JkaW5h
dG9yLT5jcmVhdGVSb290TGF5ZXIobV93ZWJQYWdlLnNpemUoKSk7CiAgICAgbV9sYXllclRyZWVD
b250ZXh0LmNvbnRleHRJRCA9IHRvQ29vcmRpbmF0ZWRHcmFwaGljc0xheWVyKG1fY29vcmRpbmF0
b3ItPnJvb3RMYXllcigpKS0+aWQoKTsKIAogICAgIENvb3JkaW5hdGVkU3VyZmFjZTo6c2V0RmFj
dG9yeShjcmVhdGVDb29yZGluYXRlZFN1cmZhY2UpOwpAQCAtMTg2LDcgKzE4Niw3IEBAIHZvaWQg
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpkaWRGbHVzaFJvb3RMYXllcihjb25zdCBGbG9hdFJl
Y3QmIHZpc2libGVDb250ZW50CiB7CiAgICAgLy8gQmVjYXVzZSBvdXIgdmlldy1yZWxhdGl2ZSBv
dmVybGF5IHJvb3QgbGF5ZXIgaXMgbm90IGF0dGFjaGVkIHRvIHRoZSBGcmFtZVZpZXcncyBHcmFw
aGljc0xheWVyIHRyZWUsIHdlIG5lZWQgdG8gZmx1c2ggaXQgbWFudWFsbHkuCiAgICAgaWYgKG1f
dmlld092ZXJsYXlSb290TGF5ZXIpCi0gICAgICAgIG1fdmlld092ZXJsYXlSb290TGF5ZXItPmZs
dXNoQ29tcG9zaXRpbmdTdGF0ZSh2aXNpYmxlQ29udGVudFJlY3QsICBtX3dlYlBhZ2UtPm1haW5G
cmFtZSgpLT52aWV3KCktPnZpZXdwb3J0SXNTdGFibGUoKSk7CisgICAgICAgIG1fdmlld092ZXJs
YXlSb290TGF5ZXItPmZsdXNoQ29tcG9zaXRpbmdTdGF0ZSh2aXNpYmxlQ29udGVudFJlY3QsICBt
X3dlYlBhZ2UubWFpbkZyYW1lKCktPnZpZXcoKS0+dmlld3BvcnRJc1N0YWJsZSgpKTsKIH0KIAog
dm9pZCBDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OnBlcmZvcm1TY2hlZHVsZWRMYXllckZsdXNo
KCkKQEAgLTIwMiwxMiArMjAyLDEyIEBAIHZvaWQgQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Ojpw
ZXJmb3JtU2NoZWR1bGVkTGF5ZXJGbHVzaCgpCiAgICAgYm9vbCBkaWRTeW5jID0gbV9jb29yZGlu
YXRvci0+Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCk7CiAKICAgICBpZiAobV9mb3JjZVJlcGFp
bnRBc3luY0NhbGxiYWNrSUQpIHsKLSAgICAgICAgbV93ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlUHJveHk6OlZvaWRDYWxsYmFjayhtX2ZvcmNlUmVwYWludEFzeW5jQ2FsbGJhY2tJRCkp
OworICAgICAgICBtX3dlYlBhZ2Uuc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpWb2lkQ2Fs
bGJhY2sobV9mb3JjZVJlcGFpbnRBc3luY0NhbGxiYWNrSUQpKTsKICAgICAgICAgbV9mb3JjZVJl
cGFpbnRBc3luY0NhbGxiYWNrSUQgPSAwOwogICAgIH0KIAogICAgIGlmIChtX25vdGlmeUFmdGVy
U2NoZWR1bGVkTGF5ZXJGbHVzaCAmJiBkaWRTeW5jKSB7Ci0gICAgICAgIHN0YXRpY19jYXN0PENv
b3JkaW5hdGVkRHJhd2luZ0FyZWEqPihtX3dlYlBhZ2UtPmRyYXdpbmdBcmVhKCkpLT5sYXllckhv
c3REaWRGbHVzaExheWVycygpOworICAgICAgICBzdGF0aWNfY2FzdDxDb29yZGluYXRlZERyYXdp
bmdBcmVhKj4obV93ZWJQYWdlLmRyYXdpbmdBcmVhKCkpLT5sYXllckhvc3REaWRGbHVzaExheWVy
cygpOwogICAgICAgICBtX25vdGlmeUFmdGVyU2NoZWR1bGVkTGF5ZXJGbHVzaCA9IGZhbHNlOwog
ICAgIH0KIH0KQEAgLTIyMyw3ICsyMjMsNyBAQCB2b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dDo6cGFpbnRMYXllckNvbnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5ZXIqLCBHcmFwaGljcwogCiB2
b2lkIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6Y29tbWl0U2NlbmVTdGF0ZShjb25zdCBXZWJD
b3JlOjpDb29yZGluYXRlZEdyYXBoaWNzU3RhdGUmIHN0YXRlKQogewotICAgIG1fd2ViUGFnZS0+
c2VuZChNZXNzYWdlczo6Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0UHJveHk6OkNvbW1pdENvb3Jk
aW5hdGVkR3JhcGhpY3NTdGF0ZShzdGF0ZSkpOworICAgIG1fd2ViUGFnZS5zZW5kKE1lc3NhZ2Vz
OjpDb29yZGluYXRlZExheWVyVHJlZUhvc3RQcm94eTo6Q29tbWl0Q29vcmRpbmF0ZWRHcmFwaGlj
c1N0YXRlKHN0YXRlKSk7CiAgICAgbV9pc1dhaXRpbmdGb3JSZW5kZXJlciA9IHRydWU7CiB9CiAK
QEAgLTIzNSw3ICsyMzUsNyBAQCBSZWZQdHI8Q29vcmRpbmF0ZWRTdXJmYWNlPiBDb29yZGluYXRl
ZExheWVyVHJlZUhvc3Q6OmNyZWF0ZUNvb3JkaW5hdGVkU3VyZmFjZShjbwogdm9pZCBDb29yZGlu
YXRlZExheWVyVHJlZUhvc3Q6OmRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpCiB7CiAg
ICAgbV9jb29yZGluYXRvci0+ZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCk7Ci0gICAg
bV93ZWJQYWdlLT5tYWluRnJhbWUoKS0+cGFnZU92ZXJsYXlDb250cm9sbGVyKCkuZGlkQ2hhbmdl
RGV2aWNlU2NhbGVGYWN0b3IoKTsKKyAgICBtX3dlYlBhZ2UubWFpbkZyYW1lKCktPnBhZ2VPdmVy
bGF5Q29udHJvbGxlcigpLmRpZENoYW5nZURldmljZVNjYWxlRmFjdG9yKCk7CiB9CiAKIHZvaWQg
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpwYWdlQmFja2dyb3VuZFRyYW5zcGFyZW5jeUNoYW5n
ZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmggYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9Db29yZGluYXRlZExheWVy
VHJlZUhvc3QuaAppbmRleCBmYzg4NDEyLi40ZDg4NTk5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRM
YXllclRyZWVIb3N0LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmgKQEAgLTQwLDcgKzQw
LDcgQEAgY2xhc3MgV2ViUGFnZTsKIGNsYXNzIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdCA6IHB1
YmxpYyBMYXllclRyZWVIb3N0LCBwdWJsaWMgV2ViQ29yZTo6Q29tcG9zaXRpbmdDb29yZGluYXRv
cjo6Q2xpZW50CiB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxDb29yZGluYXRlZExheWVyVHJl
ZUhvc3Q+IGNyZWF0ZShXZWJQYWdlKik7CisgICAgc3RhdGljIFJlZjxDb29yZGluYXRlZExheWVy
VHJlZUhvc3Q+IGNyZWF0ZShXZWJQYWdlJik7CiAgICAgdmlydHVhbCB+Q29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0KCk7CiAKICAgICBjb25zdCBMYXllclRyZWVDb250ZXh0JiBsYXllclRyZWVDb250
ZXh0KCkgb3ZlcnJpZGUgeyByZXR1cm4gbV9sYXllclRyZWVDb250ZXh0OyB9CkBAIC03NSw3ICs3
NSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmUHRyPFdlYkNvcmU6OkNvb3JkaW5hdGVkU3Vy
ZmFjZT4gY3JlYXRlQ29vcmRpbmF0ZWRTdXJmYWNlKGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBX
ZWJDb3JlOjpDb29yZGluYXRlZFN1cmZhY2U6OkZsYWdzKTsKIAogcHJvdGVjdGVkOgotICAgIGV4
cGxpY2l0IENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdChXZWJQYWdlKik7CisgICAgZXhwbGljaXQg
Q29vcmRpbmF0ZWRMYXllclRyZWVIb3N0KFdlYlBhZ2UmKTsKIAogcHJpdmF0ZToKICAgICAvLyBD
b29yZGluYXRlZExheWVyVHJlZUhvc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL1RocmVhZGVkQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGlu
YXRlZEdyYXBoaWNzL1RocmVhZGVkQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmNwcAppbmRleCA2
OTcwMTIyLi4yZDk1NGI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9UaHJlYWRlZENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9z
dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvVGhyZWFkZWRDb29yZGluYXRlZExheWVyVHJlZUhvc3QuY3BwCkBAIC00OCw3ICs0
OCw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAot
UmVmPFRocmVhZGVkQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0PiBUaHJlYWRlZENvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdDo6Y3JlYXRlKFdlYlBhZ2UqIHdlYlBhZ2UpCitSZWY8VGhyZWFkZWRDb29y
ZGluYXRlZExheWVyVHJlZUhvc3Q+IFRocmVhZGVkQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0Ojpj
cmVhdGUoV2ViUGFnZSB3ZWJQYWdlKQogewogICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFRocmVh
ZGVkQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0KHdlYlBhZ2UpKTsKIH0KQEAgLTU3LDcgKzU3LDcg
QEAgVGhyZWFkZWRDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6On5UaHJlYWRlZENvb3JkaW5hdGVk
TGF5ZXJUcmVlSG9zdCgpCiB7CiB9CiAKLVRocmVhZGVkQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0
OjpUaHJlYWRlZENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdChXZWJQYWdlKiB3ZWJQYWdlKQorVGhy
ZWFkZWRDb29yZGluYXRlZExheWVyVHJlZUhvc3Q6OlRocmVhZGVkQ29vcmRpbmF0ZWRMYXllclRy
ZWVIb3N0KFdlYlBhZ2UmIHdlYlBhZ2UpCiAgICAgOiBMYXllclRyZWVIb3N0KHdlYlBhZ2UpCiAg
ICAgLCBtX2ZvcmNlUmVwYWludEFzeW5jQ2FsbGJhY2tJRCgwKQogICAgICwgbV9ub3RpZnlBZnRl
clNjaGVkdWxlZExheWVyRmx1c2goZmFsc2UpCkBAIC02Niw5ICs2Niw5IEBAIFRocmVhZGVkQ29v
cmRpbmF0ZWRMYXllclRyZWVIb3N0OjpUaHJlYWRlZENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdChX
ZWJQYWdlKiB3ZWJQCiAgICAgLCBtX2xheWVyRmx1c2hUaW1lcihSdW5Mb29wOjptYWluKCksIHRo
aXMsICZUaHJlYWRlZENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6cGVyZm9ybVNjaGVkdWxlZExh
eWVyRmx1c2gpCiAgICAgLCBtX2xheWVyRmx1c2hTY2hlZHVsaW5nRW5hYmxlZCh0cnVlKQogewot
ICAgIG1fY29vcmRpbmF0b3IgPSBzdGQ6Om1ha2VfdW5pcXVlPENvbXBvc2l0aW5nQ29vcmRpbmF0
b3I+KG1fd2ViUGFnZS0+Y29yZVBhZ2UoKSwgdGhpcyk7CisgICAgbV9jb29yZGluYXRvciA9IHN0
ZDo6bWFrZV91bmlxdWU8Q29tcG9zaXRpbmdDb29yZGluYXRvcj4obV93ZWJQYWdlLmNvcmVQYWdl
KCksIHRoaXMpOwogCi0gICAgbV9jb29yZGluYXRvci0+Y3JlYXRlUm9vdExheWVyKG1fd2ViUGFn
ZS0+c2l6ZSgpKTsKKyAgICBtX2Nvb3JkaW5hdG9yLT5jcmVhdGVSb290TGF5ZXIobV93ZWJQYWdl
LnNpemUoKSk7CiAKICAgICBDb29yZGluYXRlZFN1cmZhY2U6OnNldEZhY3RvcnkoY3JlYXRlQ29v
cmRpbmF0ZWRTdXJmYWNlKTsKIApAQCAtMTQ5LDcgKzE0OSw3IEBAIHZvaWQgVGhyZWFkZWRDb29y
ZGluYXRlZExheWVyVHJlZUhvc3Q6OnNpemVEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6SW50U2l6
ZSYgbmV3CiB2b2lkIFRocmVhZGVkQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpkZXZpY2VPclBh
Z2VTY2FsZUZhY3RvckNoYW5nZWQoKQogewogICAgIG1fY29vcmRpbmF0b3ItPmRldmljZU9yUGFn
ZVNjYWxlRmFjdG9yQ2hhbmdlZCgpOwotICAgIG1fY29tcG9zaXRvci0+c2V0RGV2aWNlU2NhbGVG
YWN0b3IobV93ZWJQYWdlLT5kZXZpY2VTY2FsZUZhY3RvcigpKTsKKyAgICBtX2NvbXBvc2l0b3It
PnNldERldmljZVNjYWxlRmFjdG9yKG1fd2ViUGFnZS5kZXZpY2VTY2FsZUZhY3RvcigpKTsKIH0K
IAogdm9pZCBUaHJlYWRlZENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6cGF1c2VSZW5kZXJpbmco
KQpAQCAtMTgwLDEyICsxODAsMTIgQEAgdm9pZCBUaHJlYWRlZENvb3JkaW5hdGVkTGF5ZXJUcmVl
SG9zdDo6ZGlkQ2hhbmdlVmlld3BvcnRQcm9wZXJ0aWVzKGNvbnN0IFdlYkNvcmUKIAogdm9pZCBU
aHJlYWRlZENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6Y29tcG9zaXRvckRpZEZsdXNoTGF5ZXJz
KCkKIHsKLSAgICBzdGF0aWNfY2FzdDxEcmF3aW5nQXJlYUltcGwqPihtX3dlYlBhZ2UtPmRyYXdp
bmdBcmVhKCkpLT5sYXllckhvc3REaWRGbHVzaExheWVycygpOworICAgIHN0YXRpY19jYXN0PERy
YXdpbmdBcmVhSW1wbCo+KG1fd2ViUGFnZS5kcmF3aW5nQXJlYSgpKS0+bGF5ZXJIb3N0RGlkRmx1
c2hMYXllcnMoKTsKIH0KIAogdm9pZCBUaHJlYWRlZENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6
ZGlkU2NhbGVGYWN0b3JDaGFuZ2VkKGZsb2F0IHNjYWxlLCBjb25zdCBJbnRQb2ludCYgb3JpZ2lu
KQogewotICAgIG1fd2ViUGFnZS0+c2NhbGVQYWdlKHNjYWxlLCBvcmlnaW4pOworICAgIG1fd2Vi
UGFnZS5zY2FsZVBhZ2Uoc2NhbGUsIG9yaWdpbik7CiB9CiAKIHZvaWQgVGhyZWFkZWRDb29yZGlu
YXRlZExheWVyVHJlZUhvc3Q6OnNldFZpZXdPdmVybGF5Um9vdExheWVyKEdyYXBoaWNzTGF5ZXIq
IGdyYXBoaWNzTGF5ZXIpCkBAIC0yMjEsOCArMjIxLDggQEAgdm9pZCBUaHJlYWRlZENvb3JkaW5h
dGVkTGF5ZXJUcmVlSG9zdDo6c2V0VmlzaWJsZUNvbnRlbnRzUmVjdChjb25zdCBGbG9hdFJlY3Qm
IHIKICAgICBpZiAobV9sYXN0U2Nyb2xsUG9zaXRpb24gIT0gcm91bmRlZEludFBvaW50KHJlY3Qu
bG9jYXRpb24oKSkpIHsKICAgICAgICAgbV9sYXN0U2Nyb2xsUG9zaXRpb24gPSByb3VuZGVkSW50
UG9pbnQocmVjdC5sb2NhdGlvbigpKTsKIAotICAgICAgICBpZiAoIW1fd2ViUGFnZS0+Y29yZVBh
Z2UoKS0+bWFpbkZyYW1lKCkudmlldygpLT51c2VGaXhlZExheW91dCgpKQotICAgICAgICAgICAg
bV93ZWJQYWdlLT5jb3JlUGFnZSgpLT5tYWluRnJhbWUoKS52aWV3KCktPm5vdGlmeVNjcm9sbFBv
c2l0aW9uQ2hhbmdlZChtX2xhc3RTY3JvbGxQb3NpdGlvbik7CisgICAgICAgIGlmICghbV93ZWJQ
YWdlLmNvcmVQYWdlKCktPm1haW5GcmFtZSgpLnZpZXcoKS0+dXNlRml4ZWRMYXlvdXQoKSkKKyAg
ICAgICAgICAgIG1fd2ViUGFnZS5jb3JlUGFnZSgpLT5tYWluRnJhbWUoKS52aWV3KCktPm5vdGlm
eVNjcm9sbFBvc2l0aW9uQ2hhbmdlZChtX2xhc3RTY3JvbGxQb3NpdGlvbik7CiAgICAgfQogCiAg
ICAgaWYgKG1fbGFzdFNjYWxlRmFjdG9yICE9IHNjYWxlKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9UaHJlYWRlZENv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvVGhyZWFkZWRDb29yZGluYXRlZExheWVyVHJlZUhvc3Qu
aAppbmRleCAzNTc5YTNhLi5jZWQ4MzI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9UaHJlYWRlZENvb3JkaW5hdGVkTGF5
ZXJUcmVlSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9Db29y
ZGluYXRlZEdyYXBoaWNzL1RocmVhZGVkQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0LmgKQEAgLTYx
LDcgKzYxLDcgQEAgY2xhc3MgV2ViUGFnZTsKIGNsYXNzIFRocmVhZGVkQ29vcmRpbmF0ZWRMYXll
clRyZWVIb3N0IDogcHVibGljIExheWVyVHJlZUhvc3QsIHB1YmxpYyBXZWJDb3JlOjpDb21wb3Np
dGluZ0Nvb3JkaW5hdG9yOjpDbGllbnQsIHB1YmxpYyBUaHJlYWRlZENvbXBvc2l0b3I6OkNsaWVu
dCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoVGhyZWFkZWRDb29yZGluYXRlZExheWVyVHJl
ZUhvc3QpOyBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVm
PFRocmVhZGVkQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0PiBjcmVhdGUoV2ViUGFnZSopOworICAg
IHN0YXRpYyBSZWY8VGhyZWFkZWRDb29yZGluYXRlZExheWVyVHJlZUhvc3Q+IGNyZWF0ZShXZWJQ
YWdlJik7CiAgICAgdmlydHVhbCB+VGhyZWFkZWRDb29yZGluYXRlZExheWVyVHJlZUhvc3QoKTsK
IAogICAgIGNvbnN0IExheWVyVHJlZUNvbnRleHQmIGxheWVyVHJlZUNvbnRleHQoKSBvdmVycmlk
ZSB7IHJldHVybiBtX2xheWVyVHJlZUNvbnRleHQ7IH07CkBAIC0xMDEsNyArMTAxLDcgQEAgcHVi
bGljOgogICAgIHN0YXRpYyBSZWZQdHI8V2ViQ29yZTo6Q29vcmRpbmF0ZWRTdXJmYWNlPiBjcmVh
dGVDb29yZGluYXRlZFN1cmZhY2UoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIFdlYkNvcmU6OkNv
b3JkaW5hdGVkU3VyZmFjZTo6RmxhZ3MpOwogCiBwcm90ZWN0ZWQ6Ci0gICAgZXhwbGljaXQgVGhy
ZWFkZWRDb29yZGluYXRlZExheWVyVHJlZUhvc3QoV2ViUGFnZSopOworICAgIGV4cGxpY2l0IFRo
cmVhZGVkQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0KFdlYlBhZ2UmKTsKIAogcHJpdmF0ZToKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVh
SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJ
bXBsLmNwcAppbmRleCA4MjVjNzY1Li5kNDdkZmIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcApAQCAtNDcxLDcgKzQ3
MSw3IEBAIHZvaWQgRHJhd2luZ0FyZWFJbXBsOjplbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdN
b2RlKEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5CiAKICAgICBBU1NFUlQoIW1fbGF5ZXJUcmVl
SG9zdCk7CiAKLSAgICBtX2xheWVyVHJlZUhvc3QgPSBMYXllclRyZWVIb3N0OjpjcmVhdGUoJm1f
d2ViUGFnZSk7CisgICAgbV9sYXllclRyZWVIb3N0ID0gTGF5ZXJUcmVlSG9zdDo6Y3JlYXRlKG1f
d2ViUGFnZSk7CiAjaWYgVVNFKFRFWFRVUkVfTUFQUEVSKSAmJiBQTEFURk9STShHVEspCiAgICAg
aWYgKG1fbmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKQogICAgICAgICBtX2xheWVy
VHJlZUhvc3QtPnNldE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyhtX25hdGl2ZVN1
cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5jcHAKaW5kZXggZTUwYjAwOC4uZDJhMTRmOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhv
c3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVI
b3N0LmNwcApAQCAtNDEsNyArNDEsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKLVBhc3NSZWZQdHI8TGF5ZXJUcmVlSG9zdD4gTGF5ZXJUcmVlSG9z
dDo6Y3JlYXRlKFdlYlBhZ2UqIHdlYlBhZ2UpCitSZWZQdHI8TGF5ZXJUcmVlSG9zdD4gTGF5ZXJU
cmVlSG9zdDo6Y3JlYXRlKFdlYlBhZ2UmIHdlYlBhZ2UpCiB7CiAjaWYgVVNFKENPT1JESU5BVEVE
X0dSQVBISUNTX1RIUkVBREVEKQogICAgIHJldHVybiBUaHJlYWRlZENvb3JkaW5hdGVkTGF5ZXJU
cmVlSG9zdDo6Y3JlYXRlKHdlYlBhZ2UpOwpAQCAtNTEsMTEgKzUxLDExIEBAIFBhc3NSZWZQdHI8
TGF5ZXJUcmVlSG9zdD4gTGF5ZXJUcmVlSG9zdDo6Y3JlYXRlKFdlYlBhZ2UqIHdlYlBhZ2UpCiAg
ICAgcmV0dXJuIExheWVyVHJlZUhvc3RHdGs6OmNyZWF0ZSh3ZWJQYWdlKTsKICNlbHNlCiAgICAg
VU5VU0VEX1BBUkFNKHdlYlBhZ2UpOwotICAgIHJldHVybiAwOworICAgIHJldHVybiBudWxscHRy
OwogI2VuZGlmCiB9CiAKLUxheWVyVHJlZUhvc3Q6OkxheWVyVHJlZUhvc3QoV2ViUGFnZSogd2Vi
UGFnZSkKK0xheWVyVHJlZUhvc3Q6OkxheWVyVHJlZUhvc3QoV2ViUGFnZSYgd2ViUGFnZSkKICAg
ICA6IG1fd2ViUGFnZSh3ZWJQYWdlKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmgKaW5kZXggNDg2NDU0MC4uNzNiZDkxZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3Qu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5o
CkBAIC01Nyw3ICs1Nyw3IEBAIGNsYXNzIFdlYlBhZ2U7CiAKIGNsYXNzIExheWVyVHJlZUhvc3Qg
OiBwdWJsaWMgUmVmQ291bnRlZDxMYXllclRyZWVIb3N0PiB7CiBwdWJsaWM6Ci0gICAgc3RhdGlj
IFBhc3NSZWZQdHI8TGF5ZXJUcmVlSG9zdD4gY3JlYXRlKFdlYlBhZ2UqKTsKKyAgICBzdGF0aWMg
UmVmUHRyPExheWVyVHJlZUhvc3Q+IGNyZWF0ZShXZWJQYWdlJik7CiAgICAgdmlydHVhbCB+TGF5
ZXJUcmVlSG9zdCgpOwogCiAgICAgdmlydHVhbCBjb25zdCBMYXllclRyZWVDb250ZXh0JiBsYXll
clRyZWVDb250ZXh0KCkgPSAwOwpAQCAtMTAxLDkgKzEwMSw5IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIHZvaWQgc2V0Vmlld092ZXJsYXlSb290TGF5ZXIoV2ViQ29yZTo6R3JhcGhpY3NMYXllciop
ID0gMDsKIAogcHJvdGVjdGVkOgotICAgIGV4cGxpY2l0IExheWVyVHJlZUhvc3QoV2ViUGFnZSop
OworICAgIGV4cGxpY2l0IExheWVyVHJlZUhvc3QoV2ViUGFnZSYpOwogCi0gICAgV2ViUGFnZSog
bV93ZWJQYWdlOworICAgIFdlYlBhZ2UmIG1fd2ViUGFnZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0
ay9MYXllclRyZWVIb3N0R3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9ndGsvTGF5ZXJUcmVlSG9zdEd0ay5jcHAKaW5kZXggNWI4M2M3Mi4uNTUyYTc2MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0
R3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0xheWVy
VHJlZUhvc3RHdGsuY3BwCkBAIC0xMjYsMTQgKzEyNiwxMiBAQCB2b2lkIExheWVyVHJlZUhvc3RH
dGs6OlJlbmRlckZyYW1lU2NoZWR1bGVyOjpyZW5kZXJGcmFtZSgpCiAgICAgbmV4dEZyYW1lKCk7
CiB9CiAKLVBhc3NSZWZQdHI8TGF5ZXJUcmVlSG9zdEd0az4gTGF5ZXJUcmVlSG9zdEd0azo6Y3Jl
YXRlKFdlYlBhZ2UqIHdlYlBhZ2UpCitSZWY8TGF5ZXJUcmVlSG9zdEd0az4gTGF5ZXJUcmVlSG9z
dEd0azo6Y3JlYXRlKFdlYlBhZ2UmIHdlYlBhZ2UpCiB7Ci0gICAgUmVmUHRyPExheWVyVHJlZUhv
c3RHdGs+IGhvc3QgPSBhZG9wdFJlZihuZXcgTGF5ZXJUcmVlSG9zdEd0ayh3ZWJQYWdlKSk7Ci0g
ICAgaG9zdC0+aW5pdGlhbGl6ZSgpOwotICAgIHJldHVybiBob3N0LnJlbGVhc2UoKTsKKyAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBMYXllclRyZWVIb3N0R3RrKHdlYlBhZ2UpKTsKIH0KIAotTGF5
ZXJUcmVlSG9zdEd0azo6TGF5ZXJUcmVlSG9zdEd0ayhXZWJQYWdlKiB3ZWJQYWdlKQorTGF5ZXJU
cmVlSG9zdEd0azo6TGF5ZXJUcmVlSG9zdEd0ayhXZWJQYWdlJiB3ZWJQYWdlKQogICAgIDogTGF5
ZXJUcmVlSG9zdCh3ZWJQYWdlKQogICAgICwgbV9pc1ZhbGlkKHRydWUpCiAgICAgLCBtX25vdGlm
eUFmdGVyU2NoZWR1bGVkTGF5ZXJGbHVzaChmYWxzZSkKQEAgLTE0MSw0MSArMTM5LDIxIEBAIExh
eWVyVHJlZUhvc3RHdGs6OkxheWVyVHJlZUhvc3RHdGsoV2ViUGFnZSogd2ViUGFnZSkKICAgICAs
IG1fdmlld092ZXJsYXlSb290TGF5ZXIobnVsbHB0cikKICAgICAsIG1fcmVuZGVyRnJhbWVTY2hl
ZHVsZXIoc3RkOjpiaW5kKCZMYXllclRyZWVIb3N0R3RrOjpyZW5kZXJGcmFtZSwgdGhpcykpCiB7
Ci19Ci0KLWJvb2wgTGF5ZXJUcmVlSG9zdEd0azo6bWFrZUNvbnRleHRDdXJyZW50KCkKLXsKLSAg
ICBpZiAoIW1fbGF5ZXJUcmVlQ29udGV4dC5jb250ZXh0SUQpIHsKLSAgICAgICAgbV9jb250ZXh0
ID0gbnVsbHB0cjsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAgIGlmICghbV9j
b250ZXh0KSB7Ci0gICAgICAgIG1fY29udGV4dCA9IEdMQ29udGV4dDo6Y3JlYXRlQ29udGV4dEZv
cldpbmRvdyhyZWludGVycHJldF9jYXN0PEdMTmF0aXZlV2luZG93VHlwZT4obV9sYXllclRyZWVD
b250ZXh0LmNvbnRleHRJRCksIEdMQ29udGV4dDo6c2hhcmluZ0NvbnRleHQoKSk7Ci0gICAgICAg
IGlmICghbV9jb250ZXh0KQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQotICAg
IHJldHVybiBtX2NvbnRleHQtPm1ha2VDb250ZXh0Q3VycmVudCgpOwotfQotCi12b2lkIExheWVy
VHJlZUhvc3RHdGs6OmluaXRpYWxpemUoKQotewogICAgIG1fcm9vdExheWVyID0gR3JhcGhpY3NM
YXllcjo6Y3JlYXRlKGdyYXBoaWNzTGF5ZXJGYWN0b3J5KCksICp0aGlzKTsKICAgICBtX3Jvb3RM
YXllci0+c2V0RHJhd3NDb250ZW50KGZhbHNlKTsKLSAgICBtX3Jvb3RMYXllci0+c2V0U2l6ZSht
X3dlYlBhZ2UtPnNpemUoKSk7CisgICAgbV9yb290TGF5ZXItPnNldFNpemUobV93ZWJQYWdlLnNp
emUoKSk7CiAKICAgICBtX3NjYWxlTWF0cml4Lm1ha2VJZGVudGl0eSgpOwotICAgIG1fc2NhbGVN
YXRyaXguc2NhbGUobV93ZWJQYWdlLT5kZXZpY2VTY2FsZUZhY3RvcigpICogbV93ZWJQYWdlLT5w
YWdlU2NhbGVGYWN0b3IoKSk7CisgICAgbV9zY2FsZU1hdHJpeC5zY2FsZShtX3dlYlBhZ2UuZGV2
aWNlU2NhbGVGYWN0b3IoKSAqIG1fd2ViUGFnZS5wYWdlU2NhbGVGYWN0b3IoKSk7CiAgICAgZG93
bmNhc3Q8R3JhcGhpY3NMYXllclRleHR1cmVNYXBwZXI+KCptX3Jvb3RMYXllcikubGF5ZXIoKS5z
ZXRBbmNob3JQb2ludChGbG9hdFBvaW50M0QoKSk7CiAgICAgZG93bmNhc3Q8R3JhcGhpY3NMYXll
clRleHR1cmVNYXBwZXI+KCptX3Jvb3RMYXllcikubGF5ZXIoKS5zZXRUcmFuc2Zvcm0obV9zY2Fs
ZU1hdHJpeCk7CiAKICAgICAvLyBUaGUgbm9uLWNvbXBvc2l0ZWQgY29udGVudHMgYXJlIGEgY2hp
bGQgb2YgdGhlIHJvb3QgbGF5ZXIuCiAgICAgbV9ub25Db21wb3NpdGVkQ29udGVudExheWVyID0g
R3JhcGhpY3NMYXllcjo6Y3JlYXRlKGdyYXBoaWNzTGF5ZXJGYWN0b3J5KCksICp0aGlzKTsKICAg
ICBtX25vbkNvbXBvc2l0ZWRDb250ZW50TGF5ZXItPnNldERyYXdzQ29udGVudCh0cnVlKTsKLSAg
ICBtX25vbkNvbXBvc2l0ZWRDb250ZW50TGF5ZXItPnNldENvbnRlbnRzT3BhcXVlKG1fd2ViUGFn
ZS0+ZHJhd3NCYWNrZ3JvdW5kKCkpOwotICAgIG1fbm9uQ29tcG9zaXRlZENvbnRlbnRMYXllci0+
c2V0U2l6ZShtX3dlYlBhZ2UtPnNpemUoKSk7Ci0gICAgaWYgKG1fd2ViUGFnZS0+Y29yZVBhZ2Uo
KS0+c2V0dGluZ3MoKS5hY2NlbGVyYXRlZERyYXdpbmdFbmFibGVkKCkpCisgICAgbV9ub25Db21w
b3NpdGVkQ29udGVudExheWVyLT5zZXRDb250ZW50c09wYXF1ZShtX3dlYlBhZ2UuZHJhd3NCYWNr
Z3JvdW5kKCkpOworICAgIG1fbm9uQ29tcG9zaXRlZENvbnRlbnRMYXllci0+c2V0U2l6ZShtX3dl
YlBhZ2Uuc2l6ZSgpKTsKKyAgICBpZiAobV93ZWJQYWdlLmNvcmVQYWdlKCktPnNldHRpbmdzKCku
YWNjZWxlcmF0ZWREcmF3aW5nRW5hYmxlZCgpKQogICAgICAgICBtX25vbkNvbXBvc2l0ZWRDb250
ZW50TGF5ZXItPnNldEFjY2VsZXJhdGVzRHJhd2luZyh0cnVlKTsKIAogI2lmbmRlZiBOREVCVUcK
QEAgLTE4Nyw2ICsxNjUsMjIgQEAgdm9pZCBMYXllclRyZWVIb3N0R3RrOjppbml0aWFsaXplKCkK
ICAgICBtX25vbkNvbXBvc2l0ZWRDb250ZW50TGF5ZXItPnNldE5lZWRzRGlzcGxheSgpOwogfQog
Citib29sIExheWVyVHJlZUhvc3RHdGs6Om1ha2VDb250ZXh0Q3VycmVudCgpCit7CisgICAgaWYg
KCFtX2xheWVyVHJlZUNvbnRleHQuY29udGV4dElEKSB7CisgICAgICAgIG1fY29udGV4dCA9IG51
bGxwdHI7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBpZiAoIW1fY29udGV4
dCkgeworICAgICAgICBtX2NvbnRleHQgPSBHTENvbnRleHQ6OmNyZWF0ZUNvbnRleHRGb3JXaW5k
b3cocmVpbnRlcnByZXRfY2FzdDxHTE5hdGl2ZVdpbmRvd1R5cGU+KG1fbGF5ZXJUcmVlQ29udGV4
dC5jb250ZXh0SUQpLCBHTENvbnRleHQ6OnNoYXJpbmdDb250ZXh0KCkpOworICAgICAgICBpZiAo
IW1fY29udGV4dCkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICByZXR1
cm4gbV9jb250ZXh0LT5tYWtlQ29udGV4dEN1cnJlbnQoKTsKK30KKwogTGF5ZXJUcmVlSG9zdEd0
azo6fkxheWVyVHJlZUhvc3RHdGsoKQogewogICAgIEFTU0VSVCghbV9pc1ZhbGlkKTsKQEAgLTI3
OSw3ICsyNzMsNyBAQCB2b2lkIExheWVyVHJlZUhvc3RHdGs6OmRldmljZU9yUGFnZVNjYWxlRmFj
dG9yQ2hhbmdlZCgpCiAgICAgbV9ub25Db21wb3NpdGVkQ29udGVudExheWVyLT5kZXZpY2VPclBh
Z2VTY2FsZUZhY3RvckNoYW5nZWQoKTsKIAogICAgIG1fc2NhbGVNYXRyaXgubWFrZUlkZW50aXR5
KCk7Ci0gICAgbV9zY2FsZU1hdHJpeC5zY2FsZShtX3dlYlBhZ2UtPmRldmljZVNjYWxlRmFjdG9y
KCkgKiBtX3dlYlBhZ2UtPnBhZ2VTY2FsZUZhY3RvcigpKTsKKyAgICBtX3NjYWxlTWF0cml4LnNj
YWxlKG1fd2ViUGFnZS5kZXZpY2VTY2FsZUZhY3RvcigpICogbV93ZWJQYWdlLnBhZ2VTY2FsZUZh
Y3RvcigpKTsKICAgICBkb3duY2FzdDxHcmFwaGljc0xheWVyVGV4dHVyZU1hcHBlcj4oKm1fcm9v
dExheWVyKS5sYXllcigpLnNldFRyYW5zZm9ybShtX3NjYWxlTWF0cml4KTsKIH0KIApAQCAtMjkx
LDE3ICsyODUsMTcgQEAgdm9pZCBMYXllclRyZWVIb3N0R3RrOjpmb3JjZVJlcGFpbnQoKQogdm9p
ZCBMYXllclRyZWVIb3N0R3RrOjpwYWludENvbnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5ZXIqIGdy
YXBoaWNzTGF5ZXIsIEdyYXBoaWNzQ29udGV4dCYgZ3JhcGhpY3NDb250ZXh0LCBHcmFwaGljc0xh
eWVyUGFpbnRpbmdQaGFzZSwgY29uc3QgRmxvYXRSZWN0JiBjbGlwUmVjdCkKIHsKICAgICBpZiAo
Z3JhcGhpY3NMYXllciA9PSBtX25vbkNvbXBvc2l0ZWRDb250ZW50TGF5ZXIuZ2V0KCkpCi0gICAg
ICAgIG1fd2ViUGFnZS0+ZHJhd1JlY3QoZ3JhcGhpY3NDb250ZXh0LCBlbmNsb3NpbmdJbnRSZWN0
KGNsaXBSZWN0KSk7CisgICAgICAgIG1fd2ViUGFnZS5kcmF3UmVjdChncmFwaGljc0NvbnRleHQs
IGVuY2xvc2luZ0ludFJlY3QoY2xpcFJlY3QpKTsKIH0KIAogZmxvYXQgTGF5ZXJUcmVlSG9zdEd0
azo6ZGV2aWNlU2NhbGVGYWN0b3IoKSBjb25zdAogewotICAgIHJldHVybiBtX3dlYlBhZ2UtPmRl
dmljZVNjYWxlRmFjdG9yKCk7CisgICAgcmV0dXJuIG1fd2ViUGFnZS5kZXZpY2VTY2FsZUZhY3Rv
cigpOwogfQogCiBmbG9hdCBMYXllclRyZWVIb3N0R3RrOjpwYWdlU2NhbGVGYWN0b3IoKSBjb25z
dAogewotICAgIHJldHVybiBtX3dlYlBhZ2UtPnBhZ2VTY2FsZUZhY3RvcigpOworICAgIHJldHVy
biBtX3dlYlBhZ2UucGFnZVNjYWxlRmFjdG9yKCk7CiB9CiAKIGJvb2wgTGF5ZXJUcmVlSG9zdEd0
azo6cmVuZGVyRnJhbWUoKQpAQCAtMzEyLDExICszMDYsMTEgQEAgYm9vbCBMYXllclRyZWVIb3N0
R3RrOjpyZW5kZXJGcmFtZSgpCiAKIGJvb2wgTGF5ZXJUcmVlSG9zdEd0azo6Zmx1c2hQZW5kaW5n
TGF5ZXJDaGFuZ2VzKCkKIHsKLSAgICBib29sIHZpZXdwb3J0SXNTdGFibGUgPSBtX3dlYlBhZ2Ut
PmNvcmVQYWdlKCktPm1haW5GcmFtZSgpLnZpZXcoKS0+dmlld3BvcnRJc1N0YWJsZSgpOworICAg
IGJvb2wgdmlld3BvcnRJc1N0YWJsZSA9IG1fd2ViUGFnZS5jb3JlUGFnZSgpLT5tYWluRnJhbWUo
KS52aWV3KCktPnZpZXdwb3J0SXNTdGFibGUoKTsKICAgICBtX3Jvb3RMYXllci0+Zmx1c2hDb21w
b3NpdGluZ1N0YXRlRm9yVGhpc0xheWVyT25seSh2aWV3cG9ydElzU3RhYmxlKTsKICAgICBtX25v
bkNvbXBvc2l0ZWRDb250ZW50TGF5ZXItPmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUZvclRoaXNMYXll
ck9ubHkodmlld3BvcnRJc1N0YWJsZSk7CiAKLSAgICBpZiAoIW1fd2ViUGFnZS0+Y29yZVBhZ2Uo
KS0+bWFpbkZyYW1lKCkudmlldygpLT5mbHVzaENvbXBvc2l0aW5nU3RhdGVJbmNsdWRpbmdTdWJm
cmFtZXMoKSkKKyAgICBpZiAoIW1fd2ViUGFnZS5jb3JlUGFnZSgpLT5tYWluRnJhbWUoKS52aWV3
KCktPmZsdXNoQ29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcygpKQogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKICAgICBpZiAobV92aWV3T3ZlcmxheVJvb3RMYXllcikKQEAgLTM1NCw3
ICszNDgsNyBAQCB2b2lkIExheWVyVHJlZUhvc3RHdGs6OmZsdXNoQW5kUmVuZGVyTGF5ZXJzKCkK
IHsKICAgICB7CiAgICAgICAgIFJlZlB0cjxMYXllclRyZWVIb3N0R3RrPiBwcm90ZWN0KHRoaXMp
OwotICAgICAgICBtX3dlYlBhZ2UtPmxheW91dElmTmVlZGVkKCk7CisgICAgICAgIG1fd2ViUGFn
ZS5sYXlvdXRJZk5lZWRlZCgpOwogCiAgICAgICAgIGlmICghbV9pc1ZhbGlkKQogICAgICAgICAg
ICAgcmV0dXJuOwpAQCAtMzcxLDcgKzM2NSw3IEBAIHZvaWQgTGF5ZXJUcmVlSG9zdEd0azo6Zmx1
c2hBbmRSZW5kZXJMYXllcnMoKQogCiAgICAgaWYgKG1fbm90aWZ5QWZ0ZXJTY2hlZHVsZWRMYXll
ckZsdXNoKSB7CiAgICAgICAgIC8vIExldCB0aGUgZHJhd2luZyBhcmVhIGtub3cgdGhhdCB3ZSd2
ZSBkb25lIGEgZmx1c2ggb2YgdGhlIGxheWVyIGNoYW5nZXMuCi0gICAgICAgIHN0YXRpY19jYXN0
PERyYXdpbmdBcmVhSW1wbCo+KG1fd2ViUGFnZS0+ZHJhd2luZ0FyZWEoKSktPmxheWVySG9zdERp
ZEZsdXNoTGF5ZXJzKCk7CisgICAgICAgIHN0YXRpY19jYXN0PERyYXdpbmdBcmVhSW1wbCo+KG1f
d2ViUGFnZS5kcmF3aW5nQXJlYSgpKS0+bGF5ZXJIb3N0RGlkRmx1c2hMYXllcnMoKTsKICAgICAg
ICAgbV9ub3RpZnlBZnRlclNjaGVkdWxlZExheWVyRmx1c2ggPSBmYWxzZTsKICAgICB9CiB9CkBA
IC00MDEsNyArMzk1LDcgQEAgdm9pZCBMYXllclRyZWVIb3N0R3RrOjpzZXRMYXllckZsdXNoU2No
ZWR1bGluZ0VuYWJsZWQoYm9vbCBsYXllckZsdXNoaW5nRW5hYmxlZCkKIAogdm9pZCBMYXllclRy
ZWVIb3N0R3RrOjpwYWdlQmFja2dyb3VuZFRyYW5zcGFyZW5jeUNoYW5nZWQoKQogewotICAgIG1f
bm9uQ29tcG9zaXRlZENvbnRlbnRMYXllci0+c2V0Q29udGVudHNPcGFxdWUobV93ZWJQYWdlLT5k
cmF3c0JhY2tncm91bmQoKSk7CisgICAgbV9ub25Db21wb3NpdGVkQ29udGVudExheWVyLT5zZXRD
b250ZW50c09wYXF1ZShtX3dlYlBhZ2UuZHJhd3NCYWNrZ3JvdW5kKCkpOwogfQogCiB2b2lkIExh
eWVyVHJlZUhvc3RHdGs6OmNhbmNlbFBlbmRpbmdMYXllckZsdXNoKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvTGF5ZXJUcmVlSG9zdEd0ay5oIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0R3RrLmgK
aW5kZXggMTFhZWEyMi4uYmJmYjMyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0R3RrLmgKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9MYXllclRyZWVIb3N0R3RrLmgKQEAgLTQxLDE2ICs0MSwx
NCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgTGF5ZXJUcmVlSG9zdEd0ayBmaW5hbCA6
IHB1YmxpYyBMYXllclRyZWVIb3N0LCBXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2xpZW50IHsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxMYXllclRyZWVIb3N0R3RrPiBjcmVhdGUoV2Vi
UGFnZSopOworICAgIHN0YXRpYyBSZWY8TGF5ZXJUcmVlSG9zdEd0az4gY3JlYXRlKFdlYlBhZ2Um
KTsKICAgICB2aXJ0dWFsIH5MYXllclRyZWVIb3N0R3RrKCk7CiAKLXByb3RlY3RlZDoKLSAgICBl
eHBsaWNpdCBMYXllclRyZWVIb3N0R3RrKFdlYlBhZ2UqKTsKK3ByaXZhdGU6CisgICAgZXhwbGlj
aXQgTGF5ZXJUcmVlSG9zdEd0ayhXZWJQYWdlJik7CiAKICAgICBXZWJDb3JlOjpHcmFwaGljc0xh
eWVyKiByb290TGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX3Jvb3RMYXllci5nZXQoKTsgfQogCi0g
ICAgdm9pZCBpbml0aWFsaXplKCk7Ci0KICAgICAvLyBMYXllclRyZWVIb3N0CiAgICAgdm9pZCBz
Y2hlZHVsZUxheWVyRmx1c2goKSBvdmVycmlkZTsKICAgICB2b2lkIHNldExheWVyRmx1c2hTY2hl
ZHVsaW5nRW5hYmxlZChib29sIGxheWVyRmx1c2hpbmdFbmFibGVkKSBvdmVycmlkZTsKQEAgLTY0
LDggKzYyLDYgQEAgcHJvdGVjdGVkOgogCiAgICAgdm9pZCBzZXROYXRpdmVTdXJmYWNlSGFuZGxl
Rm9yQ29tcG9zaXRpbmcodWludDY0X3QpIG92ZXJyaWRlOwogCi1wcml2YXRlOgotCiAgICAgY2xh
c3MgUmVuZGVyRnJhbWVTY2hlZHVsZXIgewogICAgIHB1YmxpYzoKICAgICAgICAgUmVuZGVyRnJh
bWVTY2hlZHVsZXIoc3RkOjpmdW5jdGlvbjxib29sKCk+KTsK
</data>
<flag name="review"
          id="304684"
          type_id="1"
          status="+"
          setter="zan"
    />
          </attachment>
      

    </bug>

</bugzilla>