<?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>35953</bug_id>
          
          <creation_ts>2010-03-09 18:49:11 -0800</creation_ts>
          <short_desc>REGRESSION: Docked/Undocked state of inspector broken on Windows</short_desc>
          <delta_ts>2010-03-10 09:20:52 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</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="Brady Eidson">beidson</reporter>
          <assigned_to name="Brady Eidson">beidson</assigned_to>
          <cc>eric</cc>
    
    <cc>joepeck</cc>
    
    <cc>pfeldman</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>197854</commentid>
    <comment_count>0</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-03-09 18:49:11 -0800</bug_when>
    <thetext>Docked/Undocked state of inspector horribly broken on Windows.

The Inspector window ends up in an awful hybrid state where it half-thinks it is docked, have doesn&apos;t, and draws horribly.

This regressed when I made changes to prevent docking if the host window would be too small in http://trac.webkit.org/changeset/55172 and http://trac.webkit.org/changeset/55107.

When you bring up the web inspector, the following occurs:
In WebCore::InspectorController::scriptObjectReady(), showWindow() is called.  This calls up to InspectorClient::showWindow() which - in both the Windows and Mac case - calls InspectorController::setWindowVisible(true, &lt;shouldattach&gt;), which then later calls back up to InspectorClient::showWindow().

In both the windows and mac case, InspectorClient::showWindow() isn&apos;t design to be called twice in this re-entrant manner, nor do I think it should be.

The crux of the problem is that scriptObjectReader() *actually* wants to call setWindowVisible(true, &lt;shouldattach&gt;) directly.  One thing that probably kept us from doing it this way is that the InspectorController didn&apos;t know how to make the decision &quot;should I be attached, or not?&quot;

Indeed, both Windows and Mac have their own copies of the &quot;inspectorStartsAttached&quot; settings key.  While the InspectorController in WebCore has it&apos;s own copies of many other settings keys, it doesn&apos;t know about this one at all.

I&apos;ve verified locally that having scriptObjectReady() call setWindowVisible() directly fixes this, and I think we need to clean up this mess!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197856</commentid>
    <comment_count>1</comment_count>
      <attachid>50365</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-03-09 18:58:29 -0800</bug_when>
    <thetext>Created attachment 50365
The fix

This is the fix.  Not putting it up for review yet, because the settings hack is something that isn&apos;t sustainable.  Mac and Windows clients each have their own copy of the key that they use in multiple places, for example.

We should strongly consider moving the keys to some sort of interface that could be used in WebCore and by the WebKit clients so it&apos;d be much harder for them to get out of sync.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197859</commentid>
    <comment_count>2</comment_count>
      <attachid>50367</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-03-09 19:34:27 -0800</bug_when>
    <thetext>Created attachment 50367
Real fix, with some more proper sharing of the settings key in quesiton</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197860</commentid>
    <comment_count>3</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-09 19:37:04 -0800</bug_when>
    <thetext>Attachment 50367 did not build on mac:
Build output: http://webkit-commit-queue.appspot.com/results/549005</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197865</commentid>
    <comment_count>4</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-03-09 20:17:15 -0800</bug_when>
    <thetext>Dammit, forgot to change the *right* WebCore.exp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197868</commentid>
    <comment_count>5</comment_count>
      <attachid>50368</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-03-09 20:21:16 -0800</bug_when>
    <thetext>Created attachment 50368
Include WebCore.base.exp in the fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197873</commentid>
    <comment_count>6</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-03-09 20:53:36 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/55761</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197889</commentid>
    <comment_count>7</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-03-09 22:10:13 -0800</bug_when>
    <thetext>Brady, it would be great if you could use http://webkit.org/new-inspector-bug when filing inspector-related issues!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197892</commentid>
    <comment_count>8</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-03-09 22:17:59 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Brady, it would be great if you could use http://webkit.org/new-inspector-bug
&gt; when filing inspector-related issues!

I&apos;d be more than happy to, and love the idea.

But the normal workflow for filing &quot;any webkit bug&quot; is to visit bugs.webkit.org.
So:
- How was I supposed to know about this deviation from the normal workflow before now?
- Is it linked from the main WebKit site anywhere?
- It seems to be a feature of http://webkit.org, so why don&apos;t I see any mention of it in the WebKitSite directory of the source tree?
- Shouldn&apos;t it be linked from bugs.webkit.org when you&apos;re filing a new bug?
- If there&apos;s any other such convenience templates for other bugs, what are they?
and finally...
- If there&apos;s any other such templates... answer all the above questions for them  :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>197893</commentid>
    <comment_count>9</comment_count>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-03-09 22:24:07 -0800</bug_when>
    <thetext>Too many questions I can&apos;t answer. The only place it is published is our channel. Now that you know about it, would be great if you could use it!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198155</commentid>
    <comment_count>10</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2010-03-10 08:33:25 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; - It seems to be a feature of http://webkit.org, so why don&apos;t I see any mention
&gt; of it in the WebKitSite directory of the source tree?

These are redirects set-up on the server, uneditable by the public.  We got this link updated through emails to an admin. The only other ones I&apos;m aware of are linked from:
http://nightly.webkit.org/start/trunk/55516

They are &quot;Forgotten Patches&quot;, &quot;Patches awaiting Review&quot;, and &quot;Approved Patches&quot;, each use the short link style.

