<?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>22177</bug_id>
          
          <creation_ts>2008-11-11 09:19:27 -0800</creation_ts>
          <short_desc>Need a notification when a form element changes</short_desc>
          <delta_ts>2008-12-10 04:24:13 -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>Forms</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="Brett Wilson (Google)">brettw</reporter>
          <assigned_to name="Brett Wilson (Google)">brettw</assigned_to>
          <cc>bolsinga</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>98294</commentid>
    <comment_count>0</comment_count>
    <who name="Brett Wilson (Google)">brettw</who>
    <bug_when>2008-11-11 09:19:27 -0800</bug_when>
    <thetext>Chromium saves the current &quot;state&quot; of the page to the browser process and then to disk periodically. This allows us to know the form state of the page if the tab crashes and you press reload. It also enables browser crash recovery since the last open tabs were serialized to disk.

A very long time ago we had regular polling of the page. This was inefficient, so we forked HTMLInputElement to call a glue function when the element state changes. Because there could be a lot of form state changes, we implemented a delay where we implemented the glue function, so that calls from HTMLInputElement were very inexpensive.

We need an &quot;official&quot; way to do this rather than the hacky forked version of the file.

Looking at the various clients, it looks like adding an additional callback to FrameLoaderClient would be the best way to do this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>98326</commentid>
    <comment_count>1</comment_count>
      <attachid>25050</attachid>
    <who name="Brett Wilson (Google)">brettw</who>
    <bug_when>2008-11-11 12:33:45 -0800</bug_when>
    <thetext>Created attachment 25050
Patch

I didn&apos;t get any comments on IRC about this change, and I&apos;m not 100% sure the best way to do it. This is the simple way I proposed above. I just added a callback on the FrameLoaderClient that input elements and text areas call when their value changes. I would be interested in hearing better proposals for getting the same information.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>98446</commentid>
    <comment_count>2</comment_count>
      <attachid>25050</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-11-12 00:08:02 -0800</bug_when>
    <thetext>Comment on attachment 25050
Patch

&gt; diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
&gt; index 75c2c38..0a62beb 100644
&gt; --- a/WebCore/ChangeLog
&gt; +++ b/WebCore/ChangeLog
&gt; @@ -1,3 +1,22 @@
&gt; +2008-11-11  Brett Wilson  &lt;brettw@chromium.org&gt;
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        WARNING: NO TEST CASES ADDED OR CHANGED

Please explain what this patch does here.

&gt;  #include &quot;EventNames.h&quot;
&gt;  #include &quot;File.h&quot;
&gt;  #include &quot;FileList.h&quot;
&gt; +#include &quot;FrameLoader.h&quot;
&gt; +#include &quot;FrameLoaderClient.h&quot;
&gt;  #include &quot;FocusController.h&quot;
&gt;  #include &quot;FormDataList.h&quot;
&gt;  #include &quot;Frame.h&quot;
Please sort these.

&gt; @@ -100,6 +102,16 @@ static int numCharactersInGraphemeClusters(StringImpl* s, int numGraphemeCluster
&gt;      return textBreakCurrent(it);
&gt;  }
&gt;  
&gt; +// Notifies the FrameLoaderClient (if any) corresponding to the frame of the
&gt; +// given form control that the form state may have changed.
This comment is unnessery as the code really explains itself here.

&gt; +static inline void notifyFormStateChanged(const HTMLInputElement *element)
The * is on the wrong side per our style guidelines.

&gt; +static inline void notifyFormStateChanged(const HTMLTextAreaElement *element)
The * on the wrong side.

I don&apos;t think you are notifying for changes to &lt;input type=&quot;file&quot;&gt; which is set through setFileListFromRenderer.  What about &lt;select&gt; elements.

&gt; +        // Notification that page state such as form elements have changed.
&gt; +        // This function will be called frequently, so handling should be very fast.
&gt; +        virtual void pageStateDidChange() = 0;

What over state changes do you envision this notifying?  The name seems to indicate it would fire for all kinds of state changes (style, DOM, etc.)

You need to update the FrameLoaderClient for Qt, Gtk, and wx.

If this all about form state, why not use the DOM.  It already has an event model which exposes these things.

r- because I think the name needs work and you break the other ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>98652</commentid>
    <comment_count>3</comment_count>
      <attachid>25136</attachid>
    <who name="Brett Wilson (Google)">brettw</who>
    <bug_when>2008-11-13 14:10:33 -0800</bug_when>
    <thetext>Created attachment 25136
Patch v2

This fixes the style and ChangeLog problems. It adds support for file and select elements (thanks for noticing this). It adds the similar changes to the wx, qt, and gtk ports.

I renamed the calleback &quot;formStateChanged&quot; since it&apos;s really just form state. I originally called this page state because that&apos;s what we call it, because it also includes some things such as scroll position that we compute on the port side. This is irrelevant to this function, however, so the new name is better.

I didn&apos;t want to do a DOM hook for form elements for several reasons. It seems impractical to hook each one individually, and I definitely didn&apos;t want to install a global mutation handler for every page.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99384</commentid>
    <comment_count>4</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-11-19 15:34:39 -0800</bug_when>
    <thetext>I am sorry I did not notice/remember this earlier, but we already have one mechanism for form state changes in the Editor client with methods like EditorClient::textDidChangeInTextField().  On the mac, this translates to callbacks on a WebFormDelegate.  If the existing methods are not enough, we should probably at least put your new method on the EditorClient for consistency.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99385</commentid>
    <comment_count>5</comment_count>
    <who name="Brett Wilson (Google)">brettw</who>
    <bug_when>2008-11-19 15:36:32 -0800</bug_when>
    <thetext>What about checkboxes and radio buttons which have no editor?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>99729</commentid>
    <comment_count>6</comment_count>
      <attachid>25366</attachid>
    <who name="Brett Wilson (Google)">brettw</who>
    <bug_when>2008-11-21 16:50:54 -0800</bug_when>
    <thetext>Created attachment 25366
Patch v3

On IRC (I think Adele?) suggested using ChromeClient instead, which this patch does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>101510</commentid>
    <comment_count>7</comment_count>
      <attachid>25366</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2008-12-05 09:56:55 -0800</bug_when>
    <thetext>Comment on attachment 25366
