<?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>25570</bug_id>
          
          <creation_ts>2009-05-05 10:37:27 -0700</creation_ts>
          <short_desc>WebKit incorrectly fires scroll events during the history.{back,forward,go} call when navigating to a reference fragment</short_desc>
          <delta_ts>2009-05-05 22:00:35 -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>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Darin Fisher (:fishd, Google)">fishd</reporter>
          <assigned_to name="Darin Fisher (:fishd, Google)">fishd</assigned_to>
          <cc>andersca</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>119987</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-05-05 10:37:27 -0700</bug_when>
    <thetext>WebKit incorrectly fires scroll events during the history.{back,forward,go} call when navigating to a reference fragment

This is subtle.  None of the other browsers behave this way.  They always dispatch history.{back,forward,go} asynchronously.  I found this bug because Chrome also happens to behave like IE and FF.  Safari seems to be the only browser that behaves differently, so I think it is probably best that it changes to match the others.

See attached demo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119988</commentid>
    <comment_count>1</comment_count>
      <attachid>30024</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-05-05 10:38:14 -0700</bug_when>
    <thetext>Created attachment 30024
demo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>119992</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-05-05 10:47:33 -0700</bug_when>
    <thetext>The code in FrameLoader::scheduleHistoryNavigation is what I am suggesting should perhaps change.  If the URL we are at and the URL we are navigating to differ only in reference fragment, then the code calls goBackOrForward directly instead of calling scheduleRedirection.  This results in the navigation occurring synchronously, which leads to scroll events being dispatched during the history.{back,forward,go} call.  That in turn means that JavaScript is getting re-entered, which may be quite unexpected by some web applications.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120017</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-05-05 14:28:27 -0700</bug_when>
    <thetext>It looks like this synchronous call to goBackOrForward was introduced by andersca in r14669: http://trac.webkit.org/changeset/14669/trunk/WebCore/page/Frame.cpp

That was done as part of the fix for bug 6309.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120019</commentid>
    <comment_count>4</comment_count>
      <attachid>30034</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-05-05 14:47:16 -0700</bug_when>
    <thetext>Created attachment 30034
v1 patch

This patch is incomplete since I will need to correct several layout tests to account for this change, but I wanted to post this for review to get feedback on this approach.  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120020</commentid>
    <comment_count>5</comment_count>
      <attachid>30034</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-05-05 14:48:56 -0700</bug_when>
    <thetext>Comment on attachment 30034
v1 patch

Seems OK to me. Anders?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120042</commentid>
    <comment_count>6</comment_count>
      <attachid>30041</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-05-05 16:58:18 -0700</bug_when>
    <thetext>Created attachment 30041
v2 patch: this time with layout test changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>120060</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2009-05-05 22:00:35 -0700</bug_when>
    <thetext>Landed as:  http://trac.webkit.org/changeset/43274</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>30024</attachid>
            <date>2009-05-05 10:38:14 -0700</date>
            <delta_ts>2009-05-05 14:41:27 -0700</delta_ts>
            <desc>demo</desc>
            <filename>scroll_test.html</filename>
            <type>text/html</type>
            <size>746</size>
            <attacher name="Darin Fisher (:fishd, Google)">fishd</attacher>
            
              <data encoding="base64">PHN0eWxlPgoud2lkZ2V0IHsKICBwb3NpdGlvbjogZml4ZWQ7CiAgcmlnaHQ6IDBweDsKICB0b3A6
