<?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>64643</bug_id>
          
          <creation_ts>2011-07-15 17:40:38 -0700</creation_ts>
          <short_desc>Have GraphicsLayer pull their contentsScale, rather than pushing it onto them</short_desc>
          <delta_ts>2011-07-15 18:33:36 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>438079</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-07-15 17:40:38 -0700</bug_when>
    <thetext>Have GraphicsLayer pull their contentsScale, rather than pushing it onto them</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438081</commentid>
    <comment_count>1</comment_count>
      <attachid>101078</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-07-15 17:54:46 -0700</bug_when>
    <thetext>Created attachment 101078
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438088</commentid>
    <comment_count>2</comment_count>
      <attachid>101078</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-07-15 18:05:10 -0700</bug_when>
    <thetext>Comment on attachment 101078
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=101078&amp;action=review

&gt; Source/WebCore/platform/graphics/GraphicsLayer.h:354
&gt; +    void notePageScaleFactorChangedIncludingDescendants();

Not sure I like the use of “note” here as a verb. No better name to suggest, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438089</commentid>
    <comment_count>3</comment_count>
      <attachid>101078</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-15 18:09:05 -0700</bug_when>
    <thetext>Comment on attachment 101078
Patch

Attachment 101078 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9094579</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438099</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-07-15 18:30:41 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/91137</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>438101</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-07-15 18:33:36 -0700</bug_when>
    <thetext>Windows fix in http://trac.webkit.org/changeset/91138</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>101078</attachid>
            <date>2011-07-15 17:54:46 -0700</date>
            <delta_ts>2011-07-15 18:09:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64643-20110715175445.patch</filename>
            <type>text/plain</type>
            <size>31639</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTA5NTkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiZTQ5YTllOWQxMDI2YzRm