Patch v3

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102031</commentid>
    <comment_count>8</comment_count>
    <who name="Brett Wilson (Google)">brettw</who>
    <bug_when>2008-12-09 16:03:50 -0800</bug_when>
    <thetext>Fixed in r39152. (I updated the ChangeLogs from the patch here, a few of them still referenced FrameLoaderClient even after I moved it to the ChromeClient.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102071</commentid>
    <comment_count>9</comment_count>
      <attachid>25914</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2008-12-09 22:31:04 -0800</bug_when>
    <thetext>Created attachment 25914
Fix windows build.

I also took the opportunity to fix my ChangeLog comment for a previous check-in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102072</commentid>
    <comment_count>10</comment_count>
      <attachid>25915</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2008-12-09 22:41:21 -0800</bug_when>
    <thetext>Created attachment 25915
Fix windows build.

I also fixed a comment in the ChangeLog for a recent checkin of mine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102079</commentid>
    <comment_count>11</comment_count>
      <attachid>25915</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-12-09 23:46:07 -0800</bug_when>
    <thetext>Comment on attachment 25915
Fix windows build.

The notifyFormStateChanged(this) call clearly doesn&apos;t belong to HTMLInputElement::type(), I think that the patch was mis-applied when landing. Maybe this call is missing elsewhere as a result.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102083</commentid>
    <comment_count>12</comment_count>
      <attachid>25916</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2008-12-10 00:28:54 -0800</bug_when>
    <thetext>Created attachment 25916
Update build fix patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>102087</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-12-10 04:24:13 -0800</bug_when>
    <thetext>Build fix committed revision 39168. There were tabs in ChangeLog.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25050</attachid>
            <date>2008-11-11 12:33:45 -0800</date>
            <delta_ts>2008-11-21 16:50:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>formstate.diff</filename>
            <type>text/plain</type>
            <size>7482</size>
            <attacher name="Brett Wilson (Google)">brettw</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NzVjMmMzOC4uMGE2MmJlYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAwOC0xMS0xMSAgQnJldHQgV2lsc29u
ICA8YnJldHR3QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBXQVJOSU5HOiBOTyBURVNUIENBU0VTIEFEREVEIE9SIENIQU5HRUQK
KworICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojpub3RpZnlGb3JtU3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVs
ZW1lbnQ6OnNldElucHV0VHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50
OjpzZXRWYWx1ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50OjpzZXRWYWx1
ZUZyb21SZW5kZXJlcik6CisgICAgICAgICogaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6Om5vdGlmeUZvcm1TdGF0ZUNoYW5nZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTFRleHRBcmVhRWxlbWVudDo6dXBkYXRlVmFsdWUpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTFRleHRBcmVhRWxlbWVudDo6c2V0VmFsdWUpOgorICAgICAgICAqIGxvYWRlci9FbXB0
eUNsaWVudHMuaDoKKyAgICAgICAgKFdlYkNvcmU6OkVtcHR5RnJhbWVMb2FkZXJDbGllbnQ6OnBh
Z2VTdGF0ZURpZENoYW5nZSk6CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50Lmg6
CisKIDIwMDgtMTAtMjMgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnIHdpdGggbm8gaGVzaXRhdGlvbi4KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MSW5w
dXRFbGVtZW50LmNwcAppbmRleCA5Mzc5MWEyLi40NDkwN2EyIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVs
ZW1lbnQuY3BwCkBAIC0zNSw2ICszNSw4IEBACiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2lu
Y2x1ZGUgIkZpbGUuaCIKICNpbmNsdWRlICJGaWxlTGlzdC5oIgorI2luY2x1ZGUgIkZyYW1lTG9h
ZGVyLmgiCisjaW5jbHVkZSAiRnJhbWVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJGb2N1c0Nv
bnRyb2xsZXIuaCIKICNpbmNsdWRlICJGb3JtRGF0YUxpc3QuaCIKICNpbmNsdWRlICJGcmFtZS5o
IgpAQCAtMTAwLDYgKzEwMiwxNiBAQCBzdGF0aWMgaW50IG51bUNoYXJhY3RlcnNJbkdyYXBoZW1l
Q2x1c3RlcnMoU3RyaW5nSW1wbCogcywgaW50IG51bUdyYXBoZW1lQ2x1c3RlcgogICAgIHJldHVy
biB0ZXh0QnJlYWtDdXJyZW50KGl0KTsKIH0KIAorLy8gTm90aWZpZXMgdGhlIEZyYW1lTG9hZGVy
Q2xpZW50IChpZiBhbnkpIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGZyYW1lIG9mIHRoZQorLy8gZ2l2
ZW4gZm9ybSBjb250cm9sIHRoYXQgdGhlIGZvcm0gc3RhdGUgbWF5IGhhdmUgY2hhbmdlZC4KK3N0
YXRpYyBpbmxpbmUgdm9pZCBub3RpZnlGb3JtU3RhdGVDaGFuZ2VkKGNvbnN0IEhUTUxJbnB1dEVs
ZW1lbnQgKmVsZW1lbnQpCit7CisgICAgRnJhbWUqIGZyYW1lID0gZWxlbWVudC0+ZG9jdW1lbnQo
KS0+ZnJhbWUoKTsKKyAgICBpZiAoIWZyYW1lKQorICAgICAgICByZXR1cm47CisgICAgZnJhbWUt
PmxvYWRlcigpLT5jbGllbnQoKS0+cGFnZVN0YXRlRGlkQ2hhbmdlKCk7Cit9CisKIEhUTUxJbnB1
dEVsZW1lbnQ6OkhUTUxJbnB1dEVsZW1lbnQoRG9jdW1lbnQqIGRvYywgSFRNTEZvcm1FbGVtZW50
KiBmKQogICAgIDogSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZShpbnB1dFRhZywgZG9j
LCBmKQogewpAQCAtMzYyLDYgKzM3NCw4IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6c2V0SW5w
dXRUeXBlKGNvbnN0IFN0cmluZyYgdCkKIAogICAgICAgICAgICAgY2hlY2tlZFJhZGlvQnV0dG9u
cyh0aGlzKS5hZGRCdXR0b24odGhpcyk7CiAgICAgICAgIH0KKworICAgICAgICBub3RpZnlGb3Jt
U3RhdGVDaGFuZ2VkKHRoaXMpOwogICAgIH0KICAgICBtX2hhdmVUeXBlID0gdHJ1ZTsKIApAQCAt
MTAyOSw2ICsxMDQzLDcgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRWYWx1ZShjb25zdCBT
dHJpbmcmIHZhbHVlKQogICAgICAgICAgICAgY2FjaGVkU2VsRW5kID0gbWF4OwogICAgICAgICB9
CiAgICAgfQorICAgIG5vdGlmeUZvcm1TdGF0ZUNoYW5nZWQodGhpcyk7CiB9CiAKIHZvaWQgSFRN
TElucHV0RWxlbWVudDo6c2V0VmFsdWVGcm9tUmVuZGVyZXIoY29uc3QgU3RyaW5nJiB2YWx1ZSkK
QEAgLTEwNTYsNiArMTA3MSw4IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6c2V0VmFsdWVGcm9t
UmVuZGVyZXIoY29uc3QgU3RyaW5nJiB2YWx1ZSkKIAogICAgIC8vIEZpcmUgdGhlICJpbnB1dCIg
RE9NIGV2ZW50LgogICAgIGRpc3BhdGNoRXZlbnRGb3JUeXBlKGlucHV0RXZlbnQsIHRydWUsIGZh
bHNlKTsKKworICAgIG5vdGlmeUZvcm1TdGF0ZUNoYW5nZWQodGhpcyk7CiB9CiAKIGJvb2wgSFRN
TElucHV0RWxlbWVudDo6c3RvcmVzVmFsdWVTZXBhcmF0ZUZyb21BdHRyaWJ1dGUoKSBjb25zdApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwIGIvV2ViQ29y
ZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCmluZGV4IDBkNmY0ZmQuLjg0YjYyZTAgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcAorKysgYi9XZWJD
b3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAKQEAgLTQ3LDYgKzQ3LDE0IEBAIHVzaW5n
IG5hbWVzcGFjZSBIVE1MTmFtZXM7CiBzdGF0aWMgY29uc3QgaW50IGRlZmF1bHRSb3dzID0gMjsK
IHN0YXRpYyBjb25zdCBpbnQgZGVmYXVsdENvbHMgPSAyMDsKIAorc3RhdGljIGlubGluZSB2b2lk
IG5vdGlmeUZvcm1TdGF0ZUNoYW5nZWQoY29uc3QgSFRNTFRleHRBcmVhRWxlbWVudCAqZWxlbWVu
dCkKK3sKKyAgICBGcmFtZSogZnJhbWUgPSBlbGVtZW50LT5kb2N1bWVudCgpLT5mcmFtZSgpOwor
ICAgIGlmICghZnJhbWUpCisgICAgICAgIHJldHVybjsKKyAgICBmcmFtZS0+bG9hZGVyKCktPmNs
aWVudCgpLT5wYWdlU3RhdGVEaWRDaGFuZ2UoKTsKK30KKwogSFRNTFRleHRBcmVhRWxlbWVudDo6
SFRNTFRleHRBcmVhRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEhUTUxGb3JtRWxlbWVudCog
Zm9ybSkKICAgICA6IEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUodGV4dGFyZWFUYWcs
IGRvY3VtZW50LCBmb3JtKQogICAgICwgbV9yb3dzKGRlZmF1bHRSb3dzKQpAQCAtMjUyLDYgKzI2
MCw3IEBAIHZvaWQgSFRNTFRleHRBcmVhRWxlbWVudDo6dXBkYXRlVmFsdWUoKSBjb25zdAogICAg
IEFTU0VSVChyZW5kZXJlcigpKTsKICAgICBtX3ZhbHVlID0gc3RhdGljX2Nhc3Q8UmVuZGVyVGV4
dENvbnRyb2wqPihyZW5kZXJlcigpKS0+dGV4dCgpOwogICAgIHNldFZhbHVlTWF0Y2hlc1JlbmRl
cmVyKCk7CisgICAgbm90aWZ5Rm9ybVN0YXRlQ2hhbmdlZCh0aGlzKTsKIH0KIAogU3RyaW5nIEhU
TUxUZXh0QXJlYUVsZW1lbnQ6OnZhbHVlKCkgY29uc3QKQEAgLTI4MSw2ICsyOTAsNyBAQCB2b2lk
IEhUTUxUZXh0QXJlYUVsZW1lbnQ6OnNldFZhbHVlKGNvbnN0IFN0cmluZyYgdmFsdWUpCiAgICAg
fQogCiAgICAgc2V0Q2hhbmdlZCgpOworICAgIG5vdGlmeUZvcm1TdGF0ZUNoYW5nZWQodGhpcyk7
CiB9CiAKIFN0cmluZyBIVE1MVGV4dEFyZWFFbGVtZW50OjpkZWZhdWx0VmFsdWUoKSBjb25zdApk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9XZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuaAppbmRleCBkOTIyYmQxLi43MzZlYTJiIDEwMDY0NAotLS0gYS9XZWJD
b3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVu
dHMuaApAQCAtMjQ4LDYgKzI0OCw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCB1cGRh
dGVHbG9iYWxIaXN0b3J5KGNvbnN0IEtVUkwmKSB7IH0KICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxk
R29Ub0hpc3RvcnlJdGVtKEhpc3RvcnlJdGVtKikgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAg
ICB2aXJ0dWFsIHZvaWQgcGFnZVN0YXRlRGlkQ2hhbmdlKCkgeyB9CiAgICAgdmlydHVhbCB2b2lk
IHNhdmVWaWV3U3RhdGVUb0l0ZW0oSGlzdG9yeUl0ZW0qKSB7IH0KICAgICB2aXJ0dWFsIGJvb2wg
Y2FuQ2FjaGVQYWdlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIApkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9sb2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaCBiL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9h
ZGVyQ2xpZW50LmgKaW5kZXggZTU0NTRmZS4uOTlkMGZkYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9s
b2FkZXIvRnJhbWVMb2FkZXJDbGllbnQuaAorKysgYi9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRl
ckNsaWVudC5oCkBAIC0xNDksNiArMTQ5LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAg
ICAgdmlydHVhbCB2b2lkIHVwZGF0ZUdsb2JhbEhpc3RvcnkoY29uc3QgS1VSTCYpID0gMDsKICAg
ICAgICAgdmlydHVhbCBib29sIHNob3VsZEdvVG9IaXN0b3J5SXRlbShIaXN0b3J5SXRlbSopIGNv
bnN0ID0gMDsKIAorICAgICAgICAvLyBOb3RpZmljYXRpb24gdGhhdCBwYWdlIHN0YXRlIHN1Y2gg
YXMgZm9ybSBlbGVtZW50cyBoYXZlIGNoYW5nZWQuCisgICAgICAgIC8vIFRoaXMgZnVuY3Rpb24g
d2lsbCBiZSBjYWxsZWQgZnJlcXVlbnRseSwgc28gaGFuZGxpbmcgc2hvdWxkIGJlIHZlcnkgZmFz
dC4KKyAgICAgICAgdmlydHVhbCB2b2lkIHBhZ2VTdGF0ZURpZENoYW5nZSgpID0gMDsKKwogICAg
ICAgICB2aXJ0dWFsIFJlc291cmNlRXJyb3IgY2FuY2VsbGVkRXJyb3IoY29uc3QgUmVzb3VyY2VS
ZXF1ZXN0JikgPSAwOwogICAgICAgICB2aXJ0dWFsIFJlc291cmNlRXJyb3IgYmxvY2tlZEVycm9y
KGNvbnN0IFJlc291cmNlUmVxdWVzdCYpID0gMDsKICAgICAgICAgdmlydHVhbCBSZXNvdXJjZUVy
cm9yIGNhbm5vdFNob3dVUkxFcnJvcihjb25zdCBSZXNvdXJjZVJlcXVlc3QmKSA9IDA7CmRpZmYg
LS1naXQgYS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4
IDJlYjMyOWYuLjk4MDI4MTkgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBi
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTAgQEAKKzIwMDgtMTEtMTEgIEJyZXR0
IFdpbHNvbiAgPGJyZXR0d0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNs
aWVudC5oOgorICAgICAgICAoV2ViRnJhbWVMb2FkZXJDbGllbnQ6OnBhZ2VTdGF0ZURpZENoYW5n
ZSk6CisKIDIwMDgtMTAtMjMgIE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KIAogICAgICAg
ICBCdWlsZCBmaXguCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZy
YW1lTG9hZGVyQ2xpZW50LmggYi9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9h
ZGVyQ2xpZW50LmgKaW5kZXggMjczMDc2NS4uNzg2OTkxMCAxMDA2NDQKLS0tIGEvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oCisrKyBiL1dlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaApAQCAtMTM4LDYgKzEzOCw3IEBA
IHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGZpbmlzaGVkTG9hZGluZyhXZWJDb3JlOjpEb2N1
bWVudExvYWRlciopOwogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVHbG9iYWxIaXN0b3J5KGNvbnN0
IFdlYkNvcmU6OktVUkwmKTsKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkR29Ub0hpc3RvcnlJdGVt
KFdlYkNvcmU6Okhpc3RvcnlJdGVtKikgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIHBhZ2VTdGF0
ZURpZENoYW5nZSgpIHsgfQogCiAgICAgdmlydHVhbCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGNh
bmNlbGxlZEVycm9yKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwogICAgIHZpcnR1
YWwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBibG9ja2VkRXJyb3IoY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0Jik7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0NoYW5nZUxvZyBiL1dlYktp
dC93aW4vQ2hhbmdlTG9nCmluZGV4IDc5ZWYwY2YuLmU4NTk2ZDcgMTAwNjQ0Ci0tLSBhL1dlYktp
dC93aW4vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTAg
QEAKKzIwMDgtMTEtMTEgIEJyZXR0IFdpbHNvbiAgPGJyZXR0d0BjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlU3Vw
cG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oOgorICAgICAgICAoV2ViRnJhbWVMb2FkZXJDbGll
bnQ6OnBhZ2VTdGF0ZURpZENoYW5nZSk6CisKIDIwMDgtMTAtMjIgIEJyZW50IEZ1bGdoYW0gIDxi
ZnVsZ2hhbUBnbWFpbC5jb20+CiAKICAgICAgICAgQ29ycmVjdCBidWlsZCByZWdyZXNzaW9ucyBp
biBDYWlybyBwb3J0IGZvciBXaW5kb3dzLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJDb3Jl
U3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oIGIvV2ViS2l0L3dpbi9XZWJDb3JlU3VwcG9y
dC9XZWJGcmFtZUxvYWRlckNsaWVudC5oCmluZGV4IGI5ZmQwMjcuLmI4NTcyYTcgMTAwNjQ0Ci0t
LSBhL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaAorKysg
Yi9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmgKQEAgLTg1
LDYgKzg1LDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUdsb2JhbEhpc3Rv
cnkoY29uc3QgV2ViQ29yZTo6S1VSTCYpOwogICAgIHZpcnR1YWwgYm9vbCBzaG91bGRHb1RvSGlz
dG9yeUl0ZW0oV2ViQ29yZTo6SGlzdG9yeUl0ZW0qKSBjb25zdDsKKyAgICB2aXJ0dWFsIHZvaWQg
cGFnZVN0YXRlRGlkQ2hhbmdlKCkgeyB9CiAKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8V2ViQ29y
ZTo6RG9jdW1lbnRMb2FkZXI+IGNyZWF0ZURvY3VtZW50TG9hZGVyKGNvbnN0IFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYsIGNvbnN0IFdlYkNvcmU6OlN1YnN0aXR1dGVEYXRhJik7CiAgICAgdmly
dHVhbCB2b2lkIHNldFRpdGxlKGNvbnN0IFdlYkNvcmU6OlN0cmluZyYgdGl0bGUsIGNvbnN0IFdl
YkNvcmU6OktVUkwmKTsK
</data>
<flag name="review"
          id="11511"
          type_id="1"
          status="-"
          setter="sam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25136</attachid>
            <date>2008-11-13 14:10:33 -0800</date>
            <delta_ts>2008-11-21 16:50:54 -0800</delta_ts>
            <desc>Patch v2</desc>
            <filename>formstate.diff</filename>
            <type>text/plain</type>
            <size>13329</size>
            <attacher name="Brett Wilson (Google)">brettw</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NGMyZGExYi4uMDZiYzZhOSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAwOC0xMS0xMyAgQnJldHQgV2lsc29u
ICA8YnJldHR3QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjIxNzcKKworICAgICAgICBBZGQgYSBjYWxsYmFjayBvbiBGcmFtZUxvYWRlckNsaWVudCB0aGF0
IHRoZSBzdGF0ZSBvZiBmb3JtIGVsZW1lbnRzIG9uCisgICAgICAgIHRoZSBwYWdlIGhhcyBjaGFu
Z2VkLiBUaGlzIGlzIHRvIGFsbG93IGNsaWVudHMgaW1wbGVtZW50aW5nIHNlc3Npb24KKyAgICAg
ICAgc2F2aW5nIHRvIGtub3cgd2hlbiB0aGUgY3VycmVudCBzdGF0ZSBpcyBkaXJ0eS4KKworICAg
ICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
SW5wdXRFbGVtZW50OjpzZXRWYWx1ZUZyb21SZW5kZXJlcik6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MSW5wdXRFbGVtZW50OjpzZXRGaWxlTGlzdEZyb21SZW5kZXJlcik6CisgICAgICAgICogaHRt
bC9IVE1MU2VsZWN0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MU2VsZWN0RWxl
bWVudDo6c2V0U2VsZWN0ZWRJbmRleCk6CisgICAgICAgICogaHRtbC9IVE1MVGV4dEFyZWFFbGVt
ZW50LmNwcDoKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmg6CisgICAgICAgIChXZWJD
b3JlOjpFbXB0eUZyYW1lTG9hZGVyQ2xpZW50Ojpmb3JtU3RhdGVEaWRDaGFuZ2UpOgorCiAyMDA4
LTExLTEyICBBbHAgVG9rZXIgIDxhbHBAbnVhbnRpLmNvbT4KIAogICAgICAgICBCdWlsZCBmaXhl
cyBmb3IgcjM4MzQ2LiBGbG9hdFF1YWQuY3BwIGlzIG1pc3Npbmc6CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTElucHV0RWxl
bWVudC5jcHAKaW5kZXggYTgwMmVhZi4uOGEyMWI0NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1s
L0hUTUxJbnB1dEVsZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50
LmNwcApAQCAtMzgsNiArMzgsOCBAQAogI2luY2x1ZGUgIkZvY3VzQ29udHJvbGxlci5oIgogI2lu
Y2x1ZGUgIkZvcm1EYXRhTGlzdC5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5jbHVkZSAiRnJh
bWVMb2FkZXIuaCIKKyNpbmNsdWRlICJGcmFtZUxvYWRlckNsaWVudC5oIgogI2luY2x1ZGUgIkhU
TUxGb3JtRWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxJbWFnZUxvYWRlci5oIgogI2luY2x1ZGUg
IkhUTUxOYW1lcy5oIgpAQCAtOTksNiArMTAxLDE0IEBAIHN0YXRpYyBpbnQgbnVtQ2hhcmFjdGVy
c0luR3JhcGhlbWVDbHVzdGVycyhTdHJpbmdJbXBsKiBzLCBpbnQgbnVtR3JhcGhlbWVDbHVzdGVy
CiAgICAgcmV0dXJuIHRleHRCcmVha0N1cnJlbnQoaXQpOwogfQogCitzdGF0aWMgaW5saW5lIHZv
aWQgbm90aWZ5Rm9ybVN0YXRlQ2hhbmdlZChjb25zdCBIVE1MSW5wdXRFbGVtZW50KiBlbGVtZW50
KQoreworICAgIEZyYW1lKiBmcmFtZSA9IGVsZW1lbnQtPmRvY3VtZW50KCktPmZyYW1lKCk7Cisg
ICAgaWYgKCFmcmFtZSkKKyAgICAgICAgcmV0dXJuOworICAgIGZyYW1lLT5sb2FkZXIoKS0+Y2xp
ZW50KCktPmZvcm1TdGF0ZURpZENoYW5nZSgpOworfQorCiBIVE1MSW5wdXRFbGVtZW50OjpIVE1M
SW5wdXRFbGVtZW50KERvY3VtZW50KiBkb2MsIEhUTUxGb3JtRWxlbWVudCogZikKICAgICA6IEhU
TUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUoaW5wdXRUYWcsIGRvYywgZikKIHsKQEAgLTM2
MSw2ICszNzEsOCBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNldElucHV0VHlwZShjb25zdCBT
dHJpbmcmIHQpCiAKICAgICAgICAgICAgIGNoZWNrZWRSYWRpb0J1dHRvbnModGhpcykuYWRkQnV0
dG9uKHRoaXMpOwogICAgICAgICB9CisKKyAgICAgICAgbm90aWZ5Rm9ybVN0YXRlQ2hhbmdlZCh0
aGlzKTsKICAgICB9CiAgICAgbV9oYXZlVHlwZSA9IHRydWU7CiAKQEAgLTEwMzMsNiArMTA0NSw3
IEBAIHZvaWQgSFRNTElucHV0RWxlbWVudDo6c2V0VmFsdWUoY29uc3QgU3RyaW5nJiB2YWx1ZSkK
ICAgICAgICAgICAgIGNhY2hlZFNlbEVuZCA9IG1heDsKICAgICAgICAgfQogICAgIH0KKyAgICBu
b3RpZnlGb3JtU3RhdGVDaGFuZ2VkKHRoaXMpOwogfQogCiB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6
OnNldFZhbHVlRnJvbVJlbmRlcmVyKGNvbnN0IFN0cmluZyYgdmFsdWUpCkBAIC0xMDU4LDYgKzEw
NzEsOCBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNldFZhbHVlRnJvbVJlbmRlcmVyKGNvbnN0
IFN0cmluZyYgdmFsdWUpCiAKICAgICAvLyBGaXJlIHRoZSAiaW5wdXQiIERPTSBldmVudC4KICAg
ICBkaXNwYXRjaEV2ZW50Rm9yVHlwZShldmVudE5hbWVzKCkuaW5wdXRFdmVudCwgdHJ1ZSwgZmFs
c2UpOworCisgICAgbm90aWZ5Rm9ybVN0YXRlQ2hhbmdlZCh0aGlzKTsKIH0KIAogdm9pZCBIVE1M
SW5wdXRFbGVtZW50OjpzZXRGaWxlTGlzdEZyb21SZW5kZXJlcihjb25zdCBWZWN0b3I8U3RyaW5n
PiYgcGF0aHMpCkBAIC0xMDY4LDYgKzEwODMsNyBAQCB2b2lkIEhUTUxJbnB1dEVsZW1lbnQ6OnNl
dEZpbGVMaXN0RnJvbVJlbmRlcmVyKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBwYXRocykKICAgICAg
ICAgbV9maWxlTGlzdC0+YXBwZW5kKEZpbGU6OmNyZWF0ZShwYXRoc1tpXSkpOwogCiAgICAgc2V0
VmFsdWVNYXRjaGVzUmVuZGVyZXIoKTsKKyAgICBub3RpZnlGb3JtU3RhdGVDaGFuZ2VkKHRoaXMp
OwogfQogCiBib29sIEhUTUxJbnB1dEVsZW1lbnQ6OnN0b3Jlc1ZhbHVlU2VwYXJhdGVGcm9tQXR0
cmlidXRlKCkgY29uc3QKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVu
dC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCmluZGV4IDc3YjE4NjAu
LmQzZDMwY2QgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAK
KysrIGIvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcApAQCAtMzUsNiArMzUsOCBA
QAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJGb3JtRGF0YUxpc3QuaCIKICNp
bmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCisjaW5jbHVkZSAiRnJh
bWVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKICNpbmNsdWRl
ICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MT3B0aW9uRWxlbWVudC5oIgpAQCAtMTg5LDYg
KzE5MSwxMCBAQCB2b2lkIEhUTUxTZWxlY3RFbGVtZW50OjpzZXRTZWxlY3RlZEluZGV4KGludCBv
cHRpb25JbmRleCwgYm9vbCBkZXNlbGVjdCwgYm9vbCBmaQogICAgIC8vIFRoaXMgb25seSBnZXRz
IGNhbGxlZCB3aXRoIGZpcmVPbkNoYW5nZSBmb3IgbWVudSBsaXN0cy4gCiAgICAgaWYgKGZpcmVP
bkNoYW5nZSAmJiB1c2VzTWVudUxpc3QoKSkKICAgICAgICAgbWVudUxpc3RPbkNoYW5nZSgpOwor
CisgICAgRnJhbWUqIGZyYW1lID0gZG9jdW1lbnQoKS0+ZnJhbWUoKTsKKyAgICBpZiAoZnJhbWUp
CisgICAgICAgIGZyYW1lLT5sb2FkZXIoKS0+Y2xpZW50KCktPmZvcm1TdGF0ZURpZENoYW5nZSgp
OwogfQogCiBpbnQgSFRNTFNlbGVjdEVsZW1lbnQ6OmFjdGl2ZVNlbGVjdGlvblN0YXJ0TGlzdElu
ZGV4KCkgY29uc3QKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50
LmNwcCBiL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcAppbmRleCA4NWRhMTMx
Li5iYTdhYTkyIDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5j
cHAKKysrIGIvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwCkBAIC0zMiw2ICsz
Miw4IEBACiAjaW5jbHVkZSAiRm9jdXNDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRm9ybURhdGFM
aXN0LmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJGcmFtZUxvYWRlci5oIgorI2lu
Y2x1ZGUgIkZyYW1lTG9hZGVyQ2xpZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5j
bHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCkBAIC00Niw2ICs0OCwxNCBA
QCB1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogc3RhdGljIGNvbnN0IGludCBkZWZhdWx0Um93
cyA9IDI7CiBzdGF0aWMgY29uc3QgaW50IGRlZmF1bHRDb2xzID0gMjA7CiAKK3N0YXRpYyBpbmxp
bmUgdm9pZCBub3RpZnlGb3JtU3RhdGVDaGFuZ2VkKGNvbnN0IEhUTUxUZXh0QXJlYUVsZW1lbnQq
IGVsZW1lbnQpCit7CisgICAgRnJhbWUqIGZyYW1lID0gZWxlbWVudC0+ZG9jdW1lbnQoKS0+ZnJh
bWUoKTsKKyAgICBpZiAoIWZyYW1lKQorICAgICAgICByZXR1cm47CisgICAgZnJhbWUtPmxvYWRl
cigpLT5jbGllbnQoKS0+Zm9ybVN0YXRlRGlkQ2hhbmdlKCk7Cit9CisKIEhUTUxUZXh0QXJlYUVs
ZW1lbnQ6OkhUTUxUZXh0QXJlYUVsZW1lbnQoRG9jdW1lbnQqIGRvY3VtZW50LCBIVE1MRm9ybUVs
ZW1lbnQqIGZvcm0pCiAgICAgOiBIVE1MRm9ybUNvbnRyb2xFbGVtZW50V2l0aFN0YXRlKHRleHRh
cmVhVGFnLCBkb2N1bWVudCwgZm9ybSkKICAgICAsIG1fcm93cyhkZWZhdWx0Um93cykKQEAgLTI1
MSw2ICsyNjEsNyBAQCB2b2lkIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OnVwZGF0ZVZhbHVlKCkgY29u
c3QKICAgICBBU1NFUlQocmVuZGVyZXIoKSk7CiAgICAgbV92YWx1ZSA9IHN0YXRpY19jYXN0PFJl
bmRlclRleHRDb250cm9sKj4ocmVuZGVyZXIoKSktPnRleHQoKTsKICAgICBzZXRWYWx1ZU1hdGNo
ZXNSZW5kZXJlcigpOworICAgIG5vdGlmeUZvcm1TdGF0ZUNoYW5nZWQodGhpcyk7CiB9CiAKIFN0
cmluZyBIVE1MVGV4dEFyZWFFbGVtZW50Ojp2YWx1ZSgpIGNvbnN0CkBAIC0yODAsNiArMjkxLDcg
QEAgdm9pZCBIVE1MVGV4dEFyZWFFbGVtZW50OjpzZXRWYWx1ZShjb25zdCBTdHJpbmcmIHZhbHVl
KQogICAgIH0KIAogICAgIHNldENoYW5nZWQoKTsKKyAgICBub3RpZnlGb3JtU3RhdGVDaGFuZ2Vk
KHRoaXMpOwogfQogCiBTdHJpbmcgSFRNTFRleHRBcmVhRWxlbWVudDo6ZGVmYXVsdFZhbHVlKCkg
Y29uc3QKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oIGIvV2ViQ29y
ZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXggOGNhYjc0Ny4uMmVmZGFiYSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvRW1w
dHlDbGllbnRzLmgKQEAgLTI1MCw2ICsyNTAsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZv
aWQgdXBkYXRlR2xvYmFsSGlzdG9yeShjb25zdCBLVVJMJikgeyB9CiAgICAgdmlydHVhbCBib29s
IHNob3VsZEdvVG9IaXN0b3J5SXRlbShIaXN0b3J5SXRlbSopIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9CisgICAgdmlydHVhbCB2b2lkIGZvcm1TdGF0ZURpZENoYW5nZSgpIHsgfQogICAgIHZpcnR1
YWwgdm9pZCBzYXZlVmlld1N0YXRlVG9JdGVtKEhpc3RvcnlJdGVtKikgeyB9CiAgICAgdmlydHVh
bCBib29sIGNhbkNhY2hlUGFnZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKZGlmZiAtLWdp
dCBhL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmggYi9XZWJDb3JlL2xvYWRlci9G
cmFtZUxvYWRlckNsaWVudC5oCmluZGV4IGU1NDU0ZmUuLjAzMTE0MjIgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyQ2xpZW50LmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvRnJh
bWVMb2FkZXJDbGllbnQuaApAQCAtMTQ5LDYgKzE0OSwxMCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVHbG9iYWxIaXN0b3J5KGNvbnN0IEtVUkwmKSA9
IDA7CiAgICAgICAgIHZpcnR1YWwgYm9vbCBzaG91bGRHb1RvSGlzdG9yeUl0ZW0oSGlzdG9yeUl0
ZW0qKSBjb25zdCA9IDA7CiAKKyAgICAgICAgLy8gTm90aWZpY2F0aW9uIHRoYXQgZm9ybSBlbGVt
ZW50cyBoYXZlIGNoYW5nZWQuIFRoaXMgZnVuY3Rpb24gd2lsbCBiZQorICAgICAgICAvLyBjYWxs
ZWQgZnJlcXVlbnRseSwgc28gaGFuZGxpbmcgc2hvdWxkIGJlIHZlcnkgZmFzdC4KKyAgICAgICAg
dmlydHVhbCB2b2lkIGZvcm1TdGF0ZURpZENoYW5nZSgpID0gMDsKKwogICAgICAgICB2aXJ0dWFs
IFJlc291cmNlRXJyb3IgY2FuY2VsbGVkRXJyb3IoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JikgPSAw
OwogICAgICAgICB2aXJ0dWFsIFJlc291cmNlRXJyb3IgYmxvY2tlZEVycm9yKGNvbnN0IFJlc291
cmNlUmVxdWVzdCYpID0gMDsKICAgICAgICAgdmlydHVhbCBSZXNvdXJjZUVycm9yIGNhbm5vdFNo
b3dVUkxFcnJvcihjb25zdCBSZXNvdXJjZVJlcXVlc3QmKSA9IDA7CmRpZmYgLS1naXQgYS9XZWJL
aXQvZ3RrL0NoYW5nZUxvZyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDM1NWVlMmMuLjkx
YmQxNDYgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9ndGsv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDgtMTEtMTMgIEJyZXR0IFdpbHNvbiAgPGJy
ZXR0d0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTc3
CisKKyAgICAgICAgQWRkIGEgY2FsbGJhY2sgb24gRnJhbWVMb2FkZXJDbGllbnQgdGhhdCB0aGUg
c3RhdGUgb2YgZm9ybSBlbGVtZW50cyBvbgorICAgICAgICB0aGUgcGFnZSBoYXMgY2hhbmdlZC4g
VGhpcyBpcyB0byBhbGxvdyBjbGllbnRzIGltcGxlbWVudGluZyBzZXNzaW9uCisgICAgICAgIHNh
dmluZyB0byBrbm93IHdoZW4gdGhlIGN1cnJlbnQgc3RhdGUgaXMgZGlydHkuCisKKyAgICAgICAg
KiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5oOgorICAgICAgICAoV2ViS2l0
OjpGcmFtZUxvYWRlckNsaWVudDo6Zm9ybVN0YXRlRGlkQ2hhbmdlKToKKwogMjAwOC0xMS0wNiAg
QWxwIFRva2VyICA8YWxwQG51YW50aS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVy
Q2xpZW50R3RrLmggYi9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
R3RrLmgKaW5kZXggOGY2M2I1My4uMDQzMjI4ZiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9XZWJD
b3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEd0ay5oCisrKyBiL1dlYktpdC9ndGsvV2ViQ29y
ZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRHdGsuaApAQCAtMTMxLDYgKzEzMSw3IEBAIG5hbWVz
cGFjZSBXZWJLaXQgewogCiAgICAgICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVHbG9iYWxIaXN0b3J5
KGNvbnN0IFdlYkNvcmU6OktVUkwmKTsKICAgICAgICAgdmlydHVhbCBib29sIHNob3VsZEdvVG9I
aXN0b3J5SXRlbShXZWJDb3JlOjpIaXN0b3J5SXRlbSopIGNvbnN0OworICAgICAgICB2aXJ0dWFs
IHZvaWQgZm9ybVN0YXRlRGlkQ2hhbmdlKCkgeyB9CiAKICAgICAgICAgdmlydHVhbCBXZWJDb3Jl
OjpSZXNvdXJjZUVycm9yIGNhbmNlbGxlZEVycm9yKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVx
dWVzdCYpOwogICAgICAgICB2aXJ0dWFsIFdlYkNvcmU6OlJlc291cmNlRXJyb3IgYmxvY2tlZEVy
cm9yKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0
L21hYy9DaGFuZ2VMb2cgYi9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCAwZDk4NTdlLi5kNGY2
MGIxIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9XZWJLaXQvbWFjL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDA4LTExLTEzICBCcmV0dCBXaWxzb24gIDxicmV0
dHdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjE3Nwor
CisgICAgICAgIEFkZCBhIGNhbGxiYWNrIG9uIEZyYW1lTG9hZGVyQ2xpZW50IHRoYXQgdGhlIHN0
YXRlIG9mIGZvcm0gZWxlbWVudHMgb24KKyAgICAgICAgdGhlIHBhZ2UgaGFzIGNoYW5nZWQuIFRo
aXMgaXMgdG8gYWxsb3cgY2xpZW50cyBpbXBsZW1lbnRpbmcgc2Vzc2lvbgorICAgICAgICBzYXZp
bmcgdG8ga25vdyB3aGVuIHRoZSBjdXJyZW50IHN0YXRlIGlzIGRpcnR5LgorCisgICAgICAgICog
V2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaDoKKyAgICAgICAgKFdlYkZyYW1l
TG9hZGVyQ2xpZW50Ojpmb3JtU3RhdGVEaWRDaGFuZ2UpOgorCiAyMDA4LTExLTEyICBBbmRlcnMg
Q2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2V2
aW4gRGVja2VyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFt
ZUxvYWRlckNsaWVudC5oIGIvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRl
ckNsaWVudC5oCmluZGV4IDI3MzA3NjUuLmMyN2Q1YzMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMv
V2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaAorKysgYi9XZWJLaXQvbWFjL1dl
YkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmgKQEAgLTEzOCw2ICsxMzgsNyBAQCBw
cml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBmaW5pc2hlZExvYWRpbmcoV2ViQ29yZTo6RG9jdW1l
bnRMb2FkZXIqKTsKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlR2xvYmFsSGlzdG9yeShjb25zdCBX
ZWJDb3JlOjpLVVJMJik7CiAgICAgdmlydHVhbCBib29sIHNob3VsZEdvVG9IaXN0b3J5SXRlbShX
ZWJDb3JlOjpIaXN0b3J5SXRlbSopIGNvbnN0OworICAgIHZpcnR1YWwgdm9pZCBmb3JtU3RhdGVE
aWRDaGFuZ2UoKSB7IH0KIAogICAgIHZpcnR1YWwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBjYW5j
ZWxsZWRFcnJvcihjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmKTsKICAgICB2aXJ0dWFs
IFdlYkNvcmU6OlJlc291cmNlRXJyb3IgYmxvY2tlZEVycm9yKGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L0NoYW5nZUxvZyBiL1dlYktpdC9x
dC9DaGFuZ2VMb2cKaW5kZXggZGI0N2M1MS4uNGRkNDJjNiAxMDA2NDQKLS0tIGEvV2ViS2l0L3F0
L0NoYW5nZUxvZworKysgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIw
MDgtMTEtMTMgIEJyZXR0IFdpbHNvbiAgPGJyZXR0d0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTc3CisKKyAgICAgICAgQWRkIGEgY2FsbGJhY2sgb24g
RnJhbWVMb2FkZXJDbGllbnQgdGhhdCB0aGUgc3RhdGUgb2YgZm9ybSBlbGVtZW50cyBvbgorICAg
ICAgICB0aGUgcGFnZSBoYXMgY2hhbmdlZC4gVGhpcyBpcyB0byBhbGxvdyBjbGllbnRzIGltcGxl
bWVudGluZyBzZXNzaW9uCisgICAgICAgIHNhdmluZyB0byBrbm93IHdoZW4gdGhlIGN1cnJlbnQg
c3RhdGUgaXMgZGlydHkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNs
aWVudFF0Lmg6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudFF0Ojpmb3JtU3Rh
dGVEaWRDaGFuZ2UpOgorCiAyMDA4LTExLTExICBBcml5YSBIaWRheWF0ICA8YXJpeWEuaGlkYXlh
dEB0cm9sbHRlY2guY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRvciBBcm5lIFZlc3Riw7gg
YW5kIFNpbW9uIEhhdXNtYW5uLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0
L0ZyYW1lTG9hZGVyQ2xpZW50UXQuaCBiL1dlYktpdC9xdC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxv
YWRlckNsaWVudFF0LmgKaW5kZXggMDE1NjQxMi4uNDgzNjk5YiAxMDA2NDQKLS0tIGEvV2ViS2l0
L3F0L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50UXQuaAorKysgYi9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRRdC5oCkBAIC0xNDYsNiArMTQ2LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVHbG9iYWxI
aXN0b3J5KGNvbnN0IEtVUkwmKTsKICAgICAgICAgdmlydHVhbCBib29sIHNob3VsZEdvVG9IaXN0
b3J5SXRlbShIaXN0b3J5SXRlbSopIGNvbnN0OworICAgICAgICB2aXJ0dWFsIHZvaWQgZm9ybVN0
YXRlRGlkQ2hhbmdlKCkgeyB9CiAKICAgICAgICAgdmlydHVhbCBSZXNvdXJjZUVycm9yIGNhbmNl
bGxlZEVycm9yKGNvbnN0IFJlc291cmNlUmVxdWVzdCYpOwogICAgICAgICB2aXJ0dWFsIFJlc291
cmNlRXJyb3IgYmxvY2tlZEVycm9yKGNvbnN0IFJlc291cmNlUmVxdWVzdCYpOwpkaWZmIC0tZ2l0
IGEvV2ViS2l0L3dpbi9DaGFuZ2VMb2cgYi9XZWJLaXQvd2luL0NoYW5nZUxvZwppbmRleCBjNzY1
MDc0Li5lNGY0MjVjIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL0NoYW5nZUxvZworKysgYi9XZWJL
aXQvd2luL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDA4LTExLTEzICBCcmV0dCBXaWxz
b24gIDxicmV0dHdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjE3NworCisgICAgICAgIEFkZCBhIGNhbGxiYWNrIG9uIEZyYW1lTG9hZGVyQ2xpZW50IHRo
YXQgdGhlIHN0YXRlIG9mIGZvcm0gZWxlbWVudHMgb24KKyAgICAgICAgdGhlIHBhZ2UgaGFzIGNo
YW5nZWQuIFRoaXMgaXMgdG8gYWxsb3cgY2xpZW50cyBpbXBsZW1lbnRpbmcgc2Vzc2lvbgorICAg
ICAgICBzYXZpbmcgdG8ga25vdyB3aGVuIHRoZSBjdXJyZW50IHN0YXRlIGlzIGRpcnR5LgorCisg
ICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaDoKKyAgICAgICAg
KFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojpmb3JtU3RhdGVEaWRDaGFuZ2UpOgorCiAyMDA4LTExLTEx
ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
QWRhbSBSb2Jlbi4KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRnJh
bWVMb2FkZXJDbGllbnQuaCBiL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2Fk
ZXJDbGllbnQuaAppbmRleCBiOWZkMDI3Li5hM2E5YmVhIDEwMDY0NAotLS0gYS9XZWJLaXQvd2lu
L1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmgKKysrIGIvV2ViS2l0L3dpbi9X
ZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oCkBAIC04NSw2ICs4NSw3IEBAIHB1
YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVHbG9iYWxIaXN0b3J5KGNvbnN0IFdlYkNv
cmU6OktVUkwmKTsKICAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkR29Ub0hpc3RvcnlJdGVtKFdlYkNv
cmU6Okhpc3RvcnlJdGVtKikgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIGZvcm1TdGF0ZURpZENo
YW5nZSgpIHsgfQogCiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYkNvcmU6OkRvY3VtZW50TG9h
ZGVyPiBjcmVhdGVEb2N1bWVudExvYWRlcihjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qm
LCBjb25zdCBXZWJDb3JlOjpTdWJzdGl0dXRlRGF0YSYpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRU
aXRsZShjb25zdCBXZWJDb3JlOjpTdHJpbmcmIHRpdGxlLCBjb25zdCBXZWJDb3JlOjpLVVJMJik7
CmRpZmYgLS1naXQgYS9XZWJLaXQvd3gvQ2hhbmdlTG9nIGIvV2ViS2l0L3d4L0NoYW5nZUxvZwpp
bmRleCA1YzlkNjIzLi4zMzBhNjc2IDEwMDY0NAotLS0gYS9XZWJLaXQvd3gvQ2hhbmdlTG9nCisr
KyBiL1dlYktpdC93eC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAwOC0xMS0xMyAgQnJl
dHQgV2lsc29uICA8YnJldHR3QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjIxNzcKKworICAgICAgICBBZGQgYSBjYWxsYmFjayBvbiBGcmFtZUxvYWRlckNs
aWVudCB0aGF0IHRoZSBzdGF0ZSBvZiBmb3JtIGVsZW1lbnRzIG9uCisgICAgICAgIHRoZSBwYWdl
IGhhcyBjaGFuZ2VkLiBUaGlzIGlzIHRvIGFsbG93IGNsaWVudHMgaW1wbGVtZW50aW5nIHNlc3Np
b24KKyAgICAgICAgc2F2aW5nIHRvIGtub3cgd2hlbiB0aGUgY3VycmVudCBzdGF0ZSBpcyBkaXJ0
eS4KKworICAgICAgICAqIFdlYktpdFN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXeC5oOgorICAg
ICAgICAoV2ViQ29yZTo6RnJhbWVMb2FkZXJDbGllbnRXeDo6Zm9ybVN0YXRlRGlkQ2hhbmdlKToK
KwogMjAwOC0xMS0xMSAgQ2FtZXJvbiBad2FyaWNoICA8endhcmljaEBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgR2VvZmYgR2FyZW4uCmRpZmYgLS1naXQgYS9XZWJLaXQvd3gvV2Vi
S2l0U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudFd4LmggYi9XZWJLaXQvd3gvV2ViS2l0U3VwcG9y
dC9GcmFtZUxvYWRlckNsaWVudFd4LmgKaW5kZXggM2I1MjViMS4uYTk1YTZkOSAxMDA2NDQKLS0t
IGEvV2ViS2l0L3d4L1dlYktpdFN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRXeC5oCisrKyBiL1dl
YktpdC93eC9XZWJLaXRTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50V3guaApAQCAtMTUxLDYgKzE1
MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgCiAgICAgICAgIHZpcnR1YWwgdm9p
ZCB1cGRhdGVHbG9iYWxIaXN0b3J5KGNvbnN0IEtVUkwmKTsKICAgICAgICAgdmlydHVhbCBib29s
IHNob3VsZEdvVG9IaXN0b3J5SXRlbShIaXN0b3J5SXRlbSopIGNvbnN0OworICAgICAgICB2aXJ0
dWFsIHZvaWQgZm9ybVN0YXRlRGlkQ2hhbmdlKCkgeyB9CiAgICAgICAgIHZpcnR1YWwgdm9pZCBz
YXZlU2Nyb2xsUG9zaXRpb25BbmRWaWV3U3RhdGVUb0l0ZW0oSGlzdG9yeUl0ZW0qKTsKICAgICAg
ICAgdmlydHVhbCBib29sIGNhbkNhY2hlUGFnZSgpIGNvbnN0OwogICAgICAgICAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25366</attachid>
            <date>2008-11-21 16:50:54 -0800</date>
            <delta_ts>2008-12-05 09:56:55 -0800</delta_ts>
            <desc>Patch v3</desc>
            <filename>formchange.diff</filename>
            <type>text/plain</type>
            <size>12477</size>
            <attacher name="Brett Wilson (Google)">brettw</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
OTg5NzY0OS4uZWZmYzVjZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAwOC0xMS0yMSAgQnJldHQgV2lsc29u
ICA8YnJldHR3QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjIxNzcKKworICAgICAgICBBZGQgYSBjYWxsYmFjayBvbiBGcmFtZUxvYWRlckNsaWVudCB0aGF0
IHRoZSBzdGF0ZSBvZiBmb3JtIGVsZW1lbnRzIG9uCisgICAgICAgIHRoZSBwYWdlIGhhcyBjaGFu
Z2VkLiBUaGlzIGlzIHRvIGFsbG93IGNsaWVudHMgaW1wbGVtZW50aW5nIHNlc3Npb24KKyAgICAg
ICAgc2F2aW5nIHRvIGtub3cgd2hlbiB0aGUgY3VycmVudCBzdGF0ZSBpcyBkaXJ0eS4KKworICAg
ICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpub3Rp
ZnlGb3JtU3RhdGVDaGFuZ2VkKToKKyAgICAgICAgKiBodG1sL0hUTUxTZWxlY3RFbGVtZW50LmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxTZWxlY3RFbGVtZW50OjpzZXRTZWxlY3RlZEluZGV4
KToKKyAgICAgICAgKiBodG1sL0hUTUxUZXh0QXJlYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6bm90aWZ5Rm9ybVN0YXRlQ2hhbmdlZCk6CisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xp
ZW50cy5oOgorICAgICAgICAoV2ViQ29yZTo6RW1wdHlDaHJvbWVDbGllbnQ6OmZvcm1TdGF0ZURp
ZENoYW5nZSk6CisgICAgICAgICogcGFnZS9DaHJvbWVDbGllbnQuaDoKKwogMjAwOC0xMS0yMSAg
U2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEdlb2Zm
cmV5IEdhcmVuLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3Bw
IGIvV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCmluZGV4IGY3ODJlN2UuLmE3NmM2
MWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcAorKysgYi9X
ZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNs
dWRlICJIVE1MSW5wdXRFbGVtZW50LmgiCiAKICNpbmNsdWRlICJCZWZvcmVUZXh0SW5zZXJ0ZWRF
dmVudC5oIgorI2luY2x1ZGUgIkNocm9tZUNsaWVudC5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5
TmFtZXMuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkVkaXRvci5oIgpAQCAt
MTAwLDYgKzEwMSwxNCBAQCBzdGF0aWMgaW50IG51bUNoYXJhY3RlcnNJbkdyYXBoZW1lQ2x1c3Rl
cnMoU3RyaW5nSW1wbCogcywgaW50IG51bUdyYXBoZW1lQ2x1c3RlcgogICAgIHJldHVybiB0ZXh0
QnJlYWtDdXJyZW50KGl0KTsKIH0KIAorc3RhdGljIGlubGluZSB2b2lkIG5vdGlmeUZvcm1TdGF0
ZUNoYW5nZWQoSFRNTElucHV0RWxlbWVudCogZWxlbWVudCkKK3sKKyAgICBGcmFtZSogZnJhbWUg
PSBlbGVtZW50LT5kb2N1bWVudCgpLT5mcmFtZSgpOworICAgIGlmICghZnJhbWUpCisgICAgICAg
IHJldHVybjsKKyAgICBmcmFtZS0+cGFnZSgpLT5jaHJvbWUoKS0+Y2xpZW50KCktPmZvcm1TdGF0
ZURpZENoYW5nZShlbGVtZW50KTsKK30KKwogSFRNTElucHV0RWxlbWVudDo6SFRNTElucHV0RWxl
bWVudChEb2N1bWVudCogZG9jLCBIVE1MRm9ybUVsZW1lbnQqIGYpCiAgICAgOiBIVE1MRm9ybUNv
bnRyb2xFbGVtZW50V2l0aFN0YXRlKGlucHV0VGFnLCBkb2MsIGYpCiB7CkBAIC0zNjIsNiArMzcx
LDggQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRJbnB1dFR5cGUoY29uc3QgU3RyaW5nJiB0
KQogCiAgICAgICAgICAgICBjaGVja2VkUmFkaW9CdXR0b25zKHRoaXMpLmFkZEJ1dHRvbih0aGlz
KTsKICAgICAgICAgfQorCisgICAgICAgIG5vdGlmeUZvcm1TdGF0ZUNoYW5nZWQodGhpcyk7CiAg
ICAgfQogICAgIG1faGF2ZVR5cGUgPSB0cnVlOwogCkBAIC0xMDM0LDYgKzEwNDUsNyBAQCB2b2lk
IEhUTUxJbnB1dEVsZW1lbnQ6OnNldFZhbHVlKGNvbnN0IFN0cmluZyYgdmFsdWUpCiAgICAgICAg
ICAgICBjYWNoZWRTZWxFbmQgPSBtYXg7CiAgICAgICAgIH0KICAgICB9CisgICAgbm90aWZ5Rm9y
bVN0YXRlQ2hhbmdlZCh0aGlzKTsKIH0KIAogdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRWYWx1
ZUZyb21SZW5kZXJlcihjb25zdCBTdHJpbmcmIHZhbHVlKQpAQCAtMTA1OSw2ICsxMDcxLDggQEAg
dm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRWYWx1ZUZyb21SZW5kZXJlcihjb25zdCBTdHJpbmcm
IHZhbHVlKQogCiAgICAgLy8gRmlyZSB0aGUgImlucHV0IiBET00gZXZlbnQuCiAgICAgZGlzcGF0
Y2hFdmVudEZvclR5cGUoZXZlbnROYW1lcygpLmlucHV0RXZlbnQsIHRydWUsIGZhbHNlKTsKKwor
ICAgIG5vdGlmeUZvcm1TdGF0ZUNoYW5nZWQodGhpcyk7CiB9CiAKIHZvaWQgSFRNTElucHV0RWxl
bWVudDo6c2V0RmlsZUxpc3RGcm9tUmVuZGVyZXIoY29uc3QgVmVjdG9yPFN0cmluZz4mIHBhdGhz
KQpAQCAtMTA2OSw2ICsxMDgzLDcgQEAgdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpzZXRGaWxlTGlz
dEZyb21SZW5kZXJlcihjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGF0aHMpCiAgICAgICAgIG1fZmls
ZUxpc3QtPmFwcGVuZChGaWxlOjpjcmVhdGUocGF0aHNbaV0pKTsKIAogICAgIHNldFZhbHVlTWF0
Y2hlc1JlbmRlcmVyKCk7CisgICAgbm90aWZ5Rm9ybVN0YXRlQ2hhbmdlZCh0aGlzKTsKIH0KIAog
Ym9vbCBIVE1MSW5wdXRFbGVtZW50OjpzdG9yZXNWYWx1ZVNlcGFyYXRlRnJvbUF0dHJpYnV0ZSgp
IGNvbnN0CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwIGIv
V2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmNwcAppbmRleCA5NmNmZWUwLi5iMDIyMzc4
IDEwMDY0NAotLS0gYS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuY3BwCisrKyBiL1dl
YkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpbmNs
dWRlICJDU1NQcm9wZXJ0eU5hbWVzLmgiCiAjaW5jbHVkZSAiQ1NTU3R5bGVTZWxlY3Rvci5oIgog
I2luY2x1ZGUgIkNoYXJhY3Rlck5hbWVzLmgiCisjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAj
aW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50
SGFuZGxlci5oIgpAQCAtNDEsNiArNDIsNyBAQAogI2luY2x1ZGUgIkhUTUxPcHRpb25zQ29sbGVj
dGlvbi5oIgogI2luY2x1ZGUgIktleWJvYXJkRXZlbnQuaCIKICNpbmNsdWRlICJNb3VzZUV2ZW50
LmgiCisjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlJlbmRlckxpc3RCb3guaCIKICNpbmNs
dWRlICJSZW5kZXJNZW51TGlzdC5oIgogI2luY2x1ZGUgPG1hdGguaD4KQEAgLTE5MCw2ICsxOTIs
MTAgQEAgdm9pZCBIVE1MU2VsZWN0RWxlbWVudDo6c2V0U2VsZWN0ZWRJbmRleChpbnQgb3B0aW9u
SW5kZXgsIGJvb2wgZGVzZWxlY3QsIGJvb2wgZmkKICAgICAvLyBUaGlzIG9ubHkgZ2V0cyBjYWxs
ZWQgd2l0aCBmaXJlT25DaGFuZ2UgZm9yIG1lbnUgbGlzdHMuIAogICAgIGlmIChmaXJlT25DaGFu
Z2UgJiYgdXNlc01lbnVMaXN0KCkpCiAgICAgICAgIG1lbnVMaXN0T25DaGFuZ2UoKTsKKworICAg
IEZyYW1lKiBmcmFtZSA9IGRvY3VtZW50KCktPmZyYW1lKCk7CisgICAgaWYgKGZyYW1lKQorICAg
ICAgICBmcmFtZS0+cGFnZSgpLT5jaHJvbWUoKS0+Y2xpZW50KCktPmZvcm1TdGF0ZURpZENoYW5n
ZSh0aGlzKTsKIH0KIAogaW50IEhUTUxTZWxlY3RFbGVtZW50OjphY3RpdmVTZWxlY3Rpb25TdGFy
dExpc3RJbmRleCgpIGNvbnN0CmRpZmYgLS1naXQgYS9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVh
RWxlbWVudC5jcHAgYi9XZWJDb3JlL2h0bWwvSFRNTFRleHRBcmVhRWxlbWVudC5jcHAKaW5kZXgg
NzYxNjYwMS4uOWJlMzliZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9odG1sL0hUTUxUZXh0QXJlYUVs
ZW1lbnQuY3BwCisrKyBiL1dlYkNvcmUvaHRtbC9IVE1MVGV4dEFyZWFFbGVtZW50LmNwcApAQCAt
MjYsMTIgKzI2LDE1IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiSFRNTFRleHRB
cmVhRWxlbWVudC5oIgogCisjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKICNpbmNsdWRlICJFdmVudC5oIgogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNp
bmNsdWRlICJGb2N1c0NvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJGb3JtRGF0YUxpc3QuaCIKICNp
bmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCisjaW5jbHVkZSAiRnJh
bWVMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJQYWdl
LmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKQEAgLTQ3LDYgKzUwLDE0IEBAIHVzaW5nIG5h
bWVzcGFjZSBIVE1MTmFtZXM7CiBzdGF0aWMgY29uc3QgaW50IGRlZmF1bHRSb3dzID0gMjsKIHN0
YXRpYyBjb25zdCBpbnQgZGVmYXVsdENvbHMgPSAyMDsKIAorc3RhdGljIGlubGluZSB2b2lkIG5v
dGlmeUZvcm1TdGF0ZUNoYW5nZWQoY29uc3QgSFRNTFRleHRBcmVhRWxlbWVudCogZWxlbWVudCkK
K3sKKyAgICBGcmFtZSogZnJhbWUgPSBlbGVtZW50LT5kb2N1bWVudCgpLT5mcmFtZSgpOworICAg
IGlmICghZnJhbWUpCisgICAgICAgIHJldHVybjsKKyAgICBmcmFtZS0+cGFnZSgpLT5jaHJvbWUo
KS0+Y2xpZW50KCktPmZvcm1TdGF0ZURpZENoYW5nZShlbGVtZW50KTsKK30KKwogSFRNTFRleHRB
cmVhRWxlbWVudDo6SFRNTFRleHRBcmVhRWxlbWVudChEb2N1bWVudCogZG9jdW1lbnQsIEhUTUxG
b3JtRWxlbWVudCogZm9ybSkKICAgICA6IEhUTUxGb3JtQ29udHJvbEVsZW1lbnRXaXRoU3RhdGUo
dGV4dGFyZWFUYWcsIGRvY3VtZW50LCBmb3JtKQogICAgICwgbV9yb3dzKGRlZmF1bHRSb3dzKQpA
QCAtMjUyLDYgKzI2Myw3IEBAIHZvaWQgSFRNTFRleHRBcmVhRWxlbWVudDo6dXBkYXRlVmFsdWUo
KSBjb25zdAogICAgIEFTU0VSVChyZW5kZXJlcigpKTsKICAgICBtX3ZhbHVlID0gc3RhdGljX2Nh
c3Q8UmVuZGVyVGV4dENvbnRyb2wqPihyZW5kZXJlcigpKS0+dGV4dCgpOwogICAgIHNldFZhbHVl
TWF0Y2hlc1JlbmRlcmVyKCk7CisgICAgbm90aWZ5Rm9ybVN0YXRlQ2hhbmdlZCh0aGlzKTsKIH0K
IAogU3RyaW5nIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OnZhbHVlKCkgY29uc3QKQEAgLTI4MSw2ICsy
OTMsNyBAQCB2b2lkIEhUTUxUZXh0QXJlYUVsZW1lbnQ6OnNldFZhbHVlKGNvbnN0IFN0cmluZyYg
dmFsdWUpCiAgICAgfQogCiAgICAgc2V0Q2hhbmdlZCgpOworICAgIG5vdGlmeUZvcm1TdGF0ZUNo
YW5nZWQodGhpcyk7CiB9CiAKIFN0cmluZyBIVE1MVGV4dEFyZWFFbGVtZW50OjpkZWZhdWx0VmFs
dWUoKSBjb25zdApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9X
ZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCA4Y2FiNzQ3Li5mNzU2Yjc4IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9XZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuaApAQCAtMTI4LDYgKzEyOCw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IHZvaWQgZXhjZWVkZWREYXRhYmFzZVF1b3RhKEZyYW1lKiwgY29uc3QgU3RyaW5nJikgeyB9CiAK
ICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxGaWxlQ2hv
b3Nlcj4pIHsgfQorCisgICAgdmlydHVhbCB2b2lkIGZvcm1TdGF0ZURpZENoYW5nZShjb25zdCBO
b2RlKikgeyB9CiB9OwogCiBjbGFzcyBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50IDogcHVibGljIEZy
YW1lTG9hZGVyQ2xpZW50IHsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQu
aCBiL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAppbmRleCA3Njc4ZGMyLi5hNjBiMDkwIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvV2ViQ29yZS9wYWdl
L0Nocm9tZUNsaWVudC5oCkBAIC0xNDgsNiArMTQ4LDEwIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1lKiwgUGFzc1JlZlB0cjxG
aWxlQ2hvb3Nlcj4pID0gMDsKIAorICAgICAgICAvLyBOb3RpZmljYXRpb24gdGhhdCB0aGUgZ2l2
ZW4gZm9ybSBlbGVtZW50IGhhcyBjaGFuZ2VkLiBUaGlzIGZ1bmN0aW9uCisgICAgICAgIC8vIHdp
bGwgYmUgY2FsbGVkIGZyZXF1ZW50bHksIHNvIGhhbmRsaW5nIHNob3VsZCBiZSB2ZXJ5IGZhc3Qu
CisgICAgICAgIHZpcnR1YWwgdm9pZCBmb3JtU3RhdGVEaWRDaGFuZ2UoY29uc3QgTm9kZSopID0g
MDsKKwogI2lmIFBMQVRGT1JNKE1BQykKICAgICAgICAgdmlydHVhbCBLZXlib2FyZFVJTW9kZSBr
ZXlib2FyZFVJTW9kZSgpIHsgcmV0dXJuIEtleWJvYXJkQWNjZXNzRGVmYXVsdDsgfQogCmRpZmYg
LS1naXQgYS9XZWJLaXQvZ3RrL0NoYW5nZUxvZyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4
IDJmMDM1NmYuLjJlN2JhM2EgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBi
L1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMDgtMTEtMjEgIEJyZXR0
IFdpbHNvbiAgPGJyZXR0d0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyMTc3CisKKyAgICAgICAgQWRkIGEgY2FsbGJhY2sgb24gRnJhbWVMb2FkZXJDbGll
bnQgdGhhdCB0aGUgc3RhdGUgb2YgZm9ybSBlbGVtZW50cyBvbgorICAgICAgICB0aGUgcGFnZSBo
YXMgY2hhbmdlZC4gVGhpcyBpcyB0byBhbGxvdyBjbGllbnRzIGltcGxlbWVudGluZyBzZXNzaW9u
CisgICAgICAgIHNhdmluZyB0byBrbm93IHdoZW4gdGhlIGN1cnJlbnQgc3RhdGUgaXMgZGlydHku
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaDoKKyAgICAgICAg
KFdlYktpdDo6Q2hyb21lQ2xpZW50Ojpmb3JtU3RhdGVEaWRDaGFuZ2UpOgorCiAyMDA4LTExLTE5
ICBEYXJpbiBGaXNoZXIgIDxkYXJpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQnVzdGFnZSBm
aXguCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0
ay5oIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuaAppbmRleCAw
NGIzYTI2Li4xNmEwZDhmIDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0No
cm9tZUNsaWVudEd0ay5oCisrKyBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xp
ZW50R3RrLmgKQEAgLTEwMCw2ICsxMDAsOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogICAgICAg
ICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKFdlYkNvcmU6OkZyYW1lKiwgUGFzc1JlZlB0cjxX
ZWJDb3JlOjpGaWxlQ2hvb3Nlcj4pOwogCisgICAgICAgIHZpcnR1YWwgdm9pZCBmb3JtU3RhdGVE
aWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6Tm9kZSopIHsgfQorCiAgICAgcHJpdmF0ZToKICAgICAg
ICAgV2ViS2l0V2ViVmlldyogbV93ZWJWaWV3OwogICAgICAgICBXZWJDb3JlOjpLVVJMIG1faG92
ZXJlZExpbmtVUkw7CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCmluZGV4IGE2Y2NjYjIuLmVjYjFmMjcgMTAwNjQ0Ci0tLSBhL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMDgtMTEtMjEgIEJyZXR0IFdpbHNvbiAgPGJyZXR0d0BjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTc3CisKKyAgICAgICAgQWRkIGEgY2FsbGJhY2sg
b24gRnJhbWVMb2FkZXJDbGllbnQgdGhhdCB0aGUgc3RhdGUgb2YgZm9ybSBlbGVtZW50cyBvbgor
ICAgICAgICB0aGUgcGFnZSBoYXMgY2hhbmdlZC4gVGhpcyBpcyB0byBhbGxvdyBjbGllbnRzIGlt
cGxlbWVudGluZyBzZXNzaW9uCisgICAgICAgIHNhdmluZyB0byBrbm93IHdoZW4gdGhlIGN1cnJl
bnQgc3RhdGUgaXMgZGlydHkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaDoKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6Zm9ybVN0YXRlRGlkQ2hhbmdlKToK
KwogMjAwOC0xMS0yMCAgUGllcnJlLU9saXZpZXIgTGF0b3VyICA8cG9sQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBEYW4gQmVybnN0ZWluLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21h
Yy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBiL1dlYktpdC9tYWMvV2ViQ29yZVN1
cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggZjZhNmVmYi4uMzJmNTBkZiAxMDA2NDQKLS0t
IGEvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysgYi9XZWJL
aXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCkBAIC0xMzEsNiArMTMxLDcg
QEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2b2lkIGVuYWJsZVN1ZGRlblRlcm1pbmF0aW9uKCk7
CiAgICAgdmlydHVhbCB2b2lkIGRpc2FibGVTdWRkZW5UZXJtaW5hdGlvbigpOworICAgIHZpcnR1
YWwgdm9pZCBmb3JtU3RhdGVEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6Tm9kZSopIHsgfQogCiBw
cml2YXRlOgogICAgIFdlYlZpZXcgKm1fd2ViVmlldzsKZGlmZiAtLWdpdCBhL1dlYktpdC9xdC9D
aGFuZ2VMb2cgYi9XZWJLaXQvcXQvQ2hhbmdlTG9nCmluZGV4IDJiZTMyYzIuLjcyZTRkY2MgMTAw
NjQ0Ci0tLSBhL1dlYktpdC9xdC9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L3F0L0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2IEBACisyMDA4LTExLTIxICBCcmV0dCBXaWxzb24gIDxicmV0dHdAY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjE3NworCisgICAgICAg
IEFkZCBhIGNhbGxiYWNrIG9uIEZyYW1lTG9hZGVyQ2xpZW50IHRoYXQgdGhlIHN0YXRlIG9mIGZv
cm0gZWxlbWVudHMgb24KKyAgICAgICAgdGhlIHBhZ2UgaGFzIGNoYW5nZWQuIFRoaXMgaXMgdG8g
YWxsb3cgY2xpZW50cyBpbXBsZW1lbnRpbmcgc2Vzc2lvbgorICAgICAgICBzYXZpbmcgdG8ga25v
dyB3aGVuIHRoZSBjdXJyZW50IHN0YXRlIGlzIGRpcnR5LgorCisgICAgICAgICogV2ViQ29yZVN1
cHBvcnQvQ2hyb21lQ2xpZW50UXQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudFF0
Ojpmb3JtU3RhdGVEaWRDaGFuZ2UpOgorCiAyMDA4LTExLTIwICBTYW0gV2VpbmlnICA8c2FtQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgRml4IFF0IGJ1aWxkLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3F0
L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmggYi9XZWJLaXQvcXQvV2ViQ29yZVN1cHBv
cnQvQ2hyb21lQ2xpZW50UXQuaAppbmRleCA0NDBmMjllLi5kYmZkMTI0IDEwMDY0NAotLS0gYS9X
ZWJLaXQvcXQvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaAorKysgYi9XZWJLaXQvcXQv
V2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50UXQuaApAQCAtMTE3LDYgKzExNyw4IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogICAgICAgICB2aXJ0dWFsIHZvaWQgcnVuT3BlblBhbmVsKEZyYW1l
KiwgUGFzc1JlZlB0cjxGaWxlQ2hvb3Nlcj4pOwogCisgICAgICAgIHZpcnR1YWwgdm9pZCBmb3Jt
U3RhdGVEaWRDaGFuZ2UoTm9kZSopIHsgfQorCiAgICAgICAgIFFXZWJQYWdlKiBtX3dlYlBhZ2U7
CiAgICAgICAgIFdlYkNvcmU6OktVUkwgbGFzdEhvdmVyVVJMOwogICAgICAgICBXZWJDb3JlOjpT
dHJpbmcgbGFzdEhvdmVyVGl0bGU7CmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL0NoYW5nZUxvZyBi
L1dlYktpdC93aW4vQ2hhbmdlTG9nCmluZGV4IDg4OTM2NzguLjA4NWMyYWYgMTAwNjQ0Ci0tLSBh
L1dlYktpdC93aW4vQ2hhbmdlTG9nCisrKyBiL1dlYktpdC93aW4vQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTYgQEAKKzIwMDgtMTEtMjEgIEJyZXR0IFdpbHNvbiAgPGJyZXR0d0BjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTc3CisKKyAgICAgICAgQWRkIGEg
Y2FsbGJhY2sgb24gRnJhbWVMb2FkZXJDbGllbnQgdGhhdCB0aGUgc3RhdGUgb2YgZm9ybSBlbGVt
ZW50cyBvbgorICAgICAgICB0aGUgcGFnZSBoYXMgY2hhbmdlZC4gVGhpcyBpcyB0byBhbGxvdyBj
bGllbnRzIGltcGxlbWVudGluZyBzZXNzaW9uCisgICAgICAgIHNhdmluZyB0byBrbm93IHdoZW4g
dGhlIGN1cnJlbnQgc3RhdGUgaXMgZGlydHkuCisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKFdlYkNocm9tZUNsaWVudDo6Zm9ybVN0YXRlRGlk
Q2hhbmdlKToKKwogMjAwOC0xMS0yMSAgRGltaXRyaSBHbGF6a292ICA8ZGdsYXprb3ZAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCmRpZmYg
LS1naXQgYS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIGIvV2Vi
S2l0L3dpbi9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAppbmRleCA4M2M1YTcwLi43
YjgxMDY0IDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oCisrKyBiL1dlYktpdC93aW4vV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgK
QEAgLTExNyw2ICsxMTcsOCBAQCBwdWJsaWM6CiAKICAgICBXZWJWaWV3KiB3ZWJWaWV3KCkgY29u
c3QgeyByZXR1cm4gbV93ZWJWaWV3OyB9CiAKKyAgICB2aXJ0dWFsIHZvaWQgZm9ybVN0YXRlRGlk
Q2hhbmdlKGNvbnN0IFdlYkNvcmU6Ok5vZGUqKSB7IH0KKwogcHJpdmF0ZToKICAgICBDT01QdHI8
SVdlYlVJRGVsZWdhdGU+IHVpRGVsZWdhdGUoKTsKICAgICBDT01QdHI8SVdlYlVJRGVsZWdhdGUy
PiB1aURlbGVnYXRlMigpOwpkaWZmIC0tZ2l0IGEvV2ViS2l0L3d4L0NoYW5nZUxvZyBiL1dlYktp
dC93eC9DaGFuZ2VMb2cKaW5kZXggMzQwYjk1MS4uZjI0YzlkMiAxMDA2NDQKLS0tIGEvV2ViS2l0
L3d4L0NoYW5nZUxvZworKysgYi9XZWJLaXQvd3gvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMDgtMTEtMjEgIEJyZXR0IFdpbHNvbiAgPGJyZXR0d0BjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTc3CisKKyAgICAgICAgQWRkIGEgY2FsbGJhY2sg
b24gRnJhbWVMb2FkZXJDbGllbnQgdGhhdCB0aGUgc3RhdGUgb2YgZm9ybSBlbGVtZW50cyBvbgor
ICAgICAgICB0aGUgcGFnZSBoYXMgY2hhbmdlZC4gVGhpcyBpcyB0byBhbGxvdyBjbGllbnRzIGlt
cGxlbWVudGluZyBzZXNzaW9uCisgICAgICAgIHNhdmluZyB0byBrbm93IHdoZW4gdGhlIGN1cnJl
bnQgc3RhdGUgaXMgZGlydHkuCisKKyAgICAgICAgKiBXZWJLaXRTdXBwb3J0L0Nocm9tZUNsaWVu
dFd4Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnRXeDo6Zm9ybVN0YXRlRGlkQ2hh
bmdlKToKKwogMjAwOC0xMS0xOSAgRGFyaW4gRmlzaGVyICA8ZGFyaW5AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmIEdhcmVuLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3d4
L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaCBiL1dlYktpdC93eC9XZWJLaXRTdXBwb3J0
L0Nocm9tZUNsaWVudFd4LmgKaW5kZXggZDkwNzg4Zi4uNjFkMDE2YSAxMDA2NDQKLS0tIGEvV2Vi
S2l0L3d4L1dlYktpdFN1cHBvcnQvQ2hyb21lQ2xpZW50V3guaAorKysgYi9XZWJLaXQvd3gvV2Vi
S2l0U3VwcG9ydC9DaHJvbWVDbGllbnRXeC5oCkBAIC0xMTMsNiArMTEzLDggQEAgcHVibGljOgog
CiAgICAgdmlydHVhbCB2b2lkIHJ1bk9wZW5QYW5lbChGcmFtZSosIFBhc3NSZWZQdHI8RmlsZUNo
b29zZXI+KTsKIAorICAgIHZpcnR1YWwgdm9pZCBmb3JtU3RhdGVEaWRDaGFuZ2UoY29uc3QgTm9k
ZSopIHsgfQorCiBwcml2YXRlOgogICAgIHd4V2ViVmlldyogbV93ZWJWaWV3OwogfTsK
</data>
<flag name="review"
          id="11755"
          type_id="1"
          status="+"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25914</attachid>
            <date>2008-12-09 22:31:04 -0800</date>
            <delta_ts>2008-12-09 22:41:21 -0800</delta_ts>
            <desc>Fix windows build.</desc>
            <filename>fix-build.txt</filename>
            <type>text/plain</type>
            <size>0</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64"></data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25915</attachid>
            <date>2008-12-09 22:41:21 -0800</date>
            <delta_ts>2008-12-10 00:28:54 -0800</delta_ts>
            <desc>Fix windows build.</desc>
            <filename>junk.txt</filename>
            <type>text/plain</type>
            <size>1542</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzOTE2MikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMDgtMTItMDkgIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZp
eCB0aGUgd2luZG93cyBidWlsZC4KKworICAgICAgICAqIGh0bWwvSFRNTElucHV0RWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW5wdXRFbGVtZW50Ojp0eXBlKToKKwogMjAwOC0x
Mi0wOSAgRXJpYyBTZWlkZWwgIDxlcmljQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTm8gcmV2aWV3
LCBidWlsZCBmaXggb25seS4KSW5kZXg6IFdlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2h0bWwvSFRNTElucHV0RWxlbWVudC5jcHAJKHJldmlz
aW9uIDM5MTYyKQorKysgV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00MjksOSArNDI5LDggQEAgY29uc3QgQXRvbWljU3RyaW5nJiBIVE1MSW5wdXRF
bGVtZW50Ojp0eQogICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25zdCBBdG9taWNT
dHJpbmcsIHRleHQsICgidGV4dCIpKTsKICAgICAgICAgICAgIHJldHVybiB0ZXh0OwogICAgICAg
ICB9Ci0KLSAgICAgICAgbm90aWZ5Rm9ybVN0YXRlQ2hhbmdlZCh0aGlzKTsKICAgICB9CisgICAg
bm90aWZ5Rm9ybVN0YXRlQ2hhbmdlZCh0aGlzKTsKICAgICByZXR1cm4gZW1wdHlBdG9tOwogfQog
CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCShyZXZpc2lvbiAzOTE2MikKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMTgsNyArMTgsNyBAQAogCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjUxMgogCi0gICAgICAgIEFkZCBhIHRlc3QgdG8gY2hl
Y2sgZm9yIGNoZWNrcyB3aGVuIGF0dGFjaGluZyBhbiBldmVudCB0byBhIGRvY3VtZW50IGNyZWF0
ZWQgYnkKKyAgICAgICAgQWRkIGEgdGVzdCB0byBjaGVjayBmb3IgY3Jhc2hlcyB3aGVuIGF0dGFj
aGluZyBhbiBldmVudCB0byBhIGRvY3VtZW50IGNyZWF0ZWQgYnkKICAgICAgICAgJ2RvY3VtZW50
LmltcGxlbWVudGF0aW9uLmNyZWF0ZURvY3VtZW50Jy4KIAogICAgICAgICAqIGZhc3QvZXZlbnRz
L2NyZWF0ZS1kb2N1bWVudC1jcmFzaC1vbi1hdHRhY2gtZXZlbnQtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4K
</data>
<flag name="review"
          id="12167"
          type_id="1"
          status="-"
          setter="ap"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>25916</attachid>
            <date>2008-12-10 00:28:54 -0800</date>
            <delta_ts>2008-12-10 04:21:38 -0800</delta_ts>
            <desc>Update build fix patch.</desc>
            <filename>fix-build.txt</filename>
            <type>text/plain</type>
            <size>1882</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzOTE2NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMDgtMTItMTAgIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisJRml4IHRoZSB3
aW5kb3dzIGJ1aWxkIGJ5IHJlbW92aW5nIGNhbGxzIHRvIG5vdGlmeUZvcm1TdGF0ZUNoYW5nZWQK
Kwl3aGVyZSB0aGV5IGRpZG4ndCBhcHBlYXIgaW4gdGhlIG9yaWdpbmFsIHJldmlldy4KKworCWh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjE3NworCisgICAgICAgICog
aHRtbC9IVE1MSW5wdXRFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbnB1dEVs
ZW1lbnQ6OnR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTElucHV0RWxlbWVudDo6YXR0YWNo
KToKKwogMjAwOC0xMi0wOSAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCkluZGV4OiBXZWJDb3JlL2h0bWwvSFRNTElucHV0
RWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9odG1sL0hUTUxJbnB1dEVsZW1lbnQu
Y3BwCShyZXZpc2lvbiAzOTE2NCkKKysrIFdlYkNvcmUvaHRtbC9IVE1MSW5wdXRFbGVtZW50LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtNDI5LDggKzQyOSw2IEBAIGNvbnN0IEF0b21pY1N0cmluZyYg
SFRNTElucHV0RWxlbWVudDo6dHkKICAgICAgICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29u
c3QgQXRvbWljU3RyaW5nLCB0ZXh0LCAoInRleHQiKSk7CiAgICAgICAgICAgICByZXR1cm4gdGV4
dDsKICAgICAgICAgfQotCi0gICAgICAgIG5vdGlmeUZvcm1TdGF0ZUNoYW5nZWQodGhpcyk7CiAg
ICAgfQogICAgIHJldHVybiBlbXB0eUF0b207CiB9CkBAIC03OTAsNyArNzg4LDYgQEAgdm9pZCBI
VE1MSW5wdXRFbGVtZW50OjphdHRhY2goKQogICAgICAgICAgICAgICAgIGltYWdlT2JqLT5zZXRJ
bWFnZVNpemVGb3JBbHRUZXh0KCk7CiAgICAgICAgIH0KICAgICB9Ci0gICAgbm90aWZ5Rm9ybVN0
YXRlQ2hhbmdlZCh0aGlzKTsKIH0KIAogdm9pZCBIVE1MSW5wdXRFbGVtZW50OjpkZXRhY2goKQpJ
bmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0No
YW5nZUxvZwkocmV2aXNpb24gMzkxNjQpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTI4LDcgKzI4LDcgQEAKIAogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1MTIKIAotICAgICAgICBBZGQgYSB0ZXN0IHRvIGNoZWNr
IGZvciBjaGVja3Mgd2hlbiBhdHRhY2hpbmcgYW4gZXZlbnQgdG8gYSBkb2N1bWVudCBjcmVhdGVk
IGJ5CisgICAgICAgIEFkZCBhIHRlc3QgdG8gY2hlY2sgZm9yIGNyYXNoZXMgd2hlbiBhdHRhY2hp
bmcgYW4gZXZlbnQgdG8gYSBkb2N1bWVudCBjcmVhdGVkIGJ5CiAgICAgICAgICdkb2N1bWVudC5p
bXBsZW1lbnRhdGlvbi5jcmVhdGVEb2N1bWVudCcuCiAKICAgICAgICAgKiBmYXN0L2V2ZW50cy9j
cmVhdGUtZG9jdW1lbnQtY3Jhc2gtb24tYXR0YWNoLWV2ZW50LWV4cGVjdGVkLnR4dDogQWRkZWQu
Cg==
</data>
<flag name="review"
          id="12168"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>