IDBweDsKICBoZWlnaHQ6IDQwMHB4OwogIHdpZHRoOiAzMDBweDsKICBvdmVyZmxvdzogYXV0bzsK
ICBib3JkZXI6IDFweCBzb2xpZCBncmF5OwogIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0Ymx1ZTsK
ICBwYWRkaW5nOiAwLjRlbTsKfQouc3BhY2VyIHsKICBoZWlnaHQ6IDEwMDBweDsKfQo8L3N0eWxl
Pgo8c2NyaXB0Pgp2YXIgc2Nyb2xsQ291bnQgPSAwOwpmdW5jdGlvbiBsb2dpbml0KCkgewogIGxv
ZygnaGVsbG8gd29ybGQnKTsKfQpmdW5jdGlvbiBsb2cocykgewogIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdsb2cnKS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShzICsgIlxu
IikpOwp9Cjwvc2NyaXB0Pgo8Ym9keSBvbnNjcm9sbD0ic2Nyb2xsQ291bnQrKyI+CjxkaXYgY2xh
c3M9IndpZGdldCI+CiAgPGJ1dHRvbiBvbmNsaWNrPSJsb2coc2Nyb2xsQ291bnQpIj5sb2cgc2Ny
b2xsIGNvdW50PC9idXR0b24+CiAgPGJ1dHRvbiBvbmNsaWNrPSJoaXN0b3J5LmJhY2soKTtsb2co
c2Nyb2xsQ291bnQpIj5nbyBiYWNrPC9idXR0b24+CiAgPHByZSBpZD0ibG9nIj48L3ByZT4KPC9k
aXY+CjxhIGhyZWY9IiNmb28iPmdvIHRvICJmb28iPC9hPgo8ZGl2IGNsYXNzPSJzcGFjZXIiPjwv
ZGl2Pgo8YSBuYW1lPSJmb28iPmZvbzwvYT4KPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KPC9i
b2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30034</attachid>
            <date>2009-05-05 14:47:16 -0700</date>
            <delta_ts>2009-05-05 16:58:18 -0700</delta_ts>
            <desc>v1 patch</desc>
            <filename>sh_1.txt</filename>
            <type>text/plain</type>
            <size>3218</size>
            <attacher name="Darin Fisher (:fishd, Google)">fishd</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDQzMjUy
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDktMDUt
MDUgIERhcmluIEZpc2hlciAgPGRhcmluQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjU1NzAKKworICAgICAgICBoaXN0b3J5LntiYWNrLGZvcndhcmQsZ299
IHNob3VsZCBhbHdheXMgYmUgZGlzcGF0Y2hlZCBhc3luY2hyb25vdXNseSwKKyAgICAgICAgZXZl
biB3aGVuIHRoZSBoaXN0b3J5IG5hdmlnYXRpb24gd291bGQganVzdCByZXN1bHQgaW4gc2Nyb2xs
aW5nIHRoZQorICAgICAgICBwYWdlLiAgVGhpcyBtYXRjaGVzIHRoZSBiZWhhdmlvciBvZiBvdGhl
ciBicm93c2VycyBsaWtlIElFIGFuZCBGRi4KKworICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6c2NoZWR1bGVIaXN0b3J5TmF2
aWdhdGlvbik6CisKIDIwMDktMDUtMDUgIEphbiBNaWNoYWVsIEFsb256byAgPGptYWxvbnpvQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWGFuIExvcGV6LgpJbmRleDogbG9hZGVy
L0ZyYW1lTG9hZGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBsb2FkZXIvRnJhbWVMb2FkZXIuY3BwCShy
ZXZpc2lvbiA0MzI1MCkKKysrIGxvYWRlci9GcmFtZUxvYWRlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTE0MjksMTggKzE0MjksNiBAQCB2b2lkIEZyYW1lTG9hZGVyOjpzY2hlZHVsZUhpc3RvcnlO
YXZpZ2F0CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICAvLyBJZiB0aGUgc3RlcHMgdG8g
bmF2aWdhdGUgaXMgbm90IHplcm8gKHdoaWNoIG5lZWRzIHRvIGZvcmNlIGEgcmVsb2FkKSwgYW5k
IGlmIHdlIHRoaW5rIHRoZSBuYXZpZ2F0aW9uIGlzIGdvaW5nIHRvIGJlIGEgZnJhZ21lbnQgbG9h
ZAotICAgIC8vICh3aGVuIHRoZSBVUkwgd2UncmUgZ29pbmcgdG8gbmF2aWdhdGUgdG8gaXMgdGhl
IHNhbWUgYXMgdGhlIGN1cnJlbnQgb25lLCBleGNlcHQgZm9yIHRoZSBmcmFnbWVudCBwYXJ0IC0g
YnV0IG5vdCBleGFjdGx5IHRoZSBzYW1lIGJlY2F1c2UgdGhhdCdzIGEgcmVsb2FkKSwKLSAgICAv
LyB0aGVuIHdlIGRvbid0IG5lZWQgdG8gc2NoZWR1bGUgdGhlIG5hdmlnYXRpb24uCi0gICAgaWYg
KHN0ZXBzICE9IDApIHsKLSAgICAgICAgS1VSTCBkZXN0aW5hdGlvbiA9IGhpc3RvcnlVUkwoc3Rl
cHMpOwotICAgICAgICAvLyBGSVhNRTogVGhpcyBkb2Vzbid0IHNlZW0gbGlrZSBhIHJlbGlhYmxl
IHdheSB0byB0ZWxsIHdoZXRoZXIgb3Igbm90IHRoZSBsb2FkIHdpbGwgYmUgYSBmcmFnbWVudCBs
b2FkLgotICAgICAgICBpZiAoZXF1YWxJZ25vcmluZ1JlZihtX1VSTCwgZGVzdGluYXRpb24pICYm
IG1fVVJMICE9IGRlc3RpbmF0aW9uKSB7Ci0gICAgICAgICAgICBnb0JhY2tPckZvcndhcmQoc3Rl
cHMpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgfQotICAgIAogICAgIHNj
aGVkdWxlUmVkaXJlY3Rpb24obmV3IFNjaGVkdWxlZFJlZGlyZWN0aW9uKHN0ZXBzKSk7CiB9CiAK
QEAgLTQxODMsMjggKzQxNzEsNiBAQCBpbnQgRnJhbWVMb2FkZXI6OmdldEhpc3RvcnlMZW5ndGgo
KQogICAgIHJldHVybiAwOwogfQogCi1LVVJMIEZyYW1lTG9hZGVyOjpoaXN0b3J5VVJMKGludCBk
aXN0YW5jZSkKLXsKLSAgICBpZiAoUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKSkgewotICAg
ICAgICBCYWNrRm9yd2FyZExpc3QqIGxpc3QgPSBwYWdlLT5iYWNrRm9yd2FyZExpc3QoKTsKLSAg
ICAgICAgSGlzdG9yeUl0ZW0qIGl0ZW0gPSBsaXN0LT5pdGVtQXRJbmRleChkaXN0YW5jZSk7Ci0g
ICAgICAgIGlmICghaXRlbSkgewotICAgICAgICAgICAgaWYgKGRpc3RhbmNlID4gMCkgewotICAg
ICAgICAgICAgICAgIGludCBmb3J3YXJkTGlzdENvdW50ID0gbGlzdC0+Zm9yd2FyZExpc3RDb3Vu
dCgpOwotICAgICAgICAgICAgICAgIGlmIChmb3J3YXJkTGlzdENvdW50ID4gMCkKLSAgICAgICAg
ICAgICAgICAgICAgaXRlbSA9IGxpc3QtPml0ZW1BdEluZGV4KGZvcndhcmRMaXN0Q291bnQpOwot
ICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBpbnQgYmFja0xpc3RDb3VudCA9
IGxpc3QtPmJhY2tMaXN0Q291bnQoKTsKLSAgICAgICAgICAgICAgICBpZiAoYmFja0xpc3RDb3Vu
dCA+IDApCi0gICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBsaXN0LT5pdGVtQXRJbmRleCgtYmFj
a0xpc3RDb3VudCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGl0ZW0p
Ci0gICAgICAgICAgICByZXR1cm4gaXRlbS0+dXJsKCk7Ci0gICAgfQotICAgIHJldHVybiBLVVJM
KCk7Ci19Ci0KIHZvaWQgRnJhbWVMb2FkZXI6OmFkZEhpc3RvcnlJdGVtRm9yRnJhZ21lbnRTY3Jv
bGwoKQogewogICAgIGFkZEJhY2tGb3J3YXJkSXRlbUNsaXBwZWRBdFRhcmdldChmYWxzZSk7Cklu
ZGV4OiBsb2FkZXIvRnJhbWVMb2FkZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBsb2FkZXIvRnJhbWVMb2Fk
ZXIuaAkocmV2aXNpb24gNDMyNTApCisrKyBsb2FkZXIvRnJhbWVMb2FkZXIuaAkod29ya2luZyBj
b3B5KQpAQCAtNTI1LDggKzUyNSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBG
cmFtZSogbG9hZFN1YmZyYW1lKEhUTUxGcmFtZU93bmVyRWxlbWVudCosIGNvbnN0IEtVUkwmLCBj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgcmVmZXJyZXIpOwogCi0gICAgICAgIEtV
UkwgaGlzdG9yeVVSTChpbnQgZGlzdGFuY2UpOwotCiAgICAgICAgIC8vIFJldHVybnMgdHJ1ZSBp
ZiBhcmd1bWVudCBpcyBhIEphdmFTY3JpcHQgVVJMLgogICAgICAgICBib29sIGV4ZWN1dGVJZkph
dmFTY3JpcHRVUkwoY29uc3QgS1VSTCYsIGJvb2wgdXNlckdlc3R1cmUgPSBmYWxzZSwgYm9vbCBy
ZXBsYWNlRG9jdW1lbnQgPSB0cnVlKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30041</attachid>
            <date>2009-05-05 16:58:18 -0700</date>
            <delta_ts>2009-05-05 17:21:08 -0700</delta_ts>
            <desc>v2 patch: this time with layout test changes</desc>
            <filename>sh_2.txt</filename>
            <type>text/plain</type>
            <size>10833</size>
            <attacher name="Darin Fisher (:fishd, Google)">fishd</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MzI1MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMDktMDUtMDUgIERhcmluIEZpc2hlciAgPGRhcmluQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU1NzAKKworICAgICAgICBo
