<?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>123003</bug_id>
          
          <creation_ts>2013-10-17 17:13:46 -0700</creation_ts>
          <short_desc>Remote Layer Tree: Proxy layer contents to the UI process</short_desc>
          <delta_ts>2013-10-17 22:24:16 -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>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="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>andersca</cc>
    
    <cc>commit-queue</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>941053</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-10-17 17:13:46 -0700</bug_when>
    <thetext>A very, very simple initial implementation of proxying (software painted) layer contents to the UI process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941060</commentid>
    <comment_count>1</comment_count>
      <attachid>214535</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-10-17 17:34:14 -0700</bug_when>
    <thetext>Created attachment 214535
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941061</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-17 17:35:38 -0700</bug_when>
    <thetext>Attachment 214535 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebKit2/ChangeLog&apos;, u&apos;Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.h&apos;, u&apos;Source/WebKit2/Shared/mac/RemoteLayerTreeTransaction.mm&apos;, u&apos;Source/WebKit2/UIProcess/mac/RemoteLayerTreeHost.mm&apos;, u&apos;Source/WebKit2/WebKit2.xcodeproj/project.pbxproj&apos;, u&apos;Source/WebKit2/WebProcess/WebPage/mac/PlatformCALayerRemote.cpp&apos;, u&apos;Source/WebKit2/WebProcess/WebPage/mac/PlatformCALayerRemote.h&apos;, u&apos;Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerBackingStore.h&apos;, u&apos;Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerBackingStore.mm&apos;]&quot; exit_code: 1
Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerBackingStore.h:41:  The parameter name &quot;size&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941091</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-10-17 22:24:16 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/157623</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214535</attachid>
            <date>2013-10-17 17:34:14 -0700</date>
            <delta_ts>2013-10-17 20:35:49 -0700</delta_ts>
            <desc>patch</desc>
            <filename>content.diff</filename>
            <type>text/plain</type>
            <size>21402</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCAwM2U1NDIzLi44M2E1OTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTUg
QEAKKzIwMTMtMTAtMTcgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgUmVtb3RlIExheWVyIFRyZWU6IFByb3h5IGxheWVyIGNvbnRlbnRzIHRvIHRoZSBV
SSBwcm9jZXNzCisgICAgICAgIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEyMzAwMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFByb3h5IGxheWVyIGNvbnRlbnRzIHRvIHRoZSBVSSBwcm9jZXNzLiBDb250ZW50cyBhcmUgcGFp
bnRlZCBpbnRvIFNoYXJlYWJsZUJpdG1hcHMKKyAgICAgICAgZm9yIG5vdywgYW5kIGFyZSBmdWxs
eSByZXBhaW50ZWQgb24gYW55IGludmFsaWRhdGlvbi4gQWxzbywgY29udGVudHMgZG8gbm90IHJl
c3BlY3QKKyAgICAgICAgYW55IGtpbmQgb2Ygc2NhbGUgb3IgdXNlIG9mIGNvbnRlbnRzUmVjdC9l
dGMuCisKKyAgICAgICAgKiBTaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmg6
CisgICAgICAgICogU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5tbToKKyAg
ICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OkxheWVyUHJvcGVydGll
czo6ZW5jb2RlKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246
OkxheWVyUHJvcGVydGllczo6ZGVjb2RlKToKKyAgICAgICAgKFdlYktpdDo6ZHVtcENoYW5nZWRM
YXllcnMpOgorICAgICAgICBTdG9yZS9lbmNvZGUvZGVjb2RlL2R1bXAgdGhlIG5ldyBSZW1vdGVM
YXllckJhY2tpbmdTdG9yZS4KKworICAgICAgICAqIFVJUHJvY2Vzcy9tYWMvUmVtb3RlTGF5ZXJU
cmVlSG9zdC5tbToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlTGF5ZXJUcmVlSG9zdDo6Y29tbWl0
KToKKyAgICAgICAgRml4IGEgbWlzdGFrZSB3aGVyZSBjb250ZW50c1JlY3Qgd2FzIGdldHRpbmcg
cmVzZXQgd2hlbiBjb250ZW50c1NjYWxlIGNoYW5nZWQuCisgICAgICAgIFNldCB0aGUgbGF5ZXIg
Y29udGVudHMgd2hlbiB0aGUgYmFja2luZyBzdG9yZSBjaGFuZ2VzLgorCisgICAgICAgICogV2Vi
S2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICBBZGQgUmVtb3RlTGF5ZXJC
YWNraW5nU3RvcmUuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1BsYXRmb3Jt
Q0FMYXllclJlbW90ZS5jcHA6CisgICAgICAgIChQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU6OnJlY3Vy
c2l2ZUJ1aWxkVHJhbnNhY3Rpb24pOgorICAgICAgICBQYWludCB3aGlsZSBidWlsZGluZyBvdXIg
dHJhbnNhY3Rpb24sIGFuZCBtYXJrIHRoZSBiYWNraW5nIHN0b3JlIGFzIGNoYW5nZWQKKyAgICAg
ICAgaWYgd2UgZGlkIGFueSBwYWludGluZy4KKworICAgICAgICAoUGxhdGZvcm1DQUxheWVyUmVt
b3RlOjplbnN1cmVCYWNraW5nU3RvcmUpOgorICAgICAgICBLZWVwIHRoZSBiYWNraW5nIHN0b3Jl
J3MgcHJvcGVydGllcyB1cC10by1kYXRlIHdpdGggb3VyIGxheWVyLgorCisgICAgICAgIChQbGF0
Zm9ybUNBTGF5ZXJSZW1vdGU6OnNldE5lZWRzRGlzcGxheSk6CisgICAgICAgIEluZm9ybSB0aGUg
YmFja2luZyBzdG9yZSB0aGF0IGl0IG5lZWRzIHRvIHBhaW50LgorCisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL21hYy9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGUuaDoKKworICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaDogQWRkZWQuCisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5t
bTogQWRkZWQuCisgICAgICAgIChSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6UmVtb3RlTGF5ZXJC
YWNraW5nU3RvcmUpOgorICAgICAgICAoUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmU6OmVuY29kZSk6
CisgICAgICAgIChSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6ZGVjb2RlKToKKyAgICAgICAgRW5j
b2RlL2RlY29kZSBvdXIgU2hhcmVhYmxlQml0bWFwICh2aWEgaXRzIGhhbmRsZSkgYW5kIHNpemUu
CisKKyAgICAgICAgKFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpzZXROZWVkc0Rpc3BsYXkpOgor
ICAgICAgICBGb3Igbm93LCByZXBhaW50IHRoZSB3b3JsZC4KKworICAgICAgICAoUmVtb3RlTGF5
ZXJCYWNraW5nU3RvcmU6OmRpc3BsYXkpOgorICAgICAgICBDcmVhdGUgYSBuZXcgYml0bWFwIGlm
IG5lZWRlZCwgYW5kIHBhaW50IGludG8gaXQuCisKIDIwMTMtMTAtMTcgIE1hcmsgUm93ZSAgPG1y
b3dlQGFwcGxlLmNvbT4KIAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTUxODM5MDE+IFdlYktp
dDIgWFBDIHNlcnZpY2VzIGxvYWQgdGhlIHdyb25nIGZyYW1ld29ya3Mgd2hlbiBydW5uaW5nCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5z
YWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1JlbW90ZUxheWVyVHJlZVRyYW5z
YWN0aW9uLmgKaW5kZXggN2Q0ODQwNC4uNTcxNmYzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaApAQCAtMjYsNiAr
MjYsNyBAQAogI2lmbmRlZiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbl9oCiAjZGVmaW5lIFJl
bW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uX2gKIAorI2luY2x1ZGUgIlJlbW90ZUxheWVyQmFja2lu
Z1N0b3JlLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9Db2xvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
RmxvYXRQb2ludDNELmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GbG9hdFNpemUuaD4KQEAgLTcxLDcg
KzcyLDggQEAgcHVibGljOgogICAgICAgICBNaW5pZmljYXRpb25GaWx0ZXJDaGFuZ2VkID0gMSA8
PCAyMCwKICAgICAgICAgTWFnbmlmaWNhdGlvbkZpbHRlckNoYW5nZWQgPSAxIDw8IDIxLAogICAg
ICAgICBTcGVlZENoYW5nZWQgPSAxIDw8IDIyLAotICAgICAgICBUaW1lT2Zmc2V0Q2hhbmdlZCA9
IDEgPDwgMjMKKyAgICAgICAgVGltZU9mZnNldENoYW5nZWQgPSAxIDw8IDIzLAorICAgICAgICBC
YWNraW5nU3RvcmVDaGFuZ2VkID0gMSA8PCAyNAogICAgIH07CiAKICAgICBzdHJ1Y3QgTGF5ZXJD
cmVhdGlvblByb3BlcnRpZXMgewpAQCAtMTE3LDYgKzExOSw3IEBAIHB1YmxpYzoKICAgICAgICAg
V2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyOjpGaWx0ZXJUeXBlIG1hZ25pZmljYXRpb25GaWx0ZXI7
CiAgICAgICAgIGZsb2F0IHNwZWVkOwogICAgICAgICBkb3VibGUgdGltZU9mZnNldDsKKyAgICAg
ICAgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUgYmFja2luZ1N0b3JlOwogICAgIH07CiAKICAgICBl
eHBsaWNpdCBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbigpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL21hYy9SZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5tbSBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9tYWMvUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24ubW0KaW5kZXgg
ODliNDkwOS4uOWEyZTA3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9S
ZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
bWFjL1JlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLm1tCkBAIC0xMzcsNiArMTM3LDkgQEAgdm9p
ZCBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6TGF5ZXJQcm9wZXJ0aWVzOjplbmNvZGUoQ29y
ZUlQQzo6QXJndW1lbnRFbmNvZGUKIAogICAgIGlmIChjaGFuZ2VkUHJvcGVydGllcyAmIFRpbWVP
ZmZzZXRDaGFuZ2VkKQogICAgICAgICBlbmNvZGVyIDw8IHRpbWVPZmZzZXQ7CisKKyAgICBpZiAo
Y2hhbmdlZFByb3BlcnRpZXMgJiBCYWNraW5nU3RvcmVDaGFuZ2VkKQorICAgICAgICBlbmNvZGVy
IDw8IGJhY2tpbmdTdG9yZTsKIH0KIAogYm9vbCBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6
TGF5ZXJQcm9wZXJ0aWVzOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVy
LCBMYXllclByb3BlcnRpZXMmIHJlc3VsdCkKQEAgLTI2NCw2ICsyNjcsMTEgQEAgYm9vbCBSZW1v
dGVMYXllclRyZWVUcmFuc2FjdGlvbjo6TGF5ZXJQcm9wZXJ0aWVzOjpkZWNvZGUoQ29yZUlQQzo6
QXJndW1lbnREZWNvZGUKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKKyAgICBp
ZiAocmVzdWx0LmNoYW5nZWRQcm9wZXJ0aWVzICYgQmFja2luZ1N0b3JlQ2hhbmdlZCkgeworICAg
ICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5iYWNraW5nU3RvcmUpKQorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIH0KKwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC01ODcs
NiArNTk1LDE2IEBAIHN0YXRpYyB2b2lkIGR1bXBDaGFuZ2VkTGF5ZXJzKFN0cmluZ0J1aWxkZXIm
IGJ1aWxkZXIsIGNvbnN0IEhhc2hNYXA8UmVtb3RlTGF5ZXJUCiAgICAgICAgICAgICBidWlsZGVy
LmFwcGVuZCgnKScpOwogICAgICAgICB9CiAKKyAgICAgICAgaWYgKGxheWVyUHJvcGVydGllcy5j
aGFuZ2VkUHJvcGVydGllcyAmIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpCYWNraW5nU3Rv
cmVDaGFuZ2VkKSB7CisgICAgICAgICAgICBidWlsZGVyLmFwcGVuZCgnXG4nKTsKKyAgICAgICAg
ICAgIHdyaXRlSW5kZW50KGJ1aWxkZXIsIDMpOworICAgICAgICAgICAgYnVpbGRlci5hcHBlbmQo
IihiYWNraW5nU3RvcmUgIik7CisgICAgICAgICAgICBidWlsZGVyLmFwcGVuZE51bWJlcihsYXll
clByb3BlcnRpZXMuYmFja2luZ1N0b3JlLmJpdG1hcCgpLT5zaXplKCkud2lkdGgoKSk7CisgICAg
ICAgICAgICBidWlsZGVyLmFwcGVuZCgiICIpOworICAgICAgICAgICAgYnVpbGRlci5hcHBlbmRO
dW1iZXIobGF5ZXJQcm9wZXJ0aWVzLmJhY2tpbmdTdG9yZS5iaXRtYXAoKS0+c2l6ZSgpLmhlaWdo
dCgpKTsKKyAgICAgICAgICAgIGJ1aWxkZXIuYXBwZW5kKCcpJyk7CisgICAgICAgIH0KKwogICAg
ICAgICBidWlsZGVyLmFwcGVuZCgiKVxuIik7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVIb3N0Lm1tIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL21hYy9SZW1vdGVMYXllclRyZWVIb3N0Lm1tCmluZGV4IGZlYjA4NDcu
LjIwZWJmZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvUmVtb3Rl
TGF5ZXJUcmVlSG9zdC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL1JlbW90
ZUxheWVyVHJlZUhvc3QubW0KQEAgLTI4LDYgKzI4LDcgQEAKIAogI2ltcG9ydCAiUmVtb3RlTGF5
ZXJUcmVlSG9zdE1lc3NhZ2VzLmgiCiAjaW1wb3J0ICJSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlv
bi5oIgorI2ltcG9ydCAiU2hhcmVhYmxlQml0bWFwLmgiCiAjaW1wb3J0ICJXZWJQYWdlUHJveHku
aCIKICNpbXBvcnQgIldlYlByb2Nlc3NQcm94eS5oIgogI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9y
bUxheWVyLmg+CkBAIC0xODMsNyArMTg0LDcgQEAgdm9pZCBSZW1vdGVMYXllclRyZWVIb3N0Ojpj
b21taXQoY29uc3QgUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24mIHRyYW5zYWN0aW9uKQogICAg
ICAgICAgICAgbGF5ZXIuY29udGVudHNSZWN0ID0gcHJvcGVydGllcy5jb250ZW50c1JlY3Q7CiAK
ICAgICAgICAgaWYgKHByb3BlcnRpZXMuY2hhbmdlZFByb3BlcnRpZXMgJiBSZW1vdGVMYXllclRy
ZWVUcmFuc2FjdGlvbjo6Q29udGVudHNTY2FsZUNoYW5nZWQpCi0gICAgICAgICAgICBsYXllci5j
b250ZW50c1JlY3QgPSBwcm9wZXJ0aWVzLmNvbnRlbnRzUmVjdDsKKyAgICAgICAgICAgIGxheWVy
LmNvbnRlbnRzU2NhbGUgPSBwcm9wZXJ0aWVzLmNvbnRlbnRzU2NhbGU7CiAKICAgICAgICAgaWYg
KHByb3BlcnRpZXMuY2hhbmdlZFByb3BlcnRpZXMgJiBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlv
bjo6TWluaWZpY2F0aW9uRmlsdGVyQ2hhbmdlZCkKICAgICAgICAgICAgIGxheWVyLm1pbmlmaWNh
dGlvbkZpbHRlciA9IHRvQ0FGaWx0ZXJUeXBlKHByb3BlcnRpZXMubWluaWZpY2F0aW9uRmlsdGVy
KTsKQEAgLTE5Niw2ICsxOTcsMTIgQEAgdm9pZCBSZW1vdGVMYXllclRyZWVIb3N0Ojpjb21taXQo
Y29uc3QgUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24mIHRyYW5zYWN0aW9uKQogCiAgICAgICAg
IGlmIChwcm9wZXJ0aWVzLmNoYW5nZWRQcm9wZXJ0aWVzICYgUmVtb3RlTGF5ZXJUcmVlVHJhbnNh
Y3Rpb246OlRpbWVPZmZzZXRDaGFuZ2VkKQogICAgICAgICAgICAgbGF5ZXIudGltZU9mZnNldCA9
IHByb3BlcnRpZXMudGltZU9mZnNldDsKKworICAgICAgICBpZiAocHJvcGVydGllcy5jaGFuZ2Vk
UHJvcGVydGllcyAmIFJlbW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uOjpCYWNraW5nU3RvcmVDaGFu
Z2VkKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogRG8gd2UgbmVlZCBDb3B5PworICAgICAgICAg
ICAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IGltYWdlID0gcHJvcGVydGllcy5iYWNraW5nU3RvcmUu
Yml0bWFwKCktPm1ha2VDR0ltYWdlQ29weSgpOworICAgICAgICAgICAgbGF5ZXIuY29udGVudHMg
PSAoaWQpaW1hZ2UuZ2V0KCk7CisgICAgICAgIH0KICAgICB9CiAKICAgICBmb3IgKGF1dG8gZGVz
dHJveWVkTGF5ZXIgOiB0cmFuc2FjdGlvbi5kZXN0cm95ZWRMYXllcnMoKSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkYzk2YTM0
Li4yNTg0Mzg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCkBAIC0zMTIsNiArMzEyLDggQEAKIAkJMkQyQURGMEIxNjM2MkREQjAwMTk3
RTQ3IC8qIFBERlBsdWdpbkFubm90YXRpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyRDJBREYwMzE2MzYyNDM1MDAxOTdFNDcgLyogUERGUGx1Z2lu
QW5ub3RhdGlvbi5tbSAqLzsgfTsKIAkJMkQyQURGMTAxNjM2NEQ4MjAwMTk3RTQ3IC8qIFBERlBs
dWdpbkNob2ljZUFubm90YXRpb24ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyRDJBREYwRTE2MzY0RDgyMDAxOTdFNDcgLyogUERGUGx1Z2luQ2hvaWNl
QW5ub3RhdGlvbi5tbSAqLzsgfTsKIAkJMkQ0MjlCRkQxNzIxRTJDNzAwRUM2ODFGIC8qIFBERlBs
dWdpblBhc3N3b3JkRmllbGQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyRDQyOUJGQjE3MjFFMkJBMDBFQzY4MUYgLyogUERGUGx1Z2luUGFzc3dvcmRG
aWVsZC5tbSAqLzsgfTsKKwkJMkQ0N0I1NkMxODEwNzE0RTAwM0EzQUVFIC8qIFJlbW90ZUxheWVy
QmFja2luZ1N0b3JlLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMkQ0N0I1NkExODEwNzE0RTAwM0EzQUVFIC8qIFJlbW90ZUxheWVyQmFja2luZ1N0b3Jl
Lm1tICovOyB9OworCQkyRDQ3QjU2RDE4MTA3MTRFMDAzQTNBRUUgLyogUmVtb3RlTGF5ZXJCYWNr
aW5nU3RvcmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDJENDdCNTZCMTgxMDcxNEUwMDNBM0FFRSAvKiBSZW1vdGVMYXllckJhY2tpbmdTdG9yZS5oICov
OyB9OwogCQkyRDg3MEQxMDE2MjM0RkZFMDAwQTNGMjAgLyogUERGUGx1Z2luLm1tIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ4NzBEMEUxNjIyQjdGOTAw
MEEzRjIwIC8qIFBERlBsdWdpbi5tbSAqLzsgfTsKIAkJMkRBMDQ5QjMxODBDQ0NEMzAwQUFGQTlF
IC8qIFBsYXRmb3JtQ0FMYXllclJlbW90ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyREEwNDlCMTE4MENDQ0QzMDBBQUZBOUUgLyogUGxhdGZvcm1D
QUxheWVyUmVtb3RlLmNwcCAqLzsgfTsKIAkJMkRBMDQ5QjQxODBDQ0NEMzAwQUFGQTlFIC8qIFBs
YXRmb3JtQ0FMYXllclJlbW90ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMkRBMDQ5QjIxODBDQ0NEMzAwQUFGQTlFIC8qIFBsYXRmb3JtQ0FMYXllclJl
bW90ZS5oICovOyB9OwpAQCAtMTczNiw2ICsxNzM4LDggQEAKIAkJMkQyQURGMEUxNjM2NEQ4MjAw
MTk3RTQ3IC8qIFBERlBsdWdpbkNob2ljZUFubm90YXRpb24ubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBQREZQbHVnaW5DaG9pY2VBbm5vdGF0aW9uLm1tOyBwYXRo
ID0gUERGL1BERlBsdWdpbkNob2ljZUFubm90YXRpb24ubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTJENDI5QkZBMTcyMUUyQkEwMEVDNjgxRiAvKiBQREZQbHVnaW5QYXNzd29yZEZp
ZWxkLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFBERlBsdWdpblBhc3N3b3Jk
RmllbGQuaDsgcGF0aCA9IFBERi9QREZQbHVnaW5QYXNzd29yZEZpZWxkLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTJENDI5QkZCMTcyMUUyQkEwMEVDNjgxRiAvKiBQREZQbHVnaW5Q
YXNzd29yZEZpZWxkLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0g
UERGUGx1Z2luUGFzc3dvcmRGaWVsZC5tbTsgcGF0aCA9IFBERi9QREZQbHVnaW5QYXNzd29yZEZp
ZWxkLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDQ3QjU2QTE4MTA3MTRFMDAz
QTNBRUUgLyogUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBSZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbTsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ0N0I1NkIxODEwNzE0RTAwM0EzQUVFIC8qIFJlbW90ZUxh
eWVyQmFja2luZ1N0b3JlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbW90
ZUxheWVyQmFja2luZ1N0b3JlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEODcw
RDBEMTYyMkI3RjkwMDBBM0YyMCAvKiBQREZQbHVnaW4uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gUERGUGx1Z2luLmg7IHBhdGggPSBQREYvUERGUGx1Z2luLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEODcwRDBFMTYyMkI3RjkwMDBBM0YyMCAvKiBQREZQbHVn
aW4ubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBQREZQbHVnaW4u
bW07IHBhdGggPSBQREYvUERGUGx1Z2luLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQkyREEwNDlCMTE4MENDQ0QzMDBBQUZBOUUgLyogUGxhdGZvcm1DQUxheWVyUmVtb3RlLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBsYXRmb3JtQ0FMYXllclJlbW90
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00NzEwLDYgKzQ3MTQsOCBAQAog
CQkJCTJEQTA0OUI2MTgwQ0NEMEEwMEFBRkE5RSAvKiBHcmFwaGljc0xheWVyQ0FSZW1vdGUuaCAq
LywKIAkJCQkyREEwNDlCMTE4MENDQ0QzMDBBQUZBOUUgLyogUGxhdGZvcm1DQUxheWVyUmVtb3Rl
LmNwcCAqLywKIAkJCQkyREEwNDlCMjE4MENDQ0QzMDBBQUZBOUUgLyogUGxhdGZvcm1DQUxheWVy
UmVtb3RlLmggKi8sCisJCQkJMkQ0N0I1NkExODEwNzE0RTAwM0EzQUVFIC8qIFJlbW90ZUxheWVy
QmFja2luZ1N0b3JlLm1tICovLAorCQkJCTJENDdCNTZCMTgxMDcxNEUwMDNBM0FFRSAvKiBSZW1v
dGVMYXllckJhY2tpbmdTdG9yZS5oICovLAogCQkJCTFBQjE2QUU4MTY0QjNBODgwMDI5MEQ2MiAv
KiBSZW1vdGVMYXllclRyZWVDb250ZXh0LmggKi8sCiAJCQkJMUFCMTZBRTcxNjRCM0E4ODAwMjkw
RDYyIC8qIFJlbW90ZUxheWVyVHJlZUNvbnRleHQubW0gKi8sCiAJCQkJMUFCMTZBREMxNjQ4NTk4
NDAwMjkwRDYyIC8qIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhLmggKi8sCkBAIC01NTg0LDYg
KzU1OTAsNyBAQAogCQkJCUJDQkFBQzc0MTQ0RTYxQTUwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29u
dGV4dENvbnRyb2xsZXJJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzc4OEEwNUMxNDc0
M0M5MDAwNjMxOUU1IC8qIFdLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlclByaXZhdGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDQkFBQ0Y0MTQ1MjMyNEYwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29u
dGV4dEdyb3VwLmggaW4gSGVhZGVycyAqLywKKwkJCQkyRDQ3QjU2RDE4MTA3MTRFMDAzQTNBRUUg
LyogUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQkFBQ0Y2
MTQ1MjMyNEYwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29udGV4dEdyb3VwUHJpdmF0ZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQkNCQUFEMEIxNDU2MEE0MzAwNTNGODJGIC8qIFdLQnJvd3NpbmdDb250
ZXh0TG9hZERlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzIwNEVFRjExQzgzRUM4MDA4
RjMzNzUgLyogV0tCdW5kbGUuaCBpbiBIZWFkZXJzICovLApAQCAtNjQ4Niw2ICs2NDkzLDcgQEAK
IAkJCQlCQ0U4MUQ5ODEzMUFFMDIxMDAyNDE5MTAgLyogRGljdGlvbmFyeVBvcHVwSW5mby5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk1MTY3RUVBMTE3MDM3N0JGMDA3NjgxQ0EgLyogRGlza0NhY2hl
TW9uaXRvci5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxOEU4RjA3MTZCMjA5MzcwMEU5MTQyOSAv
KiBEb3dubG9hZC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDQ3QjU2QzE4MTA3MTRFMDAzQTNB
RUUgLyogUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MThF
OEYwOTE2QjIwOTM3MDBFOTE0MjkgLyogRG93bmxvYWRBdXRoZW50aWNhdGlvbkNsaWVudC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk1MThFOEYwRDE2QjIwOTM3MDBFOTE0MjkgLyogRG93bmxvYWRN
YWMubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MThFOEYwQjE2QjIwOTM3MDBFOTE0MjkgLyogRG93
bmxvYWRNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGUuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGUu
Y3BwCmluZGV4IDZkODUxY2UuLjQwZTdmNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvUGxhdGZvcm1DQUxheWVyUmVtb3RlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1BsYXRmb3JtQ0FMYXllclJlbW90ZS5j
cHAKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2ltcG9ydCAiUGxhdGZvcm1DQUxheWVyUmVtb3RlLmgi
CiAKKyNpbXBvcnQgIlJlbW90ZUxheWVyQmFja2luZ1N0b3JlLmgiCiAjaW1wb3J0ICJSZW1vdGVM
YXllclRyZWVDb250ZXh0LmgiCiAjaW1wb3J0IDxXZWJDb3JlL0FuaW1hdGlvblV0aWxpdGllcy5o
PgogI2ltcG9ydCA8V2ViQ29yZS9HcmFwaGljc0NvbnRleHQuaD4KQEAgLTczLDYgKzc0LDkgQEAg
UGxhdGZvcm1DQUxheWVyUmVtb3RlOjp+UGxhdGZvcm1DQUxheWVyUmVtb3RlKCkKIAogdm9pZCBQ
bGF0Zm9ybUNBTGF5ZXJSZW1vdGU6OnJlY3Vyc2l2ZUJ1aWxkVHJhbnNhY3Rpb24oUmVtb3RlTGF5
ZXJUcmVlVHJhbnNhY3Rpb24mIHRyYW5zYWN0aW9uKQogeworICAgIGlmIChtX3Byb3BlcnRpZXMu
YmFja2luZ1N0b3JlLmRpc3BsYXkoKSkKKyAgICAgICAgbV9wcm9wZXJ0aWVzLm5vdGVQcm9wZXJ0
aWVzQ2hhbmdlZChSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6QmFja2luZ1N0b3JlQ2hhbmdl
ZCk7CisKICAgICBpZiAobV9wcm9wZXJ0aWVzLmNoYW5nZWRQcm9wZXJ0aWVzICE9IFJlbW90ZUxh
eWVyVHJlZVRyYW5zYWN0aW9uOjpOb0NoYW5nZSkgewogICAgICAgICBpZiAobV9wcm9wZXJ0aWVz
LmNoYW5nZWRQcm9wZXJ0aWVzICYgUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OkNoaWxkcmVu
Q2hhbmdlZCkgewogICAgICAgICAgICAgbV9wcm9wZXJ0aWVzLmNoaWxkcmVuLmNsZWFyKCk7CkBA
IC05NCw4ICs5OCwyNSBAQCB2b2lkIFBsYXRmb3JtQ0FMYXllclJlbW90ZTo6YW5pbWF0aW9uU3Rh
cnRlZChDRlRpbWVJbnRlcnZhbCBiZWdpblRpbWUpCiB7CiB9CiAKK3ZvaWQgUGxhdGZvcm1DQUxh
eWVyUmVtb3RlOjplbnN1cmVCYWNraW5nU3RvcmUoKQoreworICAgIGlmIChtX3Byb3BlcnRpZXMu
YmFja2luZ1N0b3JlLmxheWVyKCkgPT0gdGhpcworICAgICAgICAmJiBtX3Byb3BlcnRpZXMuYmFj
a2luZ1N0b3JlLnNpemUoKSA9PSBtX3Byb3BlcnRpZXMuc2l6ZQorICAgICAgICAmJiBtX3Byb3Bl
cnRpZXMuYmFja2luZ1N0b3JlLmlzT3BhcXVlKCkgPT0gbV9wcm9wZXJ0aWVzLm9wYXF1ZSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgbV9wcm9wZXJ0aWVzLmJhY2tpbmdTdG9yZSA9IFJlbW90ZUxh
eWVyQmFja2luZ1N0b3JlKHRoaXMsIGV4cGFuZGVkSW50U2l6ZShtX3Byb3BlcnRpZXMuc2l6ZSks
IG1fcHJvcGVydGllcy5vcGFxdWUpOworfQorCiB2b2lkIFBsYXRmb3JtQ0FMYXllclJlbW90ZTo6
c2V0TmVlZHNEaXNwbGF5KGNvbnN0IEZsb2F0UmVjdCogZGlydHlSZWN0KQogeworICAgIGVuc3Vy
ZUJhY2tpbmdTdG9yZSgpOworCisgICAgLy8gRklYTUU6IE5lZWQgdG8gbWFwIHRoaXMgdGhyb3Vn
aCBjb250ZW50c1JlY3QvY29udGVudHNTY2FsZS9ldGMuCisgICAgaWYgKGRpcnR5UmVjdCkKKyAg
ICAgICAgbV9wcm9wZXJ0aWVzLmJhY2tpbmdTdG9yZS5zZXROZWVkc0Rpc3BsYXkoZW5jbG9zaW5n
SW50UmVjdCgqZGlydHlSZWN0KSk7CisgICAgZWxzZQorICAgICAgICBtX3Byb3BlcnRpZXMuYmFj
a2luZ1N0b3JlLnNldE5lZWRzRGlzcGxheSgpOwogfQogCiB2b2lkIFBsYXRmb3JtQ0FMYXllclJl
bW90ZTo6c2V0Q29udGVudHNDaGFuZ2VkKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9tYWMvUGxhdGZvcm1DQUxheWVyUmVtb3RlLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1BsYXRmb3JtQ0FMYXllclJlbW90ZS5oCmluZGV4
IDZiYmJiMzcuLmZhN2YxYmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9tYWMvUGxhdGZvcm1DQUxheWVyUmVtb3RlLmgKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9QbGF0Zm9ybUNBTGF5ZXJSZW1vdGUuaApAQCAtMjksNyAr
MjksNiBAQAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIAogI2luY2x1ZGUgIlJl
bW90ZUxheWVyVHJlZVRyYW5zYWN0aW9uLmgiCi0KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3Jt
Q0FMYXllci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1MYXllci5oPgogCkBAIC0xNDks
NiArMTQ4LDggQEAgcHJpdmF0ZToKIAogICAgIHZpcnR1YWwgQVZQbGF5ZXJMYXllciAqcGxheWVy
TGF5ZXIoKSBjb25zdCBPVkVSUklERTsKIAorICAgIHZvaWQgZW5zdXJlQmFja2luZ1N0b3JlKCk7
CisKICAgICBSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbjo6TGF5ZXJJRCBtX2xheWVySUQ7CiAg
ICAgUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb246OkxheWVyUHJvcGVydGllcyBtX3Byb3BlcnRp
ZXM7CiAgICAgV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyTGlzdCBtX2NoaWxkcmVuOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1vdGVMYXllckJh
Y2tpbmdTdG9yZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9SZW1v
dGVMYXllckJhY2tpbmdTdG9yZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjgzNDc5YzMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvbWFjL1JlbW90ZUxheWVyQmFja2luZ1N0b3JlLmgKQEAgLTAsMCArMSw3MiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlX2gKKyNkZWZpbmUgUmVtb3RlTGF5ZXJCYWNraW5n
U3RvcmVfaAorCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQorCisjaW5jbHVkZSAi
U2hhcmVhYmxlQml0bWFwLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9JbnRSZWN0Lmg+CisKK25hbWVz
cGFjZSBXZWJLaXQgeworCitjbGFzcyBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGU7CisKK2NsYXNzIFJl
bW90ZUxheWVyQmFja2luZ1N0b3JlIHsKK3B1YmxpYzoKKyAgICBSZW1vdGVMYXllckJhY2tpbmdT
dG9yZSgpOworICAgIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlKFBsYXRmb3JtQ0FMYXllclJlbW90
ZSosIFdlYkNvcmU6OkludFNpemUgc2l6ZSwgYm9vbCBpc09wYXF1ZSk7CisKKyAgICB2b2lkIHNl
dE5lZWRzRGlzcGxheShXZWJDb3JlOjpJbnRSZWN0KTsKKyAgICB2b2lkIHNldE5lZWRzRGlzcGxh
eSgpOworCisgICAgYm9vbCBkaXNwbGF5KCk7CisKKyAgICBTaGFyZWFibGVCaXRtYXAqIGJpdG1h
cCgpIGNvbnN0IHsgcmV0dXJuIG1fYml0bWFwLmdldCgpOyB9CisgICAgV2ViQ29yZTo6SW50U2l6
ZSBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9zaXplOyB9CisgICAgYm9vbCBpc09wYXF1ZSgpIGNv
bnN0IHsgcmV0dXJuIG1faXNPcGFxdWU7IH0KKworICAgIFBsYXRmb3JtQ0FMYXllclJlbW90ZSog
bGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX2xheWVyOyB9CisKKyAgICB2b2lkIGVuY29kZShDb3Jl
SVBDOjpBcmd1bWVudEVuY29kZXImKSBjb25zdDsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29y
ZUlQQzo6QXJndW1lbnREZWNvZGVyJiwgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmKTsKKworcHJp
dmF0ZToKKyAgICBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUqIG1fbGF5ZXI7CisKKyAgICBXZWJDb3Jl
OjpJbnRTaXplIG1fc2l6ZTsKKyAgICBib29sIG1faXNPcGFxdWU7CisKKyAgICBib29sIG1fbmVl
ZHNGdWxsUmVwYWludDsKKworICAgIFJlZlB0cjxTaGFyZWFibGVCaXRtYXA+IG1fYml0bWFwOwor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoQUNDRUxFUkFURURf
Q09NUE9TSVRJTkcpCisKKyNlbmRpZiAvLyBSZW1vdGVMYXllckJhY2tpbmdTdG9yZV9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1JlbW90ZUxheWVy
QmFja2luZ1N0b3JlLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9S
ZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi41YWMwNjk0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL21hYy9SZW1vdGVMYXllckJhY2tpbmdTdG9yZS5tbQpAQCAtMCwwICsxLDExNyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW1wb3J0ICJjb25maWcuaCIKKyNpbXBvcnQgIlJlbW90ZUxheWVyQmFja2luZ1N0b3JlLmgi
CisKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisKKyNpbXBvcnQgIlBsYXRmb3Jt
Q0FMYXllclJlbW90ZS5oIgorI2ltcG9ydCAiQXJndW1lbnRDb2RlcnMuaCIKKyNpbXBvcnQgIlNo
YXJlYWJsZUJpdG1hcC5oIgorI2ltcG9ydCAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCisKK3Vz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwordXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKKworUmVtb3Rl
TGF5ZXJCYWNraW5nU3RvcmU6OlJlbW90ZUxheWVyQmFja2luZ1N0b3JlKFBsYXRmb3JtQ0FMYXll
clJlbW90ZSogbGF5ZXIsIEludFNpemUgc2l6ZSwgYm9vbCBpc09wYXF1ZSkKKyAgICA6IG1fbGF5
ZXIobGF5ZXIpCisgICAgLCBtX3NpemUoc2l6ZSkKKyAgICAsIG1faXNPcGFxdWUoaXNPcGFxdWUp
CisgICAgLCBtX25lZWRzRnVsbFJlcGFpbnQodHJ1ZSkKK3sKKyAgICBBU1NFUlQobGF5ZXIpOwor
fQorCitSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6UmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUoKQor
ICAgIDogbV9sYXllcihudWxscHRyKQoreworfQorCit2b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0
b3JlOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAorewor
ICAgIFNoYXJlYWJsZUJpdG1hcDo6SGFuZGxlIGhhbmRsZTsKKyAgICBtX2JpdG1hcC0+Y3JlYXRl
SGFuZGxlKGhhbmRsZSk7CisKKyAgICBlbmNvZGVyIDw8IGhhbmRsZTsKKyAgICBlbmNvZGVyIDw8
IG1fc2l6ZTsKK30KKworYm9vbCBSZW1vdGVMYXllckJhY2tpbmdTdG9yZTo6ZGVjb2RlKENvcmVJ
UEM6OkFyZ3VtZW50RGVjb2RlciYgZGVjb2RlciwgUmVtb3RlTGF5ZXJCYWNraW5nU3RvcmUmIHJl
c3VsdCkKK3sKKyAgICBTaGFyZWFibGVCaXRtYXA6OkhhbmRsZSBoYW5kbGU7CisgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShoYW5kbGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmVzdWx0
Lm1fYml0bWFwID0gU2hhcmVhYmxlQml0bWFwOjpjcmVhdGUoaGFuZGxlKTsKKworICAgIGlmICgh
ZGVjb2Rlci5kZWNvZGUocmVzdWx0Lm1fc2l6ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwor
ICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpzZXRO
ZWVkc0Rpc3BsYXkoSW50UmVjdCByZWN0KQoreworICAgIC8vIEZJWE1FOiBPbmx5IHJlcGFpbnQg
ZGlydHkgcmVnaW9ucy4KKyAgICBzZXROZWVkc0Rpc3BsYXkoKTsKK30KKwordm9pZCBSZW1vdGVM
YXllckJhY2tpbmdTdG9yZTo6c2V0TmVlZHNEaXNwbGF5KCkKK3sKKyAgICBtX25lZWRzRnVsbFJl
cGFpbnQgPSB0cnVlOworfQorCitib29sIFJlbW90ZUxheWVyQmFja2luZ1N0b3JlOjpkaXNwbGF5
KCkKK3sKKyAgICBpZiAoIW1fbGF5ZXIpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlm
ICghbV9sYXllci0+b3duZXIoKS0+cGxhdGZvcm1DQUxheWVyRHJhd3NDb250ZW50KCkpIHsKKyAg
ICAgICAgLy8gSWYgd2UgcHJldmlvdXNseSB3ZXJlIGRyYXdzQ29udGVudD1ZRVMsIGFuZCBub3cg
YXJlIG5vdCwgd2UgbmVlZAorICAgICAgICAvLyB0byBub3RlIHRoYXQgb3VyIGJhY2tpbmcgc3Rv
cmUgaGFzIGNoYW5nZWQgKGJ5IGJlaW5nIGNsZWFyZWQpLgorICAgICAgICBpZiAobV9iaXRtYXAp
IHsKKyAgICAgICAgICAgIG1fYml0bWFwID0gbnVsbHB0cjsKKyAgICAgICAgICAgIHJldHVybiB0
cnVlOworICAgICAgICB9CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBpZiAo
bV9iaXRtYXAgJiYgIW1fbmVlZHNGdWxsUmVwYWludCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgaWYgKCFtX2JpdG1hcCkgeworICAgICAgICBtX2JpdG1hcCA9IFNoYXJlYWJsZUJpdG1h
cDo6Y3JlYXRlU2hhcmVhYmxlKG1fc2l6ZSwgbV9pc09wYXF1ZSA/IFNoYXJlYWJsZUJpdG1hcDo6
Tm9GbGFncyA6IFNoYXJlYWJsZUJpdG1hcDo6U3VwcG9ydHNBbHBoYSk7CisgICAgICAgIG1fbmVl
ZHNGdWxsUmVwYWludCA9IHRydWU7CisgICAgfQorCisgICAgc3RkOjp1bmlxdWVfcHRyPEdyYXBo
aWNzQ29udGV4dD4gY29udGV4dCA9IG1fYml0bWFwLT5jcmVhdGVHcmFwaGljc0NvbnRleHQoKTsK
KyAgICBtX2xheWVyLT5vd25lcigpLT5wbGF0Zm9ybUNBTGF5ZXJQYWludENvbnRlbnRzKCpjb250
ZXh0LmdldCgpLCBJbnRSZWN0KEludFBvaW50KCksIG1fc2l6ZSkpOworCisgICAgbV9uZWVkc0Z1
bGxSZXBhaW50ID0gZmFsc2U7CisKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworI2VuZGlmIC8vIFVT
RShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykK
</data>
<flag name="review"
          id="237090"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>