<?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>88115</bug_id>
          
          <creation_ts>2012-06-01 11:45:07 -0700</creation_ts>
          <short_desc>Avoid creating compositing layers for preserve-3d without transformed descendants</short_desc>
          <delta_ts>2012-06-05 15:18:47 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>88125</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>dino</cc>
    
    <cc>enne</cc>
    
    <cc>eric</cc>
    
    <cc>jamesr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>639560</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-06-01 11:45:07 -0700</bug_when>
    <thetext>Avoid creating compositing layers for preserve-3d without transformed descendants</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641904</commentid>
    <comment_count>1</comment_count>
      <attachid>145871</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-06-05 14:46:34 -0700</bug_when>
    <thetext>Created attachment 145871
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641906</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2012-06-05 14:48:30 -0700</bug_when>
    <thetext>&lt;rdar://problem/11600568&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>641933</commentid>
    <comment_count>3</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-06-05 15:18:47 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/119529</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>145871</attachid>
            <date>2012-06-05 14:46:34 -0700</date>
            <delta_ts>2012-06-05 15:14:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88115-20120605144633.patch</filename>
            <type>text/plain</type>
            <size>27498</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE5NTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjZmMTljZGY1OTNhZDlk
MjAzZTU3YjJjMWI3ZjVjMjg1MzRjMjNkYS4uODZiZDgxNzI3ZTkwOWNmNTIxZGFmNDJmMDFhNGNk
ODdlNmEzMTlkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEyLTA2LTA1ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisgICAgICAgIEF2b2lkIGNyZWF0
aW5nIGNvbXBvc2l0aW5nIGxheWVycyBmb3IgcHJlc2VydmUtM2Qgd2l0aG91dCB0cmFuc2Zvcm1l
ZCBkZXNjZW5kYW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODgxMTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAg
ICAgCisgICAgICAgIEF2b2lkIGNyZWF0aW5nIGNvbXBvc2l0aW5nIGxheWVycywgYW5kIHRoZXJl
Zm9yZSB1c2luZyBleGNlc3MgYmFja2luZyBzdG9yZSwKKyAgICAgICAgZm9yIGVsZW1lbnRzIHRo
YXQgaGF2ZSAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2QsIGJ1dCBubyAzRC10
cmFuc2Zvcm1lZAorICAgICAgICBkZXNjZW5kYW50cyB0aGF0IHdvdWxkIGJlIGFmZmVjdGVkIGJ5
IHRoYXQgcHJlc2VydmUtM2QuCisgICAgICAgIAorICAgICAgICBUZXN0OiBjb21wb3NpdGluZy9s
YXllci1jcmVhdGlvbi9uby1jb21wb3NpdGluZy1mb3ItcHJlc2VydmUtM2QuaHRtbAorCisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6IFJlcGxhY2UgdGhlICJtdXN0T3ZlcmxhcCIg
ZmxhZyB3aXRoIGEgZW51bQorICAgICAgICB0aGF0IGRlc2NyaWJlcyB0aGUgZGlmZmVyZW50IHJl
YXNvbnMgZm9yIGluZGlyZWN0IGNvbXBvc2l0aW5nLCBzbyB0aGF0CisgICAgICAgIHdlIGNhbiB1
c2UgdGhhdCBpbmZvcm1hdGlvbiB0byBkZWNpZGUgd2hldGhlciB0byBhbGxvY2F0ZSBiYWNraW5n
IHN0b3JlLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNldEluZGlyZWN0Q29tcG9z
aXRpbmdSZWFzb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmluZGlyZWN0Q29t
cG9zaXRpbmdSZWFzb24pOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6Om11c3RDb21w
b3NpdGVGb3JJbmRpcmVjdFJlYXNvbnMpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6UmVuZGVyTGF5ZXIpOiBJbml0
aWFsaXplIG1faW5kaXJlY3RDb21wb3NpdGluZ1JlYXNvbgorCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckxheWVyQ29tcG9zaXRvci5oOiBOZXcgb3V0IHBhcmFtIGZvciBjb21wdXRlQ29tcG9z
aXRpbmdSZXF1aXJlbWVudHMoKQorICAgICAgICB0aGF0IGlzIHVzZXMgdG8gaW5kaWNhdGUgdGhh
dCBhIDNkLXRyYW5zZm9ybWVkIGRlc2NlbmRhbnQgaGFzIGJlZW4gZW5jb3VudGVyZWQuCisgICAg
ICAgIFJlbmFtZSByZXF1aXJlc0NvbXBvc2l0aW5nV2hlbkRlc2NlbmRhbnRzQXJlQ29tcG9zaXRp
bmcoKSB0byByZXF1aXJlc0NvbXBvc2l0aW5nRm9ySW5kaXJlY3RSZWFzb24oKSwKKyAgICAgICAg
YW5kIHJldHVybiB0aGUgcmVhc29uIGFzIGFuIG91dCBwYXJhbS4KKyAgICAgICAgCisgICAgICAg
ICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnVwZGF0ZUNvbXBvc2l0aW5nTGF5ZXJzKTogUGFzcyBp
biB0aGUgc2F3M0RUcmFuc2Zvcm0KKyAgICAgICAgcGFyYW0gdG8gY29tcHV0ZUNvbXBvc2l0aW5n
UmVxdWlyZW1lbnRzKCkuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6
OmNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyk6IFJldHVybiBhIGZsYWcKKyAgICAgICAg
ZnJvbSBjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVudHMoKSB0aGF0IGlzIHNldCB0byB0cnVl
IGlmIHdlJ3ZlIHNlZW4gZGVzY2VuZGFudHMKKyAgICAgICAgdGhhdCBoYXZlIDNkIHRyYW5zZm9y
bXMuIFRoaXMgaXMgbGF0ZXIgdXNlZCB0byBkZWNpZGUgd2hldGhlciB0byBjb21wb3NpdGUgZm9y
CisgICAgICAgIHBlcnNwZWN0aXZlIG9yIHByZXNlcnZlLTNkLgorICAgICAgICBDaGFuZ2UgdGhl
ICJtdXN0T3ZlcmxhcENvbXBvc2l0ZWRMYXllcnMiIGNvZGUgdG8gdXNlIHRoZSBuZXcgImluZGly
ZWN0IGNvbXBvc2l0aW5nIgorICAgICAgICBlbnVtIGZsYWdzLgorICAgICAgICBBZnRlciBlbnVt
ZXJhdGluZyBjaGlsZHJlbiwgY2FsbCByZXF1aXJlc0NvbXBvc2l0aW5nRm9ySW5kaXJlY3RSZWFz
b24oKSBhbmQgCisgICAgICAgIHJlY29yZCB0aGUgcmVhc29uIGluIHRoZSBsYXllci4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6bmVlZHNUb0JlQ29tcG9zaXRlZCk6
IFVzZSBtdXN0Q29tcG9zaXRlRm9ySW5kaXJlY3RSZWFzb25zKCkgbm93LgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc093bkJhY2tpbmdTdG9yZSk6IENv
bnN1bHQgdGhlIGluZGlyZWN0IGNvbXBvc2l0aW5nCisgICAgICAgIHJlYXNvbiByYXRoZXIgdGhh
biBqdXN0IGxvb2tpbmcgZm9yIHRoZSBvdmVybGFwIGZsYWcuCisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlYXNvbkZvckNvbXBvc2l0aW5nKTogTm93IHRoYXQgd2Ug
aGF2ZSBtb3JlIGluZm9ybWF0aW9uCisgICAgICAgIGFib3V0IGluZGlyZWN0IGNvbXBvc2l0aW5n
IHJlYXNvbnMsIHRoZSBsb2dnaW5nIGNhbiBiZSBtb3JlIGRldGFpbGVkLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5nRm9yVHJhbnNm
b3JtKTogVGhpcyBub3cgb25seSBsb29rcworICAgICAgICBmb3IgM2QgdHJhbnNmb3Jtcy4gV2Ug
bm93IHRyZWF0IHBlcnNwZWN0aXZlIGFuZCBwZXJzZXJ2ZS0zZCBhcyAiaW5kaXJlY3QiIHJlYXNv
bnMsIGJlY2F1c2UKKyAgICAgICAgd2hldGhlciB0aGV5IGNvbXBvc2l0ZSBkZXBlbmRzIG9uIGRl
c2NlbmRhbnRzIGhhdmluZyBub24tYWZmaW5lIHRyYW5zZm9ybXMuCisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzQ29tcG9zaXRpbmdGb3JJbmRpcmVjdFJl
YXNvbik6IEluY2x1ZGVzIHRoZSBsb2dpYworICAgICAgICBwcmV2aW91c2x5IGluIHJlcXVpcmVz
Q29tcG9zaXRpbmdXaGVuRGVzY2VuZGFudHNBcmVDb21wb3NpdGluZygpLCBhbmQgbm93IGRldGVy
bWluZXMKKyAgICAgICAgd2hldGhlciB0byBjb21wb3NpdGUgZm9yIHByZXNlcnZlLTNkIGFuZCBw
ZXJzcGVjdGl2ZSwgYmFzZWQgb24gd2hldGhlciB3ZSBoYXZlIHRyYW5zZm9ybWVkIGRlc2NlbmRh
bnRzLgorCiAyMDEyLTA2LTA1ICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogcmVuZGVyIHRpbWVsaW5lIHBhaW50IGNhdGVnb3J5
IGRhcmsgZ3JlZW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4
IDA1ZDliYTU3N2UyNmI0OTcwZGU0ZTBjNGYxMmMzMzczMWE0MTUyMzguLjllNzg1Zjc3MWU0ZmZj
ODVmNDg3MzMyM2E3ZmU4ODFiNmNiODMwOTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyLmNwcApAQCAtMTQyLDcgKzE0Miw3IEBAIFJlbmRlckxheWVyOjpSZW5kZXJMYXll
cihSZW5kZXJCb3hNb2RlbE9iamVjdCogcmVuZGVyZXIpCiAgICAgLCBtX2hhczNEVHJhbnNmb3Jt
ZWREZXNjZW5kYW50KGZhbHNlKQogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAg
ICAsIG1faGFzQ29tcG9zaXRpbmdEZXNjZW5kYW50KGZhbHNlKQotICAgICwgbV9tdXN0T3Zlcmxh
cENvbXBvc2l0ZWRMYXllcnMoZmFsc2UpCisgICAgLCBtX2luZGlyZWN0Q29tcG9zaXRpbmdSZWFz
b24oTm9JbmRpcmVjdENvbXBvc2l0aW5nUmVhc29uKQogI2VuZGlmCiAgICAgLCBtX2NvbnRhaW5z
RGlydHlPdmVybGF5U2Nyb2xsYmFycyhmYWxzZSkKICNpZiAhQVNTRVJUX0RJU0FCTEVECmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IDQ4NTJmZjBiNGFkMDhjMjBjM2Y1
ZThmNGEyZTZhN2VhYWI0OGMxYjIuLjRiMDdjNmMyYzI4NjAyNDI2YmMwYzM3MGE4MmRiNDdmNTIy
NzE1ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC04MTYsOCAr
ODE2LDE4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBoYXNDb21wb3NpdGluZ0Rlc2NlbmRhbnQoKSBj
b25zdCB7IHJldHVybiBtX2hhc0NvbXBvc2l0aW5nRGVzY2VuZGFudDsgfQogICAgIHZvaWQgc2V0
SGFzQ29tcG9zaXRpbmdEZXNjZW5kYW50KGJvb2wgYikgIHsgbV9oYXNDb21wb3NpdGluZ0Rlc2Nl
bmRhbnQgPSBiOyB9CiAgICAgCi0gICAgYm9vbCBtdXN0T3ZlcmxhcENvbXBvc2l0ZWRMYXllcnMo
KSBjb25zdCB7IHJldHVybiBtX211c3RPdmVybGFwQ29tcG9zaXRlZExheWVyczsgfQotICAgIHZv
aWQgc2V0TXVzdE92ZXJsYXBDb21wb3NpdGVkTGF5ZXJzKGJvb2wgYikgeyBtX211c3RPdmVybGFw
Q29tcG9zaXRlZExheWVycyA9IGI7IH0KKyAgICBlbnVtIEluZGlyZWN0Q29tcG9zaXRpbmdSZWFz
b24geworICAgICAgICBOb0luZGlyZWN0Q29tcG9zaXRpbmdSZWFzb24sCisgICAgICAgIEluZGly
ZWN0Q29tcG9zaXRpbmdGb3JPdmVybGFwLAorICAgICAgICBJbmRpcmVjdENvbXBvc2l0aW5nRm9y
QmFja2dyb3VuZExheWVyLAorICAgICAgICBJbmRpcmVjdENvbXBvc2l0aW5nRm9yR3JhcGhpY2Fs
RWZmZWN0LCAvLyBvcGFjaXR5LCBtYXNrLCBmaWx0ZXIsIHRyYW5zZm9ybSBldGMuCisgICAgICAg
IEluZGlyZWN0Q29tcG9zaXRpbmdGb3JQZXJzcGVjdGl2ZSwKKyAgICAgICAgSW5kaXJlY3RDb21w
b3NpdGluZ0ZvclByZXNlcnZlM0QKKyAgICB9OworICAgIAorICAgIHZvaWQgc2V0SW5kaXJlY3RD
b21wb3NpdGluZ1JlYXNvbihJbmRpcmVjdENvbXBvc2l0aW5nUmVhc29uIHJlYXNvbikgeyBtX2lu
ZGlyZWN0Q29tcG9zaXRpbmdSZWFzb24gPSByZWFzb247IH0KKyAgICBJbmRpcmVjdENvbXBvc2l0
aW5nUmVhc29uIGluZGlyZWN0Q29tcG9zaXRpbmdSZWFzb24oKSBjb25zdCB7IHJldHVybiBzdGF0
aWNfY2FzdDxJbmRpcmVjdENvbXBvc2l0aW5nUmVhc29uPihtX2luZGlyZWN0Q29tcG9zaXRpbmdS
ZWFzb24pOyB9CisgICAgYm9vbCBtdXN0Q29tcG9zaXRlRm9ySW5kaXJlY3RSZWFzb25zKCkgY29u
c3QgeyByZXR1cm4gbV9pbmRpcmVjdENvbXBvc2l0aW5nUmVhc29uOyB9CiAjZW5kaWYKIAogICAg
IGZyaWVuZCBjbGFzcyBSZW5kZXJMYXllckJhY2tpbmc7CkBAIC04NzUsNyArODg1LDcgQEAgcHJv
dGVjdGVkOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBp
biBhIHByZXNlcnZlczNEIGhpZXJhcmNoeS4gSGludCB0byBkbyAzRC1hd2FyZSBoaXQgdGVzdGlu
Zy4KICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgYm9vbCBtX2hhc0NvbXBv
c2l0aW5nRGVzY2VuZGFudCA6IDE7IC8vIEluIHRoZSB6LW9yZGVyIHRyZWUuCi0gICAgYm9vbCBt
X211c3RPdmVybGFwQ29tcG9zaXRlZExheWVycyA6IDE7CisgICAgdW5zaWduZWQgbV9pbmRpcmVj
dENvbXBvc2l0aW5nUmVhc29uIDogMzsKICNlbmRpZgogCiAgICAgYm9vbCBtX2NvbnRhaW5zRGly
dHlPdmVybGF5U2Nyb2xsYmFycyA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IGMyMGRiODRlODc2YmE5MzlhZDYzNDRl
YjdhMzRmYzdjN2I2NjhlZWMuLjk4ZDA1YzQzZGVmNTBjNzFjZTEzMmZlMWQwZDdiMGNmOGJlNzUy
YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBv
c2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBv
c2l0b3IuY3BwCkBAIC00MDEsMTEgKzQwMSwxMiBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRv
cjo6dXBkYXRlQ29tcG9zaXRpbmdMYXllcnMoQ29tcG9zaXRpbmdVcGRhdGVUeXBlIHVwZGF0ZQog
ICAgICAgICAvLyBGSVhNRTogd2UgY291bGQgbWF5YmUgZG8gdGhpcyBhbmQgdGhlIGhpZXJhcmNo
eSB1ZHBhdGUgaW4gb25lIHBhc3MsIGJ1dCB0aGUgcGFyZW50aW5nIGxvZ2ljIHdvdWxkIGJlIG1v
cmUgY29tcGxleC4KICAgICAgICAgQ29tcG9zaXRpbmdTdGF0ZSBjb21wU3RhdGUodXBkYXRlUm9v
dCwgbV9jb21wb3NpdGluZ0NvbnN1bHRzT3ZlcmxhcCk7CiAgICAgICAgIGJvb2wgbGF5ZXJzQ2hh
bmdlZCA9IGZhbHNlOworICAgICAgICBib29sIHNhdzNEVHJhbnNmb3JtID0gZmFsc2U7CiAgICAg
ICAgIGlmIChtX2NvbXBvc2l0aW5nQ29uc3VsdHNPdmVybGFwKSB7CiAgICAgICAgICAgICBPdmVy
bGFwTWFwIG92ZXJsYXBUZXN0UmVxdWVzdE1hcDsKLSAgICAgICAgICAgIGNvbXB1dGVDb21wb3Np
dGluZ1JlcXVpcmVtZW50cygwLCB1cGRhdGVSb290LCAmb3ZlcmxhcFRlc3RSZXF1ZXN0TWFwLCBj
b21wU3RhdGUsIGxheWVyc0NoYW5nZWQpOworICAgICAgICAgICAgY29tcHV0ZUNvbXBvc2l0aW5n
UmVxdWlyZW1lbnRzKDAsIHVwZGF0ZVJvb3QsICZvdmVybGFwVGVzdFJlcXVlc3RNYXAsIGNvbXBT
dGF0ZSwgbGF5ZXJzQ2hhbmdlZCwgc2F3M0RUcmFuc2Zvcm0pOwogICAgICAgICB9IGVsc2UKLSAg
ICAgICAgICAgIGNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cygwLCB1cGRhdGVSb290LCAw
LCBjb21wU3RhdGUsIGxheWVyc0NoYW5nZWQpOworICAgICAgICAgICAgY29tcHV0ZUNvbXBvc2l0
aW5nUmVxdWlyZW1lbnRzKDAsIHVwZGF0ZVJvb3QsIDAsIGNvbXBTdGF0ZSwgbGF5ZXJzQ2hhbmdl
ZCwgc2F3M0RUcmFuc2Zvcm0pOwogICAgICAgICAKICAgICAgICAgbmVlZEhpZXJhcmNoeVVwZGF0
ZSB8PSBsYXllcnNDaGFuZ2VkOwogICAgIH0KQEAgLTcxNiw3ICs3MTcsNyBAQCB2b2lkIFJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6YWRkVG9PdmVybGFwTWFwUmVjdXJzaXZlKE92ZXJsYXBNYXAmIG92
ZXJsYXBNYXAsIFJlbgogLy8gICAgICBtdXN0IGJlIGNvbXBvc2l0aW5nIHNvIHRoYXQgaXRzIGNv
bnRlbnRzIHJlbmRlciBvdmVyIHRoYXQgY2hpbGQuCiAvLyAgICAgIFRoaXMgaW1wbGllcyB0aGF0
IGl0cyBwb3NpdGl2ZSB6LWluZGV4IGNoaWxkcmVuIG11c3QgYWxzbyBiZSBjb21wb3NpdGluZy4K
IC8vCi12b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWly
ZW1lbnRzKFJlbmRlckxheWVyKiBhbmNlc3RvckxheWVyLCBSZW5kZXJMYXllciogbGF5ZXIsIE92
ZXJsYXBNYXAqIG92ZXJsYXBNYXAsIENvbXBvc2l0aW5nU3RhdGUmIGNvbXBvc2l0aW5nU3RhdGUs
IGJvb2wmIGxheWVyc0NoYW5nZWQpCit2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6Y29tcHV0
ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKFJlbmRlckxheWVyKiBhbmNlc3RvckxheWVyLCBSZW5k
ZXJMYXllciogbGF5ZXIsIE92ZXJsYXBNYXAqIG92ZXJsYXBNYXAsIENvbXBvc2l0aW5nU3RhdGUm
IGNvbXBvc2l0aW5nU3RhdGUsIGJvb2wmIGxheWVyc0NoYW5nZWQsIGJvb2wmIGRlc2NlbmRhbnRI
YXMzRFRyYW5zZm9ybSkKIHsKICAgICBsYXllci0+dXBkYXRlTGF5ZXJMaXN0c0lmTmVlZGVkKCk7
CiAgICAgCkBAIC03NDEsNyArNzQyLDcgQEAgdm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OmNv
bXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyhSZW5kZXJMYXllciogYW5jZXN0b3IKICAgICAg
ICAgbXVzdE92ZXJsYXBDb21wb3NpdGVkTGF5ZXJzID0gb3ZlcmxhcE1hcC0+b3ZlcmxhcHNMYXll
cnMoYWJzQm91bmRzKTsKICAgICB9CiAgICAgCi0gICAgbGF5ZXItPnNldE11c3RPdmVybGFwQ29t
cG9zaXRlZExheWVycyhtdXN0T3ZlcmxhcENvbXBvc2l0ZWRMYXllcnMpOworICAgIGxheWVyLT5z
ZXRJbmRpcmVjdENvbXBvc2l0aW5nUmVhc29uKG11c3RPdmVybGFwQ29tcG9zaXRlZExheWVycyA/
IFJlbmRlckxheWVyOjpJbmRpcmVjdENvbXBvc2l0aW5nRm9yT3ZlcmxhcCA6IFJlbmRlckxheWVy
OjpOb0luZGlyZWN0Q29tcG9zaXRpbmdSZWFzb24pOwogICAgIAogICAgIC8vIFRoZSBjaGlsZHJl
biBvZiB0aGlzIGxheWVyIGRvbid0IG5lZWQgdG8gY29tcG9zaXRlLCB1bmxlc3MgdGhlcmUgaXMK
ICAgICAvLyBhIGNvbXBvc2l0aW5nIGxheWVyIGFtb25nIHRoZW0sIHNvIHN0YXJ0IGJ5IGluaGVy
aXRpbmcgdGhlIGNvbXBvc2l0aW5nCkBAIC03NzcsMTggKzc3OCwyMCBAQCB2b2lkIFJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKFJlbmRlckxheWVy
KiBhbmNlc3RvcgogICAgIExheWVyTGlzdE11dGF0aW9uRGV0ZWN0b3IgbXV0YXRpb25DaGVja2Vy
KGxheWVyKTsKICNlbmRpZgogCisgICAgYm9vbCBhbnlEZXNjZW5kYW50SGFzM0RUcmFuc2Zvcm0g
PSBmYWxzZTsKKwogICAgIGlmIChsYXllci0+aXNTdGFja2luZ0NvbnRleHQoKSkgewogICAgICAg
ICBpZiAoVmVjdG9yPFJlbmRlckxheWVyKj4qIG5lZ1pPcmRlckxpc3QgPSBsYXllci0+bmVnWk9y
ZGVyTGlzdCgpKSB7CiAgICAgICAgICAgICBzaXplX3QgbGlzdFNpemUgPSBuZWdaT3JkZXJMaXN0
LT5zaXplKCk7CiAgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxpc3RTaXplOyAr
K2kpIHsKICAgICAgICAgICAgICAgICBSZW5kZXJMYXllciogY3VyTGF5ZXIgPSBuZWdaT3JkZXJM
aXN0LT5hdChpKTsKLSAgICAgICAgICAgICAgICBjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVu
dHMobGF5ZXIsIGN1ckxheWVyLCBvdmVybGFwTWFwLCBjaGlsZFN0YXRlLCBsYXllcnNDaGFuZ2Vk
KTsKKyAgICAgICAgICAgICAgICBjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVudHMobGF5ZXIs
IGN1ckxheWVyLCBvdmVybGFwTWFwLCBjaGlsZFN0YXRlLCBsYXllcnNDaGFuZ2VkLCBhbnlEZXNj
ZW5kYW50SGFzM0RUcmFuc2Zvcm0pOwogCiAgICAgICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSB0
byBtYWtlIGEgbGF5ZXIgZm9yIHRoaXMgY2hpbGQsIG1ha2Ugb25lIG5vdyBzbyB3ZSBjYW4gaGF2
ZSBhIGNvbnRlbnRzIGxheWVyCiAgICAgICAgICAgICAgICAgLy8gKHNpbmNlIHdlIG5lZWQgdG8g
ZW5zdXJlIHRoYXQgdGhlIC12ZSB6LW9yZGVyIGNoaWxkIHJlbmRlcnMgdW5kZXJuZWF0aCBvdXIg
Y29udGVudHMpLgogICAgICAgICAgICAgICAgIGlmICghd2lsbEJlQ29tcG9zaXRlZCAmJiBjaGls
ZFN0YXRlLm1fc3VidHJlZUlzQ29tcG9zaXRpbmcpIHsKICAgICAgICAgICAgICAgICAgICAgLy8g
bWFrZSBsYXllciBjb21wb3NpdGluZwotICAgICAgICAgICAgICAgICAgICBsYXllci0+c2V0TXVz
dE92ZXJsYXBDb21wb3NpdGVkTGF5ZXJzKHRydWUpOworICAgICAgICAgICAgICAgICAgICBsYXll
ci0+c2V0SW5kaXJlY3RDb21wb3NpdGluZ1JlYXNvbihSZW5kZXJMYXllcjo6SW5kaXJlY3RDb21w
b3NpdGluZ0ZvckJhY2tncm91bmRMYXllcik7CiAgICAgICAgICAgICAgICAgICAgIGNoaWxkU3Rh
dGUubV9jb21wb3NpdGluZ0FuY2VzdG9yID0gbGF5ZXI7CiAgICAgICAgICAgICAgICAgICAgIGlm
IChvdmVybGFwTWFwKQogICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmxhcE1hcC0+cHVzaENv
bXBvc2l0aW5nQ29udGFpbmVyKCk7CkBAIC04MDIsNyArODA1LDcgQEAgdm9pZCBSZW5kZXJMYXll
ckNvbXBvc2l0b3I6OmNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyhSZW5kZXJMYXllciog
YW5jZXN0b3IKICAgICAgICAgc2l6ZV90IGxpc3RTaXplID0gbm9ybWFsRmxvd0xpc3QtPnNpemUo
KTsKICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsaXN0U2l6ZTsgKytpKSB7CiAgICAg
ICAgICAgICBSZW5kZXJMYXllciogY3VyTGF5ZXIgPSBub3JtYWxGbG93TGlzdC0+YXQoaSk7Ci0g
ICAgICAgICAgICBjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVudHMobGF5ZXIsIGN1ckxheWVy
LCBvdmVybGFwTWFwLCBjaGlsZFN0YXRlLCBsYXllcnNDaGFuZ2VkKTsKKyAgICAgICAgICAgIGNv
bXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyhsYXllciwgY3VyTGF5ZXIsIG92ZXJsYXBNYXAs
IGNoaWxkU3RhdGUsIGxheWVyc0NoYW5nZWQsIGFueURlc2NlbmRhbnRIYXMzRFRyYW5zZm9ybSk7
CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTgxMSw3ICs4MTQsNyBAQCB2b2lkIFJlbmRlckxheWVy
Q29tcG9zaXRvcjo6Y29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKFJlbmRlckxheWVyKiBh
bmNlc3RvcgogICAgICAgICAgICAgc2l6ZV90IGxpc3RTaXplID0gcG9zWk9yZGVyTGlzdC0+c2l6
ZSgpOwogICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsaXN0U2l6ZTsgKytpKSB7
CiAgICAgICAgICAgICAgICAgUmVuZGVyTGF5ZXIqIGN1ckxheWVyID0gcG9zWk9yZGVyTGlzdC0+
YXQoaSk7Ci0gICAgICAgICAgICAgICAgY29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKGxh
eWVyLCBjdXJMYXllciwgb3ZlcmxhcE1hcCwgY2hpbGRTdGF0ZSwgbGF5ZXJzQ2hhbmdlZCk7Cisg
ICAgICAgICAgICAgICAgY29tcHV0ZUNvbXBvc2l0aW5nUmVxdWlyZW1lbnRzKGxheWVyLCBjdXJM
YXllciwgb3ZlcmxhcE1hcCwgY2hpbGRTdGF0ZSwgbGF5ZXJzQ2hhbmdlZCwgYW55RGVzY2VuZGFu
dEhhczNEVHJhbnNmb3JtKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgIH0KQEAgLTgz
MCwxMSArODMzLDExIEBAIHZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpjb21wdXRlQ29tcG9z
aXRpbmdSZXF1aXJlbWVudHMoUmVuZGVyTGF5ZXIqIGFuY2VzdG9yCiAgICAgaWYgKG92ZXJsYXBN
YXAgJiYgY2hpbGRTdGF0ZS5tX2NvbXBvc2l0aW5nQW5jZXN0b3IgJiYgIWNoaWxkU3RhdGUubV9j
b21wb3NpdGluZ0FuY2VzdG9yLT5pc1Jvb3RMYXllcigpKQogICAgICAgICBhZGRUb092ZXJsYXBN
YXAoKm92ZXJsYXBNYXAsIGxheWVyLCBhYnNCb3VuZHMsIGhhdmVDb21wdXRlZEJvdW5kcyk7CiAK
LSAgICAvLyBJZiB3ZSBoYXZlIGEgc29mdHdhcmUgdHJhbnNmb3JtLCBhbmQgd2UgaGF2ZSBsYXll
cnMgdW5kZXIgdXMsIHdlIG5lZWQgdG8gYWxzbwotICAgIC8vIGJlIGNvbXBvc2l0ZWQuIEFsc28s
IGlmIHdlIGhhdmUgb3BhY2l0eSA8IDEsIHRoZW4gd2UgbmVlZCB0byBiZSBhIGxheWVyIHNvIHRo
YXQKLSAgICAvLyB0aGUgY2hpbGQgbGF5ZXJzIGFyZSBvcGFxdWUsIHRoZW4gcmVuZGVyZWQgd2l0
aCBvcGFjaXR5IG9uIHRoaXMgbGF5ZXIuCi0gICAgaWYgKCF3aWxsQmVDb21wb3NpdGVkICYmIGNh
bkJlQ29tcG9zaXRlZChsYXllcikgJiYgY2hpbGRTdGF0ZS5tX3N1YnRyZWVJc0NvbXBvc2l0aW5n
ICYmIHJlcXVpcmVzQ29tcG9zaXRpbmdXaGVuRGVzY2VuZGFudHNBcmVDb21wb3NpdGluZyhsYXll
ci0+cmVuZGVyZXIoKSkpIHsKLSAgICAgICAgbGF5ZXItPnNldE11c3RPdmVybGFwQ29tcG9zaXRl
ZExheWVycyh0cnVlKTsKKyAgICAvLyBOb3cgY2hlY2sgZm9yIHJlYXNvbnMgdG8gYmVjb21lIGNv
bXBvc2l0ZWQgdGhhdCBkZXBlbmQgb24gdGhlIHN0YXRlIG9mIGRlc2NlbmRhbnQgbGF5ZXJzLgor
ICAgIFJlbmRlckxheWVyOjpJbmRpcmVjdENvbXBvc2l0aW5nUmVhc29uIGluZGlyZWN0Q29tcG9z
aXRpbmdSZWFzb247CisgICAgaWYgKCF3aWxsQmVDb21wb3NpdGVkICYmIGNhbkJlQ29tcG9zaXRl
ZChsYXllcikKKyAgICAgICAgJiYgcmVxdWlyZXNDb21wb3NpdGluZ0ZvckluZGlyZWN0UmVhc29u
KGxheWVyLT5yZW5kZXJlcigpLCBjaGlsZFN0YXRlLm1fc3VidHJlZUlzQ29tcG9zaXRpbmcsIGFu
eURlc2NlbmRhbnRIYXMzRFRyYW5zZm9ybSwgaW5kaXJlY3RDb21wb3NpdGluZ1JlYXNvbikpIHsK
KyAgICAgICAgbGF5ZXItPnNldEluZGlyZWN0Q29tcG9zaXRpbmdSZWFzb24oaW5kaXJlY3RDb21w
b3NpdGluZ1JlYXNvbik7CiAgICAgICAgIGNoaWxkU3RhdGUubV9jb21wb3NpdGluZ0FuY2VzdG9y
ID0gbGF5ZXI7CiAgICAgICAgIGlmIChvdmVybGFwTWFwKSB7CiAgICAgICAgICAgICBvdmVybGFw
TWFwLT5wdXNoQ29tcG9zaXRpbmdDb250YWluZXIoKTsKQEAgLTg0MiwxMSArODQ1LDExIEBAIHZv
aWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpjb21wdXRlQ29tcG9zaXRpbmdSZXF1aXJlbWVudHMo
UmVuZGVyTGF5ZXIqIGFuY2VzdG9yCiAgICAgICAgIH0KICAgICAgICAgd2lsbEJlQ29tcG9zaXRl
ZCA9IHRydWU7CiAgICAgfQotCisgICAgCiAgICAgQVNTRVJUKHdpbGxCZUNvbXBvc2l0ZWQgPT0g
bmVlZHNUb0JlQ29tcG9zaXRlZChsYXllcikpOwogICAgIGlmIChsYXllci0+cmVmbGVjdGlvbkxh
eWVyKCkpIHsKICAgICAgICAgLy8gRklYTUU6IFNob3VsZG4ndCB3ZSBjYWxsIGNvbXB1dGVDb21w
b3NpdGluZ1JlcXVpcmVtZW50cyB0byBoYW5kbGUgYSByZWZsZWN0aW9uIG92ZXJsYXBwaW5nIHdp
dGggYW5vdGhlciByZW5kZXJlcj8KLSAgICAgICAgbGF5ZXItPnJlZmxlY3Rpb25MYXllcigpLT5z
ZXRNdXN0T3ZlcmxhcENvbXBvc2l0ZWRMYXllcnMod2lsbEJlQ29tcG9zaXRlZCk7CisgICAgICAg
IGxheWVyLT5yZWZsZWN0aW9uTGF5ZXIoKS0+c2V0SW5kaXJlY3RDb21wb3NpdGluZ1JlYXNvbih3
aWxsQmVDb21wb3NpdGVkID8gUmVuZGVyTGF5ZXI6OkluZGlyZWN0Q29tcG9zaXRpbmdGb3JPdmVy
bGFwIDogUmVuZGVyTGF5ZXI6Ok5vSW5kaXJlY3RDb21wb3NpdGluZ1JlYXNvbik7CiAgICAgfQog
CiAgICAgLy8gU3Vic2VxdWVudCBsYXllcnMgaW4gdGhlIHBhcmVudCBzdGFja2luZyBjb250ZXh0
IGFsc28gbmVlZCB0byBjb21wb3NpdGUuCkBAIC04OTksNiArOTAyLDggQEAgdm9pZCBSZW5kZXJM
YXllckNvbXBvc2l0b3I6OmNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyhSZW5kZXJMYXll
ciogYW5jZXN0b3IKICAgICBpZiAobGF5ZXItPnJlZmxlY3Rpb25MYXllcigpICYmIHVwZGF0ZUxh
eWVyQ29tcG9zaXRpbmdTdGF0ZShsYXllci0+cmVmbGVjdGlvbkxheWVyKCksIENvbXBvc2l0aW5n
Q2hhbmdlUmVwYWludE5vdykpCiAgICAgICAgIGxheWVyc0NoYW5nZWQgPSB0cnVlOwogCisgICAg
ZGVzY2VuZGFudEhhczNEVHJhbnNmb3JtIHw9IGFueURlc2NlbmRhbnRIYXMzRFRyYW5zZm9ybSB8
fCBsYXllci0+aGFzM0RUcmFuc2Zvcm0oKTsKKwogICAgIGlmIChvdmVybGFwTWFwKQogICAgICAg
ICBvdmVybGFwTWFwLT5nZW9tZXRyeU1hcCgpLnBvcE1hcHBpbmdzVG9BbmNlc3RvcihhbmNlc3Rv
ckxheWVyID8gYW5jZXN0b3JMYXllci0+cmVuZGVyZXIoKSA6IDApOwogfQpAQCAtMTQxNyw3ICsx
NDIyLDcgQEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6Om5lZWRzVG9CZUNvbXBvc2l0ZWQo
Y29uc3QgUmVuZGVyTGF5ZXIqIGxheWVyKSBjb25zdAogICAgIGlmICghY2FuQmVDb21wb3NpdGVk
KGxheWVyKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgcmV0dXJuIHJlcXVpcmVzQ29t
cG9zaXRpbmdMYXllcihsYXllcikgfHwgbGF5ZXItPm11c3RPdmVybGFwQ29tcG9zaXRlZExheWVy
cygpIHx8IChpbkNvbXBvc2l0aW5nTW9kZSgpICYmIGxheWVyLT5pc1Jvb3RMYXllcigpKTsKKyAg
ICByZXR1cm4gcmVxdWlyZXNDb21wb3NpdGluZ0xheWVyKGxheWVyKSB8fCBsYXllci0+bXVzdENv
bXBvc2l0ZUZvckluZGlyZWN0UmVhc29ucygpIHx8IChpbkNvbXBvc2l0aW5nTW9kZSgpICYmIGxh
eWVyLT5pc1Jvb3RMYXllcigpKTsKIH0KIAogLy8gTm90ZTogdGhpcyBzcGVjaWZpZXMgd2hldGhl
ciB0aGUgUkwgbmVlZHMgYSBjb21wb3NpdGluZyBsYXllciBmb3IgaW50cmluc2ljIHJlYXNvbnMu
CkBAIC0xNDYwLDcgKzE0NjUsNyBAQCBib29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWly
ZXNPd25CYWNraW5nU3RvcmUoY29uc3QgUmVuZGVyTGF5ZXIqIGxheWVyLCBjbwogICAgICAgICAg
ICAgfHwgY29tcG9zaXRpbmdBbmNlc3RvckxheWVyLT5iYWNraW5nKCktPnBhaW50c0ludG9Db21w
b3NpdGVkQW5jZXN0b3IoKSkpCiAgICAgICAgIHJldHVybiB0cnVlOwogCi0gICAgcmV0dXJuIGxh
eWVyLT5pc1Jvb3RMYXllcigpCisgICAgaWYgKGxheWVyLT5pc1Jvb3RMYXllcigpCiAgICAgICAg
IHx8IGxheWVyLT50cmFuc2Zvcm0oKSAvLyBub3RlOiBleGNsdWRlcyBwZXJzcGVjdGl2ZSBhbmQg
dHJhbnNmb3JtU3R5bGUzRC4KICAgICAgICAgfHwgcmVxdWlyZXNDb21wb3NpdGluZ0ZvclZpZGVv
KHJlbmRlcmVyKQogICAgICAgICB8fCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yQ2FudmFzKHJlbmRl
cmVyKQpAQCAtMTQ3Myw4ICsxNDc4LDE4IEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpy
ZXF1aXJlc093bkJhY2tpbmdTdG9yZShjb25zdCBSZW5kZXJMYXllciogbGF5ZXIsIGNvCiAgICAg
ICAgIHx8IHJlbmRlcmVyLT5pc1RyYW5zcGFyZW50KCkKICAgICAgICAgfHwgcmVuZGVyZXItPmhh
c01hc2soKQogICAgICAgICB8fCByZW5kZXJlci0+aGFzUmVmbGVjdGlvbigpCi0gICAgICAgIHx8
IHJlbmRlcmVyLT5oYXNGaWx0ZXIoKQotICAgICAgICB8fCBsYXllci0+bXVzdE92ZXJsYXBDb21w
b3NpdGVkTGF5ZXJzKCk7CisgICAgICAgIHx8IHJlbmRlcmVyLT5oYXNGaWx0ZXIoKSkKKyAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgICAgIAorICAgIAorICAgIGlmIChsYXllci0+bXVzdENvbXBv
c2l0ZUZvckluZGlyZWN0UmVhc29ucygpKSB7CisgICAgICAgIFJlbmRlckxheWVyOjpJbmRpcmVj
dENvbXBvc2l0aW5nUmVhc29uIHJlYXNvbiA9IGxheWVyLT5pbmRpcmVjdENvbXBvc2l0aW5nUmVh
c29uKCk7CisgICAgICAgIHJldHVybiByZWFzb24gPT0gUmVuZGVyTGF5ZXI6OkluZGlyZWN0Q29t
cG9zaXRpbmdGb3JPdmVybGFwCisgICAgICAgICAgICB8fCByZWFzb24gPT0gUmVuZGVyTGF5ZXI6
OkluZGlyZWN0Q29tcG9zaXRpbmdGb3JCYWNrZ3JvdW5kTGF5ZXIKKyAgICAgICAgICAgIHx8IHJl
YXNvbiA9PSBSZW5kZXJMYXllcjo6SW5kaXJlY3RDb21wb3NpdGluZ0ZvckdyYXBoaWNhbEVmZmVj
dAorICAgICAgICAgICAgfHwgcmVhc29uID09IFJlbmRlckxheWVyOjpJbmRpcmVjdENvbXBvc2l0
aW5nRm9yUHJlc2VydmUzRDsgLy8gcHJlc2VydmUtM2QgaGFzIHRvIGNyZWF0ZSBiYWNraW5nIHN0
b3JlIHRvIGVuc3VyZSB0aGF0IDNkLXRyYW5zZm9ybWVkIGVsZW1lbnRzIGludGVyc2VjdC4KKyAg
ICB9CisgICAgcmV0dXJuIGZhbHNlOwogfQogCiAjaWYgIUxPR19ESVNBQkxFRApAQCAtMTQ4Niwx
NCArMTUwMSw4IEBAIGNvbnN0IGNoYXIqIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVhc29uRm9y
Q29tcG9zaXRpbmcoY29uc3QgUmVuZGVyTGF5ZXIqIGxheWVyCiAgICAgICAgIGxheWVyID0gdG9S
ZW5kZXJCb3hNb2RlbE9iamVjdChyZW5kZXJlciktPmxheWVyKCk7CiAgICAgfQogCi0gICAgaWYg
KHJlbmRlcmVyLT5oYXNUcmFuc2Zvcm0oKSAmJiByZW5kZXJlci0+c3R5bGUoKS0+aGFzUGVyc3Bl
Y3RpdmUoKSkKLSAgICAgICAgcmV0dXJuICJwZXJzcGVjdGl2ZSI7Ci0KLSAgICBpZiAocmVuZGVy
ZXItPmhhc1RyYW5zZm9ybSgpICYmIChyZW5kZXJlci0+c3R5bGUoKS0+dHJhbnNmb3JtU3R5bGUz
RCgpID09IFRyYW5zZm9ybVN0eWxlM0RQcmVzZXJ2ZTNEKSkKLSAgICAgICAgcmV0dXJuICJwcmVz
ZXJ2ZS0zZCI7Ci0KLSAgICBpZiAocmVuZGVyZXItPmhhc1RyYW5zZm9ybSgpKQotICAgICAgICBy
ZXR1cm4gInRyYW5zZm9ybSI7CisgICAgaWYgKHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JUcmFuc2Zv
cm0ocmVuZGVyZXIpKQorICAgICAgICByZXR1cm4gIjNEIHRyYW5zZm9ybSI7CiAKICAgICBpZiAo
cmVxdWlyZXNDb21wb3NpdGluZ0ZvclZpZGVvKHJlbmRlcmVyKSkKICAgICAgICAgcmV0dXJuICJ2
aWRlbyI7CkBAIC0xNTIzLDkgKzE1MzIsMzUgQEAgY29uc3QgY2hhciogUmVuZGVyTGF5ZXJDb21w
b3NpdG9yOjpyZWFzb25Gb3JDb21wb3NpdGluZyhjb25zdCBSZW5kZXJMYXllciogbGF5ZXIKICAg
ICAgICAgcmV0dXJuICJwb3NpdGlvbjogZml4ZWQiOwogCiAgICAgLy8gVGhpcyBpbmNsdWRlcyBs
YXllcnMgbWFkZSBjb21wb3NpdGVkIGJ5IHJlcXVpcmVzQ29tcG9zaXRpbmdXaGVuRGVzY2VuZGFu
dHNBcmVDb21wb3NpdGluZygpLgotICAgIGlmIChsYXllci0+bXVzdE92ZXJsYXBDb21wb3NpdGVk
TGF5ZXJzKCkpCisgICAgaWYgKGxheWVyLT5pbmRpcmVjdENvbXBvc2l0aW5nUmVhc29uKCkgPT0g
UmVuZGVyTGF5ZXI6OkluZGlyZWN0Q29tcG9zaXRpbmdGb3JPdmVybGFwKQogICAgICAgICByZXR1
cm4gIm92ZXJsYXAvc3RhY2tpbmciOwogCisgICAgaWYgKGxheWVyLT5pbmRpcmVjdENvbXBvc2l0
aW5nUmVhc29uKCkgPT0gUmVuZGVyTGF5ZXI6OkluZGlyZWN0Q29tcG9zaXRpbmdGb3JCYWNrZ3Jv
dW5kTGF5ZXIpCisgICAgICAgIHJldHVybiAibmVnYXRpdmUgei1pbmRleCBjaGlsZHJlbiI7CisK
KyAgICBpZiAobGF5ZXItPmluZGlyZWN0Q29tcG9zaXRpbmdSZWFzb24oKSA9PSBSZW5kZXJMYXll
cjo6SW5kaXJlY3RDb21wb3NpdGluZ0ZvckdyYXBoaWNhbEVmZmVjdCkgeworICAgICAgICBpZiAo
bGF5ZXItPnRyYW5zZm9ybSgpKQorICAgICAgICAgICAgcmV0dXJuICJ0cmFuc2Zvcm0gd2l0aCBj
b21wb3NpdGVkIGRlc2NlbmRhbnRzIjsKKworICAgICAgICBpZiAocmVuZGVyZXItPmlzVHJhbnNw
YXJlbnQoKSkKKyAgICAgICAgICAgIHJldHVybiAib3BhY2l0eSB3aXRoIGNvbXBvc2l0ZWQgZGVz
Y2VuZGFudHMiOworCisgICAgICAgIGlmIChyZW5kZXJlci0+aGFzTWFzaygpKQorICAgICAgICAg
ICAgcmV0dXJuICJtYXNrIHdpdGggY29tcG9zaXRlZCBkZXNjZW5kYW50cyI7CisKKyAgICAgICAg
aWYgKHJlbmRlcmVyLT5oYXNSZWZsZWN0aW9uKCkpCisgICAgICAgICAgICByZXR1cm4gInJlZmxl
Y3Rpb24gd2l0aCBjb21wb3NpdGVkIGRlc2NlbmRhbnRzIjsKKworICAgICAgICBpZiAocmVuZGVy
ZXItPmhhc0ZpbHRlcigpKQorICAgICAgICAgICAgcmV0dXJuICJmaWx0ZXIgd2l0aCBjb21wb3Np
dGVkIGRlc2NlbmRhbnRzIjsKKyAgICB9CisKKyAgICBpZiAobGF5ZXItPmluZGlyZWN0Q29tcG9z
aXRpbmdSZWFzb24oKSA9PSBSZW5kZXJMYXllcjo6SW5kaXJlY3RDb21wb3NpdGluZ0ZvclBlcnNw
ZWN0aXZlKQorICAgICAgICByZXR1cm4gInBlcnNwZWN0aXZlIjsKKworICAgIGlmIChsYXllci0+
aW5kaXJlY3RDb21wb3NpdGluZ1JlYXNvbigpID09IFJlbmRlckxheWVyOjpJbmRpcmVjdENvbXBv
c2l0aW5nRm9yUHJlc2VydmUzRCkKKyAgICAgICAgcmV0dXJuICJwcmVzZXJ2ZS0zZCI7CisKICAg
ICBpZiAoaW5Db21wb3NpdGluZ01vZGUoKSAmJiBsYXllci0+aXNSb290TGF5ZXIoKSkKICAgICAg
ICAgcmV0dXJuICJyb290IjsKIApAQCAtMTU5Myw3ICsxNjI4LDcgQEAgYm9vbCBSZW5kZXJMYXll
ckNvbXBvc2l0b3I6OnJlcXVpcmVzQ29tcG9zaXRpbmdGb3JUcmFuc2Zvcm0oUmVuZGVyT2JqZWN0
KiByZW5kZXIKICAgICBSZW5kZXJTdHlsZSogc3R5bGUgPSByZW5kZXJlci0+c3R5bGUoKTsKICAg
ICAvLyBOb3RlIHRoYXQgd2UgYXNrIHRoZSByZW5kZXJlciBpZiBpdCBoYXMgYSB0cmFuc2Zvcm0s
IGJlY2F1c2UgdGhlIHN0eWxlIG1heSBoYXZlIHRyYW5zZm9ybXMsCiAgICAgLy8gYnV0IHRoZSBy
ZW5kZXJlciBtYXkgYmUgYW4gaW5saW5lIHRoYXQgZG9lc24ndCBzdXBwcG9ydCB0aGVtLgotICAg
IHJldHVybiByZW5kZXJlci0+aGFzVHJhbnNmb3JtKCkgJiYgKHN0eWxlLT50cmFuc2Zvcm0oKS5o
YXMzRE9wZXJhdGlvbigpIHx8IHN0eWxlLT50cmFuc2Zvcm1TdHlsZTNEKCkgPT0gVHJhbnNmb3Jt
U3R5bGUzRFByZXNlcnZlM0QgfHwgc3R5bGUtPmhhc1BlcnNwZWN0aXZlKCkpOworICAgIHJldHVy
biByZW5kZXJlci0+aGFzVHJhbnNmb3JtKCkgJiYgc3R5bGUtPnRyYW5zZm9ybSgpLmhhczNET3Bl
cmF0aW9uKCk7CiB9CiAKIGJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBv
c2l0aW5nRm9yVmlkZW8oUmVuZGVyT2JqZWN0KiByZW5kZXJlcikgY29uc3QKQEAgLTE3MDEsMTEg
KzE3MzYsMzUgQEAgYm9vbCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnJlcXVpcmVzQ29tcG9zaXRp
bmdGb3JBbmltYXRpb24oUmVuZGVyT2JqZWN0KiByZW5kZXIKICAgICByZXR1cm4gZmFsc2U7CiB9
CiAKLWJvb2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5nV2hlbkRl
c2NlbmRhbnRzQXJlQ29tcG9zaXRpbmcoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikgY29uc3QKK2Jv
b2wgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpyZXF1aXJlc0NvbXBvc2l0aW5nRm9ySW5kaXJlY3RS
ZWFzb24oUmVuZGVyT2JqZWN0KiByZW5kZXJlciwgYm9vbCBoYXNDb21wb3NpdGVkRGVzY2VuZGFu
dHMsIGJvb2wgaGFzM0RUcmFuc2Zvcm1lZERlc2NlbmRhbnRzLCBSZW5kZXJMYXllcjo6SW5kaXJl
Y3RDb21wb3NpdGluZ1JlYXNvbiYgcmVhc29uKSBjb25zdAogewotICAgIHJldHVybiByZW5kZXJl
ci0+aGFzVHJhbnNmb3JtKCkgfHwgcmVuZGVyZXItPmlzVHJhbnNwYXJlbnQoKSB8fCByZW5kZXJl
ci0+aGFzTWFzaygpIHx8IHJlbmRlcmVyLT5oYXNSZWZsZWN0aW9uKCkgfHwgcmVuZGVyZXItPmhh
c0ZpbHRlcigpOwotfQorICAgIFJlbmRlckxheWVyKiBsYXllciA9IHRvUmVuZGVyQm94TW9kZWxP
YmplY3QocmVuZGVyZXIpLT5sYXllcigpOworCisgICAgLy8gV2hlbiBhIGxheWVyIGhhcyBjb21w
b3NpdGVkIGRlc2NlbmRhbnRzLCBzb21lIGVmZmVjdHMsIGxpa2UgMmQgdHJhbnNmb3JtcywgZmls
dGVycywgbWFza3MgZXRjIG11c3QgYmUgaW1wbGVtZW50ZWQKKyAgICAvLyB2aWEgY29tcG9zaXRp
bmcgc28gdGhhdCB0aGV5IGFsc28gYXBwbHkgdG8gdGhvc2UgY29tcG9zaXRlZCBkZXNjZGVuZGFu
dHMuCisgICAgaWYgKGhhc0NvbXBvc2l0ZWREZXNjZW5kYW50cyAmJiAobGF5ZXItPnRyYW5zZm9y
bSgpIHx8IHJlbmRlcmVyLT5pc1RyYW5zcGFyZW50KCkgfHwgcmVuZGVyZXItPmhhc01hc2soKSB8
fCByZW5kZXJlci0+aGFzUmVmbGVjdGlvbigpIHx8IHJlbmRlcmVyLT5oYXNGaWx0ZXIoKSkpIHsK
KyAgICAgICAgcmVhc29uID0gUmVuZGVyTGF5ZXI6OkluZGlyZWN0Q29tcG9zaXRpbmdGb3JHcmFw
aGljYWxFZmZlY3Q7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKworICAgIC8vIEEgbGF5
ZXIgd2l0aCBwcmVzZXJ2ZS0zZCBvciBwZXJzcGVjdGl2ZSBvbmx5IG5lZWRzIHRvIGJlIGNvbXBv
c2l0ZWQgaWYgdGhlcmUgYXJlIGRlc2NlbmRhbnQgbGF5ZXJzIHRoYXQKKyAgICAvLyB3aWxsIGJl
IGFmZmVjdGVkIGJ5IHRoZSBwcmVzZXJ2ZS0zZCBvciBwZXJzcGVjdGl2ZS4KKyAgICBpZiAoaGFz
M0RUcmFuc2Zvcm1lZERlc2NlbmRhbnRzKSB7CisgICAgICAgIGlmIChyZW5kZXJlci0+c3R5bGUo
KS0+dHJhbnNmb3JtU3R5bGUzRCgpID09IFRyYW5zZm9ybVN0eWxlM0RQcmVzZXJ2ZTNEKSB7Cisg
ICAgICAgICAgICByZWFzb24gPSBSZW5kZXJMYXllcjo6SW5kaXJlY3RDb21wb3NpdGluZ0ZvclBy
ZXNlcnZlM0Q7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQogICAgIAorICAg
ICAgICBpZiAocmVuZGVyZXItPnN0eWxlKCktPmhhc1BlcnNwZWN0aXZlKCkpIHsKKyAgICAgICAg
ICAgIHJlYXNvbiA9IFJlbmRlckxheWVyOjpJbmRpcmVjdENvbXBvc2l0aW5nRm9yUGVyc3BlY3Rp
dmU7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgIH0KKworICAgIHJl
YXNvbiA9IFJlbmRlckxheWVyOjpOb0luZGlyZWN0Q29tcG9zaXRpbmdSZWFzb247CisgICAgcmV0
dXJuIGZhbHNlOworfQorCiBib29sIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cmVxdWlyZXNDb21w
b3NpdGluZ0ZvckZpbHRlcnMoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikgY29uc3QKIHsKICNpZiBF
TkFCTEUoQ1NTX0ZJTFRFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJDb21wb3NpdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJDb21wb3NpdG9yLmgKaW5kZXggN2FhNzI1ZTAzYjc3ZGE2ZjFhZjAxYjEzZjk4MTcyMmE2
MDdhNDYzZi4uNzkyZmIwMTY5NGNhZTNiNWMzY2Y3ZDZjM2Q4YzkzODBmOGE0NDBhZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuaApAQCAt
MjQ2LDcgKzI0Niw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCB1cGRhdGVDb21wb3NpdGluZ0xheWVy
c1RpbWVyRmlyZWQoVGltZXI8UmVuZGVyTGF5ZXJDb21wb3NpdG9yPiopOwogCiAgICAgLy8gUmV0
dXJucyB0cnVlIGlmIGFueSBsYXllcidzIGNvbXBvc2l0aW5nIGNoYW5nZWQKLSAgICB2b2lkIGNv
bXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50cyhSZW5kZXJMYXllciogYW5jZXN0b3JMYXllciwg
UmVuZGVyTGF5ZXIqLCBPdmVybGFwTWFwKiwgc3RydWN0IENvbXBvc2l0aW5nU3RhdGUmLCBib29s
JiBsYXllcnNDaGFuZ2VkKTsKKyAgICB2b2lkIGNvbXB1dGVDb21wb3NpdGluZ1JlcXVpcmVtZW50
cyhSZW5kZXJMYXllciogYW5jZXN0b3JMYXllciwgUmVuZGVyTGF5ZXIqLCBPdmVybGFwTWFwKiwg
c3RydWN0IENvbXBvc2l0aW5nU3RhdGUmLCBib29sJiBsYXllcnNDaGFuZ2VkLCBib29sJiBkZXNj
ZW5kYW50SGFzM0RUcmFuc2Zvcm0pOwogICAgIAogICAgIC8vIFJlY3Vyc2VzIGRvd24gdGhlIHRy
ZWUsIHBhcmVudGluZyBkZXNjZW5kYW50IGNvbXBvc2l0aW5nIGxheWVycyBhbmQgY29sbGVjdGlu
ZyBhbiBhcnJheSBvZiBjaGlsZCBsYXllcnMgZm9yIHRoZSBjdXJyZW50IGNvbXBvc2l0aW5nIGxh
eWVyLgogICAgIHZvaWQgcmVidWlsZENvbXBvc2l0aW5nTGF5ZXJUcmVlKFJlbmRlckxheWVyKiwg
VmVjdG9yPEdyYXBoaWNzTGF5ZXIqPiYgY2hpbGRHcmFwaGljc0xheWVyc09mRW5jbG9zaW5nTGF5
ZXIsIGludCBkZXB0aCk7CkBAIC0yODYsMTAgKzI4NiwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wg
cmVxdWlyZXNDb21wb3NpdGluZ0ZvckNhbnZhcyhSZW5kZXJPYmplY3QqKSBjb25zdDsKICAgICBi
b29sIHJlcXVpcmVzQ29tcG9zaXRpbmdGb3JQbHVnaW4oUmVuZGVyT2JqZWN0KikgY29uc3Q7CiAg
ICAgYm9vbCByZXF1aXJlc0NvbXBvc2l0aW5nRm9yRnJhbWUoUmVuZGVyT2JqZWN0KikgY29uc3Q7
Ci0gICAgYm9vbCByZXF1aXJlc0NvbXBvc2l0aW5nV2hlbkRlc2NlbmRhbnRzQXJlQ29tcG9zaXRp
bmcoUmVuZGVyT2JqZWN0KikgY29uc3Q7CiAgICAgYm9vbCByZXF1aXJlc0NvbXBvc2l0aW5nRm9y
RmlsdGVycyhSZW5kZXJPYmplY3QqKSBjb25zdDsKICAgICBib29sIHJlcXVpcmVzQ29tcG9zaXRp
bmdGb3JTY3JvbGxhYmxlRnJhbWUoKSBjb25zdDsKICAgICBib29sIHJlcXVpcmVzQ29tcG9zaXRp
bmdGb3JQb3NpdGlvbihSZW5kZXJPYmplY3QqLCBjb25zdCBSZW5kZXJMYXllciopIGNvbnN0Owor
ICAgIGJvb2wgcmVxdWlyZXNDb21wb3NpdGluZ0ZvckluZGlyZWN0UmVhc29uKFJlbmRlck9iamVj
dCosIGJvb2wgaGFzQ29tcG9zaXRlZERlc2NlbmRhbnRzLCBib29sIGhhczNEVHJhbnNmb3JtZWRE
ZXNjZW5kYW50cywgUmVuZGVyTGF5ZXI6OkluZGlyZWN0Q29tcG9zaXRpbmdSZWFzb24mKSBjb25z
dDsKIAogICAgIGJvb2wgcmVxdWlyZXNTY3JvbGxMYXllcihSb290TGF5ZXJBdHRhY2htZW50KSBj
b25zdDsKICAgICBib29sIHJlcXVpcmVzSG9yaXpvbnRhbFNjcm9sbGJhckxheWVyKCkgY29uc3Q7
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKaW5kZXggNTdkNGJhMTgwZWVlN2M4MWYyMTVkNjdkOTg1MmMyYWQ3YmFkNWUxYi4uODhiNWY0
ZmQzYjY2ZTY3NTM2MGEyYzE2N2NjMmU1YzdhNzE0MjRkOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBA
CisyMDEyLTA2LTA1ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgorCisg
ICAgICAgIEF2b2lkIGNyZWF0aW5nIGNvbXBvc2l0aW5nIGxheWVycyBmb3IgcHJlc2VydmUtM2Qg
d2l0aG91dCB0cmFuc2Zvcm1lZCBkZXNjZW5kYW50cworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODgxMTUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgICogY29tcG9zaXRpbmcvYmFja2luZy9uby1i
YWNraW5nLWZvci1wZXJzcGVjdGl2ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogY29tcG9zaXRp
bmcvYmFja2luZy9uby1iYWNraW5nLWZvci1wZXJzcGVjdGl2ZS5odG1sOiBDaGFuZ2UgdGhlIHRy
YW5zZm9ybSB0byBiZSBub24tYWZmaW5lIHNvIHRoYXQKKyAgICAgICAgd2Uga2VlcCBtYWtpbmcg
bGF5ZXJzIGZvciBwZXJzcGVjdGl2ZS4KKyAgICAgICAgKiBjb21wb3NpdGluZy9sYXllci1jcmVh
dGlvbi9uby1jb21wb3NpdGluZy1mb3ItcHJlc2VydmUtM2QtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBjb21wb3NpdGluZy9sYXllci1jcmVhdGlvbi9uby1jb21wb3NpdGluZy1mb3It
cHJlc2VydmUtM2QuaHRtbDogQ29waWVkIGZyb20gTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYmFj
a2luZy9uby1iYWNraW5nLWZvci1wZXJzcGVjdGl2ZS5odG1sLgorCiAyMDEyLTA2LTA1ICBBbGV4
ZWkgRmlsaXBwb3YgIDxhbGV4ZWlmQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVj
dG9yOiBzZXJpYWxpemUgZWRnZSBjb3VudHMgaW5zdGVhZCBvZiBpbmRleGVzIGluIGhlYXAgc25h
cHNob3QKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2JhY2tpbmcvbm8tYmFj
a2luZy1mb3ItcGVyc3BlY3RpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRp
bmcvYmFja2luZy9uby1iYWNraW5nLWZvci1wZXJzcGVjdGl2ZS1leHBlY3RlZC50eHQKaW5kZXgg
MjRlNzMwNjBmNjc4NjdhZjUwNjYxNGI4YzRhOGNlYjYzYzU3OWQ0YS4uZGI0MzRkYzhjMmVlYmQw
MDZmMGMzZjhiZjcyNDgzYjUxM2I0N2E1YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvYmFja2luZy9uby1iYWNraW5nLWZvci1wZXJzcGVjdGl2ZS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvYmFja2luZy9uby1iYWNraW5nLWZvci1wZXJzcGVj
dGl2ZS1leHBlY3RlZC50eHQKQEAgLTIwLDYgKzIwLDcgQEAgVGhpcyBsYXllciBzaG91bGQgbm90
IGhhdmUgYmFja2luZyBzdG9yZS4KICAgICAgICAgICAgICAgICAgIChwb3NpdGlvbiAzMS4wMCA0
OS4wMCkKICAgICAgICAgICAgICAgICAgIChib3VuZHMgMTAwLjAwIDEwMC4wMCkKICAgICAgICAg
ICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAgICAgICh0cmFuc2Zvcm0g
WzEuMDAgMC4wMCAwLjAwIDAuMDBdIFswLjAwIDEuMDAgMC4wMCAwLjAwXSBbMC4wMCAwLjAwIDEu
MDAgMC4wMF0gWzAuMDAgMC4wMCAxLjAwIDEuMDBdKQogICAgICAgICAgICAgICAgICkKICAgICAg
ICAgICAgICAgKQogICAgICAgICAgICAgKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvYmFja2luZy9uby1iYWNraW5nLWZvci1wZXJzcGVjdGl2ZS5odG1sIGIvTGF5b3V0VGVz
dHMvY29tcG9zaXRpbmcvYmFja2luZy9uby1iYWNraW5nLWZvci1wZXJzcGVjdGl2ZS5odG1sCmlu
ZGV4IDMxZTM2ODk0OTdhNjQxZDk3MzgxYjA2MWFjNjA1ZWU1MmI0ZjM1YzAuLmVmMTBkYTYyNzQz
YjMzNjE1N2I1Y2M4MmM1MjNmNmJmYTMxNWMxNjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL2JhY2tpbmcvbm8tYmFja2luZy1mb3ItcGVyc3BlY3RpdmUuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9jb21wb3NpdGluZy9iYWNraW5nL25vLWJhY2tpbmctZm9yLXBlcnNwZWN0aXZl
Lmh0bWwKQEAgLTIxLDcgKzIxLDcgQEAKICAgICB9CiAgICAgCiAgICAgLmNvbXBvc2l0ZWQgewot
ICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7CisgICAgICAtd2Via2l0LXRy
YW5zZm9ybTogdHJhbnNsYXRlWigxcHgpOwogICAgIH0KICAgPC9zdHlsZT4KIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24vbm8tY29tcG9zaXRpbmct
Zm9yLXByZXNlcnZlLTNkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xh
eWVyLWNyZWF0aW9uL25vLWNvbXBvc2l0aW5nLWZvci1wcmVzZXJ2ZS0zZC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZDJmMjg2NzIzY2VjZGE3Y2FmZmI4ZGRhNTE1NGU3ZDIyY2UzMmYwYwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL25v
LWNvbXBvc2l0aW5nLWZvci1wcmVzZXJ2ZS0zZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOCBA
QAorVGhpcyBsYXllciBzaG91bGQgbm90IGJlIGNvbXBvc2l0ZWQuCitUaGlzIGxheWVyIHNob3Vs
ZCBub3QgYmUgY29tcG9zaXRlZC4KK1RoaXMgbGF5ZXIgc2hvdWxkIGJlIGNvbXBvc2l0ZWQuCiso
R3JhcGhpY3NMYXllcgorICAoYm91bmRzIDc4NS4wMCA2MTEuMDApCisgIChjaGlsZHJlbiAxCisg
ICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgIChib3VuZHMgNzg1LjAwIDYxMS4wMCkKKyAgICAgIChj
aGlsZHJlbiAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgKHBvc2l0aW9uIDE4
LjAwIDM5MC4wMCkKKyAgICAgICAgICAoYm91bmRzIDM0Mi4wMCAxODAuMDApCisgICAgICAgICAg
KHByZXNlcnZlczNEIDEpCisgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgIChj
aGlsZHJlbiAxCisgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAocG9z
aXRpb24gMzEuMDAgNDkuMDApCisgICAgICAgICAgICAgIChib3VuZHMgMTAwLjAwIDEwMC4wMCkK
KyAgICAgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgICAgICAodHJhbnNmb3Jt
IFswLjk4IDAuMDAgLTAuMTcgMC4wMF0gWzAuMDAgMS4wMCAwLjAwIDAuMDBdIFswLjE3IDAuMDAg
MC45OCAwLjAwXSBbMC4wMCAwLjAwIDAuMDAgMS4wMF0pCisgICAgICAgICAgICApCisgICAgICAg
ICAgKQorICAgICAgICApCisgICAgICApCisgICAgKQorICApCispCisKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL25vLWNvbXBvc2l0aW5nLWZvci1w
cmVzZXJ2ZS0zZC5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvbGF5ZXItY3JlYXRpb24v
bm8tY29tcG9zaXRpbmctZm9yLXByZXNlcnZlLTNkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjRjZjQ5NjFj
NzU3ODE0ZmZmYjczMTRlOGEzYTJhZmY0ZmYyOGY2MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL2xheWVyLWNyZWF0aW9uL25vLWNvbXBvc2l0aW5nLWZvci1wcmVz
ZXJ2ZS0zZC5odG1sCkBAIC0wLDAgKzEsNjEgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4K
KzxoZWFkPgorICA8c3R5bGU+CisgICAgLmJveCB7CisgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7
CisgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgbWFyZ2lu
OiAxMHB4OworICAgICAgbGVmdDogMDsKKyAgICAgIHRvcDogMDsKKyAgICAgIGJhY2tncm91bmQt
Y29sb3I6IHNpbHZlcjsKKyAgICB9CisgICAgCisgICAgLnByZXNlcnZlM2QgeworICAgICAgd2lk
dGg6IDMwMHB4OworICAgICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAgICBwYWRkaW5n
OiAyMHB4OworICAgICAgbWFyZ2luOiAxMHB4OworICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tc3R5
bGU6IHByZXNlcnZlLTNkOworICAgIH0KKyAgPC9zdHlsZT4KKworICA8c2NyaXB0PgorICBpZiAo
d2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1
bXBBc1RleHQoKTsKKyAgICAKKyAgZnVuY3Rpb24gZHVtcExheWVycygpCisgIHsKKyAgICB2YXIg
bGF5ZXJzUmVzdWx0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xheWVycycpOworICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICBsYXllcnNSZXN1bHQuaW5uZXJU
ZXh0ID0gbGF5b3V0VGVzdENvbnRyb2xsZXIubGF5ZXJUcmVlQXNUZXh0KCk7CisgICAgCisgIH0K
KyAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBkdW1wTGF5ZXJzLCBmYWxzZSkKKyAg
PC9zY3JpcHQ+CisKKzwvaGVhZD4KKzxib2R5PgorCisgIDxkaXYgY2xhc3M9InByZXNlcnZlM2Qi
PgorICAgIFRoaXMgbGF5ZXIgc2hvdWxkIG5vdCBiZSBjb21wb3NpdGVkLgorICAgIDxkaXYgY2xh
c3M9ImJveCI+PC9kaXY+CisgICAgPC9kaXY+CisgIDwvZGl2PgorCisgIDxkaXYgY2xhc3M9InBy
ZXNlcnZlM2QiPgorICAgIFRoaXMgbGF5ZXIgc2hvdWxkIG5vdCBiZSBjb21wb3NpdGVkLgorICAg
IDxkaXYgY2xhc3M9ImJveCIgc3R5bGU9Ii13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTBkZWcp
Ij48L2Rpdj4KKyAgICA8L2Rpdj4KKyAgPC9kaXY+CisKKyAgPGRpdiBjbGFzcz0icHJlc2VydmUz
ZCI+CisgICAgVGhpcyBsYXllciBzaG91bGQgYmUgY29tcG9zaXRlZC4KKyAgICA8ZGl2IGNsYXNz
PSJib3giIHN0eWxlPSItd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgxMGRlZykiPjwvZGl2Pgor
ICA8L2Rpdj4KKzxwcmUgaWQ9ImxheWVycyI+TGF5ZXIgdHJlZSBnb2VzIGhlcmUgaW4gRFJUPC9w
cmU+CisKKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="153085"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>