aXN0b3J5LntiYWNrLGZvcndhcmQsZ299IHNob3VsZCBhbHdheXMgYmUgZGlzcGF0Y2hlZCBhc3lu
Y2hyb25vdXNseSwKKyAgICAgICAgZXZlbiB3aGVuIHRoZSBoaXN0b3J5IG5hdmlnYXRpb24gd291
bGQganVzdCByZXN1bHQgaW4gc2Nyb2xsaW5nIHRoZQorICAgICAgICBwYWdlLiAgVGhpcyBtYXRj
aGVzIHRoZSBiZWhhdmlvciBvZiBvdGhlciBicm93c2VycyBsaWtlIElFIGFuZCBGRi4KKworICAg
ICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxv
YWRlcjo6c2NoZWR1bGVIaXN0b3J5TmF2aWdhdGlvbik6CisKIDIwMDktMDUtMDUgIEphbiBNaWNo
YWVsIEFsb256byAgPGptYWxvbnpvQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
WGFuIExvcGV6LgpJbmRleDogV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAkocmV2aXNpb24gNDMyNTIpCisr
KyBXZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE0Mjks
MTggKzE0MjksNiBAQCB2b2lkIEZyYW1lTG9hZGVyOjpzY2hlZHVsZUhpc3RvcnlOYXZpZ2F0CiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICAvLyBJZiB0aGUgc3RlcHMgdG8gbmF2aWdhdGUg
aXMgbm90IHplcm8gKHdoaWNoIG5lZWRzIHRvIGZvcmNlIGEgcmVsb2FkKSwgYW5kIGlmIHdlIHRo
aW5rIHRoZSBuYXZpZ2F0aW9uIGlzIGdvaW5nIHRvIGJlIGEgZnJhZ21lbnQgbG9hZAotICAgIC8v
ICh3aGVuIHRoZSBVUkwgd2UncmUgZ29pbmcgdG8gbmF2aWdhdGUgdG8gaXMgdGhlIHNhbWUgYXMg
dGhlIGN1cnJlbnQgb25lLCBleGNlcHQgZm9yIHRoZSBmcmFnbWVudCBwYXJ0IC0gYnV0IG5vdCBl
eGFjdGx5IHRoZSBzYW1lIGJlY2F1c2UgdGhhdCdzIGEgcmVsb2FkKSwKLSAgICAvLyB0aGVuIHdl
IGRvbid0IG5lZWQgdG8gc2NoZWR1bGUgdGhlIG5hdmlnYXRpb24uCi0gICAgaWYgKHN0ZXBzICE9
IDApIHsKLSAgICAgICAgS1VSTCBkZXN0aW5hdGlvbiA9IGhpc3RvcnlVUkwoc3RlcHMpOwotICAg
ICAgICAvLyBGSVhNRTogVGhpcyBkb2Vzbid0IHNlZW0gbGlrZSBhIHJlbGlhYmxlIHdheSB0byB0
ZWxsIHdoZXRoZXIgb3Igbm90IHRoZSBsb2FkIHdpbGwgYmUgYSBmcmFnbWVudCBsb2FkLgotICAg
ICAgICBpZiAoZXF1YWxJZ25vcmluZ1JlZihtX1VSTCwgZGVzdGluYXRpb24pICYmIG1fVVJMICE9
IGRlc3RpbmF0aW9uKSB7Ci0gICAgICAgICAgICBnb0JhY2tPckZvcndhcmQoc3RlcHMpOwotICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgfQotICAgIAogICAgIHNjaGVkdWxlUmVk
aXJlY3Rpb24obmV3IFNjaGVkdWxlZFJlZGlyZWN0aW9uKHN0ZXBzKSk7CiB9CiAKQEAgLTQxODMs
MjggKzQxNzEsNiBAQCBpbnQgRnJhbWVMb2FkZXI6OmdldEhpc3RvcnlMZW5ndGgoKQogICAgIHJl
dHVybiAwOwogfQogCi1LVVJMIEZyYW1lTG9hZGVyOjpoaXN0b3J5VVJMKGludCBkaXN0YW5jZSkK
LXsKLSAgICBpZiAoUGFnZSogcGFnZSA9IG1fZnJhbWUtPnBhZ2UoKSkgewotICAgICAgICBCYWNr
Rm9yd2FyZExpc3QqIGxpc3QgPSBwYWdlLT5iYWNrRm9yd2FyZExpc3QoKTsKLSAgICAgICAgSGlz
dG9yeUl0ZW0qIGl0ZW0gPSBsaXN0LT5pdGVtQXRJbmRleChkaXN0YW5jZSk7Ci0gICAgICAgIGlm
ICghaXRlbSkgewotICAgICAgICAgICAgaWYgKGRpc3RhbmNlID4gMCkgewotICAgICAgICAgICAg
ICAgIGludCBmb3J3YXJkTGlzdENvdW50ID0gbGlzdC0+Zm9yd2FyZExpc3RDb3VudCgpOwotICAg
ICAgICAgICAgICAgIGlmIChmb3J3YXJkTGlzdENvdW50ID4gMCkKLSAgICAgICAgICAgICAgICAg
ICAgaXRlbSA9IGxpc3QtPml0ZW1BdEluZGV4KGZvcndhcmRMaXN0Q291bnQpOwotICAgICAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICBpbnQgYmFja0xpc3RDb3VudCA9IGxpc3QtPmJh
Y2tMaXN0Q291bnQoKTsKLSAgICAgICAgICAgICAgICBpZiAoYmFja0xpc3RDb3VudCA+IDApCi0g
ICAgICAgICAgICAgICAgICAgIGl0ZW0gPSBsaXN0LT5pdGVtQXRJbmRleCgtYmFja0xpc3RDb3Vu
dCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgaWYgKGl0ZW0pCi0gICAgICAg
ICAgICByZXR1cm4gaXRlbS0+dXJsKCk7Ci0gICAgfQotICAgIHJldHVybiBLVVJMKCk7Ci19Ci0K
IHZvaWQgRnJhbWVMb2FkZXI6OmFkZEhpc3RvcnlJdGVtRm9yRnJhZ21lbnRTY3JvbGwoKQogewog
ICAgIGFkZEJhY2tGb3J3YXJkSXRlbUNsaXBwZWRBdFRhcmdldChmYWxzZSk7CkluZGV4OiBXZWJD
b3JlL2xvYWRlci9GcmFtZUxvYWRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvbG9hZGVyL0Zy
YW1lTG9hZGVyLmgJKHJldmlzaW9uIDQzMjUyKQorKysgV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2Fk
ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNTI1LDggKzUyNSw2IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogICAgICAgICBGcmFtZSogbG9hZFN1YmZyYW1lKEhUTUxGcmFtZU93bmVyRWxlbWVudCos
IGNvbnN0IEtVUkwmLCBjb25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgcmVmZXJyZXIp
OwogCi0gICAgICAgIEtVUkwgaGlzdG9yeVVSTChpbnQgZGlzdGFuY2UpOwotCiAgICAgICAgIC8v
IFJldHVybnMgdHJ1ZSBpZiBhcmd1bWVudCBpcyBhIEphdmFTY3JpcHQgVVJMLgogICAgICAgICBi
b29sIGV4ZWN1dGVJZkphdmFTY3JpcHRVUkwoY29uc3QgS1VSTCYsIGJvb2wgdXNlckdlc3R1cmUg
PSBmYWxzZSwgYm9vbCByZXBsYWNlRG9jdW1lbnQgPSB0cnVlKTsKIApJbmRleDogTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNp
b24gNDMyNjIpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEs
MyArMSwyNSBAQAorMjAwOS0wNS0wNSAgRGFyaW4gRmlzaGVyICA8ZGFyaW5AY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTU3MAorCisgICAgICAgIGhpc3Rv
cnkue2JhY2ssZm9yd2FyZCxnb30gc2hvdWxkIGFsd2F5cyBiZSBkaXNwYXRjaGVkIGFzeW5jaHJv
bm91c2x5LAorICAgICAgICBldmVuIHdoZW4gdGhlIGhpc3RvcnkgbmF2aWdhdGlvbiB3b3VsZCBq
dXN0IHJlc3VsdCBpbiBzY3JvbGxpbmcgdGhlCisgICAgICAgIHBhZ2UuICBUaGlzIG1hdGNoZXMg
dGhlIGJlaGF2aW9yIG9mIG90aGVyIGJyb3dzZXJzIGxpa2UgSUUgYW5kIEZGLgorCisgICAgICAg
ICogZmFzdC9jc3MvdGFyZ2V0LWZyYWdtZW50LW1hdGNoLmh0bWw6IHNpbmNlIGhpc3RvcnkuYmFj
ayB0YWtlcyBlZmZlY3QKKyAgICAgICAgYXN5bmNocm9ub3VzbHksIHdlIG5lZWQgdG8gZGVmZXIg
dGhlIGNhbGwgdG8gbm90aWZ5RG9uZQorCisgICAgICAgICogZmFzdC9kb20vbG9jYXRpb24taGFz
aC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vbG9jYXRpb24taGFzaC5odG1sOiBz
aW5jZSBoaXN0b3J5LntiYWNrLGZvcndhcmR9IHRha2UgZWZmZWN0CisgICAgICAgIGFzeW5jaHJv
bm91c2x5LCB3ZSBuZWVkIHRvIGRlZmVyIGNoZWNraW5nIHRoYXQgdGhlIG5hdmlnYXRpb24gcmVz
dWx0cy4KKworICAgICAgICAqIGZhc3QvaGlzdG9yeS9iYWNrLWZvcndhcmQtaXMtYXN5bmNocm9u
b3VzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9oaXN0b3J5L2JhY2stZm9y
d2FyZC1pcy1hc3luY2hyb25vdXMuaHRtbDogQWRkZWQuCisgICAgICAgIEEgdGVzdCB0byBzcGVj
aWZpY2FsbHkgZW5zdXJlIHRoYXQgaGlzdG9yeS57YmFjayxmb3J3YXJkfSBhcmUgcHJvY2Vzc2Vk
CisgICAgICAgIGFzeW5jaHJvbm91c2x5LgorCiAyMDA5LTA1LTA1ICBDaHJpcyBGbGVpemFjaCAg
PGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQmV0aCBEYWtpbi4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3RhcmdldC1mcmFnbWVudC1tYXRjaC5odG1sCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3RhcmdldC1mcmFnbWVudC1tYXRjaC5o
dG1sCShyZXZpc2lvbiA0MzI1MikKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3RhcmdldC1mcmFn
bWVudC1tYXRjaC5odG1sCSh3b3JraW5nIGNvcHkpCkBAIC0xMyw5ICsxMyw5IEBAIGZ1bmN0aW9u
IHRlc3QoKQogICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CiAg
ICAgd2luZG93LmxvY2F0aW9uLmhhc2ggPScjdGFyZ2V0LTAxJzsKICAgICBkb2N1bWVudC5ib2R5
Lm9mZnNldFRvcDsKLSAgICB3aW5kb3cuaGlzdG9yeS5iYWNrKCk7CisgICAgd2luZG93Lmhpc3Rv
cnkuYmFjaygpOyAvLyBUaGlzIHF1ZXVlcyB1cCBhIG5hdmlnYXRpb24sIHNvIHdlIG5lZWQgdG8g
ZGVsYXkgdGhlIGNhbGwgdG8gbm90aWZ5RG9uZS4KICAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQotICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7Cisg
ICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlm
eURvbmUoKSB9LCAwKTsKIH0KIDwvc2NyaXB0PgogPC9oZWFkPgpJbmRleDogTGF5b3V0VGVzdHMv
ZmFzdC9kb20vbG9jYXRpb24taGFzaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvZmFzdC9kb20vbG9jYXRpb24taGFzaC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQzMjUy
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vbG9jYXRpb24taGFzaC1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTExLDEwICsxMSwxNiBAQCBQQVNTOiB3aW5kb3cuaGlzdG9yeS5sZW5n
dGggPT0gb3JpZ2luYWxICiBQQVNTOiB3aW5kb3cubG9jYXRpb24uaGFzaCBzaG91bGQgYmUgI2Jh
ciBhbmQgaXMuCiBQQVNTOiB3aW5kb3cubG9jYXRpb24gPT0gb3JpZ2luYWxMb2NhdGlvbiArICcj
YmFyJyBzaG91bGQgYmUgdHJ1ZSBhbmQgaXMuCiBQQVNTOiB3aW5kb3cuaGlzdG9yeS5sZW5ndGgg
PT0gb3JpZ2luYWxIaXN0b3J5TGVuZ3RoICsgMiBzaG91bGQgYmUgdHJ1ZSBhbmQgaXMuCitQQVNT
OiB3aW5kb3cubG9jYXRpb24uaGFzaCBzaG91bGQgYmUgI2JhciBhbmQgaXMuCitQQVNTOiB3aW5k
b3cubG9jYXRpb24gPT0gb3JpZ2luYWxMb2NhdGlvbiArICcjYmFyJyBzaG91bGQgYmUgdHJ1ZSBh
bmQgaXMuCitQQVNTOiB3aW5kb3cubG9jYXRpb24uaGFzaCBzaG91bGQgYmUgI2ZvbyBhbmQgaXMu
CitQQVNTOiB3aW5kb3cubG9jYXRpb24gPT0gb3JpZ2luYWxMb2NhdGlvbiArICcjZm9vJyBzaG91
bGQgYmUgdHJ1ZSBhbmQgaXMuCiBQQVNTOiB3aW5kb3cubG9jYXRpb24uaGFzaCBzaG91bGQgYmUg
I2ZvbyBhbmQgaXMuCiBQQVNTOiB3aW5kb3cubG9jYXRpb24gPT0gb3JpZ2luYWxMb2NhdGlvbiAr
ICcjZm9vJyBzaG91bGQgYmUgdHJ1ZSBhbmQgaXMuCiBQQVNTOiB3aW5kb3cubG9jYXRpb24uaGFz
aCBzaG91bGQgYmUgYW5kIGlzLgogUEFTUzogd2luZG93LmxvY2F0aW9uID09IG9yaWdpbmFsTG9j
YXRpb24gc2hvdWxkIGJlIHRydWUgYW5kIGlzLgorUEFTUzogd2luZG93LmxvY2F0aW9uLmhhc2gg
c2hvdWxkIGJlIGFuZCBpcy4KK1BBU1M6IHdpbmRvdy5sb2NhdGlvbiA9PSBvcmlnaW5hbExvY2F0
aW9uIHNob3VsZCBiZSB0cnVlIGFuZCBpcy4KIFBBU1M6IHdpbmRvdy5sb2NhdGlvbi5oYXNoIHNo
b3VsZCBiZSAjZm9vIGFuZCBpcy4KIFBBU1M6IHdpbmRvdy5sb2NhdGlvbiA9PSBvcmlnaW5hbExv
Y2F0aW9uICsgJyNmb28nIHNob3VsZCBiZSB0cnVlIGFuZCBpcy4KIFNVQ0NFU1MhCkluZGV4OiBM
YXlvdXRUZXN0cy9mYXN0L2RvbS9sb2NhdGlvbi1oYXNoLmh0bWwKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvZmFzdC9kb20vbG9jYXRpb24taGFzaC5odG1sCShyZXZpc2lvbiA0MzI1MikKKysr
IExheW91dFRlc3RzL2Zhc3QvZG9tL2xvY2F0aW9uLWhhc2guaHRtbAkod29ya2luZyBjb3B5KQpA
QCAtMjQsNyArMjQsNyBAQAogICAgIAogICAgIGZ1bmN0aW9uIHN0ZXAoKSB7CiAgICAgICAgIHN3
aXRjaCAoc3RhdGUpIHsKLSAgICAgICAgICAgIGNhc2UgMDoKKyAgICAgICAgY2FzZSAwOgogICAg
ICAgICAgICAgc2hvdWxkQmUoJ3dpbmRvdy5oaXN0b3J5Lmxlbmd0aCA9PSBvcmlnaW5hbEhpc3Rv
cnlMZW5ndGgnLCB0cnVlKTsKICAgICAgICAgICAgIHNob3VsZEJlKCd3aW5kb3cubG9jYXRpb24u
aGFzaCcsICcnKTsKICAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5oYXNoID0gJ2Zvbyc7CkBA
IC00NSwyMSArNDUsMzMgQEAKICAgICAgICAgICAgIHNob3VsZEJlKCd3aW5kb3cuaGlzdG9yeS5s
ZW5ndGggPT0gb3JpZ2luYWxIaXN0b3J5TGVuZ3RoICsgMicsIHRydWUpOwogICAgICAgICAgICAg
YnJlYWs7ICAgICAgICAKICAgICAgICAgY2FzZSAzOgotICAgICAgICAgICAgd2luZG93Lmhpc3Rv
cnkuYmFjaygpOworICAgICAgICAgICAgd2luZG93Lmhpc3RvcnkuYmFjaygpOyAvLyBUaGlzIHNo
b3VsZCB0YWtlIGVmZmVjdCBhc3luY2hyb25vdXNseQorICAgICAgICAgICAgc2hvdWxkQmUoJ3dp
bmRvdy5sb2NhdGlvbi5oYXNoJywgJyNiYXInKTsKKyAgICAgICAgICAgIHNob3VsZEJlKCJ3aW5k
b3cubG9jYXRpb24gPT0gb3JpZ2luYWxMb2NhdGlvbiArICcjYmFyJyIsIHRydWUpOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgNDoKICAgICAgICAgICAgIHNob3VsZEJlKCd3aW5k
b3cubG9jYXRpb24uaGFzaCcsICcjZm9vJyk7CiAgICAgICAgICAgICBzaG91bGRCZSgid2luZG93
LmxvY2F0aW9uID09IG9yaWdpbmFsTG9jYXRpb24gKyAnI2ZvbyciLCB0cnVlKTsKICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICBjYXNlIDQ6Ci0gICAgICAgICAgICB3aW5kb3cuaGlzdG9yeS5i
YWNrKCk7CisgICAgICAgIGNhc2UgNToKKyAgICAgICAgICAgIHdpbmRvdy5oaXN0b3J5LmJhY2so
KTsgLy8gVGhpcyBzaG91bGQgdGFrZSBlZmZlY3QgYXN5bmNocm9ub3VzbHkKKyAgICAgICAgICAg
IHNob3VsZEJlKCd3aW5kb3cubG9jYXRpb24uaGFzaCcsICcjZm9vJyk7CisgICAgICAgICAgICBz
aG91bGRCZSgid2luZG93LmxvY2F0aW9uID09IG9yaWdpbmFsTG9jYXRpb24gKyAnI2ZvbyciLCB0
cnVlKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIDY6CiAgICAgICAgICAgICBz
aG91bGRCZSgnd2luZG93LmxvY2F0aW9uLmhhc2gnLCAnJyk7CiAgICAgICAgICAgICBzaG91bGRC
ZSgid2luZG93LmxvY2F0aW9uID09IG9yaWdpbmFsTG9jYXRpb24iLCB0cnVlKTsKICAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICBjYXNlIDU6Ci0gICAgICAgICAgICB3aW5kb3cuaGlzdG9yeS5m
b3J3YXJkKCk7CisgICAgICAgIGNhc2UgNzoKKyAgICAgICAgICAgIHdpbmRvdy5oaXN0b3J5LmZv
cndhcmQoKTsgLy8gVGhpcyBzaG91bGQgdGFrZSBlZmZlY3QgYXN5bmNocm9ub3VzbHkKKyAgICAg
ICAgICAgIHNob3VsZEJlKCd3aW5kb3cubG9jYXRpb24uaGFzaCcsICcnKTsKKyAgICAgICAgICAg
IHNob3VsZEJlKCJ3aW5kb3cubG9jYXRpb24gPT0gb3JpZ2luYWxMb2NhdGlvbiIsIHRydWUpOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgODoKICAgICAgICAgICAgIHNob3VsZEJl
KCd3aW5kb3cubG9jYXRpb24uaGFzaCcsICcjZm9vJyk7CiAgICAgICAgICAgICBzaG91bGRCZSgi
d2luZG93LmxvY2F0aW9uID09IG9yaWdpbmFsTG9jYXRpb24gKyAnI2ZvbyciLCB0cnVlKTsKICAg
ICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIDY6CisgICAgICAgIGNhc2UgOToKICAgICAg
ICAgICAgIHdpbmRvdy5sb2NhdGlvbi5oYXNoID0gJyc7CiAgICAgICAgICAgICBpZiAobnVtRXJy
b3JzID09IDApCiAgICAgICAgICAgICAgICAgcHJpbnQoIlNVQ0NFU1MhIiwgImdyZWVuIikKQEAg
LTczLDcgKzg1LDcgQEAKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgc3RhdGUgKys7Ci0g
ICAgICAgIHN0ZXAoKTsKKyAgICAgICAgc2V0VGltZW91dChzdGVwLCAwKTsKICAgICB9CiAgICAg
ICAgIAogICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkgewpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9o
aXN0b3J5L2JhY2stZm9yd2FyZC1pcy1hc3luY2hyb25vdXMtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvaGlzdG9yeS9iYWNrLWZvcndhcmQtaXMtYXN5bmNocm9u
b3VzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvaGlzdG9y
eS9iYWNrLWZvcndhcmQtaXMtYXN5bmNocm9ub3VzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSBAQAorUEFTUwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L2JhY2st
Zm9yd2FyZC1pcy1hc3luY2hyb25vdXMuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2hpc3RvcnkvYmFjay1mb3J3YXJkLWlzLWFzeW5jaHJvbm91cy5odG1sCShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9oaXN0b3J5L2JhY2stZm9yd2FyZC1pcy1hc3luY2hyb25v
dXMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MCBAQAorPGh0bWw+Cis8aGVhZD4KKzxz
Y3JpcHQ+Cit2YXIgc2Nyb2xsQ291bnRlciA9IDA7CisKK2Z1bmN0aW9uIHJ1blRlc3QoKQorewor
ICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53
YWl0VW50aWxEb25lKCk7CisgICAgfQorCisgICAgLy8gVGhpcyB0YWtlcyBlZmZlY3Qgc3luY2hy
b25vdXNseSwgYW5kIHRoZSByZXN1bHQgaXMgdGhhdCB3ZSBzY3JvbGwgdG8gImZvbyIuCisgICAg
bG9jYXRpb24uaGFzaCA9ICIjZm9vIjsKKworICAgIC8vIFRoaXMgc2hvdWxkIHRha2UgZWZmZWN0
IGFzeW5jaHJvbm91c2x5LCBhbmQgdGhlIHJlc3VsdCBzaG91bGQgYmUgdGhhdCB3ZQorICAgIC8v
IHNjcm9sbCBiYWNrIHRvIHRoZSB0b3Agb2YgdGhlIHBhZ2UuICBJZiB0aGlzIGhhcHBlbnMgc3lu
Y2hyb25vdXNseSwgdGhlbgorICAgIC8vIHNjcm9sbENvdW50ZXIgd2lsbCBiZSBpbmNyZW1lbnRl
ZCBhZ2FpbiBieSB0aGUgdGltZSBoaXN0b3J5LmJhY2sgcmV0dXJucy4KKyAgICBoaXN0b3J5LmJh
Y2soKTsKKworICAgIHZhciBkaWRTY3JvbGxBZ2FpbiA9IHNjcm9sbENvdW50ZXIgIT0gMTsKKyAg
CisgICAgZG9jdW1lbnQuYm9keS5yZXBsYWNlQ2hpbGQoCisgICAgICAgIGRvY3VtZW50LmNyZWF0
ZVRleHROb2RlKGRpZFNjcm9sbEFnYWluID8gIkZBSUwiIDogIlBBU1MiKSwKKyAgICAgICAgZG9j
dW1lbnQuYm9keS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiRElWIilbMF0pCisKKyAgICAvLyBEZWZl
ciBjYWxsaW5nIG5vdGlmeURvbmUgdW50aWwgdGhlIGhpc3RvcnkuYmFjaygpIGNhbGwgY29tcGxl
dGVzLiAgVGhpcworICAgIC8vIHNob3VsZCBub3QgYmUgbmVjZXNzYXJ5LCBidXQgdGhlIHRlc3Qg
ZnJhbWV3b3JrIG1pZ2h0IGdldCBjb25mdXNlZCBpZiBpdAorICAgIC8vIG5hdmlnYXRlcyB0byB0
aGUgbmV4dCB0ZXN0IGJlZm9yZSB0aGUgaGlzdG9yeS5iYWNrKCkgY2FsbCBjb21wbGV0ZXMuCisg
ICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgc2V0VGltZW91dChm
dW5jdGlvbigpIHsgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpIH0sIDApOworfQor
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSIgb25zY3JvbGw9InNj
cm9sbENvdW50ZXIrKyI+CisgICAgPGRpdiBzdHlsZT0icGFkZGluZy10b3A6IDEwMDAwcHgiPgor
ICAgICAgICA8YSBuYW1lPSJmb28iPmZvbzwvYT4KKyAgICA8L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4K
</data>
<flag name="review"
          id="15076"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>