<?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>48149</bug_id>
          
          <creation_ts>2010-10-22 13:05:27 -0700</creation_ts>
          <short_desc>Update block direction overflow for lines to be writing-mode-aware.</short_desc>
          <delta_ts>2010-10-22 15:12:38 -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>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>
          
          <blocked>46123</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>298127</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-10-22 13:05:27 -0700</bug_when>
    <thetext>Update block direction overflow for lines to be writing-mode-aware.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298131</commentid>
    <comment_count>1</comment_count>
      <attachid>71589</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-10-22 13:07:20 -0700</bug_when>
    <thetext>Created attachment 71589
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298134</commentid>
    <comment_count>2</comment_count>
      <attachid>71589</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-10-22 13:10:21 -0700</bug_when>
    <thetext>Comment on attachment 71589
Patch

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

&gt; WebCore/rendering/style/RenderStyle.h:644
&gt; +    void getTextShadowBlockDirectionExtent(int&amp; logicalTop, int &amp; logicalBottom) { getShadowBlockDirectionExtent(textShadow(), logicalTop, logicalBottom); }

Weird spacing around the &amp;.

&gt; WebCore/rendering/style/RenderStyle.h:664
&gt; +    void getBoxShadowBlockDirectionExtent(int&amp; logicalTop, int &amp; logicalBottom) { getShadowBlockDirectionExtent(boxShadow(), logicalTop, logicalBottom); }

Here too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298147</commentid>
    <comment_count>3</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-10-22 13:29:47 -0700</bug_when>
    <thetext>Fixed in r70330.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298166</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-22 14:15:11 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/70330 might have broken SnowLeopard Intel Release (Tests)
The following tests are not passing:
fast/forms/basic-textareas-quirks.html
fast/forms/basic-textareas.html
platform/mac/scrollbars/key-window-not-first-responder.html
scrollbars/overflow-scrollbar-combinations.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298209</commentid>
    <comment_count>5</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2010-10-22 15:12:38 -0700</bug_when>
    <thetext>Silly mistake.  Will land fix shortly.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71589</attachid>
            <date>2010-10-22 13:07:20 -0700</date>
            <delta_ts>2010-10-22 13:10:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>18950</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MDMyNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzAgQEAKKzIwMTAtMTAtMjIgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00ODE0OQorICAgICAgICAKKyAgICAg