I agree its confusing, but its also very nice. I also haven&apos;t seen any other templates like it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>198172</commentid>
    <comment_count>11</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2010-03-10 09:20:52 -0800</bug_when>
    <thetext>(In reply to comment #10)

&gt; I agree its confusing, but its also very nice. I also haven&apos;t seen any other
&gt; templates like it.

It wouldn&apos;t be confusing if it was described somewhere and easily accessible.

I&apos;m working with Bill on this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50365</attachid>
            <date>2010-03-09 18:58:29 -0800</date>
            <delta_ts>2010-03-09 19:34:27 -0800</delta_ts>
            <desc>The fix</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>1379</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCShyZXZpc2lv
biA1NTczOSkKKysrIFdlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMTgsNiArMTE4LDcgQEAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0
IHJlc291cmNlVHJhY2tpbgogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGRlYnVnZ2VyRW5hYmxl
ZFNldHRpbmdOYW1lID0gImRlYnVnZ2VyRW5hYmxlZCI7CiBzdGF0aWMgY29uc3QgY2hhciogY29u
c3QgcHJvZmlsZXJFbmFibGVkU2V0dGluZ05hbWUgPSAicHJvZmlsZXJFbmFibGVkIjsKIHN0YXRp
YyBjb25zdCBjaGFyKiBjb25zdCBpbnNwZWN0b3JBdHRhY2hlZEhlaWdodE5hbWUgPSAiaW5zcGVj
dG9yQXR0YWNoZWRIZWlnaHQiOworc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGluc3BlY3RvclN0
YXJ0c0F0dGFjaGVkTmFtZSA9ICJpbnNwZWN0b3JTdGFydHNBdHRhY2hlZCI7CiBzdGF0aWMgY29u
c3QgY2hhciogY29uc3QgbGFzdEFjdGl2ZVBhbmVsU2V0dGluZ05hbWUgPSAibGFzdEFjdGl2ZVBh
bmVsIjsKIGNvbnN0IGNoYXIqIGNvbnN0IEluc3BlY3RvckNvbnRyb2xsZXI6OkZyb250ZW5kU2V0
dGluZ3NTZXR0aW5nTmFtZSA9ICJmcm9udGVuZFNldHRpbmdzIjsKIApAQCAtNTU0LDggKzU1NSwx
NSBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OnNjcmlwdE9iamVjdFJlCiAgICAgICAgIGVu
YWJsZVByb2ZpbGVyKCk7CiAjZW5kaWYKIAorICAgIC8vIElmIG5vIHByZWZlcmVuY2UgaXMgc2V0
IC0gZGVmYXVsdCB0byBhbiBhdHRhY2hlZCB3aW5kb3cuIFRoaXMgaXMgaW1wb3J0YW50IGZvciBp
bnNwZWN0b3IgTGF5b3V0VGVzdHMuCisgICAgU3RyaW5nIHNob3VsZEF0dGFjaFZhbHVlID0gc2V0
dGluZyhpbnNwZWN0b3JTdGFydHNBdHRhY2hlZE5hbWUpOworICAgIGJvb2wgc2hvdWxkQXR0YWNo
ID0gc2hvdWxkQXR0YWNoVmFsdWUgIT0gImZhbHNlIjsKKyAgICAKKyAgICBpZiAoc2hvdWxkQXR0
YWNoICYmICFjYW5BdHRhY2hXaW5kb3coKSkKKyAgICAgICAgc2hvdWxkQXR0YWNoID0gZmFsc2U7
CisKICAgICAvLyBNYWtlIHN1cmUgb3VyIHdpbmRvdyBpcyB2aXNpYmxlIG5vdyB0aGF0IHRoZSBw
YWdlIGxvYWRlZAotICAgIHNob3dXaW5kb3coKTsKKyAgICBzZXRXaW5kb3dWaXNpYmxlKHRydWUs
IHNob3VsZEF0dGFjaCk7CiAKICAgICBtX2NsaWVudC0+aW5zcGVjdG9yV2luZG93T2JqZWN0Q2xl
YXJlZCgpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50367</attachid>
            <date>2010-03-09 19:34:27 -0800</date>
            <delta_ts>2010-03-09 20:21:16 -0800</delta_ts>
            <desc>Real fix, with some more proper sharing of the settings key in quesiton</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>11954</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTc1OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzEgQEAKKzIwMTAtMDMtMDkgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJF
R1JFU1NJT046IFdlYkluc3BlY3RvciBkb2NraW5nIGJ1c3RlZCBvbiBXaW5kb3dzCisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS83NzI4NDMzPiBhbmQgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTM1OTUzCisKKyAgICAgICAgRmlyc3Qgb2ZmLCBhIGJpdCBvZiBzZXR0aW5n
cy1rZXkgcmVsYXRlZCBjbGVhbnVwLiBJZiB0aGV5J3JlIHNoYXJlZCBvdmVyIG11bHRpcGxlIGZp
bGVzLCB0aGVzZSAKKyAgICAgICAgdGhpbmdzIHNob3VsZCBiZSBwcm9wZXJseSBkZWNsYXJlZCBT
dHJpbmdzLCBub3QgcmFuZG9tIGxvb3NlIGNoYXIqJ3MuCisKKyAgICAgICAgQWxvbmcgd2l0aCB0
aGF0IGNoYW5nZSwgd2UgbW92ZSB0aGUgImluc3BlY3RvclN0YXJ0c0F0dGFjaGVkU2V0dGluZ05h
bWUiIGZyb20gV2ViS2l0IGRvd24gdG8gdGhlCisgICAgICAgIEluc3BlY3RvckNvbnRyb2xsZXIg
aW4gV2ViQ29yZS4KKworICAgICAgICBGaW5hbGx5LCB3aGVuIHRoZSBjb250cm9sbGVyIGlzIHJl
YWR5IHRvIHNob3cgdGhlIFdlYkluc3BlY3RvciB3aW5kb3csIGl0IGNhbiB1c2UgdGhpcyBuZXds
eQorICAgICAgICBleHBvc2VkIHNldHRpbmdzIGtleSB0byBjYWxsICJzZXRXaW5kb3dWaXNpYmxl
IiBkaXJlY3RseSBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gInNob3dXaW5kb3ciIHRvIGRvCisgICAg
ICAgIGl0IGluZGlyZWN0bHkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQmFja2Vu
ZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JCYWNrZW5kOjpzYXZlRnJvbnRlbmRT
ZXR0aW5ncyk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6ZnJvbnRlbmRTZXR0aW5nc1Nl
dHRpbmdOYW1lKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6Omluc3Bl
Y3RvclN0YXJ0c0F0dGFjaGVkU2V0dGluZ05hbWUpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVj
dG9yQ29udHJvbGxlcjo6c2NyaXB0T2JqZWN0UmVhZHkpOiBVc2luZyB0aGUgbmV3IGluc3BlY3Rv
clN0YXJ0c0F0dGFjaGVkU2V0dGluZ05hbWUKKyAgICAgICAgICBrZXkgYW5kIHNvbWUgImNhbiBJ
IGF0dGFjaCB0aGlzPyIgbG9naWMsIGNhbGwgc2V0V2luZG93VmlzaWJsZSBkaXJlY3RseSB0byBk
aXNwbGF5IHRoZSBpbnNwZWN0b3IKKyAgICAgICAgICB3aW5kb3cuCisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JDb250cm9sbGVyOjpwb3B1bGF0ZVNjcmlwdE9iamVjdHMpOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmg6CisKIDIwMTAtMDMtMDkgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVy
IEh1bnQuCkluZGV4OiBXZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kLmNwcAkocmV2aXNp
b24gNTU3MzkpCisrKyBXZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JCYWNrZW5kLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIw
MDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA3
LCAyMDA4LCAyMDA5LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENv
cHlyaWdodCAoQykgMjAwOCBNYXR0IExpbGVrIDx3ZWJraXRAbWF0dGxpbGVrLmNvbT4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKQEAgLTgyLDcgKzgyLDcgQEAgSW5zcGVjdG9yQmFja2VuZDo6fkluc3BlY3Rv
ckJhY2tlbmQoKQogdm9pZCBJbnNwZWN0b3JCYWNrZW5kOjpzYXZlRnJvbnRlbmRTZXR0aW5ncyhj
b25zdCBTdHJpbmcmIHNldHRpbmdzKQogewogICAgIGlmIChtX2luc3BlY3RvckNvbnRyb2xsZXIp
Ci0gICAgICAgIG1faW5zcGVjdG9yQ29udHJvbGxlci0+c2V0U2V0dGluZyhJbnNwZWN0b3JDb250
cm9sbGVyOjpGcm9udGVuZFNldHRpbmdzU2V0dGluZ05hbWUsIHNldHRpbmdzKTsKKyAgICAgICAg
bV9pbnNwZWN0b3JDb250cm9sbGVyLT5zZXRTZXR0aW5nKEluc3BlY3RvckNvbnRyb2xsZXI6OmZy
b250ZW5kU2V0dGluZ3NTZXR0aW5nTmFtZSgpLCBzZXR0aW5ncyk7CiB9CiAKIHZvaWQgSW5zcGVj
dG9yQmFja2VuZDo6c3RvcmVMYXN0QWN0aXZlUGFuZWwoY29uc3QgU3RyaW5nJiBwYW5lbE5hbWUp
CkluZGV4OiBXZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAkocmV2aXNp
b24gNTU3MzkpCisrKyBXZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDcs
IDIwMDgsIDIwMDkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqIENvcHlyaWdodCAoQykgMjAwOCBNYXR0IExpbGVrIDx3ZWJraXRAbWF0dGxpbGVrLmNv
bT4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKQEAgLTExOSw3ICsxMTksMTggQEAgc3RhdGljIGNvbnN0IGNo
YXIqIGNvbnN0IGRlYnVnZ2VyRW5hYmxlZAogc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IHByb2Zp
bGVyRW5hYmxlZFNldHRpbmdOYW1lID0gInByb2ZpbGVyRW5hYmxlZCI7CiBzdGF0aWMgY29uc3Qg
Y2hhciogY29uc3QgaW5zcGVjdG9yQXR0YWNoZWRIZWlnaHROYW1lID0gImluc3BlY3RvckF0dGFj
aGVkSGVpZ2h0IjsKIHN0YXRpYyBjb25zdCBjaGFyKiBjb25zdCBsYXN0QWN0aXZlUGFuZWxTZXR0
aW5nTmFtZSA9ICJsYXN0QWN0aXZlUGFuZWwiOwotY29uc3QgY2hhciogY29uc3QgSW5zcGVjdG9y
Q29udHJvbGxlcjo6RnJvbnRlbmRTZXR0aW5nc1NldHRpbmdOYW1lID0gImZyb250ZW5kU2V0dGlu
Z3MiOworCitjb25zdCBTdHJpbmcmIEluc3BlY3RvckNvbnRyb2xsZXI6OmZyb250ZW5kU2V0dGlu
Z3NTZXR0aW5nTmFtZSgpCit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHJpbmcsIHNldHRp
bmdOYW1lLCAoImZyb250ZW5kU2V0dGluZ3MiKSk7CisgICAgcmV0dXJuIHNldHRpbmdOYW1lOwor
fQorCitjb25zdCBTdHJpbmcmIEluc3BlY3RvckNvbnRyb2xsZXI6Omluc3BlY3RvclN0YXJ0c0F0
dGFjaGVkU2V0dGluZ05hbWUoKQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3RyaW5nLCBz
ZXR0aW5nTmFtZSwgKCJpbnNwZWN0b3JTdGFydHNBdHRhY2hlZCIpKTsKKyAgICByZXR1cm4gc2V0
dGluZ05hbWU7Cit9CiAKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBkZWZhdWx0QXR0YWNoZWRIZWln
aHQgPSAzMDA7CiBzdGF0aWMgY29uc3QgZmxvYXQgbWluaW11bUF0dGFjaGVkSGVpZ2h0ID0gMjUw
LjBmOwpAQCAtNTU0LDggKzU2NSwxNSBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OnNjcmlw
dE9iamVjdFJlCiAgICAgICAgIGVuYWJsZVByb2ZpbGVyKCk7CiAjZW5kaWYKIAorICAgIC8vIElm
IG5vIHByZWZlcmVuY2UgaXMgc2V0IC0gZGVmYXVsdCB0byBhbiBhdHRhY2hlZCB3aW5kb3cuIFRo
aXMgaXMgaW1wb3J0YW50IGZvciBpbnNwZWN0b3IgTGF5b3V0VGVzdHMuCisgICAgU3RyaW5nIHNo
b3VsZEF0dGFjaFZhbHVlID0gc2V0dGluZyhpbnNwZWN0b3JTdGFydHNBdHRhY2hlZFNldHRpbmdO
YW1lKCkpOworICAgIGJvb2wgc2hvdWxkQXR0YWNoID0gc2hvdWxkQXR0YWNoVmFsdWUgIT0gImZh
bHNlIjsKKyAgICAKKyAgICBpZiAoc2hvdWxkQXR0YWNoICYmICFjYW5BdHRhY2hXaW5kb3coKSkK
KyAgICAgICAgc2hvdWxkQXR0YWNoID0gZmFsc2U7CisKICAgICAvLyBNYWtlIHN1cmUgb3VyIHdp
bmRvdyBpcyB2aXNpYmxlIG5vdyB0aGF0IHRoZSBwYWdlIGxvYWRlZAotICAgIHNob3dXaW5kb3co
KTsKKyAgICBzZXRXaW5kb3dWaXNpYmxlKHRydWUsIHNob3VsZEF0dGFjaCk7CiAKICAgICBtX2Ns
aWVudC0+aW5zcGVjdG9yV2luZG93T2JqZWN0Q2xlYXJlZCgpOwogfQpAQCAtNjcxLDcgKzY4OSw3
IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6cG9wdWxhdGVTY3JpcHQKICAgICBpZiAoIW1f
ZnJvbnRlbmQpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fZnJvbnRlbmQtPnBvcHVsYXRlRnJv
bnRlbmRTZXR0aW5ncyhzZXR0aW5nKEZyb250ZW5kU2V0dGluZ3NTZXR0aW5nTmFtZSkpOworICAg
IG1fZnJvbnRlbmQtPnBvcHVsYXRlRnJvbnRlbmRTZXR0aW5ncyhzZXR0aW5nKGZyb250ZW5kU2V0
dGluZ3NTZXR0aW5nTmFtZSgpKSk7CiAKICAgICBpZiAobV9yZXNvdXJjZVRyYWNraW5nRW5hYmxl
ZCkKICAgICAgICAgbV9mcm9udGVuZC0+cmVzb3VyY2VUcmFja2luZ1dhc0VuYWJsZWQoKTsKSW5k
ZXg6IFdlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgJKHJldmlzaW9uIDU1NzM5
KQorKysgV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCSh3b3JraW5nIGNv
cHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDgsIDIwMDks
IDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCkBAIC0yNTIsOCArMjUyLDExIEBAIHB1YmxpYzoKICAgICB2b2lkIGFkZFNj
cmlwdFRvRXZhbHVhdGVPbkxvYWQoY29uc3QgU3RyaW5nJiBzb3VyY2UpOwogICAgIHZvaWQgcmVt
b3ZlQWxsU2NyaXB0c1RvRXZhbHVhdGVPbkxvYWQoKTsKIAorICAgIHN0YXRpYyBjb25zdCBTdHJp
bmcmIGluc3BlY3RvclN0YXJ0c0F0dGFjaGVkU2V0dGluZ05hbWUoKTsKKwogcHJpdmF0ZToKLSAg
ICBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgRnJvbnRlbmRTZXR0aW5nc1NldHRpbmdOYW1lOwor
ICAgIHN0YXRpYyBjb25zdCBTdHJpbmcmIGZyb250ZW5kU2V0dGluZ3NTZXR0aW5nTmFtZSgpOwor
CiAgICAgZnJpZW5kIGNsYXNzIEluc3BlY3RvckJhY2tlbmQ7CiAgICAgZnJpZW5kIGNsYXNzIElu
c3BlY3RvckZyb250ZW5kSG9zdDsKICAgICBmcmllbmQgY2xhc3MgSW5qZWN0ZWRTY3JpcHRIb3N0
OwpJbmRleDogV2ViS2l0L21hYy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDU1NzU5KQorKysgV2ViS2l0L21hYy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0wMy0wOSAgQnJhZHkgRWlkc29uICA8YmVp
ZHNvbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUkVHUkVTU0lPTjogV2ViSW5zcGVjdG9yIGRvY2tpbmcgYnVzdGVkIG9uIFdpbmRv
d3MKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzc3Mjg0MzM+IGFuZCBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzU5NTMKKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0
L1dlYkluc3BlY3RvckNsaWVudC5tbToKKyAgICAgICAgKC1bV2ViSW5zcGVjdG9yV2luZG93Q29u
dHJvbGxlciBzaG93V2luZG93Ol0pOiBVc2UgdGhlIEluc3BlY3RvckNvbnRyb2xsZXI6OiBjb3B5
IG9mIHRoZSBzaG91bGQgYXR0YWNoIHNldHRpbmdzIGtleS4KKyAgICAgICAgKC1bV2ViSW5zcGVj
dG9yV2luZG93Q29udHJvbGxlciBhdHRhY2hdKTogRGl0dG8uCisgICAgICAgICgtW1dlYkluc3Bl
Y3RvcldpbmRvd0NvbnRyb2xsZXIgZGV0YWNoXSk6IERpdHRvLgorCiAyMDEwLTAzLTA5ICBHZW9m
ZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFy
aW4gQWRsZXIuCkluZGV4OiBXZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNs
aWVudC5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3Bl
Y3RvckNsaWVudC5tbQkocmV2aXNpb24gNTU3MzkpCisrKyBXZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkluc3BlY3RvckNsaWVudC5tbQkod29ya2luZyBjb3B5KQpAQCAtNDQsOCArNDQsNiBA
QAogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0
IGluc3BlY3RvclN0YXJ0c0F0dGFjaGVkTmFtZSA9ICJpbnNwZWN0b3JTdGFydHNBdHRhY2hlZCI7
Ci0KIEBpbnRlcmZhY2UgV2ViSW5zcGVjdG9yV2luZG93Q29udHJvbGxlciA6IE5TV2luZG93Q29u
dHJvbGxlciA8TlNXaW5kb3dEZWxlZ2F0ZT4gewogQHByaXZhdGUKICAgICBXZWJWaWV3ICpfaW5z
cGVjdGVkV2ViVmlldzsKQEAgLTMyNyw3ICszMjUsNyBAQCB2b2lkIFdlYkluc3BlY3RvckNsaWVu
dDo6aW5zcGVjdG9yV2luZG93CiAgICAgX3Zpc2libGUgPSBZRVM7CiAgICAgCiAgICAgLy8gSWYg
bm8gcHJlZmVyZW5jZSBpcyBzZXQgLSBkZWZhdWx0IHRvIGFuIGF0dGFjaGVkIHdpbmRvdy4gVGhp
cyBpcyBpbXBvcnRhbnQgZm9yIGluc3BlY3RvciBMYXlvdXRUZXN0cy4KLSAgICBTdHJpbmcgc2hv
dWxkQXR0YWNoID0gW19pbnNwZWN0ZWRXZWJWaWV3IHBhZ2VdLT5pbnNwZWN0b3JDb250cm9sbGVy
KCktPnNldHRpbmcoaW5zcGVjdG9yU3RhcnRzQXR0YWNoZWROYW1lKTsKKyAgICBTdHJpbmcgc2hv
dWxkQXR0YWNoID0gW19pbnNwZWN0ZWRXZWJWaWV3IHBhZ2VdLT5pbnNwZWN0b3JDb250cm9sbGVy
KCktPnNldHRpbmcoSW5zcGVjdG9yQ29udHJvbGxlcjo6aW5zcGVjdG9yU3RhcnRzQXR0YWNoZWRT
ZXR0aW5nTmFtZSgpKTsKICAgICBfc2hvdWxkQXR0YWNoID0gc2hvdWxkQXR0YWNoICE9ICJmYWxz
ZSI7CiAgICAgCiAgICAgaWYgKF9zaG91bGRBdHRhY2ggJiYgIVtfaW5zcGVjdGVkV2ViVmlldyBw
YWdlXS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5jYW5BdHRhY2hXaW5kb3coKSkKQEAgLTM2NSw3
ICszNjMsNyBAQCB2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6aW5zcGVjdG9yV2luZG93CiAgICAg
aWYgKF9hdHRhY2hlZFRvSW5zcGVjdGVkV2ViVmlldykKICAgICAgICAgcmV0dXJuOwogCi0gICAg
W19pbnNwZWN0ZWRXZWJWaWV3IHBhZ2VdLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPnNldFNldHRp
bmcoaW5zcGVjdG9yU3RhcnRzQXR0YWNoZWROYW1lLCAidHJ1ZSIpOworICAgIFtfaW5zcGVjdGVk
V2ViVmlldyBwYWdlXS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5zZXRTZXR0aW5nKEluc3BlY3Rv
ckNvbnRyb2xsZXI6Omluc3BlY3RvclN0YXJ0c0F0dGFjaGVkU2V0dGluZ05hbWUoKSwgInRydWUi
KTsKICAgICBfbW92aW5nV2luZG93cyA9IFlFUzsKIAogICAgIFtzZWxmIGNsb3NlXTsKQEAgLTM3
OSw3ICszNzcsNyBAQCB2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6aW5zcGVjdG9yV2luZG93CiAg
ICAgaWYgKCFfYXR0YWNoZWRUb0luc3BlY3RlZFdlYlZpZXcpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIFtfaW5zcGVjdGVkV2ViVmlldyBwYWdlXS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5zZXRT
ZXR0aW5nKGluc3BlY3RvclN0YXJ0c0F0dGFjaGVkTmFtZSwgImZhbHNlIik7CisgICAgW19pbnNw
ZWN0ZWRXZWJWaWV3IHBhZ2VdLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPnNldFNldHRpbmcoSW5z
cGVjdG9yQ29udHJvbGxlcjo6aW5zcGVjdG9yU3RhcnRzQXR0YWNoZWRTZXR0aW5nTmFtZSgpLCAi
ZmFsc2UiKTsKICAgICBfbW92aW5nV2luZG93cyA9IFlFUzsKIAogICAgIFtzZWxmIGNsb3NlXTsK
SW5kZXg6IFdlYktpdC93aW4vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC93aW4vQ2hh
bmdlTG9nCShyZXZpc2lvbiA1NTc1OSkKKysrIFdlYktpdC93aW4vQ2hhbmdlTG9nCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDMtMDkgIEJyYWR5IEVpZHNvbiAgPGJlaWRz
b25AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFJFR1JFU1NJT046IFdlYkluc3BlY3RvciBkb2NraW5nIGJ1c3RlZCBvbiBXaW5kb3dz
CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NzI4NDMzPiBhbmQgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTM1OTUzCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9X
ZWJJbnNwZWN0b3JDbGllbnQuY3BwOgorICAgICAgICAoV2ViSW5zcGVjdG9yQ2xpZW50OjphdHRh
Y2hXaW5kb3cpOiBVc2UgdGhlIEluc3BlY3RvckNvbnRyb2xsZXI6OiBjb3B5IG9mIHRoZSBzaG91
bGQgYXR0YWNoIHNldHRpbmdzIGtleS4KKyAgICAgICAgKFdlYkluc3BlY3RvckNsaWVudDo6ZGV0
YWNoV2luZG93KTogRGl0dG8uCisgICAgICAgIChXZWJJbnNwZWN0b3JDbGllbnQ6OnNob3dXaW5k
b3dXaXRob3V0Tm90aWZpY2F0aW9ucyk6IERpdHRvLgorCiAyMDEwLTAzLTA5ICBKb2huIFN1bGxp
dmFuICA8c3VsbGl2YW5AYXBwbGUuY29tPgogCiAgICAgICAgIEZpeGVkIGxvY2FsaXplZCBzdHJp
bmcga2V5IGNvbGxpc2lvbi4gdXBkYXRlLXdlYmtpdC1sb2NhbGl6ZWQtc3RyaW5ncyBub3cKSW5k
ZXg6IFdlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5j
cHAJKHJldmlzaW9uIDU1NzM5KQorKysgV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNw
ZWN0b3JDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAwNiwgMjAwNyBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwIEFwcGxlIEluYy4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTUyLDggKzUyLDYgQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRpYyBjb25z
dCBjaGFyKiBjb25zdCBpbnNwZWN0b3JTdGFydHNBdHRhY2hlZE5hbWUgPSAiaW5zcGVjdG9yU3Rh
cnRzQXR0YWNoZWQiOwotCiBzdGF0aWMgTFBDVFNUUiBrV2ViSW5zcGVjdG9yV2luZG93Q2xhc3NO
YW1lID0gVEVYVCgiV2ViSW5zcGVjdG9yV2luZG93Q2xhc3MiKTsKIHN0YXRpYyBBVE9NIHJlZ2lz
dGVyV2luZG93Q2xhc3MoKTsKIHN0YXRpYyBMUENUU1RSIGtXZWJJbnNwZWN0b3JQb2ludGVyUHJv
cCA9IFRFWFQoIldlYkluc3BlY3RvclBvaW50ZXIiKTsKQEAgLTIzMyw3ICsyMzEsNyBAQCB2b2lk
IFdlYkluc3BlY3RvckNsaWVudDo6YXR0YWNoV2luZG93KCkKICAgICBpZiAobV9hdHRhY2hlZCkK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgbV9pbnNwZWN0ZWRXZWJWaWV3LT5wYWdlKCktPmluc3Bl
Y3RvckNvbnRyb2xsZXIoKS0+c2V0U2V0dGluZyhpbnNwZWN0b3JTdGFydHNBdHRhY2hlZE5hbWUs
ICJ0cnVlIik7CisgICAgbV9pbnNwZWN0ZWRXZWJWaWV3LT5wYWdlKCktPmluc3BlY3RvckNvbnRy
b2xsZXIoKS0+c2V0U2V0dGluZyhJbnNwZWN0b3JDb250cm9sbGVyOjppbnNwZWN0b3JTdGFydHNB
dHRhY2hlZFNldHRpbmdOYW1lKCksICJ0cnVlIik7CiAKICAgICBjbG9zZVdpbmRvd1dpdGhvdXRO
b3RpZmljYXRpb25zKCk7CiAgICAgc2hvd1dpbmRvd1dpdGhvdXROb3RpZmljYXRpb25zKCk7CkBA
IC0yNDQsNyArMjQyLDcgQEAgdm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6OmRldGFjaFdpbmRvdygp
CiAgICAgaWYgKCFtX2F0dGFjaGVkKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2luc3BlY3Rl
ZFdlYlZpZXctPnBhZ2UoKS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5zZXRTZXR0aW5nKGluc3Bl
Y3RvclN0YXJ0c0F0dGFjaGVkTmFtZSwgImZhbHNlIik7CisgICAgbV9pbnNwZWN0ZWRXZWJWaWV3
LT5wYWdlKCktPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+c2V0U2V0dGluZyhJbnNwZWN0b3JDb250
cm9sbGVyOjppbnNwZWN0b3JTdGFydHNBdHRhY2hlZFNldHRpbmdOYW1lKCksICJmYWxzZSIpOwog
CiAgICAgY2xvc2VXaW5kb3dXaXRob3V0Tm90aWZpY2F0aW9ucygpOwogICAgIHNob3dXaW5kb3dX
aXRob3V0Tm90aWZpY2F0aW9ucygpOwpAQCAtMzUwLDcgKzM0OCw3IEBAIHZvaWQgV2ViSW5zcGVj
dG9yQ2xpZW50OjpzaG93V2luZG93V2l0aG8KICAgICBBU1NFUlQobV9pbnNwZWN0ZWRXZWJWaWV3
SHduZCk7CiAKICAgICAvLyBJZiBubyBwcmVmZXJlbmNlIGlzIHNldCAtIGRlZmF1bHQgdG8gYW4g
YXR0YWNoZWQgd2luZG93LiBUaGlzIGlzIGltcG9ydGFudCBmb3IgaW5zcGVjdG9yIExheW91dFRl
c3RzLgotICAgIFN0cmluZyBzaG91bGRBdHRhY2ggPSBtX2luc3BlY3RlZFdlYlZpZXctPnBhZ2Uo
KS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5zZXR0aW5nKGluc3BlY3RvclN0YXJ0c0F0dGFjaGVk
TmFtZSk7CisgICAgU3RyaW5nIHNob3VsZEF0dGFjaCA9IG1faW5zcGVjdGVkV2ViVmlldy0+cGFn
ZSgpLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPnNldHRpbmcoSW5zcGVjdG9yQ29udHJvbGxlcjo6
aW5zcGVjdG9yU3RhcnRzQXR0YWNoZWRTZXR0aW5nTmFtZSgpKTsKICAgICBtX3Nob3VsZEF0dGFj
aFdoZW5TaG93biA9IHNob3VsZEF0dGFjaCAhPSAiZmFsc2UiOwogICAgICAgICAKICAgICBpZiAo
bV9zaG91bGRBdHRhY2hXaGVuU2hvd24gJiYgIW1faW5zcGVjdGVkV2ViVmlldy0+cGFnZSgpLT5p
bnNwZWN0b3JDb250cm9sbGVyKCktPmNhbkF0dGFjaFdpbmRvdygpKQo=
</data>
<flag name="commit-queue"
          id="33498"
          type_id="3"
          status="-"
          setter="beidson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>50368</attachid>
            <date>2010-03-09 20:21:16 -0800</date>
            <delta_ts>2010-03-09 20:51:20 -0800</delta_ts>
            <desc>Include WebCore.base.exp in the fix.</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>12765</size>
            <attacher name="Brady Eidson">beidson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NTc1OSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzMgQEAKKzIwMTAtMDMtMDkgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJF
R1JFU1NJT046IFdlYkluc3BlY3RvciBkb2NraW5nIGJ1c3RlZCBvbiBXaW5kb3dzCisgICAgICAg
IDxyZGFyOi8vcHJvYmxlbS83NzI4NDMzPiBhbmQgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTM1OTUzCisKKyAgICAgICAgRmlyc3Qgb2ZmLCBhIGJpdCBvZiBzZXR0aW5n
cy1rZXkgcmVsYXRlZCBjbGVhbnVwLiBJZiB0aGV5J3JlIHNoYXJlZCBvdmVyIG11bHRpcGxlIGZp
bGVzLCB0aGVzZSAKKyAgICAgICAgdGhpbmdzIHNob3VsZCBiZSBwcm9wZXJseSBkZWNsYXJlZCBT
dHJpbmdzLCBub3QgcmFuZG9tIGxvb3NlIGNoYXIqJ3MuCisKKyAgICAgICAgQWxvbmcgd2l0aCB0
aGF0IGNoYW5nZSwgd2UgbW92ZSB0aGUgImluc3BlY3RvclN0YXJ0c0F0dGFjaGVkU2V0dGluZ05h
bWUiIGZyb20gV2ViS2l0IGRvd24gdG8gdGhlCisgICAgICAgIEluc3BlY3RvckNvbnRyb2xsZXIg
aW4gV2ViQ29yZS4KKworICAgICAgICBGaW5hbGx5LCB3aGVuIHRoZSBjb250cm9sbGVyIGlzIHJl
YWR5IHRvIHNob3cgdGhlIFdlYkluc3BlY3RvciB3aW5kb3csIGl0IGNhbiB1c2UgdGhpcyBuZXds
eQorICAgICAgICBleHBvc2VkIHNldHRpbmdzIGtleSB0byBjYWxsICJzZXRXaW5kb3dWaXNpYmxl
IiBkaXJlY3RseSBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gInNob3dXaW5kb3ciIHRvIGRvCisgICAg
ICAgIGl0IGluZGlyZWN0bHkuCisKKyAgICAgICAgKiBXZWJDb3JlLmJhc2UuZXhwOgorCisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckJhY2tlbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9yQmFja2VuZDo6c2F2ZUZyb250ZW5kU2V0dGluZ3MpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckNvbnRyb2xsZXI6OmZyb250ZW5kU2V0dGluZ3NTZXR0aW5nTmFtZSk6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjppbnNwZWN0b3JTdGFydHNBdHRhY2hlZFNldHRpbmdO
YW1lKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OnNjcmlwdE9iamVj
dFJlYWR5KTogVXNpbmcgdGhlIG5ldyBpbnNwZWN0b3JTdGFydHNBdHRhY2hlZFNldHRpbmdOYW1l
CisgICAgICAgICAga2V5IGFuZCBzb21lICJjYW4gSSBhdHRhY2ggdGhpcz8iIGxvZ2ljLCBjYWxs
IHNldFdpbmRvd1Zpc2libGUgZGlyZWN0bHkgdG8gZGlzcGxheSB0aGUgaW5zcGVjdG9yCisgICAg
ICAgICAgd2luZG93LgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6cG9w
dWxhdGVTY3JpcHRPYmplY3RzKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJv
bGxlci5oOgorCiAyMDEwLTAzLTA5ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBIdW50LgpJbmRleDogV2ViQ29yZS9XZWJD
b3JlLmJhc2UuZXhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS5iYXNlLmV4cAkocmV2
aXNpb24gNTU3MzkpCisrKyBXZWJDb3JlL1dlYkNvcmUuYmFzZS5leHAJKHdvcmtpbmcgY29weSkK
QEAgLTQwNSw2ICs0MDUsNyBAQCBfX1pON1dlYkNvcmUxOUFuaW1hdGlvbkNvbnRyb2xsZXIxN3N1
c3BlCiBfX1pON1dlYkNvcmUxOUFuaW1hdGlvbkNvbnRyb2xsZXIyMHBhdXNlQW5pbWF0aW9uQXRU
aW1lRVBOU18xMlJlbmRlck9iamVjdEVSS05TXzZTdHJpbmdFZAogX19aTjdXZWJDb3JlMTlBbmlt
YXRpb25Db250cm9sbGVyMjFwYXVzZVRyYW5zaXRpb25BdFRpbWVFUE5TXzEyUmVuZGVyT2JqZWN0
RVJLTlNfNlN0cmluZ0VkCiBfX1pON1dlYkNvcmUxOUNTU1N0eWxlRGVjbGFyYXRpb24xMXNldFBy
b3BlcnR5RVJLTlNfNlN0cmluZ0VTM19SaQorX19aTjdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9s
bGVyMzRpbnNwZWN0b3JTdGFydHNBdHRhY2hlZFNldHRpbmdOYW1lRXYKIF9fWk43V2ViQ29yZTE5
U2VsZWN0aW9uQ29udHJvbGxlcjEwc2V0Rm9jdXNlZEViCiBfX1pON1dlYkNvcmUxOVNlbGVjdGlv
bkNvbnRyb2xsZXIxMnNldFNlbGVjdGlvbkVSS05TXzE2VmlzaWJsZVNlbGVjdGlvbkViYmIKIF9f
Wk43V2ViQ29yZTE5U2VsZWN0aW9uQ29udHJvbGxlcjE2c2V0U2VsZWN0ZWRSYW5nZUVQTlNfNVJh
bmdlRU5TXzlFQWZmaW5pdHlFYgpJbmRleDogV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFj
a2VuZC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFja2Vu
ZC5jcHAJKHJldmlzaW9uIDU1NzM5KQorKysgV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQmFj
a2VuZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDA3LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggTWF0dCBMaWxlayA8d2Via2l0QG1hdHRsaWxl
ay5jb20+CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC04Miw3ICs4Miw3IEBAIEluc3BlY3RvckJhY2tl
bmQ6On5JbnNwZWN0b3JCYWNrZW5kKCkKIHZvaWQgSW5zcGVjdG9yQmFja2VuZDo6c2F2ZUZyb250
ZW5kU2V0dGluZ3MoY29uc3QgU3RyaW5nJiBzZXR0aW5ncykKIHsKICAgICBpZiAobV9pbnNwZWN0
b3JDb250cm9sbGVyKQotICAgICAgICBtX2luc3BlY3RvckNvbnRyb2xsZXItPnNldFNldHRpbmco
SW5zcGVjdG9yQ29udHJvbGxlcjo6RnJvbnRlbmRTZXR0aW5nc1NldHRpbmdOYW1lLCBzZXR0aW5n
cyk7CisgICAgICAgIG1faW5zcGVjdG9yQ29udHJvbGxlci0+c2V0U2V0dGluZyhJbnNwZWN0b3JD
b250cm9sbGVyOjpmcm9udGVuZFNldHRpbmdzU2V0dGluZ05hbWUoKSwgc2V0dGluZ3MpOwogfQog
CiB2b2lkIEluc3BlY3RvckJhY2tlbmQ6OnN0b3JlTGFzdEFjdGl2ZVBhbmVsKGNvbnN0IFN0cmlu
ZyYgcGFuZWxOYW1lKQpJbmRleDogV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxl
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxl
ci5jcHAJKHJldmlzaW9uIDU1NzM5KQorKysgV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29u
dHJvbGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDA3LCAyMDA4LCAyMDA5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggTWF0dCBMaWxlayA8d2Via2l0
QG1hdHRsaWxlay5jb20+CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CkBAIC0xMTksNyArMTE5LDE4IEBAIHN0
YXRpYyBjb25zdCBjaGFyKiBjb25zdCBkZWJ1Z2dlckVuYWJsZWQKIHN0YXRpYyBjb25zdCBjaGFy
KiBjb25zdCBwcm9maWxlckVuYWJsZWRTZXR0aW5nTmFtZSA9ICJwcm9maWxlckVuYWJsZWQiOwog
c3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IGluc3BlY3RvckF0dGFjaGVkSGVpZ2h0TmFtZSA9ICJp
bnNwZWN0b3JBdHRhY2hlZEhlaWdodCI7CiBzdGF0aWMgY29uc3QgY2hhciogY29uc3QgbGFzdEFj
dGl2ZVBhbmVsU2V0dGluZ05hbWUgPSAibGFzdEFjdGl2ZVBhbmVsIjsKLWNvbnN0IGNoYXIqIGNv
bnN0IEluc3BlY3RvckNvbnRyb2xsZXI6OkZyb250ZW5kU2V0dGluZ3NTZXR0aW5nTmFtZSA9ICJm
cm9udGVuZFNldHRpbmdzIjsKKworY29uc3QgU3RyaW5nJiBJbnNwZWN0b3JDb250cm9sbGVyOjpm
cm9udGVuZFNldHRpbmdzU2V0dGluZ05hbWUoKQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwo
U3RyaW5nLCBzZXR0aW5nTmFtZSwgKCJmcm9udGVuZFNldHRpbmdzIikpOworICAgIHJldHVybiBz
ZXR0aW5nTmFtZTsKK30KKworY29uc3QgU3RyaW5nJiBJbnNwZWN0b3JDb250cm9sbGVyOjppbnNw
ZWN0b3JTdGFydHNBdHRhY2hlZFNldHRpbmdOYW1lKCkKK3sKKyAgICBERUZJTkVfU1RBVElDX0xP
Q0FMKFN0cmluZywgc2V0dGluZ05hbWUsICgiaW5zcGVjdG9yU3RhcnRzQXR0YWNoZWQiKSk7Cisg
ICAgcmV0dXJuIHNldHRpbmdOYW1lOworfQogCiBzdGF0aWMgY29uc3QgdW5zaWduZWQgZGVmYXVs
dEF0dGFjaGVkSGVpZ2h0ID0gMzAwOwogc3RhdGljIGNvbnN0IGZsb2F0IG1pbmltdW1BdHRhY2hl
ZEhlaWdodCA9IDI1MC4wZjsKQEAgLTU1NCw4ICs1NjUsMTUgQEAgdm9pZCBJbnNwZWN0b3JDb250
cm9sbGVyOjpzY3JpcHRPYmplY3RSZQogICAgICAgICBlbmFibGVQcm9maWxlcigpOwogI2VuZGlm
CiAKKyAgICAvLyBJZiBubyBwcmVmZXJlbmNlIGlzIHNldCAtIGRlZmF1bHQgdG8gYW4gYXR0YWNo
ZWQgd2luZG93LiBUaGlzIGlzIGltcG9ydGFudCBmb3IgaW5zcGVjdG9yIExheW91dFRlc3RzLgor
ICAgIFN0cmluZyBzaG91bGRBdHRhY2hWYWx1ZSA9IHNldHRpbmcoaW5zcGVjdG9yU3RhcnRzQXR0
YWNoZWRTZXR0aW5nTmFtZSgpKTsKKyAgICBib29sIHNob3VsZEF0dGFjaCA9IHNob3VsZEF0dGFj
aFZhbHVlICE9ICJmYWxzZSI7CisgICAgCisgICAgaWYgKHNob3VsZEF0dGFjaCAmJiAhY2FuQXR0
YWNoV2luZG93KCkpCisgICAgICAgIHNob3VsZEF0dGFjaCA9IGZhbHNlOworCiAgICAgLy8gTWFr
ZSBzdXJlIG91ciB3aW5kb3cgaXMgdmlzaWJsZSBub3cgdGhhdCB0aGUgcGFnZSBsb2FkZWQKLSAg
ICBzaG93V2luZG93KCk7CisgICAgc2V0V2luZG93VmlzaWJsZSh0cnVlLCBzaG91bGRBdHRhY2gp
OwogCiAgICAgbV9jbGllbnQtPmluc3BlY3RvcldpbmRvd09iamVjdENsZWFyZWQoKTsKIH0KQEAg
LTY3MSw3ICs2ODksNyBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OnBvcHVsYXRlU2NyaXB0
CiAgICAgaWYgKCFtX2Zyb250ZW5kKQogICAgICAgICByZXR1cm47CiAKLSAgICBtX2Zyb250ZW5k
LT5wb3B1bGF0ZUZyb250ZW5kU2V0dGluZ3Moc2V0dGluZyhGcm9udGVuZFNldHRpbmdzU2V0dGlu
Z05hbWUpKTsKKyAgICBtX2Zyb250ZW5kLT5wb3B1bGF0ZUZyb250ZW5kU2V0dGluZ3Moc2V0dGlu
Zyhmcm9udGVuZFNldHRpbmdzU2V0dGluZ05hbWUoKSkpOwogCiAgICAgaWYgKG1fcmVzb3VyY2VU
cmFja2luZ0VuYWJsZWQpCiAgICAgICAgIG1fZnJvbnRlbmQtPnJlc291cmNlVHJhY2tpbmdXYXNF
bmFibGVkKCk7CkluZGV4OiBXZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb250cm9sbGVyLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ29udHJvbGxlci5oCShy
ZXZpc2lvbiA1NTczOSkKKysrIFdlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvbnRyb2xsZXIu
aAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MDcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA3
LCAyMDA4LCAyMDA5LCAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjUyLDggKzI1MiwxMSBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBhZGRTY3JpcHRUb0V2YWx1YXRlT25Mb2FkKGNvbnN0IFN0cmluZyYgc291cmNlKTsK
ICAgICB2b2lkIHJlbW92ZUFsbFNjcmlwdHNUb0V2YWx1YXRlT25Mb2FkKCk7CiAKKyAgICBzdGF0
aWMgY29uc3QgU3RyaW5nJiBpbnNwZWN0b3JTdGFydHNBdHRhY2hlZFNldHRpbmdOYW1lKCk7CisK
IHByaXZhdGU6Ci0gICAgc3RhdGljIGNvbnN0IGNoYXIqIGNvbnN0IEZyb250ZW5kU2V0dGluZ3NT
ZXR0aW5nTmFtZTsKKyAgICBzdGF0aWMgY29uc3QgU3RyaW5nJiBmcm9udGVuZFNldHRpbmdzU2V0
dGluZ05hbWUoKTsKKwogICAgIGZyaWVuZCBjbGFzcyBJbnNwZWN0b3JCYWNrZW5kOwogICAgIGZy
aWVuZCBjbGFzcyBJbnNwZWN0b3JGcm9udGVuZEhvc3Q7CiAgICAgZnJpZW5kIGNsYXNzIEluamVj
dGVkU2NyaXB0SG9zdDsKSW5kZXg6IFdlYktpdC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdC9tYWMvQ2hhbmdlTG9nCShyZXZpc2lvbiA1NTc1OSkKKysrIFdlYktpdC9tYWMvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDMtMDkgIEJyYWR5
IEVpZHNvbiAgPGJlaWRzb25AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT046IFdlYkluc3BlY3RvciBkb2NraW5nIGJ1
c3RlZCBvbiBXaW5kb3dzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS83NzI4NDMzPiBhbmQgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM1OTUzCisKKyAgICAgICAgKiBX
ZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW06CisgICAgICAgICgtW1dlYkluc3Bl
Y3RvcldpbmRvd0NvbnRyb2xsZXIgc2hvd1dpbmRvdzpdKTogVXNlIHRoZSBJbnNwZWN0b3JDb250
cm9sbGVyOjogY29weSBvZiB0aGUgc2hvdWxkIGF0dGFjaCBzZXR0aW5ncyBrZXkuCisgICAgICAg
ICgtW1dlYkluc3BlY3RvcldpbmRvd0NvbnRyb2xsZXIgYXR0YWNoXSk6IERpdHRvLgorICAgICAg
ICAoLVtXZWJJbnNwZWN0b3JXaW5kb3dDb250cm9sbGVyIGRldGFjaF0pOiBEaXR0by4KKwogMjAx
MC0wMy0wOSAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDogV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9X
ZWJJbnNwZWN0b3JDbGllbnQubW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW0JKHJldmlzaW9uIDU1NzM5KQorKysgV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW0JKHdvcmtpbmcgY29weSkKQEAg
LTQ0LDggKzQ0LDYgQEAKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLXN0YXRpYyBjb25z
dCBjaGFyKiBjb25zdCBpbnNwZWN0b3JTdGFydHNBdHRhY2hlZE5hbWUgPSAiaW5zcGVjdG9yU3Rh
cnRzQXR0YWNoZWQiOwotCiBAaW50ZXJmYWNlIFdlYkluc3BlY3RvcldpbmRvd0NvbnRyb2xsZXIg
OiBOU1dpbmRvd0NvbnRyb2xsZXIgPE5TV2luZG93RGVsZWdhdGU+IHsKIEBwcml2YXRlCiAgICAg
V2ViVmlldyAqX2luc3BlY3RlZFdlYlZpZXc7CkBAIC0zMjcsNyArMzI1LDcgQEAgdm9pZCBXZWJJ
bnNwZWN0b3JDbGllbnQ6Omluc3BlY3RvcldpbmRvdwogICAgIF92aXNpYmxlID0gWUVTOwogICAg
IAogICAgIC8vIElmIG5vIHByZWZlcmVuY2UgaXMgc2V0IC0gZGVmYXVsdCB0byBhbiBhdHRhY2hl
ZCB3aW5kb3cuIFRoaXMgaXMgaW1wb3J0YW50IGZvciBpbnNwZWN0b3IgTGF5b3V0VGVzdHMuCi0g
ICAgU3RyaW5nIHNob3VsZEF0dGFjaCA9IFtfaW5zcGVjdGVkV2ViVmlldyBwYWdlXS0+aW5zcGVj
dG9yQ29udHJvbGxlcigpLT5zZXR0aW5nKGluc3BlY3RvclN0YXJ0c0F0dGFjaGVkTmFtZSk7Cisg
ICAgU3RyaW5nIHNob3VsZEF0dGFjaCA9IFtfaW5zcGVjdGVkV2ViVmlldyBwYWdlXS0+aW5zcGVj
dG9yQ29udHJvbGxlcigpLT5zZXR0aW5nKEluc3BlY3RvckNvbnRyb2xsZXI6Omluc3BlY3RvclN0
YXJ0c0F0dGFjaGVkU2V0dGluZ05hbWUoKSk7CiAgICAgX3Nob3VsZEF0dGFjaCA9IHNob3VsZEF0
dGFjaCAhPSAiZmFsc2UiOwogICAgIAogICAgIGlmIChfc2hvdWxkQXR0YWNoICYmICFbX2luc3Bl
Y3RlZFdlYlZpZXcgcGFnZV0tPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+Y2FuQXR0YWNoV2luZG93
KCkpCkBAIC0zNjUsNyArMzYzLDcgQEAgdm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6Omluc3BlY3Rv
cldpbmRvdwogICAgIGlmIChfYXR0YWNoZWRUb0luc3BlY3RlZFdlYlZpZXcpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIFtfaW5zcGVjdGVkV2ViVmlldyBwYWdlXS0+aW5zcGVjdG9yQ29udHJvbGxl
cigpLT5zZXRTZXR0aW5nKGluc3BlY3RvclN0YXJ0c0F0dGFjaGVkTmFtZSwgInRydWUiKTsKKyAg
ICBbX2luc3BlY3RlZFdlYlZpZXcgcGFnZV0tPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+c2V0U2V0
dGluZyhJbnNwZWN0b3JDb250cm9sbGVyOjppbnNwZWN0b3JTdGFydHNBdHRhY2hlZFNldHRpbmdO
YW1lKCksICJ0cnVlIik7CiAgICAgX21vdmluZ1dpbmRvd3MgPSBZRVM7CiAKICAgICBbc2VsZiBj
bG9zZV07CkBAIC0zNzksNyArMzc3LDcgQEAgdm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6Omluc3Bl
Y3RvcldpbmRvdwogICAgIGlmICghX2F0dGFjaGVkVG9JbnNwZWN0ZWRXZWJWaWV3KQogICAgICAg
ICByZXR1cm47CiAKLSAgICBbX2luc3BlY3RlZFdlYlZpZXcgcGFnZV0tPmluc3BlY3RvckNvbnRy
b2xsZXIoKS0+c2V0U2V0dGluZyhpbnNwZWN0b3JTdGFydHNBdHRhY2hlZE5hbWUsICJmYWxzZSIp
OworICAgIFtfaW5zcGVjdGVkV2ViVmlldyBwYWdlXS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5z
ZXRTZXR0aW5nKEluc3BlY3RvckNvbnRyb2xsZXI6Omluc3BlY3RvclN0YXJ0c0F0dGFjaGVkU2V0
dGluZ05hbWUoKSwgImZhbHNlIik7CiAgICAgX21vdmluZ1dpbmRvd3MgPSBZRVM7CiAKICAgICBb
c2VsZiBjbG9zZV07CkluZGV4OiBXZWJLaXQvd2luL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJLaXQvd2luL0NoYW5nZUxvZwkocmV2aXNpb24gNTU3NTkpCisrKyBXZWJLaXQvd2luL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEwLTAzLTA5ICBCcmFkeSBF
aWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OOiBXZWJJbnNwZWN0b3IgZG9ja2luZyBidXN0
ZWQgb24gV2luZG93cworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzcyODQzMz4gYW5kIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNTk1MworCisgICAgICAgICogV2Vi
Q29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYkluc3BlY3Rv
ckNsaWVudDo6YXR0YWNoV2luZG93KTogVXNlIHRoZSBJbnNwZWN0b3JDb250cm9sbGVyOjogY29w
eSBvZiB0aGUgc2hvdWxkIGF0dGFjaCBzZXR0aW5ncyBrZXkuCisgICAgICAgIChXZWJJbnNwZWN0
b3JDbGllbnQ6OmRldGFjaFdpbmRvdyk6IERpdHRvLgorICAgICAgICAoV2ViSW5zcGVjdG9yQ2xp
ZW50OjpzaG93V2luZG93V2l0aG91dE5vdGlmaWNhdGlvbnMpOiBEaXR0by4KKwogMjAxMC0wMy0w
OSAgSm9obiBTdWxsaXZhbiAgPHN1bGxpdmFuQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXhlZCBs
b2NhbGl6ZWQgc3RyaW5nIGtleSBjb2xsaXNpb24uIHVwZGF0ZS13ZWJraXQtbG9jYWxpemVkLXN0
cmluZ3Mgbm93CkluZGV4OiBXZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNs
aWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJJbnNw
ZWN0b3JDbGllbnQuY3BwCShyZXZpc2lvbiA1NTczOSkKKysrIFdlYktpdC93aW4vV2ViQ29yZVN1
cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUg
QEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAx
MCBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC01Miw4ICs1Miw2IEBACiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwog
Ci1zdGF0aWMgY29uc3QgY2hhciogY29uc3QgaW5zcGVjdG9yU3RhcnRzQXR0YWNoZWROYW1lID0g
Imluc3BlY3RvclN0YXJ0c0F0dGFjaGVkIjsKLQogc3RhdGljIExQQ1RTVFIga1dlYkluc3BlY3Rv
cldpbmRvd0NsYXNzTmFtZSA9IFRFWFQoIldlYkluc3BlY3RvcldpbmRvd0NsYXNzIik7CiBzdGF0
aWMgQVRPTSByZWdpc3RlcldpbmRvd0NsYXNzKCk7CiBzdGF0aWMgTFBDVFNUUiBrV2ViSW5zcGVj
dG9yUG9pbnRlclByb3AgPSBURVhUKCJXZWJJbnNwZWN0b3JQb2ludGVyIik7CkBAIC0yMzMsNyAr
MjMxLDcgQEAgdm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6OmF0dGFjaFdpbmRvdygpCiAgICAgaWYg
KG1fYXR0YWNoZWQpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1faW5zcGVjdGVkV2ViVmlldy0+
cGFnZSgpLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPnNldFNldHRpbmcoaW5zcGVjdG9yU3RhcnRz
QXR0YWNoZWROYW1lLCAidHJ1ZSIpOworICAgIG1faW5zcGVjdGVkV2ViVmlldy0+cGFnZSgpLT5p
bnNwZWN0b3JDb250cm9sbGVyKCktPnNldFNldHRpbmcoSW5zcGVjdG9yQ29udHJvbGxlcjo6aW5z
cGVjdG9yU3RhcnRzQXR0YWNoZWRTZXR0aW5nTmFtZSgpLCAidHJ1ZSIpOwogCiAgICAgY2xvc2VX
aW5kb3dXaXRob3V0Tm90aWZpY2F0aW9ucygpOwogICAgIHNob3dXaW5kb3dXaXRob3V0Tm90aWZp
Y2F0aW9ucygpOwpAQCAtMjQ0LDcgKzI0Miw3IEBAIHZvaWQgV2ViSW5zcGVjdG9yQ2xpZW50Ojpk
ZXRhY2hXaW5kb3coKQogICAgIGlmICghbV9hdHRhY2hlZCkKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgbV9pbnNwZWN0ZWRXZWJWaWV3LT5wYWdlKCktPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+c2V0
U2V0dGluZyhpbnNwZWN0b3JTdGFydHNBdHRhY2hlZE5hbWUsICJmYWxzZSIpOworICAgIG1faW5z
cGVjdGVkV2ViVmlldy0+cGFnZSgpLT5pbnNwZWN0b3JDb250cm9sbGVyKCktPnNldFNldHRpbmco
SW5zcGVjdG9yQ29udHJvbGxlcjo6aW5zcGVjdG9yU3RhcnRzQXR0YWNoZWRTZXR0aW5nTmFtZSgp
LCAiZmFsc2UiKTsKIAogICAgIGNsb3NlV2luZG93V2l0aG91dE5vdGlmaWNhdGlvbnMoKTsKICAg
ICBzaG93V2luZG93V2l0aG91dE5vdGlmaWNhdGlvbnMoKTsKQEAgLTM1MCw3ICszNDgsNyBAQCB2
b2lkIFdlYkluc3BlY3RvckNsaWVudDo6c2hvd1dpbmRvd1dpdGhvCiAgICAgQVNTRVJUKG1faW5z
cGVjdGVkV2ViVmlld0h3bmQpOwogCiAgICAgLy8gSWYgbm8gcHJlZmVyZW5jZSBpcyBzZXQgLSBk
ZWZhdWx0IHRvIGFuIGF0dGFjaGVkIHdpbmRvdy4gVGhpcyBpcyBpbXBvcnRhbnQgZm9yIGluc3Bl
Y3RvciBMYXlvdXRUZXN0cy4KLSAgICBTdHJpbmcgc2hvdWxkQXR0YWNoID0gbV9pbnNwZWN0ZWRX
ZWJWaWV3LT5wYWdlKCktPmluc3BlY3RvckNvbnRyb2xsZXIoKS0+c2V0dGluZyhpbnNwZWN0b3JT
dGFydHNBdHRhY2hlZE5hbWUpOworICAgIFN0cmluZyBzaG91bGRBdHRhY2ggPSBtX2luc3BlY3Rl
ZFdlYlZpZXctPnBhZ2UoKS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5zZXR0aW5nKEluc3BlY3Rv
ckNvbnRyb2xsZXI6Omluc3BlY3RvclN0YXJ0c0F0dGFjaGVkU2V0dGluZ05hbWUoKSk7CiAgICAg
bV9zaG91bGRBdHRhY2hXaGVuU2hvd24gPSBzaG91bGRBdHRhY2ggIT0gImZhbHNlIjsKICAgICAg
ICAgCiAgICAgaWYgKG1fc2hvdWxkQXR0YWNoV2hlblNob3duICYmICFtX2luc3BlY3RlZFdlYlZp
ZXctPnBhZ2UoKS0+aW5zcGVjdG9yQ29udHJvbGxlcigpLT5jYW5BdHRhY2hXaW5kb3coKSkK
</data>
<flag name="review"
          id="33500"
          type_id="1"
          status="+"
          setter="timothy"
    />
    <flag name="commit-queue"
          id="33501"
          type_id="3"
          status="-"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>