MjE0NzYyM2Y3Y2NkZGFmMjg1OTZjNTcwLi41ODIyZDliMmUxYWVjNzU5YjAyMjdkNWYwNjdjN2Yw
OWMwNTQyNDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODQgQEAKKzIwMTEtMDctMTUgIFNpbW9u
IEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgSGF2ZSBHcmFwaGlj
c0xheWVyIHB1bGwgdGhlaXIgY29udGVudHNTY2FsZSwgcmF0aGVyIHRoYW4gcHVzaGluZyBpdCBv
bnRvIHRoZW0KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTY0NjQzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UmVuZGVyTGF5ZXJCYWNraW5nIHdvdWxkIHNldCB0aGUgY29udGVudHNTY2FsZSBvbiBHcmFwaGlj
c0xheWVycworICAgICAgICBvbiBjcmVhdGlvbiwgYW5kIHVwZGF0ZSBpdCB3aGVuIHRoZSBwYWdl
U2NhbGVGYWN0b3IgY2hhbmdlZC4gSG93ZXZlciwKKyAgICAgICAgUmVuZGVyTGF5ZXJCYWNraW5n
IGRvZXNuJ3QgcmVhbGx5IGtub3cgd2hhdCBjb250ZW50c1NjYWxlIGlzIGJlc3QKKyAgICAgICAg
Zm9yIGEgbGF5ZXIsIHNvIGluc3RlYWQsIGhhdmUgR3JhcGhpY3NMYXllcnMgY2FsbCBiYWNrIHRo
cm91Z2ggdGhlCisgICAgICAgIEdyYXBoaWNzTGF5ZXJDbGllbnQgdG8gZ2V0IHRoZSB0d28gcmVs
ZXZhbnQgc2NhbGUgZmFjdG9ycywgYW5kIGRvCisgICAgICAgIHRoZWlyIG93biBjb21wdXRhdGlv
biBvZiBjb250ZW50c1NjYWxlLgorCisgICAgICAgIE5vIHRlc3RhYmxlIGJlaGF2aW9yIGNoYW5n
ZXMuCisKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1l
OjpwYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKTogTm8gbmVlZCB0byBwYXNzIHRoZSBzY2FsZS4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6bm90ZVBhZ2VTY2FsZUZhY3RvckNoYW5nZWRJbmNsdWRp
bmdEZXNjZW5kYW50cyk6CisgICAgICAgIFJlY3Vyc2UgdGhyb3VnaCB0aGUgR3JhcGhpY3NMYXll
ciB0cmVlLCBjYWxsaW5nIHBhZ2VTY2FsZUZhY3RvckNoYW5nZWQoKSBvbiAKKyAgICAgICAgZWFj
aCBsYXllci4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuaDoK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OnBhZ2VTY2FsZUZhY3RvckNoYW5nZWQp
OgorICAgICAgICBSZW1vdmUgY29udGVudHNTY2FsZS9zZXRDb250ZW50c1NjYWxlCisgICAgICAg
IAorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJDbGllbnQuaDoKKyAg
ICAgICAgQWRkIG1ldGhvZHMgdG8gZmV0Y2ggdGhlIGJhY2tpbmdTY2FsZUZhY3RvcigpIGFuZCBw
YWdlU2NhbGVGYWN0b3IoKS4KKyAgICAgICAgCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2EvR3JhcGhpY3NMYXllckNBLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJD
QTo6R3JhcGhpY3NMYXllckNBKTogbV91bmNvbW1pdHRlZENoYW5nZXMKKyAgICAgICAgZGVmYXVs
dHMgdG8gQ29udGVudHNTY2FsZUNoYW5nZWQgc28gd2UgdXBkYXRlIGNvbnRlbnRzU2NhbGUgb24K
KyAgICAgICAgdGhlIGZpcnN0IGZsdXNoLgorICAgICAgICAKKyAgICAgICAgKFdlYkNvcmU6Okdy
YXBoaWNzTGF5ZXJDQTo6c2V0Q29udGVudHNUb0JhY2tncm91bmRDb2xvcik6CisgICAgICAgIFRo
aXMgd2FzIHRoZSB3cm9uZyB0aW1lIHRvIGNhbGwgdXBkYXRlQ29udGVudHNSZWN0KCkgYW5kIHNl
dHVwQ29udGVudHNMYXllcigpOworICAgICAgICB0aG9zZSBzaG91bGQgYmUgZG9uZSBhdCBjb21t
aXQgdGltZSwgc28gbW92ZWQgdG8gdXBkYXRlTGF5ZXJCYWNrZ3JvdW5kQ29sb3IoKS4KKyAgICAg
ICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDQTo6cmVjdXJzaXZlQ29tbWl0Q2hhbmdlcyk6IE5v
dGUgd2hldGhlciB3ZQorICAgICAgICBoYXZlIGFueSBjaGFuZ2VzLCBhbmQgY2FsbCBkaWRDb21t
aXRDaGFuZ2VzRm9yTGF5ZXIoKSBvbiB0aGUgY2xpZW50LgorICAgICAgICAoV2ViQ29yZTo6R3Jh
cGhpY3NMYXllckNBOjp1cGRhdGVMYXllckJhY2tncm91bmRDb2xvcik6IENvZGUgbW92ZWQgdG8g
aGVyZS4KKyAgICAgICAgKFdlYkNvcmU6OmNsYW1wZWRDb250ZW50c1NjYWxlRm9yU2NhbGUpOiBO
byBsb25nZXIgaGFzIGFueSBoeXN0ZXJlc2lzCisgICAgICAgIG9uIHRoZSBzY2FsZSwgYW5kIG5v
dyBqdXN0IGNsYW1wcy4KKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDQTo6dXBkYXRl
Q29udGVudHNTY2FsZSk6IEZldGNoIHRoZSBzY2FsZXMKKyAgICAgICAgZnJvbSB0aGUgY2xpZW50
LCBhbmQgbXVsdGlwbHkgdGhlbSwgdGhlbiBjbGFtcC4KKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzTGF5ZXJDQTo6cmVxdWlyZXNUaWxlZExheWVyKTogVGhpcyBub3cgdGFrZXMKKyAgICAgICAg
Y29udGVudHNTY2FsZSBpbnRvIGFjY291bnQgd2hlbiBkZWNpZGluZyB0byB1c2UgdGlsZWQgbGF5
ZXIsCisgICAgICAgIHNvIHRoYXQgem9vbWluZyBpbiB3aWxsIGNhdXNlIGxheWVycyB0byBzdGFy
dCB0aWxpbmcuCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xheWVyQ0E6OnN3YXBGcm9tT3JU
b1RpbGVkTGF5ZXIpOiBEb24ndCBjYWxsCisgICAgICAgIHNldENvbnRlbnRzU2NhbGUoKSwgYnV0
IHJhdGhlciB1cGRhdGVDb250ZW50c1NjYWxlKCkuCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGlj
c0xheWVyQ0E6OnBhZ2VTY2FsZUZhY3RvckNoYW5nZWQpOiBTZXQgdGhlIGJpdHMKKyAgICAgICAg
Zm9yIHByb3BlcnRpZXMgdGhhdCBkZXBlbmQgb24gdGhlIHNjYWxlLgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NMYXllckNBOjpub3RlQ2hhbmdlc0ZvclNjYWxlU2Vuc2l0aXZlUHJvcGVydGll
cyk6CisgICAgICAgIE5vdGUgdGhhdCBjb250ZW50c1NjYWxlIG5lZWRzIHRvIGJlIHVwZGF0ZWQu
IEF0IHNvbWUgcG9pbnQgd2UgbWlnaHQgYWxzbworICAgICAgICBuZWVkIHRvIGRpcnR5IG90aGVy
IHByb3BlcnRpZXMuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXll
ckNBLmg6IE1vdmVkIHRoZSBtX2FsbG93VGlsZWRMYXllcgorICAgICAgICBib29sIGZvciBiZXR0
ZXIgcGFja2luZy4gTm8gbmVlZCBmb3IgYSBtX2NvbnRlbnRzU2NhbGUgbWVtYmVyIG5vdy4KKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOiBSZW1vdmVkIHBhZ2VTY2FsZUZhY3Rv
ckNoYW5nZWQoKS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDogRGl0dG8uCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OmNyZWF0ZVByaW1hcnlHcmFwaGljc0xheWVyKTogTm8g
bmVlZAorICAgICAgICB0byBwdXNoIHRoZSBjb250ZW50cyBzY2FsZS4KKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlRm9yZWdyb3VuZExheWVyKTogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZU1hc2tMYXllcik6IERp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjpwYWdlU2NhbGVGYWN0
b3IpOiBHcmFwaGljc0xheWVyQ2xpZW50IG1ldGhvZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyQmFja2luZzo6YmFja2luZ1NjYWxlRmFjdG9yKTogR3JhcGhpY3NMYXllckNsaWVudCBt
ZXRob2QuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OmRpZENvbW1pdENo
YW5nZXNGb3JMYXllcik6IFNlbmQgdGhyb3VnaAorICAgICAgICB0byB0aGUgY29tcG9zaXRvci4K
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmg6IEdyYXBoaWNzTGF5ZXJD
bGllbnQgbWV0aG9kcy4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZGlkRmx1c2hD
aGFuZ2VzRm9yTGF5ZXIpOiBXZSdsbCB1c2UKKyAgICAgICAgdGhpcyBsYXRlci4KKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6YmFja2luZ1NjYWxlRmFjdG9yKTogR3Jh
cGhpY3NMYXllckNsaWVudCBtZXRob2QuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNv
bXBvc2l0b3I6OnBhZ2VTY2FsZUZhY3Rvcik6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXJDb21wb3NpdG9yOjpkaWRDb21taXRDaGFuZ2VzRm9yTGF5ZXIpOiBEaXR0by4KKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZW5zdXJlUm9vdExheWVyKTog
Tm8gbmVlZCB0byBwdXNoIHRoZSBjb250ZW50cyBzY2FsZS4KKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyQ29tcG9zaXRvcjo6cGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCk6IEp1c3QgY2FsbCBu
b3RlUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZEluY2x1ZGluZ0Rlc2NlbmRhbnRzKCkKKyAgICAgICAg
b24gdGhlIHJvb3QgR3JhcGhpY3NMYXllci4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5
ZXJDb21wb3NpdG9yLmg6IEFkZGVkIEdyYXBoaWNzTGF5ZXJDbGllbnQgbWV0aG9kcy4KKwogMjAx
MS0wNy0xMyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAg
ICBGaXggbm9uLWRlYnVnIGJ1aWxkcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RnJhbWUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKaW5kZXggNDliZGNmYzg4
MWVkZWM2MGFkYzQ3YjFiNGM5ZTEwYWNkNWZiN2E3NS4uMWIyZTFhNmZjOGQ0ZDg1N2RjNDU2ZTU2
OWJlNjJlMjllZDFiMWZlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKQEAgLTExMTEsNyArMTExMSw3
IEBAIHZvaWQgRnJhbWU6OnBhZ2VTY2FsZUZhY3RvckNoYW5nZWQoZmxvYXQgc2NhbGUpCiAKICAg
ICBSZW5kZXJWaWV3KiByb290ID0gY29udGVudFJlbmRlcmVyKCk7CiAgICAgaWYgKHJvb3QgJiYg
cm9vdC0+Y29tcG9zaXRvcigpKQotICAgICAgICByb290LT5jb21wb3NpdG9yKCktPnBhZ2VTY2Fs
ZUZhY3RvckNoYW5nZWQoc2NhbGUpOworICAgICAgICByb290LT5jb21wb3NpdG9yKCktPnBhZ2VT
Y2FsZUZhY3RvckNoYW5nZWQoKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIuY3BwCmluZGV4IGNkMzU3MTViNmI4NmQw
ODIwM2FhY2ZjOWNiYmQyOTQxN2ZhMzU1NmUuLjhkZmI4Yzc0ZDUzOWIyYzI4ZjVhMDVmYmMzZjMz
ODgwMmJkMzhhN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzTGF5ZXIuY3BwCkBAIC0yMjIsNiArMjIyLDIyIEBAIHZvaWQgR3JhcGhpY3NMYXll
cjo6cmVtb3ZlRnJvbVBhcmVudCgpCiAgICAgfQogfQogCit2b2lkIEdyYXBoaWNzTGF5ZXI6Om5v
dGVQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkSW5jbHVkaW5nRGVzY2VuZGFudHMoKQoreworICAgIHBh
Z2VTY2FsZUZhY3RvckNoYW5nZWQoKTsKKworICAgIGlmIChtX21hc2tMYXllcikKKyAgICAgICAg
bV9tYXNrTGF5ZXItPnBhZ2VTY2FsZUZhY3RvckNoYW5nZWQoKTsKKworICAgIGlmIChtX3JlcGxp
Y2FMYXllcikKKyAgICAgICAgbV9yZXBsaWNhTGF5ZXItPm5vdGVQYWdlU2NhbGVGYWN0b3JDaGFu
Z2VkSW5jbHVkaW5nRGVzY2VuZGFudHMoKTsKKworICAgIGNvbnN0IFZlY3RvcjxHcmFwaGljc0xh
eWVyKj4mIGNoaWxkTGF5ZXJzID0gY2hpbGRyZW4oKTsKKyAgICBzaXplX3QgbnVtQ2hpbGRyZW4g
PSBjaGlsZExheWVycy5zaXplKCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBudW1DaGls
ZHJlbjsgKytpKQorICAgICAgICBjaGlsZExheWVyc1tpXS0+bm90ZVBhZ2VTY2FsZUZhY3RvckNo
YW5nZWRJbmNsdWRpbmdEZXNjZW5kYW50cygpOworfQorCiB2b2lkIEdyYXBoaWNzTGF5ZXI6OnNl
dFJlcGxpY2F0ZWRCeUxheWVyKEdyYXBoaWNzTGF5ZXIqIGxheWVyKQogewogICAgIGlmIChsYXll
cikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
TGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXIu
aAppbmRleCBkODhlNjQwYzdlNjMyZWVlOWQ5NjJlNzYwOTY1MmFmNjVkMjllMmNlLi5mNmEzNzg1
MjNiMDc4MmFhM2E5ZTdmN2M5ZjdhNGY0Nzc5NjI2NjlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5oCkBAIC0zMjUsMTEgKzMyNSw2IEBA
IHB1YmxpYzoKICAgICAvLyBGb3IgaG9zdGluZyB0aGlzIEdyYXBoaWNzTGF5ZXIgaW4gYSBuYXRp
dmUgbGF5ZXIgaGllcmFyY2h5LgogICAgIHZpcnR1YWwgUGxhdGZvcm1MYXllciogcGxhdGZvcm1M
YXllcigpIGNvbnN0IHsgcmV0dXJuIDA7IH0KICAgICAKLSAgICAvLyBDaGFuZ2UgdGhlIHNjYWxl
IGF0IHdoaWNoIHRoZSBjb250ZW50cyBhcmUgcmVuZGVyZWQuIE5vdGUgdGhhdCBjb250ZW50c1Nj
YWxlIG1heSBub3QgcmV0dXJuCi0gICAgLy8gdGhlIHNhbWUgdmFsdWUgcGFzc2VkIHRvIHNldENv
bnRlbnRzU2NhbGUoKSwgYmVjYXVzZSBvZiBjbGFtcGluZyBhbmQgaHlzdGVyZXNpcy4KLSAgICB2
aXJ0dWFsIGZsb2F0IGNvbnRlbnRzU2NhbGUoKSBjb25zdCB7IHJldHVybiAxOyB9Ci0gICAgdmly
dHVhbCB2b2lkIHNldENvbnRlbnRzU2NhbGUoZmxvYXQpIHsgfQotCiAgICAgdm9pZCBkdW1wTGF5
ZXIoVGV4dFN0cmVhbSYsIGludCBpbmRlbnQgPSAwLCBMYXllclRyZWVBc1RleHRCZWhhdmlvciA9
IExheWVyVHJlZUFzVGV4dEJlaGF2aW9yTm9ybWFsKSBjb25zdDsKIAogICAgIGludCByZXBhaW50
Q291bnQoKSBjb25zdCB7IHJldHVybiBtX3JlcGFpbnRDb3VudDsgfQpAQCAtMzU1LDYgKzM1MCw5
IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZGlzdHJpYnV0ZU9wYWNpdHkoZmxvYXQpOwog
ICAgIHZpcnR1YWwgZmxvYXQgYWNjdW11bGF0ZWRPcGFjaXR5KCkgY29uc3Q7CiAKKyAgICB2aXJ0
dWFsIHZvaWQgcGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpIHsgfQorICAgIHZvaWQgbm90ZVBhZ2VT
Y2FsZUZhY3RvckNoYW5nZWRJbmNsdWRpbmdEZXNjZW5kYW50cygpOworCiAgICAgLy8gU29tZSBj
b21wb3NpdGluZyBzeXN0ZW1zIG1heSBkbyBpbnRlcm5hbCBiYXRjaGluZyB0byBzeW5jaHJvbml6
ZSBjb21wb3NpdGluZyB1cGRhdGVzCiAgICAgLy8gd2l0aCB1cGRhdGVzIGRyYXduIGludG8gdGhl
IHdpbmRvdy4gVGhlc2UgbWV0aG9kcyBmbHVzaCBpbnRlcm5hbCBiYXRjaGVkIHN0YXRlIG9uIHRo
aXMgbGF5ZXIKICAgICAvLyBhbmQgZGVzY2VuZGFudCBsYXllcnMsIGFuZCB0aGlzIGxheWVyIG9u
bHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0xheWVyQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0xheWVyQ2xpZW50LmgKaW5kZXggYWZiMjk3ZGY5Nzk0MDIwNzZmMzMwOGQxNGEyY2MzZDU3OThl
ZThmZC4uYWIyNWY4OTEwNDc0YTMxZDhmM2Q3MTAyYzcxOWI3YzEyYjdkZjYyNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllckNsaWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzTGF5ZXJDbGll
bnQuaApAQCAtNjIsNiArNjIsMTIgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBub3RpZnlT
eW5jUmVxdWlyZWQoY29uc3QgR3JhcGhpY3NMYXllciopID0gMDsKICAgICAKICAgICB2aXJ0dWFs
IHZvaWQgcGFpbnRDb250ZW50cyhjb25zdCBHcmFwaGljc0xheWVyKiwgR3JhcGhpY3NDb250ZXh0
JiwgR3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2UsIGNvbnN0IEludFJlY3QmIGluQ2xpcCkgPSAw
OworICAgIHZpcnR1YWwgdm9pZCBkaWRDb21taXRDaGFuZ2VzRm9yTGF5ZXIoY29uc3QgR3JhcGhp
Y3NMYXllciopIGNvbnN0ID0gMDsKKworICAgIC8vIE11bHRpcGxpZXIgZm9yIGJhY2tpbmcgc3Rv
cmUgc2l6ZSwgcmVsYXRlZCB0byBoaWdoIERQSS4KKyAgICB2aXJ0dWFsIGZsb2F0IGJhY2tpbmdT
Y2FsZUZhY3RvcigpIGNvbnN0ID0gMDsKKyAgICAvLyBTY2FsaW5nIGZhY3RvciBvZiB0aGUgcGFn
ZS4KKyAgICB2aXJ0dWFsIGZsb2F0IHBhZ2VTY2FsZUZhY3RvcigpIGNvbnN0ID0gMDsKICAgICAK
ICAgICB2aXJ0dWFsIGJvb2wgc2hvd0RlYnVnQm9yZGVycygpIGNvbnN0ID0gMDsKICAgICB2aXJ0
dWFsIGJvb2wgc2hvd1JlcGFpbnRDb3VudGVyKCkgY29uc3QgPSAwOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAKaW5k
ZXggOTc4MDRmYzc4NzY3MDBkN2QwY2YyY2M1MGQ5YWYyNzcyMWJkMzNmOC4uODhjMzEyMTcxOWNk
OTRiYmQ0ZGIwNTBmMmNhMTY1NWVmYTE5ZGI1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuY3BwCkBAIC0yNDksOSAr
MjQ5LDggQEAgR3JhcGhpY3NMYXllckNBOjpHcmFwaGljc0xheWVyQ0EoR3JhcGhpY3NMYXllckNs
aWVudCogY2xpZW50KQogICAgIDogR3JhcGhpY3NMYXllcihjbGllbnQpCiAgICAgLCBtX2NvbnRl
bnRzTGF5ZXJQdXJwb3NlKE5vQ29udGVudHNMYXllcikKICAgICAsIG1fY29udGVudHNMYXllckhh
c0JhY2tncm91bmRDb2xvcihmYWxzZSkKLSAgICAsIG1fdW5jb21taXR0ZWRDaGFuZ2VzKE5vQ2hh
bmdlKQotICAgICwgbV9jb250ZW50c1NjYWxlKDEpCiAgICAgLCBtX2FsbG93VGlsZWRMYXllcih0
cnVlKQorICAgICwgbV91bmNvbW1pdHRlZENoYW5nZXMoQ29udGVudHNTY2FsZUNoYW5nZWQpCiB7
CiAgICAgbV9sYXllciA9IFBsYXRmb3JtQ0FMYXllcjo6Y3JlYXRlKFBsYXRmb3JtQ0FMYXllcjo6
TGF5ZXJUeXBlV2ViTGF5ZXIsIHRoaXMpOwogCkBAIC02NzksOCArNjc4LDYgQEAgdm9pZCBHcmFw
aGljc0xheWVyQ0E6OnNldENvbnRlbnRzVG9CYWNrZ3JvdW5kQ29sb3IoY29uc3QgQ29sb3ImIGNv
bG9yKQogI2lmbmRlZiBOREVCVUcKICAgICAgICAgbV9jb250ZW50c0xheWVyLT5zZXROYW1lKCJC
YWNrZ3JvdW5kIENvbG9yIExheWVyIik7CiAjZW5kaWYKLSAgICAgICAgdXBkYXRlQ29udGVudHNS
ZWN0KCk7Ci0gICAgICAgIHNldHVwQ29udGVudHNMYXllcihtX2NvbnRlbnRzTGF5ZXIuZ2V0KCkp
OwogICAgIH0gZWxzZSB7CiAgICAgICAgIG1fY29udGVudHNMYXllclB1cnBvc2UgPSBOb0NvbnRl
bnRzTGF5ZXI7CiAgICAgICAgIG1fY29udGVudHNMYXllciA9IDA7CkBAIC04MDcsNiArODA0LDgg
QEAgdm9pZCBHcmFwaGljc0xheWVyQ0E6OnN5bmNDb21wb3NpdGluZ1N0YXRlRm9yVGhpc0xheWVy
T25seSgpCiAKIHZvaWQgR3JhcGhpY3NMYXllckNBOjpyZWN1cnNpdmVDb21taXRDaGFuZ2VzKCkK
IHsKKyAgICBib29sIGhhZENoYW5nZXMgPSBtX3VuY29tbWl0dGVkQ2hhbmdlczsKKyAgICAKICAg
ICBjb21taXRMYXllckNoYW5nZXNCZWZvcmVTdWJsYXllcnMoKTsKIAogICAgIGlmIChtX21hc2tM
YXllcikKQEAgLTgyNiw2ICs4MjUsOSBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6cmVjdXJzaXZl
Q29tbWl0Q2hhbmdlcygpCiAgICAgICAgIHN0YXRpY19jYXN0PEdyYXBoaWNzTGF5ZXJDQSo+KG1f
bWFza0xheWVyKS0+Y29tbWl0TGF5ZXJDaGFuZ2VzQWZ0ZXJTdWJsYXllcnMoKTsKIAogICAgIGNv
bW1pdExheWVyQ2hhbmdlc0FmdGVyU3VibGF5ZXJzKCk7CisKKyAgICBpZiAoaGFkQ2hhbmdlcyAm
JiBjbGllbnQoKSkKKyAgICAgICAgY2xpZW50KCktPmRpZENvbW1pdENoYW5nZXNGb3JMYXllcih0
aGlzKTsKIH0KIAogdm9pZCBHcmFwaGljc0xheWVyQ0E6OmNvbW1pdExheWVyQ2hhbmdlc0JlZm9y
ZVN1YmxheWVycygpCkBAIC0xMjQ3LDYgKzEyNDksOSBAQCB2b2lkIEdyYXBoaWNzTGF5ZXJDQTo6
dXBkYXRlTGF5ZXJCYWNrZ3JvdW5kQ29sb3IoKQogICAgIGlmICghbV9jb250ZW50c0xheWVyKQog
ICAgICAgICByZXR1cm47CiAKKyAgICBzZXR1cENvbnRlbnRzTGF5ZXIobV9jb250ZW50c0xheWVy
LmdldCgpKTsKKyAgICB1cGRhdGVDb250ZW50c1JlY3QoKTsKKwogICAgIGlmIChtX2JhY2tncm91
bmRDb2xvclNldCkKICAgICAgICAgbV9jb250ZW50c0xheWVyLT5zZXRCYWNrZ3JvdW5kQ29sb3Io
bV9iYWNrZ3JvdW5kQ29sb3IpOwogICAgIGVsc2UKQEAgLTE5MzcsMzEgKzE5NDIsMTMgQEAgR3Jh
cGhpY3NMYXllckNBOjpMYXllck1hcCogR3JhcGhpY3NMYXllckNBOjphbmltYXRlZExheWVyQ2xv
bmVzKEFuaW1hdGVkUHJvcGVydHkKICAgICByZXR1cm4gKHByb3BlcnR5ID09IEFuaW1hdGVkUHJv
cGVydHlCYWNrZ3JvdW5kQ29sb3IpID8gbV9jb250ZW50c0xheWVyQ2xvbmVzLmdldCgpIDogcHJp
bWFyeUxheWVyQ2xvbmVzKCk7CiB9CiAKLXZvaWQgR3JhcGhpY3NMYXllckNBOjpzZXRDb250ZW50
c1NjYWxlKGZsb2F0IHNjYWxlKQotewotICAgIGZsb2F0IG5ld1NjYWxlID0gY2xhbXBlZENvbnRl
bnRzU2NhbGVGb3JTY2FsZShzY2FsZSk7Ci0gICAgaWYgKG5ld1NjYWxlID09IG1fY29udGVudHNT
Y2FsZSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9jb250ZW50c1NjYWxlID0gbmV3U2NhbGU7
Ci0gICAgbm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkKENvbnRlbnRzU2NhbGVDaGFuZ2VkKTsKLX0K
LQotZmxvYXQgR3JhcGhpY3NMYXllckNBOjpjbGFtcGVkQ29udGVudHNTY2FsZUZvclNjYWxlKGZs
b2F0IHNjYWxlKSBjb25zdAorc3RhdGljIGZsb2F0IGNsYW1wZWRDb250ZW50c1NjYWxlRm9yU2Nh
bGUoZmxvYXQgc2NhbGUpCiB7CiAgICAgLy8gRGVmaW5lIHNvbWUgbGltaXRzIGFzIGEgc2FuaXR5
IGNoZWNrIGZvciB0aGUgaW5jb21pbmcgc2NhbGUgdmFsdWUKICAgICAvLyB0aG9zZSB0b28gc21h
bGwgdG8gc2VlLgogICAgIGNvbnN0IGZsb2F0IG1heFNjYWxlID0gMTAuMGY7CiAgICAgY29uc3Qg
ZmxvYXQgbWluU2NhbGUgPSAwLjAxZjsKLSAgICAKLSAgICAvLyBBdm9pZCB2ZXJ5IHNsaWdodCBz
Y2FsZSBjaGFuZ2VzIHRoYXQgd291bGQgYmUgZG9pbmcgZXh0cmEgd29yayBmb3Igbm8gYmVuZWZp
dAotICAgIGNvbnN0IGZsb2F0IG1heEFsbG93YWJsZURlbHRhID0gMC4wNWY7Ci0KLSAgICAvLyBD
bGFtcAotICAgIGZsb2F0IHJlc3VsdCA9IG1heChtaW5TY2FsZSwgbWluKHNjYWxlLCBtYXhTY2Fs
ZSkpOwotCi0gICAgLy8gSWYgaXQgaGFzbid0IGNoYW5nZWQgbXVjaCwgZG9uJ3QgZG8gYW55IHdv
cmsKLSAgICByZXR1cm4gKChmYWJzKHJlc3VsdCAtIG1fY29udGVudHNTY2FsZSkgLyBtX2NvbnRl
bnRzU2NhbGUpIDwgbWF4QWxsb3dhYmxlRGVsdGEpID8gbV9jb250ZW50c1NjYWxlIDogcmVzdWx0
OworICAgIHJldHVybiBtYXgobWluU2NhbGUsIG1pbihzY2FsZSwgbWF4U2NhbGUpKTsKIH0KIAog
dm9pZCBHcmFwaGljc0xheWVyQ0E6OnVwZGF0ZUNvbnRlbnRzU2NhbGUoKQpAQCAtMTk3MCw3ICsx
OTU3LDEyIEBAIHZvaWQgR3JhcGhpY3NMYXllckNBOjp1cGRhdGVDb250ZW50c1NjYWxlKCkKICAg
ICBpZiAobmVlZFRpbGVkTGF5ZXIgIT0gbV91c2luZ1RpbGVkTGF5ZXIpCiAgICAgICAgIHN3YXBG
cm9tT3JUb1RpbGVkTGF5ZXIobmVlZFRpbGVkTGF5ZXIpOwogCi0gICAgbV9sYXllci0+c2V0Q29u
dGVudHNTY2FsZShtX2NvbnRlbnRzU2NhbGUpOworICAgIGZsb2F0IGJhY2tpbmdTY2FsZUZhY3Rv
ciA9IG1fY2xpZW50ID8gbV9jbGllbnQtPmJhY2tpbmdTY2FsZUZhY3RvcigpIDogMTsKKyAgICBm
bG9hdCBwYWdlU2NhbGVGYWN0b3IgPSBtX2NsaWVudCA/IG1fY2xpZW50LT5wYWdlU2NhbGVGYWN0
b3IoKSA6IDE7CisKKyAgICBmbG9hdCBjb250ZW50c1NjYWxlID0gY2xhbXBlZENvbnRlbnRzU2Nh
bGVGb3JTY2FsZShwYWdlU2NhbGVGYWN0b3IgKiBiYWNraW5nU2NhbGVGYWN0b3IpOworICAgIAor
ICAgIG1fbGF5ZXItPnNldENvbnRlbnRzU2NhbGUoY29udGVudHNTY2FsZSk7CiAgICAgaWYgKGRy
YXdzQ29udGVudCgpKQogICAgICAgICBtX2xheWVyLT5zZXROZWVkc0Rpc3BsYXkoKTsKIH0KQEAg
LTIwMjMsOCArMjAxNSwxMCBAQCBib29sIEdyYXBoaWNzTGF5ZXJDQTo6cmVxdWlyZXNUaWxlZExh
eWVyKGNvbnN0IEZsb2F0U2l6ZSYgc2l6ZSkgY29uc3QKICAgICBpZiAoIW1fZHJhd3NDb250ZW50
IHx8ICFtX2FsbG93VGlsZWRMYXllcikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgZmxv
YXQgY29udGVudHNTY2FsZSA9IG1fY2xpZW50ID8gbV9jbGllbnQtPmJhY2tpbmdTY2FsZUZhY3Rv
cigpICogbV9jbGllbnQtPnBhZ2VTY2FsZUZhY3RvcigpIDogMTsKKwogICAgIC8vIEZJWE1FOiBj
YXRjaCB6ZXJvLXNpemUgaGVpZ2h0IG9yIHdpZHRoIGhlcmUgKG9yIGVhcmxpZXIpPwotICAgIHJl
dHVybiBzaXplLndpZHRoKCkgPiBjTWF4UGl4ZWxEaW1lbnNpb24gfHwgc2l6ZS5oZWlnaHQoKSA+
IGNNYXhQaXhlbERpbWVuc2lvbjsKKyAgICByZXR1cm4gc2l6ZS53aWR0aCgpICogY29udGVudHNT
Y2FsZSA+IGNNYXhQaXhlbERpbWVuc2lvbiB8fCBzaXplLmhlaWdodCgpICogY29udGVudHNTY2Fs
ZSA+IGNNYXhQaXhlbERpbWVuc2lvbjsKIH0KIAogdm9pZCBHcmFwaGljc0xheWVyQ0E6OnN3YXBG
cm9tT3JUb1RpbGVkTGF5ZXIoYm9vbCB1c2VUaWxlZExheWVyKQpAQCAtMjAzMyw4ICsyMDI3LDYg
QEAgdm9pZCBHcmFwaGljc0xheWVyQ0E6OnN3YXBGcm9tT3JUb1RpbGVkTGF5ZXIoYm9vbCB1c2VU
aWxlZExheWVyKQogICAgIFJlZlB0cjxQbGF0Zm9ybUNBTGF5ZXI+IG9sZExheWVyID0gbV9sYXll
cjsKICAgICAKICAgICBtX2xheWVyID0gUGxhdGZvcm1DQUxheWVyOjpjcmVhdGUodXNlVGlsZWRM
YXllciA/IFBsYXRmb3JtQ0FMYXllcjo6TGF5ZXJUeXBlV2ViVGlsZWRMYXllciA6IFBsYXRmb3Jt
Q0FMYXllcjo6TGF5ZXJUeXBlV2ViTGF5ZXIsIHRoaXMpOwotICAgIG1fbGF5ZXItPnNldENvbnRl
bnRzU2NhbGUobV9jb250ZW50c1NjYWxlKTsKLQogICAgIG1fdXNpbmdUaWxlZExheWVyID0gdXNl
VGlsZWRMYXllcjsKICAgICAKICAgICBpZiAodXNlVGlsZWRMYXllcikgewpAQCAtMjA2NSw3ICsy
MDU3LDcgQEAgdm9pZCBHcmFwaGljc0xheWVyQ0E6OnN3YXBGcm9tT3JUb1RpbGVkTGF5ZXIoYm9v
bCB1c2VUaWxlZExheWVyKQogICAgIHVwZGF0ZUNvbnRlbnRzT3BhcXVlKCk7CiAgICAgdXBkYXRl
QmFja2ZhY2VWaXNpYmlsaXR5KCk7CiAgICAgdXBkYXRlTGF5ZXJCYWNrZ3JvdW5kQ29sb3IoKTsK
LSAgICAKKyAgICB1cGRhdGVDb250ZW50c1NjYWxlKCk7CiAgICAgdXBkYXRlT3BhY2l0eU9uTGF5
ZXIoKTsKICAgICAKICNpZm5kZWYgTkRFQlVHCkBAIC0yMzcwLDYgKzIzNjIsMTYgQEAgdm9pZCBH
cmFwaGljc0xheWVyQ0E6OnVwZGF0ZU9wYWNpdHlPbkxheWVyKCkKICNlbmRpZgogfQogCit2b2lk
IEdyYXBoaWNzTGF5ZXJDQTo6cGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpCit7CisgICAgbm90ZUNo
YW5nZXNGb3JTY2FsZVNlbnNpdGl2ZVByb3BlcnRpZXMoKTsKK30KKwordm9pZCBHcmFwaGljc0xh
eWVyQ0E6Om5vdGVDaGFuZ2VzRm9yU2NhbGVTZW5zaXRpdmVQcm9wZXJ0aWVzKCkKK3sKKyAgICBu
b3RlTGF5ZXJQcm9wZXJ0eUNoYW5nZWQoQ29udGVudHNTY2FsZUNoYW5nZWQpOworfQorCiB2b2lk
IEdyYXBoaWNzTGF5ZXJDQTo6bm90ZVN1YmxheWVyc0NoYW5nZWQoKQogewogICAgIG5vdGVMYXll
clByb3BlcnR5Q2hhbmdlZChDaGlsZHJlbkNoYW5nZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuaAppbmRleCAyY2YwMzUx
ZTBkYjhmM2Q2ZGE3M2JkNGIzZTBiNjljYTVlOTNjY2MzLi45MzI3N2U1YzAyZTAzMDUxMDE5ZWNk
MmRkMDZjNDVjNTcxOTI4NjFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9HcmFwaGljc0xheWVyQ0EuaApAQCAtNTYsOSArNTYsNiBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBQbGF0Zm9ybUxheWVyKiBwbGF0Zm9ybUxheWVyKCkgY29uc3Q7CiAgICAg
dmlydHVhbCBQbGF0Zm9ybUNBTGF5ZXIqIHBsYXRmb3JtQ0FMYXllcigpIGNvbnN0IHsgcmV0dXJu
IHByaW1hcnlMYXllcigpOyB9CiAKLSAgICB2aXJ0dWFsIGZsb2F0IGNvbnRlbnRzU2NhbGUoKSBj
b25zdCB7IHJldHVybiBtX2NvbnRlbnRzU2NhbGU7IH0KLSAgICB2aXJ0dWFsIHZvaWQgc2V0Q29u
dGVudHNTY2FsZShmbG9hdCk7Ci0KICAgICB2aXJ0dWFsIGJvb2wgc2V0Q2hpbGRyZW4oY29uc3Qg
VmVjdG9yPEdyYXBoaWNzTGF5ZXIqPiYpOwogICAgIHZpcnR1YWwgdm9pZCBhZGRDaGlsZChHcmFw
aGljc0xheWVyKik7CiAgICAgdmlydHVhbCB2b2lkIGFkZENoaWxkQXRJbmRleChHcmFwaGljc0xh
eWVyKiwgaW50IGluZGV4KTsKQEAgLTExOSw2ICsxMTYsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0
dWFsIHZvaWQgbGF5ZXJEaWREaXNwbGF5KFBsYXRmb3JtTGF5ZXIqKTsKIAorICAgIHZpcnR1YWwg
dm9pZCBwYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCk7CisKICAgICB2b2lkIHJlY3Vyc2l2ZUNvbW1p
dENoYW5nZXMoKTsKIAogICAgIHZpcnR1YWwgdm9pZCBzeW5jQ29tcG9zaXRpbmdTdGF0ZSgpOwpA
QCAtMzMxLDYgKzMzMCw3IEBAIHByaXZhdGU6CiAgICAgdHlwZWRlZiB1bnNpZ25lZCBMYXllckNo
YW5nZUZsYWdzOwogICAgIHZvaWQgbm90ZUxheWVyUHJvcGVydHlDaGFuZ2VkKExheWVyQ2hhbmdl
RmxhZ3MgZmxhZ3MpOwogICAgIHZvaWQgbm90ZVN1YmxheWVyc0NoYW5nZWQoKTsKKyAgICB2b2lk
IG5vdGVDaGFuZ2VzRm9yU2NhbGVTZW5zaXRpdmVQcm9wZXJ0aWVzKCk7CiAKICAgICB2b2lkIHJl
cGFpbnRMYXllckRpcnR5UmVjdHMoKTsKIApAQCAtMzUzLDYgKzM1Myw3IEBAIHByaXZhdGU6CiAg
ICAgCiAgICAgQ29udGVudHNMYXllclB1cnBvc2UgbV9jb250ZW50c0xheWVyUHVycG9zZTsKICAg
ICBib29sIG1fY29udGVudHNMYXllckhhc0JhY2tncm91bmRDb2xvciA6IDE7CisgICAgYm9vbCBt
X2FsbG93VGlsZWRMYXllciA6IDE7CiAKICAgICBSZXRhaW5QdHI8Q0dJbWFnZVJlZj4gbV91bmNv
cnJlY3RlZENvbnRlbnRzSW1hZ2U7CiAgICAgUmV0YWluUHRyPENHSW1hZ2VSZWY+IG1fcGVuZGlu
Z0NvbnRlbnRzSW1hZ2U7CkBAIC0zOTYsMTMgKzM5Nyw5IEBAIHByaXZhdGU6CiAgICAgQW5pbWF0
aW9uc01hcCBtX3J1bm5pbmdBbmltYXRpb25zOwogCiAgICAgVmVjdG9yPEZsb2F0UmVjdD4gbV9k
aXJ0eVJlY3RzOworICAgIEZsb2F0U2l6ZSBtX3BpeGVsQWxpZ25tZW50T2Zmc2V0OwogICAgIAog
ICAgIExheWVyQ2hhbmdlRmxhZ3MgbV91bmNvbW1pdHRlZENoYW5nZXM7Ci0KLSAgICBmbG9hdCBj
bGFtcGVkQ29udGVudHNTY2FsZUZvclNjYWxlKGZsb2F0KSBjb25zdDsKLSAgICBmbG9hdCBtX2Nv
bnRlbnRzU2NhbGU7Ci0gICAgCi0gICAgYm9vbCBtX2FsbG93VGlsZWRMYXllcjsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
Y3BwCmluZGV4IDUxMmQ1OTI3OWVmNDI3NzMwZWI1NDA4ZTQ4ZTkxMjc1MGMwNjVlZGQuLjFjM2Rh
Njc1NjQwYjc1MTRkMTAxZTA3ZGE3Y2ZiNGRjNTZiZTEzZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtNDE2NSwxNCArNDE2NSw2IEBAIHZvaWQgUmVuZGVy
TGF5ZXI6OnVwZGF0ZVJlZmxlY3Rpb25TdHlsZSgpCiAgICAgbV9yZWZsZWN0aW9uLT5zZXRTdHls
ZShuZXdTdHlsZS5yZWxlYXNlKCkpOwogfQogCi12b2lkIFJlbmRlckxheWVyOjpwYWdlU2NhbGVG
YWN0b3JDaGFuZ2VkKGZsb2F0IHNjYWxlKQotewotI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJ
VElORykKLSAgICBpZiAobV9iYWNraW5nKQotICAgICAgICBtX2JhY2tpbmctPnBhZ2VTY2FsZUZh
Y3RvckNoYW5nZWQoc2NhbGUpOwotI2VuZGlmCi19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAogI2lmbmRlZiBOREVCVUcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5k
ZXggN2QzNjMzZWU4MzJkMTliZTc0ZDNlMTJjNTM2MTViMzU1M2Q5MDExNi4uN2M4M2MwMWVkMTdk
YjhlOWE3OGJkOGM1Y2RmZDAxZGNlYzI5MDA0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyLmgKQEAgLTYxMyw4ICs2MTMsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0TXVz
dE92ZXJsYXBDb21wb3NpdGVkTGF5ZXJzKGJvb2wgYikgeyBtX211c3RPdmVybGFwQ29tcG9zaXRl
ZExheWVycyA9IGI7IH0KICNlbmRpZgogCi0gICAgdm9pZCBwYWdlU2NhbGVGYWN0b3JDaGFuZ2Vk
KGZsb2F0KTsKLQogICAgIGZyaWVuZCBjbGFzcyBSZW5kZXJMYXllckJhY2tpbmc7CiAgICAgZnJp
ZW5kIGNsYXNzIFJlbmRlckxheWVyQ29tcG9zaXRvcjsKICAgICBmcmllbmQgY2xhc3MgUmVuZGVy
Qm94TW9kZWxPYmplY3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckJhY2tpbmcuY3BwCmluZGV4IDhiMWRkMTZhMzRjNmY0NjQzZjkzODEwYTM3NTkxNDZjNTY1Y2Qy
NDguLmI0NDlmMzc4ODFkNjM5YTY1MzFiMTQ0NTA4M2M2NWFjNmZlYTkzYjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCkBAIC0xMTYsMTEg
KzExNiw2IEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpjcmVhdGVQcmltYXJ5R3JhcGhpY3NM
YXllcigpCiAjZW5kaWYKICAgICBtX2dyYXBoaWNzTGF5ZXIgPSBjcmVhdGVHcmFwaGljc0xheWVy
KGxheWVyTmFtZSk7CiAgICAgCi0gICAgQVNTRVJUKHJlbmRlcmVyKCkpOwotICAgIEFTU0VSVChy
ZW5kZXJlcigpLT5kb2N1bWVudCgpKTsKLSAgICBBU1NFUlQocmVuZGVyZXIoKS0+ZG9jdW1lbnQo
KS0+ZnJhbWUoKSk7Ci0gICAgbV9ncmFwaGljc0xheWVyLT5zZXRDb250ZW50c1NjYWxlKHBhZ2VT
Y2FsZUZhY3RvcigpICogYmFja2luZ1NjYWxlRmFjdG9yKCkpOwotCiAgICAgdXBkYXRlTGF5ZXJP
cGFjaXR5KHJlbmRlcmVyKCktPnN0eWxlKCkpOwogICAgIHVwZGF0ZUxheWVyVHJhbnNmb3JtKHJl
bmRlcmVyKCktPnN0eWxlKCkpOwogfQpAQCAtNjUyLDcgKzY0Nyw2IEBAIGJvb2wgUmVuZGVyTGF5
ZXJCYWNraW5nOjp1cGRhdGVGb3JlZ3JvdW5kTGF5ZXIoYm9vbCBuZWVkc0ZvcmVncm91bmRMYXll
cikKICAgICAgICAgICAgIG1fZm9yZWdyb3VuZExheWVyID0gY3JlYXRlR3JhcGhpY3NMYXllcihs
YXllck5hbWUpOwogICAgICAgICAgICAgbV9mb3JlZ3JvdW5kTGF5ZXItPnNldERyYXdzQ29udGVu
dCh0cnVlKTsKICAgICAgICAgICAgIG1fZm9yZWdyb3VuZExheWVyLT5zZXRQYWludGluZ1BoYXNl
KEdyYXBoaWNzTGF5ZXJQYWludEZvcmVncm91bmQpOwotICAgICAgICAgICAgbV9mb3JlZ3JvdW5k
TGF5ZXItPnNldENvbnRlbnRzU2NhbGUocGFnZVNjYWxlRmFjdG9yKCkgKiBiYWNraW5nU2NhbGVG
YWN0b3IoKSk7CiAgICAgICAgICAgICBsYXllckNoYW5nZWQgPSB0cnVlOwogICAgICAgICB9CiAg
ICAgfSBlbHNlIGlmIChtX2ZvcmVncm91bmRMYXllcikgewpAQCAtNjc1LDcgKzY2OSw2IEBAIGJv
b2wgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVNYXNrTGF5ZXIoYm9vbCBuZWVkc01hc2tMYXll
cikKICAgICAgICAgICAgIG1fbWFza0xheWVyID0gY3JlYXRlR3JhcGhpY3NMYXllcigiTWFzayIp
OwogICAgICAgICAgICAgbV9tYXNrTGF5ZXItPnNldERyYXdzQ29udGVudCh0cnVlKTsKICAgICAg
ICAgICAgIG1fbWFza0xheWVyLT5zZXRQYWludGluZ1BoYXNlKEdyYXBoaWNzTGF5ZXJQYWludE1h
c2spOwotICAgICAgICAgICAgbV9tYXNrTGF5ZXItPnNldENvbnRlbnRzU2NhbGUocGFnZVNjYWxl
RmFjdG9yKCkgKiBiYWNraW5nU2NhbGVGYWN0b3IoKSk7CiAgICAgICAgICAgICBsYXllckNoYW5n
ZWQgPSB0cnVlOwogICAgICAgICB9CiAgICAgfSBlbHNlIGlmIChtX21hc2tMYXllcikgewpAQCAt
MTI0OCw2ICsxMjQxLDIxIEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpwYWludENvbnRlbnRz
KGNvbnN0IEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIsIEdyYXBoCiAgICAgfQogfQogCitm
bG9hdCBSZW5kZXJMYXllckJhY2tpbmc6OnBhZ2VTY2FsZUZhY3RvcigpIGNvbnN0Cit7CisgICAg
cmV0dXJuIGNvbXBvc2l0b3IoKS0+cGFnZVNjYWxlRmFjdG9yKCk7Cit9CisKK2Zsb2F0IFJlbmRl
ckxheWVyQmFja2luZzo6YmFja2luZ1NjYWxlRmFjdG9yKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
Y29tcG9zaXRvcigpLT5iYWNraW5nU2NhbGVGYWN0b3IoKTsKK30KKwordm9pZCBSZW5kZXJMYXll
ckJhY2tpbmc6OmRpZENvbW1pdENoYW5nZXNGb3JMYXllcihjb25zdCBHcmFwaGljc0xheWVyKikg
Y29uc3QKK3sKKyAgICBjb21wb3NpdG9yKCktPmRpZEZsdXNoQ2hhbmdlc0ZvckxheWVyKG1fb3du
aW5nTGF5ZXIpOworfQorCiBib29sIFJlbmRlckxheWVyQmFja2luZzo6c2hvd0RlYnVnQm9yZGVy
cygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGNvbXBvc2l0b3IoKSA/IGNvbXBvc2l0b3IoKS0+Y29t
cG9zaXRvclNob3dEZWJ1Z0JvcmRlcnMoKSA6IGZhbHNlOwpAQCAtMTQ2NywzOSArMTQ3NSw2IEBA
IENvbXBvc2l0aW5nTGF5ZXJUeXBlIFJlbmRlckxheWVyQmFja2luZzo6Y29tcG9zaXRpbmdMYXll
clR5cGUoKSBjb25zdAogICAgIHJldHVybiBDb250YWluZXJDb21wb3NpdGluZ0xheWVyOwogfQog
Ci12b2lkIFJlbmRlckxheWVyQmFja2luZzo6cGFnZVNjYWxlRmFjdG9yQ2hhbmdlZChmbG9hdCBz
Y2FsZSkKLXsKLSAgICBmbG9hdCBjb21iaW5lZFNjYWxlID0gc2NhbGUgKiBiYWNraW5nU2NhbGVG
YWN0b3IoKTsKLQotICAgIGlmIChtX2dyYXBoaWNzTGF5ZXIpCi0gICAgICAgIG1fZ3JhcGhpY3NM
YXllci0+c2V0Q29udGVudHNTY2FsZShjb21iaW5lZFNjYWxlKTsKLQotICAgIGlmIChtX2ZvcmVn
cm91bmRMYXllcikKLSAgICAgICAgbV9mb3JlZ3JvdW5kTGF5ZXItPnNldENvbnRlbnRzU2NhbGUo
Y29tYmluZWRTY2FsZSk7Ci0KLSAgICBpZiAobV9tYXNrTGF5ZXIpCi0gICAgICAgIG1fbWFza0xh
eWVyLT5zZXRDb250ZW50c1NjYWxlKGNvbWJpbmVkU2NhbGUpOwotfQotCi1mbG9hdCBSZW5kZXJM
YXllckJhY2tpbmc6OnBhZ2VTY2FsZUZhY3RvcigpIGNvbnN0Ci17Ci0gICAgRnJhbWUqIGZyYW1l
ID0gcmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+ZnJhbWUoKTsKLSAgICBpZiAoIWZyYW1lKQotICAg
ICAgICByZXR1cm4gMTsKLSAgICByZXR1cm4gZnJhbWUtPnBhZ2VTY2FsZUZhY3RvcigpOwotfQot
Ci1mbG9hdCBSZW5kZXJMYXllckJhY2tpbmc6OmJhY2tpbmdTY2FsZUZhY3RvcigpIGNvbnN0Ci17
Ci0gICAgRnJhbWUqIGZyYW1lID0gcmVuZGVyZXIoKS0+ZG9jdW1lbnQoKS0+ZnJhbWUoKTsKLSAg
ICBpZiAoIWZyYW1lKQotICAgICAgICByZXR1cm4gMTsKLSAgICBQYWdlKiBwYWdlID0gZnJhbWUt
PnBhZ2UoKTsKLSAgICBpZiAoIXBhZ2UpCi0gICAgICAgIHJldHVybiAxOwotICAgIHJldHVybiBw
YWdlLT5jaHJvbWUoKS0+c2NhbGVGYWN0b3IoKTsKLX0KLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCiAjZW5kaWYgLy8gVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5oCmluZGV4IGJiNGMwMTRiNjU5YmQy
NTc5NzBhZTE4ZDU2NmViMGM4Zjc4Mjk5NGYuLmRlNmRiNDY4M2Q2M2U2YmQ1Y2NjYzlmNDQxM2E0
MzgxODE0YzJlYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllckJhY2tpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJC
YWNraW5nLmgKQEAgLTEyOCw2ICsxMjgsMTAgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lk
IHBhaW50Q29udGVudHMoY29uc3QgR3JhcGhpY3NMYXllciosIEdyYXBoaWNzQ29udGV4dCYsIEdy
YXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlLCBjb25zdCBJbnRSZWN0JiBjbGlwKTsKIAorICAgIHZp
cnR1YWwgZmxvYXQgYmFja2luZ1NjYWxlRmFjdG9yKCkgY29uc3Q7CisgICAgdmlydHVhbCBmbG9h
dCBwYWdlU2NhbGVGYWN0b3IoKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkQ29tbWl0Q2hh
bmdlc0ZvckxheWVyKGNvbnN0IEdyYXBoaWNzTGF5ZXIqKSBjb25zdDsKKwogICAgIHZpcnR1YWwg
Ym9vbCBzaG93RGVidWdCb3JkZXJzKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIHNob3dSZXBh
aW50Q291bnRlcigpIGNvbnN0OwogCkBAIC0xMzYsOCArMTQwLDYgQEAgcHVibGljOgogICAgIC8v
IEZvciBpbmZvcm1hdGl2ZSBwdXJwb3NlcyBvbmx5LgogICAgIENvbXBvc2l0aW5nTGF5ZXJUeXBl
IGNvbXBvc2l0aW5nTGF5ZXJUeXBlKCkgY29uc3Q7CiAgICAgCi0gICAgdm9pZCBwYWdlU2NhbGVG
YWN0b3JDaGFuZ2VkKGZsb2F0KTsKLQogICAgIEdyYXBoaWNzTGF5ZXIqIGxheWVyRm9ySG9yaXpv
bnRhbFNjcm9sbGJhcigpIGNvbnN0IHsgcmV0dXJuIG1fbGF5ZXJGb3JIb3Jpem9udGFsU2Nyb2xs
YmFyLmdldCgpOyB9CiAgICAgR3JhcGhpY3NMYXllciogbGF5ZXJGb3JWZXJ0aWNhbFNjcm9sbGJh
cigpIGNvbnN0IHsgcmV0dXJuIG1fbGF5ZXJGb3JWZXJ0aWNhbFNjcm9sbGJhci5nZXQoKTsgfQog
ICAgIEdyYXBoaWNzTGF5ZXIqIGxheWVyRm9yU2Nyb2xsQ29ybmVyKCkgY29uc3QgeyByZXR1cm4g
bV9sYXllckZvclNjcm9sbENvcm5lci5nZXQoKTsgfQpAQCAtMTkzLDkgKzE5NSw2IEBAIHByaXZh
dGU6CiAgICAgc3RhdGljIGludCBncmFwaGljc0xheWVyVG9DU1NQcm9wZXJ0eShBbmltYXRlZFBy
b3BlcnR5SUQpOwogICAgIHN0YXRpYyBBbmltYXRlZFByb3BlcnR5SUQgY3NzVG9HcmFwaGljc0xh
eWVyUHJvcGVydHkoaW50KTsKIAotICAgIGZsb2F0IHBhZ2VTY2FsZUZhY3RvcigpIGNvbnN0Owot
ICAgIGZsb2F0IGJhY2tpbmdTY2FsZUZhY3RvcigpIGNvbnN0OwotCiAjaWZuZGVmIE5ERUJVRwog
ICAgIFN0cmluZyBuYW1lRm9yTGF5ZXIoKSBjb25zdDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCAwZjIyODdh
ZjIyNTM4YzJmMjdjZTExMWQxMTE0NzRlMDA0OGM4YWJhLi4zMjNjOTUzMDYxYjFiZTVjZjg1MWI1
NzAxZDc3MTBlYTZiNTY1OGQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAtMjA3LDYgKzIwNywxMCBAQCB2b2lkIFJlbmRl
ckxheWVyQ29tcG9zaXRvcjo6Zmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCkKICAgICBtX2ZsdXNo
aW5nTGF5ZXJzID0gZmFsc2U7CiB9CiAKK3ZvaWQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpkaWRG
bHVzaENoYW5nZXNGb3JMYXllcihSZW5kZXJMYXllciopCit7Cit9CisKIFJlbmRlckxheWVyQ29t
cG9zaXRvciogUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjplbmNsb3NpbmdDb21wb3NpdG9yRmx1c2hp
bmdMYXllcnMoKSBjb25zdAogewogICAgIGlmICghbV9yZW5kZXJWaWV3LT5mcmFtZVZpZXcoKSkK
QEAgLTE1MzAsNiArMTUzNCwzMyBAQCB2b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cGFpbnRD
b250ZW50cyhjb25zdCBHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVyLCBHcgogICAgIH0KIH0K
IAorZmxvYXQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpiYWNraW5nU2NhbGVGYWN0b3IoKSBjb25z
dAoreworICAgIEZyYW1lKiBmcmFtZSA9IG1fcmVuZGVyVmlldy0+ZnJhbWVWaWV3KCktPmZyYW1l
KCk7CisgICAgaWYgKCFmcmFtZSkKKyAgICAgICAgcmV0dXJuIDE7CisgICAgUGFnZSogcGFnZSA9
IGZyYW1lLT5wYWdlKCk7CisgICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm4gMTsKKyAgICBy
ZXR1cm4gcGFnZS0+Y2hyb21lKCktPnNjYWxlRmFjdG9yKCk7Cit9CisKK2Zsb2F0IFJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6cGFnZVNjYWxlRmFjdG9yKCkgY29uc3QKK3sKKyAgICBGcmFtZSogZnJh
bWUgPSBtX3JlbmRlclZpZXctPmZyYW1lVmlldygpLT5mcmFtZSgpOworICAgIGlmICghZnJhbWUp
CisgICAgICAgIHJldHVybiAxOworICAgIFBhZ2UqIHBhZ2UgPSBmcmFtZS0+cGFnZSgpOworICAg
IGlmICghcGFnZSkKKyAgICAgICAgcmV0dXJuIDE7CisgICAgcmV0dXJuIHBhZ2UtPm1haW5GcmFt
ZSgpLT5wYWdlU2NhbGVGYWN0b3IoKTsKK30KKwordm9pZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6
OmRpZENvbW1pdENoYW5nZXNGb3JMYXllcihjb25zdCBHcmFwaGljc0xheWVyKikgY29uc3QKK3sK
KyAgICAvLyBOb3RoaW5nIHRvIGRvIGhlcmUgeWV0LgorfQorCiBzdGF0aWMgYm9vbCBzaG91bGRD
b21wb3NpdGVPdmVyZmxvd0NvbnRyb2xzKFNjcm9sbFZpZXcqIHZpZXcpCiB7CiAgICAgaWYgKHZp
ZXctPnBsYXRmb3JtV2lkZ2V0KCkpCkBAIC0xNjE1LDcgKzE2NDYsNyBAQCB2b2lkIFJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6ZW5zdXJlUm9vdExheWVyKCkKICAgICBpZiAoIW1fcm9vdENvbnRlbnRM
YXllcikgewogICAgICAgICBtX3Jvb3RDb250ZW50TGF5ZXIgPSBHcmFwaGljc0xheWVyOjpjcmVh
dGUoMCk7CiAjaWZuZGVmIE5ERUJVRwotICAgICAgICBtX3Jvb3RDb250ZW50TGF5ZXItPnNldE5h
bWUoIlJvb3QgcGxhdGZvcm0iKTsKKyAgICAgICAgbV9yb290Q29udGVudExheWVyLT5zZXROYW1l
KCJjb250ZW50IHJvb3QiKTsKICNlbmRpZgogICAgICAgICBtX3Jvb3RDb250ZW50TGF5ZXItPnNl
dFNpemUoRmxvYXRTaXplKG1fcmVuZGVyVmlldy0+bWF4WExheW91dE92ZXJmbG93KCksIG1fcmVu
ZGVyVmlldy0+bWF4WUxheW91dE92ZXJmbG93KCkpKTsKICAgICAgICAgbV9yb290Q29udGVudExh
eWVyLT5zZXRQb3NpdGlvbihGbG9hdFBvaW50KCkpOwpAQCAtMTYzOCwxMyArMTY2OSwxMyBAQCB2
b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6ZW5zdXJlUm9vdExheWVyKCkKICAgICAgICAgICAg
IC8vIENyZWF0ZSBhIGNsaXBwaW5nIGxheWVyIGlmIHRoaXMgaXMgYW4gaWZyYW1lCiAgICAgICAg
ICAgICBtX2NsaXBMYXllciA9IEdyYXBoaWNzTGF5ZXI6OmNyZWF0ZSh0aGlzKTsKICNpZm5kZWYg
TkRFQlVHCi0gICAgICAgICAgICBtX2NsaXBMYXllci0+c2V0TmFtZSgiaWZyYW1lIENsaXBwaW5n
Iik7CisgICAgICAgICAgICBtX2NsaXBMYXllci0+c2V0TmFtZSgiZnJhbWUgY2xpcHBpbmciKTsK
ICNlbmRpZgogICAgICAgICAgICAgbV9jbGlwTGF5ZXItPnNldE1hc2tzVG9Cb3VuZHModHJ1ZSk7
CiAgICAgICAgICAgICAKICAgICAgICAgICAgIG1fc2Nyb2xsTGF5ZXIgPSBHcmFwaGljc0xheWVy
OjpjcmVhdGUodGhpcyk7CiAjaWZuZGVmIE5ERUJVRwotICAgICAgICAgICAgbV9zY3JvbGxMYXll
ci0+c2V0TmFtZSgiaWZyYW1lIHNjcm9sbGluZyIpOworICAgICAgICAgICAgbV9zY3JvbGxMYXll
ci0+c2V0TmFtZSgiZnJhbWUgc2Nyb2xsaW5nIik7CiAjZW5kaWYKIAogICAgICAgICAgICAgLy8g
SG9vayB0aGVtIHVwCkBAIC0xODQ1LDMyICsxODc2LDE1IEBAIGJvb2wgUmVuZGVyTGF5ZXJDb21w
b3NpdG9yOjpsYXllckhhczNEQ29udGVudChjb25zdCBSZW5kZXJMYXllciogbGF5ZXIpIGNvbnN0
CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lkIFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cGFn
ZVNjYWxlRmFjdG9yQ2hhbmdlZChmbG9hdCBzY2FsZSwgUmVuZGVyTGF5ZXIqIGxheWVyKQordm9p
ZCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnBhZ2VTY2FsZUZhY3RvckNoYW5nZWQoKQogewotICAg
IGlmICghbGF5ZXIpCi0gICAgICAgIGxheWVyID0gcm9vdFJlbmRlckxheWVyKCk7Ci0KLSAgICBs
YXllci0+cGFnZVNjYWxlRmFjdG9yQ2hhbmdlZChzY2FsZSk7Ci0KLSAgICBpZiAobGF5ZXItPmlz
U3RhY2tpbmdDb250ZXh0KCkpIHsKLSAgICAgICAgaWYgKFZlY3RvcjxSZW5kZXJMYXllcio+KiBu
ZWdaT3JkZXJMaXN0ID0gbGF5ZXItPm5lZ1pPcmRlckxpc3QoKSkgewotICAgICAgICAgICAgc2l6
ZV90IGxpc3RTaXplID0gbmVnWk9yZGVyTGlzdC0+c2l6ZSgpOwotICAgICAgICAgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBsaXN0U2l6ZTsgKytpKQotICAgICAgICAgICAgICAgIHBhZ2VTY2Fs
ZUZhY3RvckNoYW5nZWQoc2NhbGUsIG5lZ1pPcmRlckxpc3QtPmF0KGkpKTsKLSAgICAgICAgfQot
Ci0gICAgICAgIGlmIChWZWN0b3I8UmVuZGVyTGF5ZXIqPiogcG9zWk9yZGVyTGlzdCA9IGxheWVy
LT5wb3NaT3JkZXJMaXN0KCkpIHsKLSAgICAgICAgICAgIHNpemVfdCBsaXN0U2l6ZSA9IHBvc1pP
cmRlckxpc3QtPnNpemUoKTsKLSAgICAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGlz
dFNpemU7ICsraSkKLSAgICAgICAgICAgICAgICBwYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKHNjYWxl
LCBwb3NaT3JkZXJMaXN0LT5hdChpKSk7Ci0gICAgICAgIH0KLSAgICB9CisgICAgLy8gU3RhcnQg
YXQgdGhlIFJlbmRlclZpZXcncyBsYXllciwgc2luY2UgdGhhdCdzIHdoZXJlIHRoZSBzY2FsZSBp
cyBhcHBsaWVkLgorICAgIFJlbmRlckxheWVyKiB2aWV3TGF5ZXIgPSBtX3JlbmRlclZpZXctPmxh
eWVyKCk7CisgICAgaWYgKCF2aWV3TGF5ZXItPmlzQ29tcG9zaXRlZCgpKQorICAgICAgICByZXR1
cm47CiAKLSAgICBpZiAoVmVjdG9yPFJlbmRlckxheWVyKj4qIG5vcm1hbEZsb3dMaXN0ID0gbGF5
ZXItPm5vcm1hbEZsb3dMaXN0KCkpIHsKLSAgICAgICAgc2l6ZV90IGxpc3RTaXplID0gbm9ybWFs
Rmxvd0xpc3QtPnNpemUoKTsKLSAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsaXN0U2l6
ZTsgKytpKQotICAgICAgICAgICAgcGFnZVNjYWxlRmFjdG9yQ2hhbmdlZChzY2FsZSwgbm9ybWFs
Rmxvd0xpc3QtPmF0KGkpKTsKLSAgICB9CisgICAgaWYgKEdyYXBoaWNzTGF5ZXIqIHJvb3RMYXll
ciA9IHZpZXdMYXllci0+YmFja2luZygpLT5ncmFwaGljc0xheWVyKCkpCisgICAgICAgIHJvb3RM
YXllci0+bm90ZVBhZ2VTY2FsZUZhY3RvckNoYW5nZWRJbmNsdWRpbmdEZXNjZW5kYW50cygpOwog
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgKaW5kZXggZTIxZTkyODZmMjhjZTM0ODBmODU2MjU4
OWM2YzgzNDIyNzk2ZTJjZi4uMjZmZTc2MTFjOWU5NDJjZmU1MjZmMzk0OGEyNGI3MGViOTQwOTJh
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9z
aXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0
b3IuaApAQCAtOTMsNiArOTMsOSBAQCBwdWJsaWM6CiAgICAgLy8gZmx1c2hQZW5kaW5nTGF5ZXJD
aGFuZ2VzKCkgZmx1c2hlcyB0aGUgZW50aXJlIEdyYXBoaWNzTGF5ZXIgdHJlZSwgd2hpY2ggY2Fu
IGNyb3NzIGZyYW1lIGJvdW5kYXJpZXMuCiAgICAgLy8gVGhpcyBjYWxsIHJldHVybnMgdGhlIHJv
b3Rtb3N0IGNvbXBvc2l0b3IgdGhhdCBpcyBiZWluZyBmbHVzaGVkIChpbmNsdWRpbmcgc2VsZiku
CiAgICAgUmVuZGVyTGF5ZXJDb21wb3NpdG9yKiBlbmNsb3NpbmdDb21wb3NpdG9yRmx1c2hpbmdM
YXllcnMoKSBjb25zdDsKKworICAgIC8vIENhbGxlZCB3aGVuIHRoZSBHcmFwaGljc0xheWVyIGZv
ciB0aGUgZ2l2ZW4gUmVuZGVyTGF5ZXIgaGFzIGZsdXNoZWQgY2hhbmdlcyBpbnNpZGUgb2YgZmx1
c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCkuCisgICAgdm9pZCBkaWRGbHVzaENoYW5nZXNGb3JMYXll
cihSZW5kZXJMYXllciopOwogICAgIAogICAgIC8vIFJlYnVpbGQgdGhlIHRyZWUgb2YgY29tcG9z
aXRpbmcgbGF5ZXJzCiAgICAgdm9pZCB1cGRhdGVDb21wb3NpdGluZ0xheWVycyhDb21wb3NpdGlu
Z1VwZGF0ZVR5cGUgPSBDb21wb3NpdGluZ1VwZGF0ZUFmdGVyTGF5b3V0T3JTdHlsZUNoYW5nZSwg
UmVuZGVyTGF5ZXIqIHVwZGF0ZVJvb3QgPSAwKTsKQEAgLTE4NCw3ICsxODcsMTEgQEAgcHVibGlj
OgogICAgIGJvb2wgY29tcG9zaXRvclNob3dEZWJ1Z0JvcmRlcnMoKSBjb25zdCB7IHJldHVybiBt
X3Nob3dEZWJ1Z0JvcmRlcnM7IH0KICAgICBib29sIGNvbXBvc2l0b3JTaG93UmVwYWludENvdW50
ZXIoKSBjb25zdCB7IHJldHVybiBtX3Nob3dSZXBhaW50Q291bnRlcjsgfQogCi0gICAgdm9pZCBw
YWdlU2NhbGVGYWN0b3JDaGFuZ2VkKGZsb2F0LCBSZW5kZXJMYXllciogPSAwKTsKKyAgICB2aXJ0
dWFsIGZsb2F0IGJhY2tpbmdTY2FsZUZhY3RvcigpIGNvbnN0OworICAgIHZpcnR1YWwgZmxvYXQg
cGFnZVNjYWxlRmFjdG9yKCkgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIGRpZENvbW1pdENoYW5n
ZXNGb3JMYXllcihjb25zdCBHcmFwaGljc0xheWVyKikgY29uc3Q7CisgICAgCisgICAgdm9pZCBw
YWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCk7CiAKICAgICBHcmFwaGljc0xheWVyKiBsYXllckZvckhv
cml6b250YWxTY3JvbGxiYXIoKSBjb25zdCB7IHJldHVybiBtX2xheWVyRm9ySG9yaXpvbnRhbFNj
cm9sbGJhci5nZXQoKTsgfQogICAgIEdyYXBoaWNzTGF5ZXIqIGxheWVyRm9yVmVydGljYWxTY3Jv
bGxiYXIoKSBjb25zdCB7IHJldHVybiBtX2xheWVyRm9yVmVydGljYWxTY3JvbGxiYXIuZ2V0KCk7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwppbmRleCBmZTZmY2FkMTFkZTI2NjkzMzhkZDc3NmJlYWI1NDdmODZhMDgzMTg0
Li5jMDg5NjRmNzkzMDYwM2VlY2VhY2FjMGM4MjVjMDUyOGIzMzk5YzdhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjEgQEAKKzIwMTEtMDctMTUgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CisKKyAgICAgICAgSGF2ZSBHcmFwaGljc0xheWVyIHB1bGwgdGhlaXIgY29udGVu
dHNTY2FsZSwgcmF0aGVyIHRoYW4gcHVzaGluZyBpdCBvbnRvIHRoZW0KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY0NjQzCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBJbXBlbWVudCBuZXcgR3Jh
cGhpY3NMYXllckNsaWVudCBtZXRob2RzIHJlbGF0ZWQgdG8gY29udGVudHMgc2NhbGUsCisgICAg
ICAgIGFuZCBkb24ndCBwdXNoIHRoZSBzY2FsZS4KKworICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9jYS9MYXllclRyZWVIb3N0Q0EuY3BwOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVI
b3N0Q0E6OmluaXRpYWxpemUpOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0Q0E6OmJh
Y2tpbmdTY2FsZUZhY3Rvcik6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3RDQTo6cGFn
ZVNjYWxlRmFjdG9yKToKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdENBOjpjcmVhdGVQ
YWdlT3ZlcmxheUxheWVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvY2EvTGF5ZXJU
cmVlSG9zdENBLmg6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3RDQTo6ZGlkQ29tbWl0
Q2hhbmdlc0ZvckxheWVyKToKKwogMjAxMS0wNy0xMyAgRGF2aWQgTGV2aW4gIDxsZXZpbkBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgUG9zc2libGUgcmFjZSBjb25kaXRpb24gaW4gVGhyZWFkSWRl
bnRpZmllckRhdGE6OmluaXRpYWxpemVLZXlPbmNlIGFuZCBzaG91bGRDYWxsUmVhbERlYnVnZ2Vy
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2NhL0xheWVy
VHJlZUhvc3RDQS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvY2EvTGF5
ZXJUcmVlSG9zdENBLmNwcAppbmRleCA5YmQ4ZTIwMDYwNmE4ZmVkOGFjZGM3ZTIwNjY2ZDFiYzc1
ZmFlYzQwLi4yYTBmMjY0NmY3ODVlOThhZWUzODFlM2UyMTBjMWVlODY5OTExYzU4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9zdENB
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVl
SG9zdENBLmNwcApAQCAtNjcsNyArNjcsNiBAQCB2b2lkIExheWVyVHJlZUhvc3RDQTo6aW5pdGlh
bGl6ZSgpCiAgICAgbV9ub25Db21wb3NpdGVkQ29udGVudExheWVyLT5zZXREcmF3c0NvbnRlbnQo
dHJ1ZSk7CiAgICAgbV9ub25Db21wb3NpdGVkQ29udGVudExheWVyLT5zZXRDb250ZW50c09wYXF1
ZShtX3dlYlBhZ2UtPmRyYXdzQmFja2dyb3VuZCgpICYmICFtX3dlYlBhZ2UtPmRyYXdzVHJhbnNw
YXJlbnRCYWNrZ3JvdW5kKCkpOwogICAgIG1fbm9uQ29tcG9zaXRlZENvbnRlbnRMYXllci0+c2V0
U2l6ZShtX3dlYlBhZ2UtPnNpemUoKSk7Ci0gICAgbV9ub25Db21wb3NpdGVkQ29udGVudExheWVy
LT5zZXRDb250ZW50c1NjYWxlKG1fd2ViUGFnZS0+dXNlclNwYWNlU2NhbGVGYWN0b3IoKSk7CiAg
ICAgaWYgKG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+c2V0dGluZ3MoKS0+YWNjZWxlcmF0ZWREcmF3
aW5nRW5hYmxlZCgpKQogICAgICAgICBtX25vbkNvbXBvc2l0ZWRDb250ZW50TGF5ZXItPnNldEFj
Y2VsZXJhdGVzRHJhd2luZyh0cnVlKTsKIApAQCAtMjA3LDYgKzIwNiwxNiBAQCBib29sIExheWVy
VHJlZUhvc3RDQTo6c2hvd1JlcGFpbnRDb3VudGVyKCkgY29uc3QKICAgICByZXR1cm4gbV93ZWJQ
YWdlLT5jb3JlUGFnZSgpLT5zZXR0aW5ncygpLT5zaG93UmVwYWludENvdW50ZXIoKTsKIH0KIAor
ZmxvYXQgTGF5ZXJUcmVlSG9zdENBOjpiYWNraW5nU2NhbGVGYWN0b3IoKSBjb25zdAoreworICAg
IHJldHVybiBtX3dlYlBhZ2UtPnVzZXJTcGFjZVNjYWxlRmFjdG9yKCk7Cit9CisKK2Zsb2F0IExh
eWVyVHJlZUhvc3RDQTo6cGFnZVNjYWxlRmFjdG9yKCkgY29uc3QKK3sKKyAgICByZXR1cm4gMTsK
K30KKwogdm9pZCBMYXllclRyZWVIb3N0Q0E6OnBlcmZvcm1TY2hlZHVsZWRMYXllckZsdXNoKCkK
IHsKICAgICB7CkBAIC0yNTMsNyArMjYyLDYgQEAgdm9pZCBMYXllclRyZWVIb3N0Q0E6OmNyZWF0
ZVBhZ2VPdmVybGF5TGF5ZXIoKQogCiAgICAgbV9wYWdlT3ZlcmxheUxheWVyLT5zZXREcmF3c0Nv
bnRlbnQodHJ1ZSk7CiAgICAgbV9wYWdlT3ZlcmxheUxheWVyLT5zZXRTaXplKG1fd2ViUGFnZS0+
c2l6ZSgpKTsKLSAgICBtX3BhZ2VPdmVybGF5TGF5ZXItPnNldENvbnRlbnRzU2NhbGUobV93ZWJQ
YWdlLT51c2VyU3BhY2VTY2FsZUZhY3RvcigpKTsKIAogICAgIG1fcm9vdExheWVyLT5hZGRDaGls
ZChtX3BhZ2VPdmVybGF5TGF5ZXIuZ2V0KCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2NhL0xheWVyVHJlZUhvc3RDQS5oIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2NhL0xheWVyVHJlZUhvc3RDQS5oCmluZGV4IGM5MTMxZTFi
NzAwN2JjODcyNGY5NThjOGY4NzVkYmMwY2U4ZjI0YWMuLmU0ZDZjZTc5MGE4YzBlZDRlZTE5OTVj
NGUyZWU4NDZkNTgxY2RiOWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9jYS9MYXllclRyZWVIb3N0Q0EuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvY2EvTGF5ZXJUcmVlSG9zdENBLmgKQEAgLTc0LDYgKzc0LDkgQEAgcHJpdmF0
ZToKICAgICB2aXJ0dWFsIHZvaWQgcGFpbnRDb250ZW50cyhjb25zdCBXZWJDb3JlOjpHcmFwaGlj
c0xheWVyKiwgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0JiwgV2ViQ29yZTo6R3JhcGhpY3NMYXll
clBhaW50aW5nUGhhc2UsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNsaXBSZWN0KTsKICAgICB2
aXJ0dWFsIGJvb2wgc2hvd0RlYnVnQm9yZGVycygpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBz
aG93UmVwYWludENvdW50ZXIoKSBjb25zdDsKKyAgICB2aXJ0dWFsIGZsb2F0IGJhY2tpbmdTY2Fs
ZUZhY3RvcigpIGNvbnN0OworICAgIHZpcnR1YWwgZmxvYXQgcGFnZVNjYWxlRmFjdG9yKCkgY29u
c3Q7CisgICAgdmlydHVhbCB2b2lkIGRpZENvbW1pdENoYW5nZXNGb3JMYXllcihjb25zdCBXZWJD
b3JlOjpHcmFwaGljc0xheWVyKikgY29uc3QgeyB9CiAKICAgICAvLyBMYXllclRyZWVIb3N0Q0EK
ICAgICB2aXJ0dWFsIHZvaWQgcGxhdGZvcm1Jbml0aWFsaXplKExheWVyVHJlZUNvbnRleHQmKSA9
IDA7Cg==
</data>
<flag name="review"
          id="95889"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="95893"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>