ICAgVXBkYXRlIGJsb2NrIGRpcmVjdGlvbiBsaW5lIG92ZXJmbG93IGNvbXB1dGF0aW9uIHRvIGJl
IHdyaXRpbmctbW9kZS1hd2FyZS4KKworICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVCb3guaDoK
KyAgICAgICAgKFdlYkNvcmU6OklubGluZUJveDo6bG9naWNhbEJvdHRvbSk6CisgICAgICAgICog
cmVuZGVyaW5nL0lubGluZUZsb3dCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5saW5lRmxv
d0JveDo6Y29tcHV0ZUJsb2NrRGlyZWN0aW9uT3ZlcmZsb3cpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9JbmxpbmVGbG93Qm94Lmg6CisgICAgICAgIChXZWJDb3JlOjpJbmxpbmVGbG93Qm94OjpzZXRJ
bmxpbmVEaXJlY3Rpb25PdmVyZmxvd1Bvc2l0aW9ucyk6CisgICAgICAgIChXZWJDb3JlOjpJbmxp
bmVGbG93Qm94OjpzZXRCbG9ja0RpcmVjdGlvbk92ZXJmbG93UG9zaXRpb25zKToKKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckJsb2NrOjpsYXlvdXRJbmxpbmVDaGlsZHJlbik6CisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmJsb2NrRGlyZWN0
aW9uT3ZlcmZsb3cpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guaDoKKyAgICAgICAg
KiByZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSb290SW5s
aW5lQm94OjphZGRIaWdobGlnaHRPdmVyZmxvdyk6CisgICAgICAgICogcmVuZGVyaW5nL3N0eWxl
L1JlbmRlclN0eWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpJbmhlcml0ZWRGbGFnczo6Z2V0VGV4
dFNoYWRvd0Jsb2NrRGlyZWN0aW9uRXh0ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkluaGVyaXRl
ZEZsYWdzOjpnZXRCb3hTaGFkb3dCbG9ja0RpcmVjdGlvbkV4dGVudCk6CisgICAgICAgIChXZWJD
b3JlOjpJbmhlcml0ZWRGbGFnczo6Z2V0U2hhZG93QmxvY2tEaXJlY3Rpb25FeHRlbnQpOgorCiAy
MDEwLTEwLTIyICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IEFkYW0gUm9iZW4uCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9Jbmxp
bmVCb3guaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3guaAkocmV2
aXNpb24gNzAyNjApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVCb3guaAkod29ya2luZyBj
b3B5KQpAQCAtMjI5LDYgKzIyOSw3IEBAIHB1YmxpYzoKIAogICAgIC8vIFRoZSBsb2dpY2FsVG9w
WyBwb3NpdGlvbiBpcyB0aGUgdG9wIGVkZ2Ugb2YgdGhlIGxpbmUgYm94IGluIGEgaG9yaXpvbnRh
bCBsaW5lIGFuZCB0aGUgbGVmdCBlZGdlIGluIGEgdmVydGljYWwgbGluZS4KICAgICBpbnQgbG9n
aWNhbFRvcCgpIGNvbnN0IHsgcmV0dXJuICFtX2lzVmVydGljYWwgPyBtX3kgOiBtX3g7IH0KKyAg
ICBpbnQgbG9naWNhbEJvdHRvbSgpIGNvbnN0IHsgcmV0dXJuIGxvZ2ljYWxUb3AoKSArIGxvZ2lj
YWxIZWlnaHQoKTsgfQogICAgIHZvaWQgc2V0TG9naWNhbFRvcChpbnQgdG9wKQogICAgIHsKICAg
ICAgICAgaWYgKCFtX2lzVmVydGljYWwpCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVG
bG93Qm94LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94
LmNwcAkocmV2aXNpb24gNzAyNjMpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTYyLDEyICs1NjIsMTQgQEAgdm9pZCBJbmxpbmVGbG93
Qm94OjpmbGlwTGluZXNJbkJsb2NrRGlyZQogCiB2b2lkIElubGluZUZsb3dCb3g6OmNvbXB1dGVC
bG9ja0RpcmVjdGlvbk92ZXJmbG93KGludCBsaW5lVG9wLCBpbnQgbGluZUJvdHRvbSwgYm9vbCBz
dHJpY3RNb2RlLCBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01hcCYgdGV4dEJveERhdGFN
YXApCiB7CisgICAgYm9vbCBpc0ZsaXBwZWRMaW5lID0gcmVuZGVyZXIoKS0+c3R5bGUobV9maXJz
dExpbmUpLT5pc0ZsaXBwZWRMaW5lc1dyaXRpbmdNb2RlKCk7CisKICAgICBpbnQgYm94SGVpZ2h0
ID0gbG9naWNhbEhlaWdodCgpOwogCiAgICAgLy8gQW55IHNwaWxsYWdlIG91dHNpZGUgb2YgdGhl
IGxpbmUgdG9wIGFuZCBib3R0b20gaXMgbm90IGNvbnNpZGVyZWQgb3ZlcmZsb3cuICBXZSBqdXN0
IGlnbm9yZSB0aGlzLCBzaW5jZSBpdCBvbmx5IGhhcHBlbnMKICAgICAvLyBmcm9tIHRoZSAieW91
ciBhc2NlbnQvZGVzY2VudCBkb24ndCBhZmZlY3QgdGhlIGxpbmUiIHF1aXJrLgotICAgIGludCB0
b3BPdmVyZmxvdyA9IG1heCh5KCksIGxpbmVUb3ApOwotICAgIGludCBib3R0b21PdmVyZmxvdyA9
IG1pbih5KCkgKyBib3hIZWlnaHQsIGxpbmVCb3R0b20pOworICAgIGludCB0b3BPdmVyZmxvdyA9
IG1heChsb2dpY2FsVG9wKCksIGxpbmVUb3ApOworICAgIGludCBib3R0b21PdmVyZmxvdyA9IG1p
bihsb2dpY2FsVG9wKCkgKyBib3hIZWlnaHQsIGxpbmVCb3R0b20pOwogICAgIAogICAgIGludCB0
b3BMYXlvdXRPdmVyZmxvdyA9IHRvcE92ZXJmbG93OwogICAgIGludCBib3R0b21MYXlvdXRPdmVy
ZmxvdyA9IGJvdHRvbU92ZXJmbG93OwpAQCAtNTc5LDEwICs1ODEsMTAgQEAgdm9pZCBJbmxpbmVG
bG93Qm94Ojpjb21wdXRlQmxvY2tEaXJlY3RpbwogICAgIGlmIChwYXJlbnQoKSkgewogICAgICAg
ICBpbnQgYm94U2hhZG93VG9wOwogICAgICAgICBpbnQgYm94U2hhZG93Qm90dG9tOwotICAgICAg
ICByZW5kZXJlcigpLT5zdHlsZShtX2ZpcnN0TGluZSktPmdldEJveFNoYWRvd1ZlcnRpY2FsRXh0
ZW50KGJveFNoYWRvd1RvcCwgYm94U2hhZG93Qm90dG9tKTsKKyAgICAgICAgcmVuZGVyZXIoKS0+
c3R5bGUobV9maXJzdExpbmUpLT5nZXRCb3hTaGFkb3dCbG9ja0RpcmVjdGlvbkV4dGVudChib3hT
aGFkb3dUb3AsIGJveFNoYWRvd0JvdHRvbSk7CiAgICAgICAgIAotICAgICAgICB0b3BWaXN1YWxP
dmVyZmxvdyA9IG1pbih5KCkgKyBib3hTaGFkb3dUb3AsIHRvcFZpc3VhbE92ZXJmbG93KTsKLSAg
ICAgICAgYm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBtYXgoeSgpICsgYm94SGVpZ2h0ICsgYm94U2hh
ZG93Qm90dG9tLCBib3R0b21WaXN1YWxPdmVyZmxvdyk7CisgICAgICAgIHRvcFZpc3VhbE92ZXJm
bG93ID0gbWluKGxvZ2ljYWxUb3AoKSArIGJveFNoYWRvd1RvcCwgdG9wVmlzdWFsT3ZlcmZsb3cp
OworICAgICAgICBib3R0b21WaXN1YWxPdmVyZmxvdyA9IG1heChsb2dpY2FsVG9wKCkgKyBib3hI
ZWlnaHQgKyBib3hTaGFkb3dCb3R0b20sIGJvdHRvbVZpc3VhbE92ZXJmbG93KTsKICAgICB9CiAK
ICAgICBmb3IgKElubGluZUJveCogY3VyciA9IGZpcnN0Q2hpbGQoKTsgY3VycjsgY3VyciA9IGN1
cnItPm5leHRPbkxpbmUoKSkgewpAQCAtNjAzLDE1ICs2MDUsMTUgQEAgdm9pZCBJbmxpbmVGbG93
Qm94Ojpjb21wdXRlQmxvY2tEaXJlY3RpbwogICAgICAgICAgICAgaW50IHRvcEdseXBoT3ZlcmZs
b3cgPSAtc3Ryb2tlT3ZlcmZsb3cgLSAoZ2x5cGhPdmVyZmxvdyA/IGdseXBoT3ZlcmZsb3ctPnRv
cCA6IDApOwogICAgICAgICAgICAgaW50IGJvdHRvbUdseXBoT3ZlcmZsb3cgPSBzdHJva2VPdmVy
ZmxvdyArIChnbHlwaE92ZXJmbG93ID8gZ2x5cGhPdmVyZmxvdy0+Ym90dG9tIDogMCk7CiAKLSAg
ICAgICAgICAgIGludCBjaGlsZE92ZXJmbG93VG9wID0gdG9wR2x5cGhPdmVyZmxvdzsKLSAgICAg
ICAgICAgIGludCBjaGlsZE92ZXJmbG93Qm90dG9tID0gYm90dG9tR2x5cGhPdmVyZmxvdzsKLSAg
ICAgICAgICAgIGZvciAoY29uc3QgU2hhZG93RGF0YSogc2hhZG93ID0gcnQtPnN0eWxlKCktPnRl
eHRTaGFkb3coKTsgc2hhZG93OyBzaGFkb3cgPSBzaGFkb3ctPm5leHQoKSkgewotICAgICAgICAg
ICAgICAgIGNoaWxkT3ZlcmZsb3dUb3AgPSBtaW4oY2hpbGRPdmVyZmxvd1RvcCwgc2hhZG93LT55
KCkgLSBzaGFkb3ctPmJsdXIoKSArIHRvcEdseXBoT3ZlcmZsb3cpOwotICAgICAgICAgICAgICAg
IGNoaWxkT3ZlcmZsb3dCb3R0b20gPSBtYXgoY2hpbGRPdmVyZmxvd0JvdHRvbSwgc2hhZG93LT55
KCkgKyBzaGFkb3ctPmJsdXIoKSArIGJvdHRvbUdseXBoT3ZlcmZsb3cpOwotICAgICAgICAgICAg
fQotICAgICAgICAgICAgCi0gICAgICAgICAgICB0b3BWaXN1YWxPdmVyZmxvdyA9IG1pbihjdXJy
LT55KCkgKyBjaGlsZE92ZXJmbG93VG9wLCB0b3BWaXN1YWxPdmVyZmxvdyk7Ci0gICAgICAgICAg
ICBib3R0b21WaXN1YWxPdmVyZmxvdyA9IG1heChjdXJyLT55KCkgKyB0ZXh0LT5sb2dpY2FsSGVp
Z2h0KCkgKyBjaGlsZE92ZXJmbG93Qm90dG9tLCBib3R0b21WaXN1YWxPdmVyZmxvdyk7CisgICAg
ICAgICAgICBpbnQgdGV4dFNoYWRvd1RvcDsKKyAgICAgICAgICAgIGludCB0ZXh0U2hhZG93Qm90
dG9tOworICAgICAgICAgICAgY3Vyci0+cmVuZGVyZXIoKS0+c3R5bGUobV9maXJzdExpbmUpLT5n
ZXRUZXh0U2hhZG93QmxvY2tEaXJlY3Rpb25FeHRlbnQodGV4dFNoYWRvd1RvcCwgdGV4dFNoYWRv
d0JvdHRvbSk7CisgICAgICAgIAorICAgICAgICAgICAgaW50IGNoaWxkT3ZlcmZsb3dUb3AgPSBt
aW4odGV4dFNoYWRvd1RvcCwgaXNGbGlwcGVkTGluZSA/IHRvcEdseXBoT3ZlcmZsb3cgOiBib3R0
b21HbHlwaE92ZXJmbG93KTsKKyAgICAgICAgICAgIGludCBjaGlsZE92ZXJmbG93Qm90dG9tID0g
bWF4KHRleHRTaGFkb3dCb3R0b20sIGlzRmxpcHBlZExpbmUgPyBib3R0b21HbHlwaE92ZXJmbG93
IDogdG9wR2x5cGhPdmVyZmxvdyk7CisgICAgCisgICAgICAgICAgICB0b3BWaXN1YWxPdmVyZmxv
dyA9IG1pbihjdXJyLT5sb2dpY2FsVG9wKCkgKyBjaGlsZE92ZXJmbG93VG9wLCB0b3BWaXN1YWxP
dmVyZmxvdyk7CisgICAgICAgICAgICBib3R0b21WaXN1YWxPdmVyZmxvdyA9IG1heChjdXJyLT5s
b2dpY2FsVG9wKCkgKyB0ZXh0LT5sb2dpY2FsSGVpZ2h0KCkgKyBjaGlsZE92ZXJmbG93Qm90dG9t
LCBib3R0b21WaXN1YWxPdmVyZmxvdyk7CiAgICAgICAgIH0gZWxzZSAgaWYgKGN1cnItPnJlbmRl
cmVyKCktPmlzUmVuZGVySW5saW5lKCkpIHsKICAgICAgICAgICAgIElubGluZUZsb3dCb3gqIGZs
b3cgPSBzdGF0aWNfY2FzdDxJbmxpbmVGbG93Qm94Kj4oY3Vycik7CiAgICAgICAgICAgICBmbG93
LT5jb21wdXRlQmxvY2tEaXJlY3Rpb25PdmVyZmxvdyhsaW5lVG9wLCBsaW5lQm90dG9tLCBzdHJp
Y3RNb2RlLCB0ZXh0Qm94RGF0YU1hcCk7CkBAIC02MjEsMTggKzYyMywyNCBAQCB2b2lkIElubGlu
ZUZsb3dCb3g6OmNvbXB1dGVCbG9ja0RpcmVjdGlvCiAgICAgICAgICAgICBib3R0b21WaXN1YWxP
dmVyZmxvdyA9IG1heChib3R0b21WaXN1YWxPdmVyZmxvdywgZmxvdy0+Ym90dG9tVmlzdWFsT3Zl
cmZsb3coKSk7CiAgICAgICAgIH0gZWxzZSBpZiAoIWN1cnItPmJveE1vZGVsT2JqZWN0KCktPmhh
c1NlbGZQYWludGluZ0xheWVyKCkpewogICAgICAgICAgICAgLy8gT25seSBpbmNsdWRlIG92ZXJm
bG93IGZyb20gcmVwbGFjZWQgaW5saW5lcyBpZiB0aGV5IGRvIG5vdCBwYWludCB0aGVtc2VsdmVz
LgorICAgICAgICAgICAgaW50IGJveExvZ2ljYWxUb3AgPSBjdXJyLT5sb2dpY2FsVG9wKCk7Cisg
ICAgICAgICAgICBpbnQgY2hpbGRUb3BMYXlvdXRPdmVyZmxvdzsKKyAgICAgICAgICAgIGludCBj
aGlsZEJvdHRvbUxheW91dE92ZXJmbG93OworICAgICAgICAgICAgaW50IGNoaWxkVG9wVmlzdWFs
T3ZlcmZsb3c7CisgICAgICAgICAgICBpbnQgY2hpbGRCb3R0b21WaXN1YWxPdmVyZmxvdzsKKyAg
ICAgICAgICAgIAogICAgICAgICAgICAgUmVuZGVyQm94KiBib3ggPSB0b1JlbmRlckJveChjdXJy
LT5yZW5kZXJlcigpKTsKLSAgICAgICAgICAgIGludCBib3hZID0gY3Vyci0+eSgpOwotICAgICAg
ICAgICAgaW50IGNoaWxkVG9wT3ZlcmZsb3cgPSBib3gtPmhhc092ZXJmbG93Q2xpcCgpID8gMCA6
IGJveC0+dG9wTGF5b3V0T3ZlcmZsb3coKTsKLSAgICAgICAgICAgIGludCBjaGlsZEJvdHRvbU92
ZXJmbG93ID0gYm94LT5oYXNPdmVyZmxvd0NsaXAoKSA/IGN1cnItPmxvZ2ljYWxIZWlnaHQoKSA6
IGJveC0+Ym90dG9tTGF5b3V0T3ZlcmZsb3coKTsKLSAgICAgICAgICAgIHRvcExheW91dE92ZXJm
bG93ID0gbWluKGJveFkgKyBjaGlsZFRvcE92ZXJmbG93LCB0b3BMYXlvdXRPdmVyZmxvdyk7Ci0g
ICAgICAgICAgICBib3R0b21MYXlvdXRPdmVyZmxvdyA9IG1heChib3hZICsgY2hpbGRCb3R0b21P
dmVyZmxvdywgYm90dG9tTGF5b3V0T3ZlcmZsb3cpOwotICAgICAgICAgICAgdG9wVmlzdWFsT3Zl
cmZsb3cgPSBtaW4oYm94WSArIGJveC0+dG9wVmlzdWFsT3ZlcmZsb3coKSwgdG9wVmlzdWFsT3Zl
cmZsb3cpOwotICAgICAgICAgICAgYm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBtYXgoYm94WSArIGJv
eC0+Ym90dG9tVmlzdWFsT3ZlcmZsb3coKSwgYm90dG9tVmlzdWFsT3ZlcmZsb3cpOworICAgICAg
ICAgICAgYm94LT5ibG9ja0RpcmVjdGlvbk92ZXJmbG93KGlzVmVydGljYWwoKSwgaXNGbGlwcGVk
TGluZSwgY2hpbGRUb3BMYXlvdXRPdmVyZmxvdywgY2hpbGRCb3R0b21MYXlvdXRPdmVyZmxvdywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZFRvcFZpc3VhbE92
ZXJmbG93LCBjaGlsZEJvdHRvbVZpc3VhbE92ZXJmbG93KTsKKyAgICAgICAgICAgIAorICAgICAg
ICAgICAgdG9wTGF5b3V0T3ZlcmZsb3cgPSBtaW4oYm94TG9naWNhbFRvcCArIGNoaWxkVG9wTGF5
b3V0T3ZlcmZsb3csIHRvcExheW91dE92ZXJmbG93KTsKKyAgICAgICAgICAgIGJvdHRvbUxheW91
dE92ZXJmbG93ID0gbWF4KGJveExvZ2ljYWxUb3AgKyBjaGlsZEJvdHRvbUxheW91dE92ZXJmbG93
LCBib3R0b21MYXlvdXRPdmVyZmxvdyk7CisgICAgICAgICAgICB0b3BWaXN1YWxPdmVyZmxvdyA9
IG1pbihib3hMb2dpY2FsVG9wICsgY2hpbGRUb3BWaXN1YWxPdmVyZmxvdywgdG9wVmlzdWFsT3Zl
cmZsb3cpOworICAgICAgICAgICAgYm90dG9tVmlzdWFsT3ZlcmZsb3cgPSBtYXgoYm94TG9naWNh
bFRvcCArIGNoaWxkQm90dG9tVmlzdWFsT3ZlcmZsb3csIGJvdHRvbVZpc3VhbE92ZXJmbG93KTsK
ICAgICAgICAgfQogICAgIH0KICAgICAKLSAgICBzZXRCbG9ja0RpcmVjdGlvbk92ZXJmbG93UG9z
aXRpb25zKHRvcExheW91dE92ZXJmbG93LCBib3R0b21MYXlvdXRPdmVyZmxvdywgdG9wVmlzdWFs
T3ZlcmZsb3csIGJvdHRvbVZpc3VhbE92ZXJmbG93LCBib3hIZWlnaHQpOworICAgIHNldEJsb2Nr
RGlyZWN0aW9uT3ZlcmZsb3dQb3NpdGlvbnModG9wTGF5b3V0T3ZlcmZsb3csIGJvdHRvbUxheW91
dE92ZXJmbG93LCB0b3BWaXN1YWxPdmVyZmxvdywgYm90dG9tVmlzdWFsT3ZlcmZsb3cpOwogfQog
CiBib29sIElubGluZUZsb3dCb3g6Om5vZGVBdFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiBy
ZXF1ZXN0LCBIaXRUZXN0UmVzdWx0JiByZXN1bHQsIGludCB4LCBpbnQgeSwgaW50IHR4LCBpbnQg
dHkpCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9JbmxpbmVGbG93Qm94LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lRmxvd0JveC5oCShyZXZpc2lvbiA3MDI2MykKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL0lubGluZUZsb3dCb3guaAkod29ya2luZyBjb3B5KQpAQCAtMTk5
LDcgKzE5OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldElubGluZURpcmVjdGlvbk92ZXJmbG93
UG9zaXRpb25zKGludCBsb2dpY2FsTGVmdExheW91dE92ZXJmbG93LCBpbnQgbG9naWNhbFJpZ2h0
TGF5b3V0T3ZlcmZsb3csCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbnQgbG9naWNhbExlZnRWaXN1YWxPdmVyZmxvdywgaW50IGxvZ2ljYWxSaWdodFZpc3Vh
bE92ZXJmbG93KTsKICAgICB2b2lkIHNldEJsb2NrRGlyZWN0aW9uT3ZlcmZsb3dQb3NpdGlvbnMo
aW50IGxvZ2ljYWxUb3BMYXlvdXRPdmVyZmxvdywgaW50IGxvZ2ljYWxCb3R0b21MYXlvdXRPdmVy
ZmxvdywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxv
Z2ljYWxUb3BWaXN1YWxPdmVyZmxvdywgaW50IGxvZ2ljYWxCb3R0b21WaXN1YWxPdmVyZmxvdywg
aW50IGJveExvZ2ljYWxIZWlnaHQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpbnQgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93LCBpbnQgbG9naWNhbEJvdHRv
bVZpc3VhbE92ZXJmbG93KTsKIAogcHJvdGVjdGVkOgogICAgIE93blB0cjxSZW5kZXJPdmVyZmxv
dz4gbV9vdmVyZmxvdzsKQEAgLTIyOSw4ICsyMjksOCBAQCBpbmxpbmUgdm9pZCBJbmxpbmVGbG93
Qm94OjpzZXRJbmxpbmVEaXJlCiAgICAgICAgICAgICAmJiBsb2dpY2FsTGVmdFZpc3VhbE92ZXJm
bG93ID09IGxvZ2ljYWxMZWZ0KCkgJiYgbG9naWNhbFJpZ2h0VmlzdWFsT3ZlcmZsb3cgPT0gbG9n
aWNhbFJpZ2h0KCkpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIAotICAgICAgICBpbnQg
d2lkdGggPSBpc1ZlcnRpY2FsKCkgPyBtX3JlbmRlcmVyLT5zdHlsZShtX2ZpcnN0TGluZSktPmZv
bnQoKS5oZWlnaHQoKSA6IGxvZ2ljYWxXaWR0aCgpOwotICAgICAgICBpbnQgaGVpZ2h0ID0gaXNW
ZXJ0aWNhbCgpID8gbG9naWNhbFdpZHRoKCkgOiBtX3JlbmRlcmVyLT5zdHlsZShtX2ZpcnN0TGlu
ZSktPmZvbnQoKS5oZWlnaHQoKTsKKyAgICAgICAgaW50IHdpZHRoID0gaXNWZXJ0aWNhbCgpID8g
bG9naWNhbEhlaWdodCgpIDogbG9naWNhbFdpZHRoKCk7CisgICAgICAgIGludCBoZWlnaHQgPSBp
c1ZlcnRpY2FsKCkgPyBsb2dpY2FsV2lkdGgoKSA6IGxvZ2ljYWxIZWlnaHQoKTsKICAgICAgICAg
CiAgICAgICAgIG1fb3ZlcmZsb3cgPSBhZG9wdFB0cihuZXcgUmVuZGVyT3ZlcmZsb3coSW50UmVj
dChtX3gsIG1feSwgd2lkdGgsIGhlaWdodCkpKTsgICAKICAgICB9CkBAIC0yNDgsMTggKzI0OCwz
MSBAQCBpbmxpbmUgdm9pZCBJbmxpbmVGbG93Qm94OjpzZXRJbmxpbmVEaXJlCiAgICAgfQogfQog
Ci1pbmxpbmUgdm9pZCBJbmxpbmVGbG93Qm94OjpzZXRCbG9ja0RpcmVjdGlvbk92ZXJmbG93UG9z
aXRpb25zKGludCB0b3BMYXlvdXRPdmVyZmxvdywgaW50IGJvdHRvbUxheW91dE92ZXJmbG93LCBp
bnQgdG9wVmlzdWFsT3ZlcmZsb3csIGludCBib3R0b21WaXN1YWxPdmVyZmxvdywgaW50IGJveEhl
aWdodCkKK2lubGluZSB2b2lkIElubGluZUZsb3dCb3g6OnNldEJsb2NrRGlyZWN0aW9uT3ZlcmZs
b3dQb3NpdGlvbnMoaW50IGxvZ2ljYWxUb3BMYXlvdXRPdmVyZmxvdywgaW50IGxvZ2ljYWxCb3R0
b21MYXlvdXRPdmVyZmxvdywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdywgaW50
IGxvZ2ljYWxCb3R0b21WaXN1YWxPdmVyZmxvdykKIHsKICAgICBpZiAoIW1fb3ZlcmZsb3cpIHsK
LSAgICAgICAgaWYgKHRvcExheW91dE92ZXJmbG93ID09IG1feSAmJiBib3R0b21MYXlvdXRPdmVy
ZmxvdyA9PSBtX3kgKyBib3hIZWlnaHQgJiYgdG9wVmlzdWFsT3ZlcmZsb3cgPT0gbV95ICYmIGJv
dHRvbVZpc3VhbE92ZXJmbG93ID09IG1feSArIGJveEhlaWdodCkKKyAgICAgICAgaWYgKGxvZ2lj
YWxUb3BMYXlvdXRPdmVyZmxvdyA9PSBsb2dpY2FsVG9wKCkgJiYgbG9naWNhbEJvdHRvbUxheW91
dE92ZXJmbG93ID09IGxvZ2ljYWxCb3R0b20oKQorICAgICAgICAgICAgJiYgbG9naWNhbFRvcFZp
c3VhbE92ZXJmbG93ID09IGxvZ2ljYWxUb3AoKSAmJiBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZs
b3cgPT0gbG9naWNhbEJvdHRvbSgpKQogICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICBtX292
ZXJmbG93ID0gYWRvcHRQdHIobmV3IFJlbmRlck92ZXJmbG93KEludFJlY3QobV94LCBtX3ksIG1f
bG9naWNhbFdpZHRoLCBib3hIZWlnaHQpKSk7CisgICAgICAgICAgICAKKyAgICAgICAgaW50IHdp
ZHRoID0gaXNWZXJ0aWNhbCgpID8gbG9naWNhbEhlaWdodCgpIDogbG9naWNhbFdpZHRoKCk7Cisg
ICAgICAgIGludCBoZWlnaHQgPSBpc1ZlcnRpY2FsKCkgPyBsb2dpY2FsV2lkdGgoKSA6IGxvZ2lj
YWxIZWlnaHQoKTsKKyAgICAgICAgCisgICAgICAgIG1fb3ZlcmZsb3cgPSBhZG9wdFB0cihuZXcg
UmVuZGVyT3ZlcmZsb3coSW50UmVjdChtX3gsIG1feSwgd2lkdGgsIGhlaWdodCkpKTsKICAgICB9
CiAKLSAgICBtX292ZXJmbG93LT5zZXRUb3BMYXlvdXRPdmVyZmxvdyh0b3BMYXlvdXRPdmVyZmxv
dyk7Ci0gICAgbV9vdmVyZmxvdy0+c2V0Qm90dG9tTGF5b3V0T3ZlcmZsb3coYm90dG9tTGF5b3V0
T3ZlcmZsb3cpOwotICAgIG1fb3ZlcmZsb3ctPnNldFRvcFZpc3VhbE92ZXJmbG93KHRvcFZpc3Vh
bE92ZXJmbG93KTsgCi0gICAgbV9vdmVyZmxvdy0+c2V0Qm90dG9tVmlzdWFsT3ZlcmZsb3coYm90
dG9tVmlzdWFsT3ZlcmZsb3cpOyAgCisgICAgaWYgKCFpc1ZlcnRpY2FsKCkpIHsKKyAgICAgICAg
bV9vdmVyZmxvdy0+c2V0VG9wTGF5b3V0T3ZlcmZsb3cobG9naWNhbFRvcExheW91dE92ZXJmbG93
KTsKKyAgICAgICAgbV9vdmVyZmxvdy0+c2V0Qm90dG9tTGF5b3V0T3ZlcmZsb3cobG9naWNhbEJv
dHRvbUxheW91dE92ZXJmbG93KTsKKyAgICAgICAgbV9vdmVyZmxvdy0+c2V0VG9wVmlzdWFsT3Zl
cmZsb3cobG9naWNhbFRvcFZpc3VhbE92ZXJmbG93KTsgCisgICAgICAgIG1fb3ZlcmZsb3ctPnNl
dEJvdHRvbVZpc3VhbE92ZXJmbG93KGxvZ2ljYWxCb3R0b21WaXN1YWxPdmVyZmxvdyk7ICAKKyAg
ICB9IGVsc2UgeworICAgICAgICBtX292ZXJmbG93LT5zZXRMZWZ0TGF5b3V0T3ZlcmZsb3cobG9n
aWNhbFRvcExheW91dE92ZXJmbG93KTsKKyAgICAgICAgbV9vdmVyZmxvdy0+c2V0UmlnaHRMYXlv
dXRPdmVyZmxvdyhsb2dpY2FsQm90dG9tTGF5b3V0T3ZlcmZsb3cpOworICAgICAgICBtX292ZXJm
bG93LT5zZXRMZWZ0VmlzdWFsT3ZlcmZsb3cobG9naWNhbFRvcFZpc3VhbE92ZXJmbG93KTsgCisg
ICAgICAgIG1fb3ZlcmZsb3ctPnNldFJpZ2h0VmlzdWFsT3ZlcmZsb3cobG9naWNhbEJvdHRvbVZp
c3VhbE92ZXJmbG93KTsKKyAgICB9CiB9CiAKICNpZmRlZiBOREVCVUcKSW5kZXg6IFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrTGluZUxheW91dC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tMaW5lTGF5b3V0LmNwcAkocmV2aXNpb24gNzAyNjApCisr
KyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0xpbmVMYXlvdXQuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC04NzgsNyArODc4LDcgQEAgdm9pZCBSZW5kZXJCbG9jazo6bGF5b3V0SW5saW5lQ2hp
bGRyZW4oYgogICAgICAgICAgICAgICAgIHRyYWlsaW5nRmxvYXRzTGluZUJveC0+c2V0Q29uc3Ry
dWN0ZWQoKTsKICAgICAgICAgICAgICAgICBHbHlwaE92ZXJmbG93QW5kRmFsbGJhY2tGb250c01h
cCB0ZXh0Qm94RGF0YU1hcDsKICAgICAgICAgICAgICAgICB0cmFpbGluZ0Zsb2F0c0xpbmVCb3gt
PmFsaWduQm94ZXNJbkJsb2NrRGlyZWN0aW9uKGxvZ2ljYWxIZWlnaHQoKSwgdGV4dEJveERhdGFN
YXApOwotICAgICAgICAgICAgICAgIHRyYWlsaW5nRmxvYXRzTGluZUJveC0+c2V0QmxvY2tEaXJl
Y3Rpb25PdmVyZmxvd1Bvc2l0aW9ucyhsb2dpY2FsSGVpZ2h0KCksIGJvdHRvbUxheW91dE92ZXJm
bG93LCBsb2dpY2FsSGVpZ2h0KCksIGJvdHRvbVZpc3VhbE92ZXJmbG93LCAwKTsKKyAgICAgICAg
ICAgICAgICB0cmFpbGluZ0Zsb2F0c0xpbmVCb3gtPnNldEJsb2NrRGlyZWN0aW9uT3ZlcmZsb3dQ
b3NpdGlvbnMobG9naWNhbEhlaWdodCgpLCBib3R0b21MYXlvdXRPdmVyZmxvdywgbG9naWNhbEhl
aWdodCgpLCBib3R0b21WaXN1YWxPdmVyZmxvdyk7CiAgICAgICAgICAgICAgICAgdHJhaWxpbmdG
bG9hdHNMaW5lQm94LT5zZXRCbG9ja0xvZ2ljYWxIZWlnaHQobG9naWNhbEhlaWdodCgpKTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChsYXN0RmxvYXQpIHsKSW5kZXg6IFdlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmNwcAkocmV2aXNpb24gNzAyNjApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3guY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMTcyLDQgKzMxNzIsMzQgQEAgaW50IFJlbmRl
ckJveDo6YmFzZWxpbmVQb3NpdGlvbihib29sIC8qZgogICAgIHJldHVybiAwOwogfQogCit2b2lk
IFJlbmRlckJveDo6YmxvY2tEaXJlY3Rpb25PdmVyZmxvdyhib29sIGlzTGluZVZlcnRpY2FsLCBi
b29sIGlzRmxpcHBlZExpbmUsIGludCYgbG9naWNhbFRvcExheW91dE92ZXJmbG93LCBpbnQmIGxv
Z2ljYWxCb3R0b21MYXlvdXRPdmVyZmxvdywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGludCYgbG9naWNhbFRvcFZpc3VhbE92ZXJmbG93LCBpbnQmIGxvZ2ljYWxCb3R0
b21WaXN1YWxPdmVyZmxvdykKK3sKKyAgICBpZiAoaXNMaW5lVmVydGljYWwpIHsKKyAgICAgICAg
aWYgKGlzRmxpcHBlZExpbmUpIHsKKyAgICAgICAgICAgIGxvZ2ljYWxUb3BMYXlvdXRPdmVyZmxv
dyA9IGxlZnRMYXlvdXRPdmVyZmxvdygpOworICAgICAgICAgICAgbG9naWNhbEJvdHRvbUxheW91
dE92ZXJmbG93ID0gcmlnaHRMYXlvdXRPdmVyZmxvdygpOworICAgICAgICAgICAgbG9naWNhbFRv
cFZpc3VhbE92ZXJmbG93ID0gbGVmdFZpc3VhbE92ZXJmbG93KCk7CisgICAgICAgICAgICBsb2dp
Y2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgPSByaWdodFZpc3VhbE92ZXJmbG93KCk7CisgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICBsb2dpY2FsVG9wTGF5b3V0T3ZlcmZsb3cgPSByaWdodExh
eW91dE92ZXJmbG93KCk7CisgICAgICAgICAgICBsb2dpY2FsQm90dG9tTGF5b3V0T3ZlcmZsb3cg
PSBsZWZ0TGF5b3V0T3ZlcmZsb3coKTsKKyAgICAgICAgICAgIGxvZ2ljYWxUb3BWaXN1YWxPdmVy
ZmxvdyA9IHJpZ2h0VmlzdWFsT3ZlcmZsb3coKTsKKyAgICAgICAgICAgIGxvZ2ljYWxCb3R0b21W
aXN1YWxPdmVyZmxvdyA9IGxlZnRWaXN1YWxPdmVyZmxvdygpOworICAgICAgICB9IAorICAgIH0g
ZWxzZSB7CisgICAgICAgIGlmIChpc0ZsaXBwZWRMaW5lKSB7CisgICAgICAgICAgICBsb2dpY2Fs
VG9wTGF5b3V0T3ZlcmZsb3cgPSBib3R0b21MYXlvdXRPdmVyZmxvdygpOworICAgICAgICAgICAg
bG9naWNhbEJvdHRvbUxheW91dE92ZXJmbG93ID0gdG9wTGF5b3V0T3ZlcmZsb3coKTsKKyAgICAg
ICAgICAgIGxvZ2ljYWxUb3BWaXN1YWxPdmVyZmxvdyA9IGJvdHRvbVZpc3VhbE92ZXJmbG93KCk7
CisgICAgICAgICAgICBsb2dpY2FsQm90dG9tVmlzdWFsT3ZlcmZsb3cgPSB0b3BWaXN1YWxPdmVy
ZmxvdygpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgbG9naWNhbFRvcExheW91dE92
ZXJmbG93ID0gdG9wTGF5b3V0T3ZlcmZsb3coKTsKKyAgICAgICAgICAgIGxvZ2ljYWxCb3R0b21M
YXlvdXRPdmVyZmxvdyA9IGJvdHRvbUxheW91dE92ZXJmbG93KCk7CisgICAgICAgICAgICBsb2dp
Y2FsVG9wVmlzdWFsT3ZlcmZsb3cgPSB0b3BWaXN1YWxPdmVyZmxvdygpOworICAgICAgICAgICAg
bG9naWNhbEJvdHRvbVZpc3VhbE92ZXJmbG93ID0gYm90dG9tVmlzdWFsT3ZlcmZsb3coKTsKKyAg
ICAgICAgfQorICAgIH0KK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmgJKHJldmlzaW9uIDcwMjYwKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
Qm94LmgJKHdvcmtpbmcgY29weSkKQEAgLTE1NSw2ICsxNTUsOSBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBhZGRPdmVyZmxvd0Zyb21DaGlsZChSZW5kZXJCb3gqIGNoaWxkLCBjb25zdCBJbnRTaXplJiBk
ZWx0YSk7CiAgICAgdm9pZCBjbGVhckxheW91dE92ZXJmbG93KCk7CiAKKyAgICB2b2lkIGJsb2Nr
RGlyZWN0aW9uT3ZlcmZsb3coYm9vbCBpc0xpbmVWZXJ0aWNhbCwgYm9vbCBpc0ZsaXBwZWRMaW5l
LCBpbnQmIGxvZ2ljYWxUb3BMYXlvdXRPdmVyZmxvdywgaW50JiBsb2dpY2FsQm90dG9tTGF5b3V0
T3ZlcmZsb3csCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCYgbG9naWNhbFRv
cFZpc3VhbE92ZXJmbG93LCBpbnQmIGxvZ2ljYWxCb3R0b21WaXN1YWxPdmVyZmxvdyk7CisKICAg
ICBpbnQgY29udGVudFdpZHRoKCkgY29uc3QgeyByZXR1cm4gY2xpZW50V2lkdGgoKSAtIHBhZGRp
bmdMZWZ0KCkgLSBwYWRkaW5nUmlnaHQoKTsgfQogICAgIGludCBjb250ZW50SGVpZ2h0KCkgY29u
c3QgeyByZXR1cm4gY2xpZW50SGVpZ2h0KCkgLSBwYWRkaW5nVG9wKCkgLSBwYWRkaW5nQm90dG9t
KCk7IH0KICAgICBpbnQgY29udGVudExvZ2ljYWxXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIHN0eWxl
KCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBjb250ZW50V2lkdGgoKSA6IGNvbnRlbnRI
ZWlnaHQoKTsgfQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHAJKHJldmlzaW9u
IDcwMjYwKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUm9vdElubGluZUJveC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE0OSw3ICsxNDksNyBAQCB2b2lkIFJvb3RJbmxpbmVCb3g6OmFkZEhpZ2hsaWdo
dE92ZXJmbG93CiAgICAgRmxvYXRSZWN0IHJvb3RSZWN0KDAsIHNlbGVjdGlvblRvcCgpLCBsb2dp
Y2FsV2lkdGgoKSwgc2VsZWN0aW9uSGVpZ2h0KCkpOwogICAgIEludFJlY3QgaW5mbGF0ZWRSZWN0
ID0gZW5jbG9zaW5nSW50UmVjdChwYWdlLT5jaHJvbWUoKS0+Y2xpZW50KCktPmN1c3RvbUhpZ2hs
aWdodFJlY3QocmVuZGVyZXIoKS0+bm9kZSgpLCByZW5kZXJlcigpLT5zdHlsZSgpLT5oaWdobGln
aHQoKSwgcm9vdFJlY3QpKTsKICAgICBzZXRJbmxpbmVEaXJlY3Rpb25PdmVyZmxvd1Bvc2l0aW9u
cyhsZWZ0TGF5b3V0T3ZlcmZsb3coKSwgcmlnaHRMYXlvdXRPdmVyZmxvdygpLCBtaW4obGVmdFZp
c3VhbE92ZXJmbG93KCksIGluZmxhdGVkUmVjdC54KCkpLCBtYXgocmlnaHRWaXN1YWxPdmVyZmxv
dygpLCBpbmZsYXRlZFJlY3QucmlnaHQoKSkpOwotICAgIHNldEJsb2NrRGlyZWN0aW9uT3ZlcmZs
b3dQb3NpdGlvbnModG9wTGF5b3V0T3ZlcmZsb3coKSwgYm90dG9tTGF5b3V0T3ZlcmZsb3coKSwg
bWluKHRvcFZpc3VhbE92ZXJmbG93KCksIGluZmxhdGVkUmVjdC55KCkpLCBtYXgoYm90dG9tVmlz
dWFsT3ZlcmZsb3coKSwgaW5mbGF0ZWRSZWN0LmJvdHRvbSgpKSwgbG9naWNhbEhlaWdodCgpKTsK
KyAgICBzZXRCbG9ja0RpcmVjdGlvbk92ZXJmbG93UG9zaXRpb25zKHRvcExheW91dE92ZXJmbG93
KCksIGJvdHRvbUxheW91dE92ZXJmbG93KCksIG1pbih0b3BWaXN1YWxPdmVyZmxvdygpLCBpbmZs
YXRlZFJlY3QueSgpKSwgbWF4KGJvdHRvbVZpc3VhbE92ZXJmbG93KCksIGluZmxhdGVkUmVjdC5i
b3R0b20oKSkpOwogfQogCiB2b2lkIFJvb3RJbmxpbmVCb3g6OnBhaW50Q3VzdG9tSGlnaGxpZ2h0
KFBhaW50SW5mbyYgcGFpbnRJbmZvLCBpbnQgdHgsIGludCB0eSwgY29uc3QgQXRvbWljU3RyaW5n
JiBoaWdobGlnaHRUeXBlKQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5o
CShyZXZpc2lvbiA3MDI2MCkKKysrIFdlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTY0MSw2ICs2NDEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBn
ZXRUZXh0U2hhZG93SG9yaXpvbnRhbEV4dGVudChpbnQmIGxlZnQsIGludCYgcmlnaHQpIGNvbnN0
IHsgZ2V0U2hhZG93SG9yaXpvbnRhbEV4dGVudCh0ZXh0U2hhZG93KCksIGxlZnQsIHJpZ2h0KTsg
fQogICAgIHZvaWQgZ2V0VGV4dFNoYWRvd1ZlcnRpY2FsRXh0ZW50KGludCYgdG9wLCBpbnQmIGJv
dHRvbSkgY29uc3QgeyBnZXRTaGFkb3dWZXJ0aWNhbEV4dGVudCh0ZXh0U2hhZG93KCksIHRvcCwg
Ym90dG9tKTsgfQogICAgIHZvaWQgZ2V0VGV4dFNoYWRvd0lubGluZURpcmVjdGlvbkV4dGVudChp
bnQmIGxvZ2ljYWxMZWZ0LCBpbnQmIGxvZ2ljYWxSaWdodCkgeyBnZXRTaGFkb3dJbmxpbmVEaXJl
Y3Rpb25FeHRlbnQodGV4dFNoYWRvdygpLCBsb2dpY2FsTGVmdCwgbG9naWNhbFJpZ2h0KTsgfQor
ICAgIHZvaWQgZ2V0VGV4dFNoYWRvd0Jsb2NrRGlyZWN0aW9uRXh0ZW50KGludCYgbG9naWNhbFRv
cCwgaW50ICYgbG9naWNhbEJvdHRvbSkgeyBnZXRTaGFkb3dCbG9ja0RpcmVjdGlvbkV4dGVudCh0
ZXh0U2hhZG93KCksIGxvZ2ljYWxUb3AsIGxvZ2ljYWxCb3R0b20pOyB9CiAKICAgICBmbG9hdCB0
ZXh0U3Ryb2tlV2lkdGgoKSBjb25zdCB7IHJldHVybiByYXJlSW5oZXJpdGVkRGF0YS0+dGV4dFN0
cm9rZVdpZHRoOyB9CiAgICAgQ29sb3JTcGFjZSBjb2xvclNwYWNlKCkgY29uc3QgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8Q29sb3JTcGFjZT4ocmFyZUluaGVyaXRlZERhdGEtPmNvbG9yU3BhY2UpOyB9
CkBAIC02NjAsNiArNjYxLDcgQEAgcHVibGljOgogICAgIHZvaWQgZ2V0Qm94U2hhZG93SG9yaXpv
bnRhbEV4dGVudChpbnQmIGxlZnQsIGludCYgcmlnaHQpIGNvbnN0IHsgZ2V0U2hhZG93SG9yaXpv
bnRhbEV4dGVudChib3hTaGFkb3coKSwgbGVmdCwgcmlnaHQpOyB9CiAgICAgdm9pZCBnZXRCb3hT
aGFkb3dWZXJ0aWNhbEV4dGVudChpbnQmIHRvcCwgaW50JiBib3R0b20pIGNvbnN0IHsgZ2V0U2hh
ZG93VmVydGljYWxFeHRlbnQoYm94U2hhZG93KCksIHRvcCwgYm90dG9tKTsgfQogICAgIHZvaWQg
Z2V0Qm94U2hhZG93SW5saW5lRGlyZWN0aW9uRXh0ZW50KGludCYgbG9naWNhbExlZnQsIGludCYg
bG9naWNhbFJpZ2h0KSB7IGdldFNoYWRvd0lubGluZURpcmVjdGlvbkV4dGVudChib3hTaGFkb3co
KSwgbG9naWNhbExlZnQsIGxvZ2ljYWxSaWdodCk7IH0KKyAgICB2b2lkIGdldEJveFNoYWRvd0Js
b2NrRGlyZWN0aW9uRXh0ZW50KGludCYgbG9naWNhbFRvcCwgaW50ICYgbG9naWNhbEJvdHRvbSkg
eyBnZXRTaGFkb3dCbG9ja0RpcmVjdGlvbkV4dGVudChib3hTaGFkb3coKSwgbG9naWNhbFRvcCwg
bG9naWNhbEJvdHRvbSk7IH0KIAogICAgIFN0eWxlUmVmbGVjdGlvbiogYm94UmVmbGVjdCgpIGNv
bnN0IHsgcmV0dXJuIHJhcmVOb25Jbmhlcml0ZWREYXRhLT5tX2JveFJlZmxlY3QuZ2V0KCk7IH0K
ICAgICBFQm94U2l6aW5nIGJveFNpemluZygpIGNvbnN0IHsgcmV0dXJuIG1fYm94LT5ib3hTaXpp
bmcoKTsgfQpAQCAtMTI3Nyw2ICsxMjc5LDEwIEBAIHByaXZhdGU6CiAgICAgewogICAgICAgICBy
ZXR1cm4gaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGdldFNoYWRvd0hvcml6b250YWxFeHRl
bnQoc2hhZG93LCBsb2dpY2FsTGVmdCwgbG9naWNhbFJpZ2h0KSA6IGdldFNoYWRvd1ZlcnRpY2Fs
RXh0ZW50KHNoYWRvdywgbG9naWNhbExlZnQsIGxvZ2ljYWxSaWdodCk7CiAgICAgfQorICAgIHZv
aWQgZ2V0U2hhZG93QmxvY2tEaXJlY3Rpb25FeHRlbnQoY29uc3QgU2hhZG93RGF0YSogc2hhZG93
LCBpbnQmIGxvZ2ljYWxUb3AsIGludCYgbG9naWNhbEJvdHRvbSkgY29uc3QKKyAgICB7CisgICAg
ICAgIHJldHVybiBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gZ2V0U2hhZG93VmVydGljYWxF
eHRlbnQoc2hhZG93LCBsb2dpY2FsVG9wLCBsb2dpY2FsQm90dG9tKSA6IGdldFNoYWRvd0hvcml6
b250YWxFeHRlbnQoc2hhZG93LCBsb2dpY2FsVG9wLCBsb2dpY2FsQm90dG9tKTsKKyAgICB9CiAK
ICAgICAvLyBDb2xvciBhY2Nlc3NvcnMgYXJlIGFsbCBwcml2YXRlIHRvIG1ha2Ugc3VyZSBjYWxs
ZXJzIHVzZSB2aXNpdGVkRGVwZW5kZW50Q29sb3IgaW5zdGVhZCB0byBhY2Nlc3MgdGhlbS4KICAg
ICBjb25zdCBDb2xvciYgYm9yZGVyTGVmdENvbG9yKCkgY29uc3QgeyByZXR1cm4gc3Vycm91bmQt
PmJvcmRlci5sZWZ0KCkuY29sb3IoKTsgfQo=
</data>
<flag name="review"
          id="61677"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>