<?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>79173</bug_id>
          
          <creation_ts>2012-02-21 18:00:12 -0800</creation_ts>
          <short_desc>dragover&apos;s default action should prevent drop for file drags</short_desc>
          <delta_ts>2012-10-31 16:44:44 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>UI Events</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>79171</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Cheng">dcheng</reporter>
          <assigned_to name="Daniel Cheng">dcheng</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>roger_fong</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>561436</commentid>
    <comment_count>0</comment_count>
      <attachid>128098</attachid>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2012-02-21 18:00:12 -0800</bug_when>
    <thetext>Created attachment 128098
Test case

Per the spec, both dragenter and dragover need to be cancelled for a drop to take place.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>562103</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-02-22 10:18:40 -0800</bug_when>
    <thetext>See also: bug 66469.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746020</commentid>
    <comment_count>2</comment_count>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2012-10-18 23:10:09 -0700</bug_when>
    <thetext>*** Bug 99791 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746024</commentid>
    <comment_count>3</comment_count>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2012-10-18 23:12:00 -0700</bug_when>
    <thetext>I&apos;m not sure when this regressed, but apparently not cancelling dragover still results in drops now as well. Ick.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746044</commentid>
    <comment_count>4</comment_count>
      <attachid>169558</attachid>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2012-10-18 23:26:22 -0700</bug_when>
    <thetext>Created attachment 169558
Patch

I have an initial patch. I need to refine it further though; according to the spec, drop events should still happen on things like &lt;input&gt; and &lt;textarea&gt; without requiring the dragover event to be cancelled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746143</commentid>
    <comment_count>5</comment_count>
      <attachid>169558</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-19 02:05:35 -0700</bug_when>
    <thetext>Comment on attachment 169558
Patch

Attachment 169558 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14457372

New failing tests:
http/tests/security/clipboard/clipboard-file-access.html
editing/pasteboard/drag-drop-url-with-style.html
fast/events/moving-text-should-fire-drop-and-dragend-events.html
fast/events/moving-text-should-fire-drop-and-dragend-events-2.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746370</commentid>
    <comment_count>6</comment_count>
      <attachid>169558</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-19 09:33:35 -0700</bug_when>
    <thetext>Comment on attachment 169558
Patch

Attachment 169558 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14455588

New failing tests:
fast/events/moving-text-should-fire-drop-and-dragend-events.html
platform/chromium/plugins/drag-events.html
http/tests/security/clipboard/clipboard-file-access.html
fast/events/moving-text-should-fire-drop-and-dragend-events-2.html
editing/pasteboard/drag-drop-url-with-style.html
fast/dom/shadow/drop-event-in-shadow.html
fast/events/input-element-display-none-in-dragleave-crash.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746935</commentid>
    <comment_count>7</comment_count>
      <attachid>169761</attachid>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2012-10-20 00:41:55 -0700</bug_when>
    <thetext>Created attachment 169761
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746970</commentid>
    <comment_count>8</comment_count>
      <attachid>169761</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-20 06:35:19 -0700</bug_when>
    <thetext>Comment on attachment 169761
Patch

Attachment 169761 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14460881

New failing tests:
fast/dom/shadow/drop-event-in-shadow.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747050</commentid>
    <comment_count>9</comment_count>
      <attachid>169788</attachid>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2012-10-21 01:25:45 -0700</bug_when>
    <thetext>Created attachment 169788
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>747667</commentid>
    <comment_count>10</comment_count>
      <attachid>169788</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-10-22 10:32:07 -0700</bug_when>
    <thetext>Comment on attachment 169788
Patch

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

&gt; Source/WebCore/ChangeLog:11
&gt; +        action of the dragover event. Otherwise, if the cursor is over a text field, editing host,
&gt; +        or an editable element, we also consider the drag to be accepted.

Can you include information about browser compat here? E.g., This makes us match the spec, IE and Opera, but differs from Gecko.  You might also want to include the spec text that describes this behavior (maybe also link to the msdn article about behavior in IE?).

&gt; Source/WebCore/page/DragController.h:124
&gt; +        bool m_documentIsHandlingDrag;

Should we initialize this in the constructor?  I guess it&apos;ll always be set by dragEnteredOrUpdated before we read it in performDrag.

&gt; LayoutTests/fast/events/only-valid-drop-targets-receive-drop-expected.txt:8
&gt; +Dropping here should NOT result in a drop event.
&gt; +Dropping here should result in a drop event.
&gt; +Starting drag...
&gt; +Drop not received
&gt; +Starting drag...
&gt; +Drop received

Nit: It would be nice if the text output was clear about which div is which.  E.g., 
Dropping on drop1 should NOT...
Dropping on drop2 should result...
Starting drag to drop1...
Drop not received on drop1.
Starting drag to drop2...
Drop received on drop2.

&gt; LayoutTests/fast/events/only-valid-drop-targets-receive-drop.html:64
&gt; +

Nit: Extra blank line.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>748110</commentid>
    <comment_count>11</comment_count>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2012-10-22 17:09:55 -0700</bug_when>
    <thetext>Upon further investigation, this behavior is specific to file drags. The layout test I added actually worked without the patch.

Currently, WebKit dispatches a drop event without requiring dragenter/dragover for file drags.

Other browsers:
IE: requires dragenter/dragover to be cancelled
Firefox: requires dragenter/dragover to be cancelled
Opera: requires dragenter/dragover to be cancelled

Given that our behavior is in the minority, I&apos;m going to go ahead and land this patch after updating the layout test and addressing the review comments. I personally dislike it as it makes builtin drop handling inconsistent (&lt;textarea&gt; and &lt;input type=&quot;text&quot;&gt; don&apos;t require dragenter/dragover cancellation to override default drop behavior), but talking with Tony, we&apos;re going to prioritize cross-browser compatibility.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751106</commentid>
    <comment_count>12</comment_count>
      <attachid>170709</attachid>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2012-10-25 12:23:15 -0700</bug_when>
    <thetext>Created attachment 170709
More test cases</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>751108</commentid>
    <comment_count>13</comment_count>
      <attachid>169788</attachid>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2012-10-25 12:24:32 -0700</bug_when>
    <thetext>Comment on attachment 169788
Patch

I&apos;m going to be updating this patch for the following items:
1. Reflect the fact that the layout test I added is only for file drags.
2. Fix the fact that simply cancelling dragover is enough to get a drop event (per the spec, unless you&apos;re the body element, you need to cancel both the dragenter/dragover event). This brings us in line with the spec and IE behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752504</commentid>
    <comment_count>14</comment_count>
      <attachid>171032</attachid>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2012-10-26 15:42:46 -0700</bug_when>
    <thetext>Created attachment 171032
Patch

Updated patch. I need to finish testing this on another machine since DRT won&apos;t run on my Mac anymore...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752505</commentid>
    <comment_count>15</comment_count>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2012-10-26 15:42:59 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 169788 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=169788&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:11
&gt; &gt; +        action of the dragover event. Otherwise, if the cursor is over a text field, editing host,
&gt; &gt; +        or an editable element, we also consider the drag to be accepted.
&gt; 
&gt; Can you include information about browser compat here? E.g., This makes us match the spec, IE and Opera, but differs from Gecko.  You might also want to include the spec text that describes this behavior (maybe also link to the msdn article about behavior in IE?).
&gt; 

Done.

&gt; &gt; Source/WebCore/page/DragController.h:124
&gt; &gt; +        bool m_documentIsHandlingDrag;
&gt; 
&gt; Should we initialize this in the constructor?  I guess it&apos;ll always be set by dragEnteredOrUpdated before we read it in performDrag.
&gt; 

Done. It should always be initialized before we read it... but just to be safe, I initialized it in the ctor.

&gt; &gt; LayoutTests/fast/events/only-valid-drop-targets-receive-drop-expected.txt:8
&gt; &gt; +Dropping here should NOT result in a drop event.
&gt; &gt; +Dropping here should result in a drop event.
&gt; &gt; +Starting drag...
&gt; &gt; +Drop not received
&gt; &gt; +Starting drag...
&gt; &gt; +Drop received
&gt; 
&gt; Nit: It would be nice if the text output was clear about which div is which.  E.g., 
&gt; Dropping on drop1 should NOT...
&gt; Dropping on drop2 should result...
&gt; Starting drag to drop1...
&gt; Drop not received on drop1.
&gt; Starting drag to drop2...
&gt; Drop received on drop2.
&gt; 

Done (partially). I can&apos;t think of a good way to do this that works with manual testing, so it only says &quot;dropX&quot; if a drop was received.

&gt; &gt; LayoutTests/fast/events/only-valid-drop-targets-receive-drop.html:64
&gt; &gt; +
&gt; 
&gt; Nit: Extra blank line.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752591</commentid>
    <comment_count>16</comment_count>
      <attachid>171051</attachid>
    <who name="Daniel Cheng">dcheng</who>
    <bug_when>2012-10-26 17:00:39 -0700</bug_when>
    <thetext>Created attachment 171051
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752638</commentid>
    <comment_count>17</comment_count>
      <attachid>171051</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-26 18:31:23 -0700</bug_when>
    <thetext>Comment on attachment 171051
Patch

Clearing flags on attachment: 171051

Committed r132716: &lt;http://trac.webkit.org/changeset/132716&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752639</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-26 18:31:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755720</commentid>
    <comment_count>19</comment_count>
    <who name="Roger Fong">roger_fong</who>
    <bug_when>2012-10-31 16:38:39 -0700</bug_when>
    <thetext>Hello, fast/events/only-valid-drop-targets-receive-file-drop.html, fails on the Apple-Windows port.

Here&apos;s the diff:

 Starting drag...
 Drop received in drop target 1
 Starting drag...
-Drop not received
+FAIL: navigation expected
 
Do have any hunches about what it could be? 
Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755724</commentid>
    <comment_count>20</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-10-31 16:44:44 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; Hello, fast/events/only-valid-drop-targets-receive-file-drop.html, fails on the Apple-Windows port.
&gt; 
&gt; Here&apos;s the diff:
&gt; 
&gt;  Starting drag...
&gt;  Drop received in drop target 1
&gt;  Starting drag...
&gt; -Drop not received
&gt; +FAIL: navigation expected
&gt; 
&gt; Do have any hunches about what it could be? 
&gt; Thanks

Win DRT is already skipping many drag&amp;drop tests.  It&apos;s not clear to me if this failure is new or if Win DRT is missing some testing functionality.

LayoutTests/platform/win/TestExpectations has a comment that points to rdar://5621244 that may provide a reason?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>128098</attachid>
            <date>2012-02-21 18:00:12 -0800</date>
            <delta_ts>2012-02-21 18:00:12 -0800</delta_ts>
            <desc>Test case</desc>
            <filename>drop-only-requires-dragover-cancellation.html</filename>
            <type>text/html</type>
            <size>255</size>
            <attacher name="Daniel Cheng">dcheng</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8c2NyaXB0PgpmdW5jdGlvbiBkcmFnb3ZlcihldmVudCkgewogIGV2ZW50
LnByZXZlbnREZWZhdWx0KCk7Cn0KZnVuY3Rpb24gZHJvcChldmVudCkgewogIGV2ZW50LnByZXZl
bnREZWZhdWx0KCk7CiAgY29uc29sZS5sb2coIlN0aWxsIGdvdCBhIGRyb3AiKTsKfQo8L3Njcmlw
dD4KPC9oZWFkPgo8Ym9keSBvbmRyYWdvdmVyPSJkcmFnb3ZlcihldmVudCkiIG9uZHJvcD0iZHJv
cChldmVudCkiPgo8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169558</attachid>
            <date>2012-10-18 23:26:22 -0700</date>
            <delta_ts>2012-10-20 00:41:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79173-20121018232506.patch</filename>
            <type>text/plain</type>
            <size>7544</size>
            <attacher name="Daniel Cheng">dcheng</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNzk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGIyMGZlZDFlYmFlMmZh
MDZkYWIyNTc1MzExOWIxMzQ5ZDU2ZWQ0OC4uODAyZmY2MDJmNzc3NGI5NWI3MjgzNzI3NjZlMmU0
NTJmMWEwZTZkNSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTEwLTE4ICBEYW5p
ZWwgQ2hlbmcgIDxkY2hlbmdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIGRyYWdvdmVyJ3MgZGVm
YXVsdCBhY3Rpb24gc2hvdWxkIHByZXZlbnQgZHJvcCB3aGVuIGFwcHJvcHJpYXRlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTE3MworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBkcmFnb3ZlciBl
dmVudCBoYW5kbGluZyB0byBjb25mb3JtIHRvIHRoZSBIVE1MIHNwZWNpZmljYXRpb24uCisKKyAg
ICAgICAgVGVzdDogZmFzdC9ldmVudHMvb25seS12YWxpZC1kcm9wLXRhcmdldHMtcmVjZWl2ZS1k
cm9wLmh0bWwKKworICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkV2ZW50SGFuZGxlcjo6dXBkYXRlRHJhZ0FuZERyb3ApOgorICAgICAgICAoV2ViQ29y
ZTo6RXZlbnRIYW5kbGVyOjpwZXJmb3JtRHJhZ0FuZERyb3ApOgorICAgICAgICAqIHBhZ2UvRXZl
bnRIYW5kbGVyLmg6CisKIDIwMTItMTAtMTggIEJyaWFuIFdoaXRlICA8YmN3aGl0ZUBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgV2ViS2l0IERvZXNuJ3QgUmVjb2duaXplIENvbnRlbnQtTGFuZ3Vh
Z2UgSFRUUCBIZWFkZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCA1ZWYw
YzYxZGE5M2QwYzE2NGFiZWY3NGVkZmM2ZjBkZTBmNzc2MjExLi40NzU0NzljYjM5NTQ3YWZkMDE1
YzI5OWIyZDQzM2RkMDFjNWY3YzQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3Bw
CkBAIC0yMDg2LDYgKzIwODYsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6dXBkYXRlRHJhZ0FuZERy
b3AoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVudCwgQ2xpcGJvYXJkKgogICAgICAgICAg
ICAgYWNjZXB0ID0gZGlzcGF0Y2hEcmFnRXZlbnQoZXZlbnROYW1lcygpLmRyYWdvdmVyRXZlbnQs
IG5ld1RhcmdldC5nZXQoKSwgZXZlbnQsIGNsaXBib2FyZCk7CiAgICAgICAgICAgICBpZiAoIWFj
Y2VwdCkKICAgICAgICAgICAgICAgICBhY2NlcHQgPSBmaW5kRHJvcFpvbmUobmV3VGFyZ2V0Lmdl
dCgpLCBjbGlwYm9hcmQpOworICAgICAgICAgICAgbV9zaG91bGRGaXJlRHJvcEV2ZW50ID0gYWNj
ZXB0OwogICAgICAgICAgICAgbV9zaG91bGRPbmx5RmlyZURyYWdPdmVyRXZlbnQgPSBmYWxzZTsK
ICAgICAgICAgfQogICAgIH0KQEAgLTIxMTYsNyArMjExNyw4IEBAIGJvb2wgRXZlbnRIYW5kbGVy
OjpwZXJmb3JtRHJhZ0FuZERyb3AoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldmVudCwgQ2xp
cGJvYXJkCiAgICAgICAgIGlmICh0YXJnZXRGcmFtZSkKICAgICAgICAgICAgIHByZXZlbnRlZERl
ZmF1bHQgPSB0YXJnZXRGcmFtZS0+ZXZlbnRIYW5kbGVyKCktPnBlcmZvcm1EcmFnQW5kRHJvcChl
dmVudCwgY2xpcGJvYXJkKTsKICAgICB9IGVsc2UgaWYgKG1fZHJhZ1RhcmdldC5nZXQoKSkKLSAg
ICAgICAgcHJldmVudGVkRGVmYXVsdCA9IGRpc3BhdGNoRHJhZ0V2ZW50KGV2ZW50TmFtZXMoKS5k
cm9wRXZlbnQsIG1fZHJhZ1RhcmdldC5nZXQoKSwgZXZlbnQsIGNsaXBib2FyZCk7CisgICAgICAg
IGlmIChtX3Nob3VsZEZpcmVEcm9wRXZlbnQpCisgICAgICAgICAgICBwcmV2ZW50ZWREZWZhdWx0
ID0gZGlzcGF0Y2hEcmFnRXZlbnQoZXZlbnROYW1lcygpLmRyb3BFdmVudCwgbV9kcmFnVGFyZ2V0
LmdldCgpLCBldmVudCwgY2xpcGJvYXJkKTsKICAgICBjbGVhckRyYWdTdGF0ZSgpOwogICAgIHJl
dHVybiBwcmV2ZW50ZWREZWZhdWx0OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmgKaW5k
ZXggYTYwNGRhMmM4NDBlMzIxYjZkN2QxYzg1MTAyMjU5NzJkYThiMTg4YS4uY2Q5ODhmODgyNTQ2
NThhYmRiMjNmNmRhNGI3MDEyODMwNTIwZjEwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudEhhbmRsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxl
ci5oCkBAIC00MjMsNiArNDIzLDcgQEAgcHJpdmF0ZToKICNpZiBFTkFCTEUoRFJBR19TVVBQT1JU
KQogICAgIFJlZlB0cjxOb2RlPiBtX2RyYWdUYXJnZXQ7CiAgICAgYm9vbCBtX3Nob3VsZE9ubHlG
aXJlRHJhZ092ZXJFdmVudDsKKyAgICBib29sIG1fc2hvdWxkRmlyZURyb3BFdmVudDsKICNlbmRp
ZgogICAgIAogICAgIFJlZlB0cjxIVE1MRnJhbWVTZXRFbGVtZW50PiBtX2ZyYW1lU2V0QmVpbmdS
ZXNpemVkOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IGEyYTI1NmIyN2IyNjA5OTkwYmVjMDZjNTgzOTZmYjcyYWVlM2IyMzYu
LjBiNGMyNWJmZTgwNDg5NjAyMjY5NDE5ZDQ5MTAzMmVlMDllMjM3ZDAgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNiBAQAorMjAxMi0xMC0xOCAgRGFuaWVsIENoZW5nICA8ZGNoZW5nQGNocm9taXVtLm9yZz4K
KworICAgICAgICBkcmFnb3ZlcidzIGRlZmF1bHQgYWN0aW9uIHNob3VsZCBwcmV2ZW50IGRyb3Ag
d2hlbiBhcHByb3ByaWF0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NzkxNzMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBVcGRhdGUgZHJhZ292ZXIgZXZlbnQgaGFuZGxpbmcgdG8gY29uZm9ybSB0byB0aGUg
SFRNTCBzcGVjaWZpY2F0aW9uLgorCisgICAgICAgICogZmFzdC9ldmVudHMvZmlsZS1pbnB1dC1o
aWRkZW4taW4tb25kcm9wLmh0bWw6IEFkZCBhIGRyYWdvdmVyIGhhbmRsZXIuCisgICAgICAgICog
ZmFzdC9ldmVudHMvb25seS12YWxpZC1kcm9wLXRhcmdldHMtcmVjZWl2ZS1kcm9wLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9ldmVudHMvb25seS12YWxpZC1kcm9wLXRhcmdl
dHMtcmVjZWl2ZS1kcm9wLmh0bWw6IEFkZGVkLgorCiAyMDEyLTEwLTE4ICBKYW1lcyBTaW1vbnNl
biAgPHNpbW9uamFtQGNocm9taXVtLm9yZz4KIAogICAgICAgICBBZGQgYSBzY3JpcHQgZm9yIGV4
cG9ydGluZyBodHRwL3Rlc3RzL3czYy93ZWJwZXJmL3N1Ym1pc3Npb24gdG8gVzNDCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9maWxlLWlucHV0LWhpZGRlbi1pbi1vbmRyb3Au
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2ZpbGUtaW5wdXQtaGlkZGVuLWluLW9uZHJv
cC5odG1sCmluZGV4IDNlNzQ1YzhhNmEyMjRmYzNhY2Q3MWMzOWM3YjBiOTY0YzNiZWVkNWYuLjM0
ZGE3OTcwNWRhNTQwODc1MTU2N2FjMjQxODI4NTg2ZTBhYzcwZjcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL2ZpbGUtaW5wdXQtaGlkZGVuLWluLW9uZHJvcC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2ZpbGUtaW5wdXQtaGlkZGVuLWluLW9uZHJvcC5odG1s
CkBAIC0xMyw2ICsxMyw5IEBACiAgICAgICAgIGZ1bmN0aW9uIHRlc3QoKQogICAgICAgICB7CiAg
ICAgICAgICAgICBkcm9wVGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRyb3AtdGFy
Z2V0Iik7CisgICAgICAgICAgICBkcm9wVGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoImRyYWdvdmVy
IiwgZnVuY3Rpb24oZXZlbnQpIHsKKyAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVs
dCgpOworICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgICAgICAgZHJvcFRhcmdldC5hZGRF
dmVudExpc3RlbmVyKCJkcm9wIiwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgZHJvcFRh
cmdldC5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOwogICAgICAgICAgICAgICAgIHNldFRpbWVvdXQo
ZnVuY3Rpb24oKSB7CkBAIC0zNSw0ICszOCw0IEBACiA8Ym9keSBvbmxvYWQ9InRlc3QoKSI+CiAg
ICAgPGlucHV0IHR5cGU9ImZpbGUiIGlkPSJkcm9wLXRhcmdldCI+CiA8L2JvZHk+Ci08L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvb25seS12YWxpZC1kcm9wLXRhcmdldHMtcmVjZWl2ZS1kcm9wLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL29ubHktdmFsaWQtZHJvcC10YXJn
ZXRzLXJlY2VpdmUtZHJvcC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTg2ZDc0NDJiYTYyMDg5
ZTUzMmU2YWZlOWNmMzEyOTQ3NWMwZmRhMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL29ubHktdmFsaWQtZHJvcC10YXJnZXRzLXJlY2VpdmUtZHJvcC1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSw5IEBACitUbyBydW4gdGhpcyB0ZXN0IG1hbnVhbGx5LCBkcmFnIHRo
aXMgdG8gb25lIG9mIHRoZSB0d28gYm94ZXMgYmVsb3cuCisKK0Ryb3BwaW5nIGhlcmUgc2hvdWxk
IE5PVCByZXN1bHQgaW4gYSBkcm9wIGV2ZW50LgorRHJvcHBpbmcgaGVyZSBzaG91bGQgcmVzdWx0
IGluIGEgZHJvcCBldmVudC4KK1N0YXJ0aW5nIGRyYWcuLi4KK0Ryb3Agbm90IHJlY2VpdmVkCitT
dGFydGluZyBkcmFnLi4uCitEcm9wIHJlY2VpdmVkCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL29ubHktdmFsaWQtZHJvcC10YXJnZXRzLXJlY2VpdmUtZHJvcC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvb25seS12YWxpZC1kcm9wLXRhcmdldHMtcmVjZWl2ZS1k
cm9wLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNDc3NTcwMjQ2OTUyNjYxMzZmYjNmODMyYmEzYjQzNjFmOTdm
ZmUxNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL29ubHktdmFs
aWQtZHJvcC10YXJnZXRzLXJlY2VpdmUtZHJvcC5odG1sCkBAIC0wLDAgKzEsNzUgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KK2Rpdiwgc3BhbiB7CisgICAgYm9y
ZGVyOiAxcHggc29saWQgYmxhY2s7Cit9OworPC9zdHlsZT4KKzxzY3JpcHQ+Cit2YXIgZHJvcFJl
Y2VpdmVkOworZnVuY3Rpb24gbG9nKHN0cikKK3sKKyAgICB2YXIgcmVzdWx0ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpOworICAgIHJlc3VsdC5hcHBlbmRDaGlsZChkb2N1bWVu
dC5jcmVhdGVUZXh0Tm9kZShzdHIpKTsKKyAgICByZXN1bHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnYnInKSk7Cit9CitmdW5jdGlvbiBkcmFnRHJvcChzb3VyY2UsIHRhcmdl
dCkKK3sKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhzb3VyY2Uub2Zmc2V0TGVmdCArIHNv
dXJjZS5vZmZzZXRXaWR0aCAvIDIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNl
Lm9mZnNldFRvcCArIHNvdXJjZS5vZmZzZXRIZWlnaHQgLyAyKTsKKyAgICBldmVudFNlbmRlci5t
b3VzZURvd24oKTsKKyAgICBldmVudFNlbmRlci5sZWFwRm9yd2FyZCgxMDApOworICAgIGV2ZW50
U2VuZGVyLm1vdXNlTW92ZVRvKHRhcmdldC5vZmZzZXRMZWZ0ICsgdGFyZ2V0Lm9mZnNldFdpZHRo
IC8gMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQub2Zmc2V0VG9wICsgdGFy
Z2V0Lm9mZnNldEhlaWdodCAvIDIpOworICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKK30KK3dp
bmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpCit7CisgICAgdmFyIGRyYWdNZSA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdkcmFnTWUnKTsKKyAgICB2YXIgZHJvcDEgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnZHJvcDEnKTsKKyAgICB2YXIgZHJvcDIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgnZHJvcDInKTsKKworICAgIGRyYWdNZS5hZGRFdmVudExpc3RlbmVyKCdkcmFnc3RhcnQnLCBm
dW5jdGlvbiAoKQorICAgIHsKKyAgICAgICAgbG9nKCdTdGFydGluZyBkcmFnLi4uJyk7CisgICAg
ICAgIGRyb3BSZWNlaXZlZCA9IGZhbHNlOworICAgIH0sIGZhbHNlKTsKKyAgICBkcmFnTWUuYWRk
RXZlbnRMaXN0ZW5lcignZHJhZ2VuZCcsIGZ1bmN0aW9uICgpCisgICAgeworICAgICAgICBpZiAo
ZHJvcFJlY2VpdmVkKQorICAgICAgICAgICAgbG9nKCdEcm9wIHJlY2VpdmVkJyk7CisgICAgICAg
IGVsc2UKKyAgICAgICAgICAgIGxvZygnRHJvcCBub3QgcmVjZWl2ZWQnKTsKKyAgICB9LCBmYWxz
ZSk7CisKKyAgICBkcm9wMS5hZGRFdmVudExpc3RlbmVyKCdkcmFnb3ZlcicsIGZ1bmN0aW9uKCkg
e30sIGZhbHNlKTsKKyAgICBkcm9wMS5hZGRFdmVudExpc3RlbmVyKCdkcm9wJywgZnVuY3Rpb24o
KSB7CisgICAgICAgIGRyb3BSZWNlaXZlZCA9IHRydWU7CisgICAgfSk7CisKKyAgICBkcm9wMi5h
ZGRFdmVudExpc3RlbmVyKCdkcmFnb3ZlcicsIGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgZS5wcmV2
ZW50RGVmYXVsdCgpOworICAgIH0sIGZhbHNlKTsKKyAgICBkcm9wMi5hZGRFdmVudExpc3RlbmVy
KCdkcm9wJywgZnVuY3Rpb24oKSB7CisgICAgICAgIGRyb3BSZWNlaXZlZCA9IHRydWU7CisgICAg
fSk7CisKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAgICByZXR1cm47CisgICAg
dGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICBkcmFnRHJvcChkcmFnTWUsIGRyb3AxKTsK
KyAgICBkcmFnRHJvcChkcmFnTWUsIGRyb3AyKTsKKworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxwPlRvIHJ1biB0aGlzIHRlc3QgbWFudWFsbHksIGRyYWcgPHNwYW4gaWQ9ImRyYWdN
ZSIgZHJhZ2dhYmxlPSJ0cnVlIj50aGlzPC9zcGFuPiB0byBvbmUgb2YgdGhlIHR3byBib3hlcyBi
ZWxvdy4KKzxkaXYgaWQ9ImRyb3AxIj5Ecm9wcGluZyBoZXJlIHNob3VsZCBOT1QgcmVzdWx0IGlu
IGEgZHJvcCBldmVudC48L2Rpdj4KKzxkaXYgaWQ9ImRyb3AyIj5Ecm9wcGluZyBoZXJlIHNob3Vs
ZCByZXN1bHQgaW4gYSBkcm9wIGV2ZW50LjwvZGl2PgorPGRpdiBpZD0icmVzdWx0Ij4KKzwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169761</attachid>
            <date>2012-10-20 00:41:55 -0700</date>
            <delta_ts>2012-10-21 01:25:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79173-20121020004038.patch</filename>
            <type>text/plain</type>
            <size>9820</size>
            <attacher name="Daniel Cheng">dcheng</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxODMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmU4M2QzY2Q2NzljNWYw
ZWU2ZmUyODg3NmIwNTBlNTRhY2JmODk2OS4uOGI0M2JjYjhmYTZkYjk5NWMwMWJiMTM5NzI4Zjg4
OGZmMzQwMzI5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTEwLTIwICBEYW5p
ZWwgQ2hlbmcgIDxkY2hlbmdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIGRyYWdvdmVyJ3MgZGVm
YXVsdCBhY3Rpb24gc2hvdWxkIHByZXZlbnQgZHJvcCB3aGVuIGFwcHJvcHJpYXRlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTE3MworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIER1cmluZyBhIGRyYWcsIHdl
IG5lZWQgdG8ga2VlcCB0cmFjayBvZiB3aGV0aGVyIG9yIG5vdCB0aGUgZG9jdW1lbnQgdGhlIGN1
cnNvciBpcyBvdmVyIGlzCisgICAgICAgIGFjY2VwdCB0aGUgZHJhZy4gVGhlIGRvY3VtZW50IGNh
biBleHBsaWNpdGx5IGFjY2VwdCB0aGUgZHJhZyBieSBjYW5jZWxsaW5nIHRoZSBkZWZhdWx0Cisg
ICAgICAgIGFjdGlvbiBvZiB0aGUgZHJhZ292ZXIgZXZlbnQuIE90aGVyd2lzZSwgaWYgdGhlIGN1
cnNvciBpcyBvdmVyIGEgdGV4dCBmaWVsZCwgZWRpdGluZyBob3N0LAorICAgICAgICBvciBhbiBl
ZGl0YWJsZSBlbGVtZW50LCB3ZSBhbHNvIGNvbnNpZGVyIHRoZSBkcmFnIHRvIGJlIGFjY2VwdGVk
LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL29ubHktdmFsaWQtZHJvcC10YXJnZXRzLXJl
Y2VpdmUtZHJvcC5odG1sCisKKyAgICAgICAgKiBwYWdlL0RyYWdDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRyYWdDb250cm9sbGVyOjpwZXJmb3JtRHJhZyk6CisgICAgICAgIChX
ZWJDb3JlOjpEcmFnQ29udHJvbGxlcjo6ZHJhZ0VudGVyZWRPclVwZGF0ZWQpOgorICAgICAgICAq
IHBhZ2UvRHJhZ0NvbnRyb2xsZXIuaDoKKyAgICAgICAgKERyYWdDb250cm9sbGVyKToKKwogMjAx
Mi0xMC0xOCAgUGFuIERlbmcgIDxwYW4uZGVuZ0BpbnRlbC5jb20+CiAKICAgICAgICAgW1Jlc291
cmNlIFRpbWluZ11JbXBsZW1lbnRhdGlvbiBvZiByZXNvdXJjZSB0aW1pbmcgYnVmZmVyIHNpemUg
cmVzdHJpY3Rpb24gZnVuY3Rpb25hbGl0eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9EcmFnQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVy
LmNwcAppbmRleCAyZTBhYWZiOTY2NmMyNjI2NzU2ZWRiZThhNmIwZTM4YjYyMzViZDI0Li43MDI5
ZGI4OGVmMmUxODEwYWFiNGQ5MjhmYWRmOTcwYjBjNGJkMjY0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RyYWdDb250cm9sbGVyLmNwcApAQCAtMjA5LDcgKzIwOSw3IEBAIGJvb2wgRHJhZ0NvbnRyb2xs
ZXI6OnBlcmZvcm1EcmFnKERyYWdEYXRhKiBkcmFnRGF0YSkKIHsKICAgICBBU1NFUlQoZHJhZ0Rh
dGEpOwogICAgIG1fZG9jdW1lbnRVbmRlck1vdXNlID0gbV9wYWdlLT5tYWluRnJhbWUoKS0+ZG9j
dW1lbnRBdFBvaW50KGRyYWdEYXRhLT5jbGllbnRQb3NpdGlvbigpKTsKLSAgICBpZiAobV9kcmFn
RGVzdGluYXRpb25BY3Rpb24gJiBEcmFnRGVzdGluYXRpb25BY3Rpb25ESFRNTCkgeworICAgIGlm
ICgobV9kcmFnRGVzdGluYXRpb25BY3Rpb24gJiBEcmFnRGVzdGluYXRpb25BY3Rpb25ESFRNTCkg
JiYgbV9kb2N1bWVudElzSGFuZGxpbmdEcmFnKSB7CiAgICAgICAgIG1fY2xpZW50LT53aWxsUGVy
Zm9ybURyYWdEZXN0aW5hdGlvbkFjdGlvbihEcmFnRGVzdGluYXRpb25BY3Rpb25ESFRNTCwgZHJh
Z0RhdGEpOwogICAgICAgICBSZWZQdHI8RnJhbWU+IG1haW5GcmFtZSA9IG1fcGFnZS0+bWFpbkZy
YW1lKCk7CiAgICAgICAgIGJvb2wgcHJldmVudGVkRGVmYXVsdCA9IGZhbHNlOwpAQCAtMjY1LDgg
KzI2NSw4IEBAIERyYWdTZXNzaW9uIERyYWdDb250cm9sbGVyOjpkcmFnRW50ZXJlZE9yVXBkYXRl
ZChEcmFnRGF0YSogZHJhZ0RhdGEpCiAgICAgfQogCiAgICAgRHJhZ1Nlc3Npb24gZHJhZ1Nlc3Np
b247Ci0gICAgYm9vbCBoYW5kbGVkQnlEb2N1bWVudCA9IHRyeURvY3VtZW50RHJhZyhkcmFnRGF0
YSwgbV9kcmFnRGVzdGluYXRpb25BY3Rpb24sIGRyYWdTZXNzaW9uKTsKLSAgICBpZiAoIWhhbmRs
ZWRCeURvY3VtZW50ICYmIChtX2RyYWdEZXN0aW5hdGlvbkFjdGlvbiAmIERyYWdEZXN0aW5hdGlv
bkFjdGlvbkxvYWQpKQorICAgIG1fZG9jdW1lbnRJc0hhbmRsaW5nRHJhZyA9IHRyeURvY3VtZW50
RHJhZyhkcmFnRGF0YSwgbV9kcmFnRGVzdGluYXRpb25BY3Rpb24sIGRyYWdTZXNzaW9uKTsKKyAg
ICBpZiAoIW1fZG9jdW1lbnRJc0hhbmRsaW5nRHJhZyAmJiAobV9kcmFnRGVzdGluYXRpb25BY3Rp
b24gJiBEcmFnRGVzdGluYXRpb25BY3Rpb25Mb2FkKSkKICAgICAgICAgZHJhZ1Nlc3Npb24ub3Bl
cmF0aW9uID0gb3BlcmF0aW9uRm9yTG9hZChkcmFnRGF0YSk7CiAgICAgcmV0dXJuIGRyYWdTZXNz
aW9uOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5o
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCmluZGV4IDc0ZDYxNzgyZThm
NjllNjQwMTM2OWUwOTFlNWJmYmZhNmE2NTk1YTkuLmNkM2FjOGRlYWE2M2ZhMjI4NmE5ZWNlZjBi
ZGQ0MGU0N2EwMGRjZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRy
b2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmgKQEAgLTEx
OSwxMSArMTE5LDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBQYWdlKiBtX3Bh
Z2U7CiAgICAgICAgIERyYWdDbGllbnQqIG1fY2xpZW50OwotICAgICAgICAKKwogICAgICAgICBS
ZWZQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnRVbmRlck1vdXNlOyAvLyBUaGUgZG9jdW1lbnQgdGhl
IG1vdXNlIHdhcyBsYXN0IGRyYWdnZWQgb3Zlci4KICAgICAgICAgUmVmUHRyPERvY3VtZW50PiBt
X2RyYWdJbml0aWF0b3I7IC8vIFRoZSBEb2N1bWVudCAoaWYgYW55KSB0aGF0IGluaXRpYXRlZCB0
aGUgZHJhZy4KICAgICAgICAgUmVmUHRyPEhUTUxJbnB1dEVsZW1lbnQ+IG1fZmlsZUlucHV0RWxl
bWVudFVuZGVyTW91c2U7Ci0gICAgICAgIAorICAgICAgICBib29sIG1fZG9jdW1lbnRJc0hhbmRs
aW5nRHJhZzsKKwogICAgICAgICBEcmFnRGVzdGluYXRpb25BY3Rpb24gbV9kcmFnRGVzdGluYXRp
b25BY3Rpb247CiAgICAgICAgIERyYWdTb3VyY2VBY3Rpb24gbV9kcmFnU291cmNlQWN0aW9uOwog
ICAgICAgICBib29sIG1fZGlkSW5pdGlhdGVEcmFnOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDRhOWNjNWMzMmUyZTNkNWU4
YjEzODk2Y2E1MTBkYTUxMmIzZDYxZWUuLjhiMGQxYzc1ZjA2Zjc0NzQzY2JkYTAzYmMyYzNmZTFm
NmM4NGNjNDQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0xMC0yMCAgRGFuaWVsIENoZW5n
ICA8ZGNoZW5nQGNocm9taXVtLm9yZz4KKworICAgICAgICBkcmFnb3ZlcidzIGRlZmF1bHQgYWN0
aW9uIHNob3VsZCBwcmV2ZW50IGRyb3Agd2hlbiBhcHByb3ByaWF0ZQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxNzMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL2lucHV0LWVsZW1l
bnQtZGlzcGxheS1ub25lLWluLWRyYWdsZWF2ZS1jcmFzaC5odG1sOgorICAgICAgICAgICAgQWRk
ZWQgZHJhZ292ZXIgaGFuZGxlciBhcyByZXF1aXJlZCBieSB0aGUgSFRNTCBzcGVjaWZpY2F0aW9u
LgorICAgICAgICAqIGZhc3QvZXZlbnRzL29ubHktdmFsaWQtZHJvcC10YXJnZXRzLXJlY2VpdmUt
ZHJvcC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL29ubHktdmFs
aWQtZHJvcC10YXJnZXRzLXJlY2VpdmUtZHJvcC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRw
L3Rlc3RzL3NlY3VyaXR5L2NsaXBib2FyZC9jbGlwYm9hcmQtZmlsZS1hY2Nlc3MuaHRtbDoKKyAg
ICAgICAgICAgIEFkZGVkIGRyYWdvdmVyIGhhbmRsZXIgYXMgcmVxdWlyZWQgYnkgdGhlIEhUTUwg
c3BlY2lmaWNhdGlvbi4KKwogMjAxMi0xMC0xOCAgUGFuIERlbmcgIDxwYW4uZGVuZ0BpbnRlbC5j
b20+CiAKICAgICAgICAgW1Jlc291cmNlIFRpbWluZ11UZXN0IGNhc2VzIGZvciBzZXQgYnVmZmVy
IHNpemUgZnVuY3Rpb25hbGl0eSBhbmQgZXZlbnQgd2hlbiBidWZmZXIgZnVsbC4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lucHV0LWVsZW1lbnQtZGlzcGxheS1ub25lLWlu
LWRyYWdsZWF2ZS1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW5wdXQtZWxl
bWVudC1kaXNwbGF5LW5vbmUtaW4tZHJhZ2xlYXZlLWNyYXNoLmh0bWwKaW5kZXggNGZmOTZlOWQy
ZWI1Y2Y5NGZhZTZiMjFjZTFjMGE3ZjUxYzRiOGQ0ZS4uYmRkOWE2YzFiZjExMWY5YmQwYjdkZDEz
ZmQwMGYwYmE0M2NmN2RmOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW5w
dXQtZWxlbWVudC1kaXNwbGF5LW5vbmUtaW4tZHJhZ2xlYXZlLWNyYXNoLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvaW5wdXQtZWxlbWVudC1kaXNwbGF5LW5vbmUtaW4tZHJhZ2xl
YXZlLWNyYXNoLmh0bWwKQEAgLTI0LDEyICsyNCwxNSBAQAogICAgICAgICAgICAgICAgIC8vIFRo
ZSB0ZXN0IGhhcm5lc3Mgd2FudHMgdXMgdG8gY2FsbCBldmVudFNlbmRlci5tb3VzZVVwKCkgYmVm
b3JlIGZpbmlzaGluZywKICAgICAgICAgICAgICAgICAvLyBidXQgd2UgbmVlZCB0byBub3QgbmF2
aWdhdGUgd2hlbiB0aGF0IGhhcHBlbnMsIHNvIGFkZCBhIGRyb3AgaGFuZGxlciB0aGF0CiAgICAg
ICAgICAgICAgICAgLy8gcHJldmVudHMgbmF2aWdhdGlvbi4KKyAgICAgICAgICAgICAgICB3aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAg
ICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKKyAgICAgICAgICAgICAgICB9LCBmYWxz
ZSk7CiAgICAgICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImRyb3AiLCBmdW5j
dGlvbigpIHsKLSAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CisgICAg
ICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAg
fSwgZmFsc2UpOwogICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgIAorCiAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpCiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgIH0K
QEAgLTM5LDQgKzQyLDQgQEAKICAgICA8cD5UaGlzIHRlc3QgcGFzc2VzIGlmIHRoZXJlIGlzIG5v
IGNyYXNoIHdoZW4gZHJhZ2dpbmcgYSBmaWxlIG92ZXIgYW5kIHRoZW4gYXdheSBmcm9tIHRoZSBm
aWxlIGlucHV0IGVsZW1lbnQgYmVsb3cuPC9wPgogICAgIDxpbnB1dCB0eXBlPSJmaWxlIiBpZD0i
ZHJvcC10YXJnZXQiPgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL29ubHktdmFs
aWQtZHJvcC10YXJnZXRzLXJlY2VpdmUtZHJvcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy9vbmx5LXZhbGlkLWRyb3AtdGFyZ2V0cy1yZWNlaXZlLWRyb3AtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmU4NmQ3NDQyYmE2MjA4OWU1MzJlNmFmZTljZjMxMjk0NzVjMGZkYTIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9vbmx5LXZhbGlkLWRy
b3AtdGFyZ2V0cy1yZWNlaXZlLWRyb3AtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorVG8g
cnVuIHRoaXMgdGVzdCBtYW51YWxseSwgZHJhZyB0aGlzIHRvIG9uZSBvZiB0aGUgdHdvIGJveGVz
IGJlbG93LgorCitEcm9wcGluZyBoZXJlIHNob3VsZCBOT1QgcmVzdWx0IGluIGEgZHJvcCBldmVu
dC4KK0Ryb3BwaW5nIGhlcmUgc2hvdWxkIHJlc3VsdCBpbiBhIGRyb3AgZXZlbnQuCitTdGFydGlu
ZyBkcmFnLi4uCitEcm9wIG5vdCByZWNlaXZlZAorU3RhcnRpbmcgZHJhZy4uLgorRHJvcCByZWNl
aXZlZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9vbmx5LXZhbGlkLWRy
b3AtdGFyZ2V0cy1yZWNlaXZlLWRyb3AuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL29u
bHktdmFsaWQtZHJvcC10YXJnZXRzLXJlY2VpdmUtZHJvcC5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ3NzU3
MDI0Njk1MjY2MTM2ZmIzZjgzMmJhM2I0MzYxZjk3ZmZlMTUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9vbmx5LXZhbGlkLWRyb3AtdGFyZ2V0cy1yZWNlaXZlLWRy
b3AuaHRtbApAQCAtMCwwICsxLDc1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8c3R5bGU+CitkaXYsIHNwYW4geworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOworfTsK
Kzwvc3R5bGU+Cis8c2NyaXB0PgordmFyIGRyb3BSZWNlaXZlZDsKK2Z1bmN0aW9uIGxvZyhzdHIp
Cit7CisgICAgdmFyIHJlc3VsdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKTsK
KyAgICByZXN1bHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoc3RyKSk7Cisg
ICAgcmVzdWx0LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2JyJykpOworfQor
ZnVuY3Rpb24gZHJhZ0Ryb3Aoc291cmNlLCB0YXJnZXQpCit7CisgICAgZXZlbnRTZW5kZXIubW91
c2VNb3ZlVG8oc291cmNlLm9mZnNldExlZnQgKyBzb3VyY2Uub2Zmc2V0V2lkdGggLyAyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZS5vZmZzZXRUb3AgKyBzb3VyY2Uub2Zmc2V0
SGVpZ2h0IC8gMik7CisgICAgZXZlbnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgZXZlbnRTZW5k
ZXIubGVhcEZvcndhcmQoMTAwKTsKKyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh0YXJnZXQu
b2Zmc2V0TGVmdCArIHRhcmdldC5vZmZzZXRXaWR0aCAvIDIsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgdGFyZ2V0Lm9mZnNldFRvcCArIHRhcmdldC5vZmZzZXRIZWlnaHQgLyAyKTsKKyAg
ICBldmVudFNlbmRlci5tb3VzZVVwKCk7Cit9Cit3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKQor
eworICAgIHZhciBkcmFnTWUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHJhZ01lJyk7Cisg
ICAgdmFyIGRyb3AxID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Ryb3AxJyk7CisgICAgdmFy
IGRyb3AyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Ryb3AyJyk7CisKKyAgICBkcmFnTWUu
YWRkRXZlbnRMaXN0ZW5lcignZHJhZ3N0YXJ0JywgZnVuY3Rpb24gKCkKKyAgICB7CisgICAgICAg
IGxvZygnU3RhcnRpbmcgZHJhZy4uLicpOworICAgICAgICBkcm9wUmVjZWl2ZWQgPSBmYWxzZTsK
KyAgICB9LCBmYWxzZSk7CisgICAgZHJhZ01lLmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdlbmQnLCBm
dW5jdGlvbiAoKQorICAgIHsKKyAgICAgICAgaWYgKGRyb3BSZWNlaXZlZCkKKyAgICAgICAgICAg
IGxvZygnRHJvcCByZWNlaXZlZCcpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBsb2coJ0Ry
b3Agbm90IHJlY2VpdmVkJyk7CisgICAgfSwgZmFsc2UpOworCisgICAgZHJvcDEuYWRkRXZlbnRM
aXN0ZW5lcignZHJhZ292ZXInLCBmdW5jdGlvbigpIHt9LCBmYWxzZSk7CisgICAgZHJvcDEuYWRk
RXZlbnRMaXN0ZW5lcignZHJvcCcsIGZ1bmN0aW9uKCkgeworICAgICAgICBkcm9wUmVjZWl2ZWQg
PSB0cnVlOworICAgIH0pOworCisgICAgZHJvcDIuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ292ZXIn
LCBmdW5jdGlvbihlKSB7CisgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKKyAgICB9LCBmYWxz
ZSk7CisgICAgZHJvcDIuYWRkRXZlbnRMaXN0ZW5lcignZHJvcCcsIGZ1bmN0aW9uKCkgeworICAg
ICAgICBkcm9wUmVjZWl2ZWQgPSB0cnVlOworICAgIH0pOworCisgICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikKKyAgICAgICAgcmV0dXJuOworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwor
CisgICAgZHJhZ0Ryb3AoZHJhZ01lLCBkcm9wMSk7CisgICAgZHJhZ0Ryb3AoZHJhZ01lLCBkcm9w
Mik7CisKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5UbyBydW4gdGhpcyB0ZXN0
IG1hbnVhbGx5LCBkcmFnIDxzcGFuIGlkPSJkcmFnTWUiIGRyYWdnYWJsZT0idHJ1ZSI+dGhpczwv
c3Bhbj4gdG8gb25lIG9mIHRoZSB0d28gYm94ZXMgYmVsb3cuCis8ZGl2IGlkPSJkcm9wMSI+RHJv
cHBpbmcgaGVyZSBzaG91bGQgTk9UIHJlc3VsdCBpbiBhIGRyb3AgZXZlbnQuPC9kaXY+Cis8ZGl2
IGlkPSJkcm9wMiI+RHJvcHBpbmcgaGVyZSBzaG91bGQgcmVzdWx0IGluIGEgZHJvcCBldmVudC48
L2Rpdj4KKzxkaXYgaWQ9InJlc3VsdCI+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY2xpcGJvYXJkL2NsaXBib2Fy
ZC1maWxlLWFjY2Vzcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jbGlw
Ym9hcmQvY2xpcGJvYXJkLWZpbGUtYWNjZXNzLmh0bWwKaW5kZXggMWQyM2Q1OTc2Y2NiZjc4YWZl
Yjc4ZGUwN2Q4ZGJmZjYxZTk2N2I0My4uMjgyZDkzMTMwYmZlYWY0MDQ4Y2RiYjExYmJmMTZlZWRj
MjcyNDc3YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jbGlw
Ym9hcmQvY2xpcGJvYXJkLWZpbGUtYWNjZXNzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9zZWN1cml0eS9jbGlwYm9hcmQvY2xpcGJvYXJkLWZpbGUtYWNjZXNzLmh0bWwKQEAgLTU1
LDYgKzU1LDkgQEAgZHJhZ1RhcmdldC5hZGRFdmVudExpc3RlbmVyKCJkcm9wIiwgZnVuY3Rpb24o
KSB7CiAvLyBTb21lIHRlc3RzIGRvbid0IGVuZCB1cCBkcm9wcGluZyB0aGUgZHJhZ2dlZSBvdmVy
IHRoZSBkcmFnIHRhcmdldC4gQ2F0Y2ggYW55CiAvLyBsZWZ0b3ZlciBkcm9wIGV2ZW50cyBidWJi
bGluZyB1cCB0aHJvdWdoIHRoZSB0cmVlIHNvIHRoZXkgZG9uJ3QgY2F1c2UgcGFnZQogLy8gbmF2
aWdhdGlvbi4KK2RvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLCBmdW5j
dGlvbigpIHsKKyAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOworfSk7CiBkb2N1bWVudC5ib2R5
LmFkZEV2ZW50TGlzdGVuZXIoImRyb3AiLCBmdW5jdGlvbigpIHsKICAgICBldmVudC5wcmV2ZW50
RGVmYXVsdCgpOwogfSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169788</attachid>
            <date>2012-10-21 01:25:45 -0700</date>
            <delta_ts>2012-10-26 15:42:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79173-20121021012426.patch</filename>
            <type>text/plain</type>
            <size>13276</size>
            <attacher name="Daniel Cheng">dcheng</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxOTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzYzMWNiNjQzNjFiMjM5
OGUwMThlM2M2MzdkOGI0N2E3NzgwMGJkOC4uYWRmNWFjYjRjNTZjYzJkMGVhNjM5ZjM0MTNhN2M3
MzA3MzI1NzEwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTEwLTIwICBEYW5p
ZWwgQ2hlbmcgIDxkY2hlbmdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIGRyYWdvdmVyJ3MgZGVm
YXVsdCBhY3Rpb24gc2hvdWxkIHByZXZlbnQgZHJvcCB3aGVuIGFwcHJvcHJpYXRlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTE3MworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIER1cmluZyBhIGRyYWcsIHdl
IG5lZWQgdG8ga2VlcCB0cmFjayBvZiB3aGV0aGVyIG9yIG5vdCB0aGUgZG9jdW1lbnQgdGhlIGN1
cnNvciBpcyBvdmVyIGlzCisgICAgICAgIGFjY2VwdCB0aGUgZHJhZy4gVGhlIGRvY3VtZW50IGNh
biBleHBsaWNpdGx5IGFjY2VwdCB0aGUgZHJhZyBieSBjYW5jZWxsaW5nIHRoZSBkZWZhdWx0Cisg
ICAgICAgIGFjdGlvbiBvZiB0aGUgZHJhZ292ZXIgZXZlbnQuIE90aGVyd2lzZSwgaWYgdGhlIGN1
cnNvciBpcyBvdmVyIGEgdGV4dCBmaWVsZCwgZWRpdGluZyBob3N0LAorICAgICAgICBvciBhbiBl
ZGl0YWJsZSBlbGVtZW50LCB3ZSBhbHNvIGNvbnNpZGVyIHRoZSBkcmFnIHRvIGJlIGFjY2VwdGVk
LgorCisgICAgICAgIFRlc3Q6IGZhc3QvZXZlbnRzL29ubHktdmFsaWQtZHJvcC10YXJnZXRzLXJl
Y2VpdmUtZHJvcC5odG1sCisKKyAgICAgICAgKiBwYWdlL0RyYWdDb250cm9sbGVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkRyYWdDb250cm9sbGVyOjpwZXJmb3JtRHJhZyk6CisgICAgICAgIChX
ZWJDb3JlOjpEcmFnQ29udHJvbGxlcjo6ZHJhZ0VudGVyZWRPclVwZGF0ZWQpOgorICAgICAgICAo
V2ViQ29yZTo6RHJhZ0NvbnRyb2xsZXI6OnRyeURvY3VtZW50RHJhZyk6CisgICAgICAgICogcGFn
ZS9EcmFnQ29udHJvbGxlci5oOgorICAgICAgICAoRHJhZ0NvbnRyb2xsZXIpOiBDbGVhbnVwIHRv
IHJlcHVycG9zZSBhIHZhcmlhYmxlIHRoYXQgZG9lc24ndCBuZWVkIHRvIGJlIGEgbWVtYmVyIGFu
eW1vcmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIHJlbW92ZSB0aGUgY29ycmVzcG9u
ZGluZyBnZXR0ZXIvc2V0dGVyLgorCiAyMDEyLTEwLTE5ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5m
cmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBhIGhhbmcgd2hlbiBjb21iaW5pbmcgdGls
ZSBjYWNoZSBsYXllcnMgd2l0aCBwcmVzZXJ2ZS0zZCBvciByZWZsZWN0aW9ucwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcAppbmRleCAyZTBhYWZiOTY2NmMyNjI2NzU2ZWRiZThh
NmIwZTM4YjYyMzViZDI0Li5kMDkxMTIyZmZkM2Y2NTIyYmIzZmJkMjgyZTg1ZWViMWU4ZjgyNGNh
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcApAQCAtOTksNyArOTksNiBA
QCBEcmFnQ29udHJvbGxlcjo6RHJhZ0NvbnRyb2xsZXIoUGFnZSogcGFnZSwgRHJhZ0NsaWVudCog
Y2xpZW50KQogICAgICwgbV9kcmFnRGVzdGluYXRpb25BY3Rpb24oRHJhZ0Rlc3RpbmF0aW9uQWN0
aW9uTm9uZSkKICAgICAsIG1fZHJhZ1NvdXJjZUFjdGlvbihEcmFnU291cmNlQWN0aW9uTm9uZSkK
ICAgICAsIG1fZGlkSW5pdGlhdGVEcmFnKGZhbHNlKQotICAgICwgbV9pc0hhbmRsaW5nRHJhZyhm
YWxzZSkKICAgICAsIG1fc291cmNlRHJhZ09wZXJhdGlvbihEcmFnT3BlcmF0aW9uTm9uZSkKIHsK
ICAgICBBU1NFUlQobV9jbGllbnQpOwpAQCAtMjA5LDcgKzIwOCw3IEBAIGJvb2wgRHJhZ0NvbnRy
b2xsZXI6OnBlcmZvcm1EcmFnKERyYWdEYXRhKiBkcmFnRGF0YSkKIHsKICAgICBBU1NFUlQoZHJh
Z0RhdGEpOwogICAgIG1fZG9jdW1lbnRVbmRlck1vdXNlID0gbV9wYWdlLT5tYWluRnJhbWUoKS0+
ZG9jdW1lbnRBdFBvaW50KGRyYWdEYXRhLT5jbGllbnRQb3NpdGlvbigpKTsKLSAgICBpZiAobV9k
cmFnRGVzdGluYXRpb25BY3Rpb24gJiBEcmFnRGVzdGluYXRpb25BY3Rpb25ESFRNTCkgeworICAg
IGlmICgobV9kcmFnRGVzdGluYXRpb25BY3Rpb24gJiBEcmFnRGVzdGluYXRpb25BY3Rpb25ESFRN
TCkgJiYgbV9kb2N1bWVudElzSGFuZGxpbmdEcmFnKSB7CiAgICAgICAgIG1fY2xpZW50LT53aWxs
UGVyZm9ybURyYWdEZXN0aW5hdGlvbkFjdGlvbihEcmFnRGVzdGluYXRpb25BY3Rpb25ESFRNTCwg
ZHJhZ0RhdGEpOwogICAgICAgICBSZWZQdHI8RnJhbWU+IG1haW5GcmFtZSA9IG1fcGFnZS0+bWFp
bkZyYW1lKCk7CiAgICAgICAgIGJvb2wgcHJldmVudGVkRGVmYXVsdCA9IGZhbHNlOwpAQCAtMjY1
LDggKzI2NCw4IEBAIERyYWdTZXNzaW9uIERyYWdDb250cm9sbGVyOjpkcmFnRW50ZXJlZE9yVXBk
YXRlZChEcmFnRGF0YSogZHJhZ0RhdGEpCiAgICAgfQogCiAgICAgRHJhZ1Nlc3Npb24gZHJhZ1Nl
c3Npb247Ci0gICAgYm9vbCBoYW5kbGVkQnlEb2N1bWVudCA9IHRyeURvY3VtZW50RHJhZyhkcmFn
RGF0YSwgbV9kcmFnRGVzdGluYXRpb25BY3Rpb24sIGRyYWdTZXNzaW9uKTsKLSAgICBpZiAoIWhh
bmRsZWRCeURvY3VtZW50ICYmIChtX2RyYWdEZXN0aW5hdGlvbkFjdGlvbiAmIERyYWdEZXN0aW5h
dGlvbkFjdGlvbkxvYWQpKQorICAgIG1fZG9jdW1lbnRJc0hhbmRsaW5nRHJhZyA9IHRyeURvY3Vt
ZW50RHJhZyhkcmFnRGF0YSwgbV9kcmFnRGVzdGluYXRpb25BY3Rpb24sIGRyYWdTZXNzaW9uKTsK
KyAgICBpZiAoIW1fZG9jdW1lbnRJc0hhbmRsaW5nRHJhZyAmJiAobV9kcmFnRGVzdGluYXRpb25B
Y3Rpb24gJiBEcmFnRGVzdGluYXRpb25BY3Rpb25Mb2FkKSkKICAgICAgICAgZHJhZ1Nlc3Npb24u
b3BlcmF0aW9uID0gb3BlcmF0aW9uRm9yTG9hZChkcmFnRGF0YSk7CiAgICAgcmV0dXJuIGRyYWdT
ZXNzaW9uOwogfQpAQCAtMzE0LDkgKzMxMyw5IEBAIGJvb2wgRHJhZ0NvbnRyb2xsZXI6OnRyeURv
Y3VtZW50RHJhZyhEcmFnRGF0YSogZHJhZ0RhdGEsIERyYWdEZXN0aW5hdGlvbkFjdGlvbiBhCiAg
ICAgaWYgKG1fZHJhZ0luaXRpYXRvciAmJiAhbV9kb2N1bWVudFVuZGVyTW91c2UtPnNlY3VyaXR5
T3JpZ2luKCktPmNhblJlY2VpdmVEcmFnRGF0YShtX2RyYWdJbml0aWF0b3ItPnNlY3VyaXR5T3Jp
Z2luKCkpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBtX2lzSGFuZGxpbmdEcmFnID0g
ZmFsc2U7CisgICAgYm9vbCBpc0hhbmRsaW5nRHJhZyA9IGZhbHNlOwogICAgIGlmIChhY3Rpb25N
YXNrICYgRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uREhUTUwpIHsKLSAgICAgICAgbV9pc0hhbmRsaW5n
RHJhZyA9IHRyeURIVE1MRHJhZyhkcmFnRGF0YSwgZHJhZ1Nlc3Npb24ub3BlcmF0aW9uKTsKKyAg
ICAgICAgaXNIYW5kbGluZ0RyYWcgPSB0cnlESFRNTERyYWcoZHJhZ0RhdGEsIGRyYWdTZXNzaW9u
Lm9wZXJhdGlvbik7CiAgICAgICAgIC8vIERvIG5vdCBjb250aW51ZSBpZiBtX2RvY3VtZW50VW5k
ZXJNb3VzZSBoYXMgYmVlbiByZXNldCBieSB0cnlESFRNTERyYWcuCiAgICAgICAgIC8vIHRyeURI
VE1MRHJhZyBmaXJlcyBkcmFnZW50ZXIgZXZlbnQuIFRoZSBldmVudCBsaXN0ZW5lciB0aGF0IGxp
c3RlbnMKICAgICAgICAgLy8gdG8gdGhpcyBldmVudCBtYXkgY3JlYXRlIGEgbmVzdGVkIG1lc3Nh
Z2UgbG9vcCAob3BlbiBhIG1vZGFsIGRpYWxvZyksCkBAIC0zMzIsMTAgKzMzMSwxMiBAQCBib29s
IERyYWdDb250cm9sbGVyOjp0cnlEb2N1bWVudERyYWcoRHJhZ0RhdGEqIGRyYWdEYXRhLCBEcmFn
RGVzdGluYXRpb25BY3Rpb24gYQogICAgIGlmICghZnJhbWVWaWV3KQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKLSAgICBpZiAobV9pc0hhbmRsaW5nRHJhZykgeworICAgIGlmIChpc0hhbmRsaW5n
RHJhZykgewogICAgICAgICBtX3BhZ2UtPmRyYWdDYXJldENvbnRyb2xsZXIoKS0+Y2xlYXIoKTsK
ICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgfSBlbHNlIGlmICgoYWN0aW9uTWFzayAmIERyYWdE
ZXN0aW5hdGlvbkFjdGlvbkVkaXQpICYmIGNhblByb2Nlc3NEcmFnKGRyYWdEYXRhKSkgeworICAg
IH0KKworICAgIGlmICgoYWN0aW9uTWFzayAmIERyYWdEZXN0aW5hdGlvbkFjdGlvbkVkaXQpICYm
IGNhblByb2Nlc3NEcmFnKGRyYWdEYXRhKSkgewogICAgICAgICBpZiAoZHJhZ0RhdGEtPmNvbnRh
aW5zQ29sb3IoKSkgewogICAgICAgICAgICAgZHJhZ1Nlc3Npb24ub3BlcmF0aW9uID0gRHJhZ09w
ZXJhdGlvbkdlbmVyaWM7CiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RHJhZ0NvbnRyb2xsZXIuaAppbmRleCA3NGQ2MTc4MmU4ZjY5ZTY0MDEzNjllMDkxZTViZmJmYTZh
NjU5NWE5Li5jNzkyN2NiNDdhNTY5ZTBiMGMzZmFjNTViNjI5ODAxMDliNGFjZWMzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCkBAIC02OCw4ICs2OCw2IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgLy8gZHJhZyBsb2dpYyBpcyBpbiBXZWJDb3JlLgogICAgICAgICB2
b2lkIHNldERpZEluaXRpYXRlRHJhZyhib29sIGluaXRpYXRlZCkgeyBtX2RpZEluaXRpYXRlRHJh
ZyA9IGluaXRpYXRlZDsgfSAKICAgICAgICAgYm9vbCBkaWRJbml0aWF0ZURyYWcoKSBjb25zdCB7
IHJldHVybiBtX2RpZEluaXRpYXRlRHJhZzsgfQotICAgICAgICB2b2lkIHNldElzSGFuZGxpbmdE
cmFnKGJvb2wgaGFuZGxpbmcpIHsgbV9pc0hhbmRsaW5nRHJhZyA9IGhhbmRsaW5nOyB9Ci0gICAg
ICAgIGJvb2wgaXNIYW5kbGluZ0RyYWcoKSBjb25zdCB7IHJldHVybiBtX2lzSGFuZGxpbmdEcmFn
OyB9CiAgICAgICAgIERyYWdPcGVyYXRpb24gc291cmNlRHJhZ09wZXJhdGlvbigpIGNvbnN0IHsg
cmV0dXJuIG1fc291cmNlRHJhZ09wZXJhdGlvbjsgfQogICAgICAgICBjb25zdCBLVVJMJiBkcmFn
Z2luZ0ltYWdlVVJMKCkgY29uc3QgeyByZXR1cm4gbV9kcmFnZ2luZ0ltYWdlVVJMOyB9CiAgICAg
ICAgIHZvaWQgc2V0RHJhZ09mZnNldChjb25zdCBJbnRQb2ludCYgb2Zmc2V0KSB7IG1fZHJhZ09m
ZnNldCA9IG9mZnNldDsgfQpAQCAtMTE5LDE1ICsxMTcsMTUgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgICAgIFBhZ2UqIG1fcGFnZTsKICAgICAgICAgRHJhZ0NsaWVudCogbV9jbGllbnQ7
Ci0gICAgICAgIAorCiAgICAgICAgIFJlZlB0cjxEb2N1bWVudD4gbV9kb2N1bWVudFVuZGVyTW91
c2U7IC8vIFRoZSBkb2N1bWVudCB0aGUgbW91c2Ugd2FzIGxhc3QgZHJhZ2dlZCBvdmVyLgogICAg
ICAgICBSZWZQdHI8RG9jdW1lbnQ+IG1fZHJhZ0luaXRpYXRvcjsgLy8gVGhlIERvY3VtZW50IChp
ZiBhbnkpIHRoYXQgaW5pdGlhdGVkIHRoZSBkcmFnLgogICAgICAgICBSZWZQdHI8SFRNTElucHV0
RWxlbWVudD4gbV9maWxlSW5wdXRFbGVtZW50VW5kZXJNb3VzZTsKLSAgICAgICAgCisgICAgICAg
IGJvb2wgbV9kb2N1bWVudElzSGFuZGxpbmdEcmFnOworCiAgICAgICAgIERyYWdEZXN0aW5hdGlv
bkFjdGlvbiBtX2RyYWdEZXN0aW5hdGlvbkFjdGlvbjsKICAgICAgICAgRHJhZ1NvdXJjZUFjdGlv
biBtX2RyYWdTb3VyY2VBY3Rpb247CiAgICAgICAgIGJvb2wgbV9kaWRJbml0aWF0ZURyYWc7Ci0g
ICAgICAgIGJvb2wgbV9pc0hhbmRsaW5nRHJhZzsKICAgICAgICAgRHJhZ09wZXJhdGlvbiBtX3Nv
dXJjZURyYWdPcGVyYXRpb247IC8vIFNldCBpbiBzdGFydERyYWcgd2hlbiBhIGRyYWcgc3RhcnRz
IGZyb20gYSBtb3VzZSBkb3duIHdpdGhpbiBXZWJLaXQKICAgICAgICAgSW50UG9pbnQgbV9kcmFn
T2Zmc2V0OwogICAgICAgICBLVVJMIG1fZHJhZ2dpbmdJbWFnZVVSTDsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1NjVjZTcx
OTNhNzBmMmIxMTI3MWNhZjRmNjc2MzVjMzJmYmMxODlmLi4wYmY4YTc3NjVlYjQxYzU0ODRmMzZh
MDM5ZDczZTQyODZmYWVlYzVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMTAtMjAgIERh
bmllbCBDaGVuZyAgPGRjaGVuZ0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgZHJhZ292ZXIncyBk
ZWZhdWx0IGFjdGlvbiBzaG91bGQgcHJldmVudCBkcm9wIHdoZW4gYXBwcm9wcmlhdGUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTczCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFk
b3cvZHJvcC1ldmVudC1pbi1zaGFkb3cuaHRtbDoKKyAgICAgICAgICAgIEFkZGVkIGRyYWdvdmVy
IGhhbmRsZXIgYXMgcmVxdWlyZWQgYnkgdGhlIEhUTUwgc3BlY2lmaWNhdGlvbi4KKyAgICAgICAg
KiBmYXN0L2V2ZW50cy9pbnB1dC1lbGVtZW50LWRpc3BsYXktbm9uZS1pbi1kcmFnbGVhdmUtY3Jh
c2guaHRtbDoKKyAgICAgICAgICAgIEFkZGVkIGRyYWdvdmVyIGhhbmRsZXIgYXMgcmVxdWlyZWQg
YnkgdGhlIEhUTUwgc3BlY2lmaWNhdGlvbi4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9vbmx5LXZh
bGlkLWRyb3AtdGFyZ2V0cy1yZWNlaXZlLWRyb3AtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2V2ZW50cy9vbmx5LXZhbGlkLWRyb3AtdGFyZ2V0cy1yZWNlaXZlLWRyb3AuaHRt
bDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jbGlwYm9hcmQvY2xpcGJv
YXJkLWZpbGUtYWNjZXNzLmh0bWw6CisgICAgICAgICAgICBBZGRlZCBkcmFnb3ZlciBoYW5kbGVy
IGFzIHJlcXVpcmVkIGJ5IHRoZSBIVE1MIHNwZWNpZmljYXRpb24uCisKIDIwMTItMTAtMTkgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IGEgaGFu
ZyB3aGVuIGNvbWJpbmluZyB0aWxlIGNhY2hlIGxheWVycyB3aXRoIHByZXNlcnZlLTNkIG9yIHJl
ZmxlY3Rpb25zCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZHJvcC1l
dmVudC1pbi1zaGFkb3cuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kcm9wLWV2
ZW50LWluLXNoYWRvdy5odG1sCmluZGV4IDFkNTIzNDZmNmMxNTQ2ODdjMmYzMDNhNmQ1ZjcwNTRh
ZmM4NjEyMzguLmZhOTI4YWYzMTZlYmNiYzkxNWJkNTJiZWEwNzdiOTYxODUxMmZhMjEgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kcm9wLWV2ZW50LWluLXNoYWRvdy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kcm9wLWV2ZW50LWluLXNoYWRv
dy5odG1sCkBAIC0xMCw2ICsxMCw5IEBAIGZ1bmN0aW9uIGNyZWF0ZUJveChuYW1lKSB7CiAgICAg
ZGl2LnN0eWxlLndpZHRoID0gJzEwMHB4JzsKICAgICBkaXYuc3R5bGUuaGVpZ2h0ID0gJzEwMHB4
JzsKIAorICAgIGRpdi5hZGRFdmVudExpc3RlbmVyKCdkcmFnb3ZlcicsIGZ1bmN0aW9uKGUpIHsK
KyAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOworICAgIH0pOwogICAgIGRpdi5hZGRFdmVudExp
c3RlbmVyKCdkcm9wJywgZnVuY3Rpb24oZSkgewogICAgICAgICBkZWJ1ZygnUEFTUzogZHJvcCBl
dmVudCBpcyBmaXJlZC4nKTsKICAgICB9KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL2lucHV0LWVsZW1lbnQtZGlzcGxheS1ub25lLWluLWRyYWdsZWF2ZS1jcmFzaC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW5wdXQtZWxlbWVudC1kaXNwbGF5LW5vbmUtaW4t
ZHJhZ2xlYXZlLWNyYXNoLmh0bWwKaW5kZXggNGZmOTZlOWQyZWI1Y2Y5NGZhZTZiMjFjZTFjMGE3
ZjUxYzRiOGQ0ZS4uYmRkOWE2YzFiZjExMWY5YmQwYjdkZDEzZmQwMGYwYmE0M2NmN2RmOCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW5wdXQtZWxlbWVudC1kaXNwbGF5LW5v
bmUtaW4tZHJhZ2xlYXZlLWNyYXNoLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
aW5wdXQtZWxlbWVudC1kaXNwbGF5LW5vbmUtaW4tZHJhZ2xlYXZlLWNyYXNoLmh0bWwKQEAgLTI0
LDEyICsyNCwxNSBAQAogICAgICAgICAgICAgICAgIC8vIFRoZSB0ZXN0IGhhcm5lc3Mgd2FudHMg
dXMgdG8gY2FsbCBldmVudFNlbmRlci5tb3VzZVVwKCkgYmVmb3JlIGZpbmlzaGluZywKICAgICAg
ICAgICAgICAgICAvLyBidXQgd2UgbmVlZCB0byBub3QgbmF2aWdhdGUgd2hlbiB0aGF0IGhhcHBl
bnMsIHNvIGFkZCBhIGRyb3AgaGFuZGxlciB0aGF0CiAgICAgICAgICAgICAgICAgLy8gcHJldmVu
dHMgbmF2aWdhdGlvbi4KKyAgICAgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigi
ZHJhZ292ZXIiLCBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVu
dERlZmF1bHQoKTsKKyAgICAgICAgICAgICAgICB9LCBmYWxzZSk7CiAgICAgICAgICAgICAgICAg
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImRyb3AiLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAg
ICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CisgICAgICAgICAgICAgICAgICAgIGV2ZW50
LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAgICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgICAg
ICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAg
IAorCiAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICAgICAg
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgICAgIH0KQEAgLTM5LDQgKzQyLDQgQEAKICAg
ICA8cD5UaGlzIHRlc3QgcGFzc2VzIGlmIHRoZXJlIGlzIG5vIGNyYXNoIHdoZW4gZHJhZ2dpbmcg
YSBmaWxlIG92ZXIgYW5kIHRoZW4gYXdheSBmcm9tIHRoZSBmaWxlIGlucHV0IGVsZW1lbnQgYmVs
b3cuPC9wPgogICAgIDxpbnB1dCB0eXBlPSJmaWxlIiBpZD0iZHJvcC10YXJnZXQiPgogPC9ib2R5
PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL29ubHktdmFsaWQtZHJvcC10YXJnZXRzLXJlY2Vp
dmUtZHJvcC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9vbmx5LXZhbGlk
LWRyb3AtdGFyZ2V0cy1yZWNlaXZlLWRyb3AtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU4NmQ3
NDQyYmE2MjA4OWU1MzJlNmFmZTljZjMxMjk0NzVjMGZkYTIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9vbmx5LXZhbGlkLWRyb3AtdGFyZ2V0cy1yZWNlaXZlLWRy
b3AtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOSBAQAorVG8gcnVuIHRoaXMgdGVzdCBtYW51YWxs
eSwgZHJhZyB0aGlzIHRvIG9uZSBvZiB0aGUgdHdvIGJveGVzIGJlbG93LgorCitEcm9wcGluZyBo
ZXJlIHNob3VsZCBOT1QgcmVzdWx0IGluIGEgZHJvcCBldmVudC4KK0Ryb3BwaW5nIGhlcmUgc2hv
dWxkIHJlc3VsdCBpbiBhIGRyb3AgZXZlbnQuCitTdGFydGluZyBkcmFnLi4uCitEcm9wIG5vdCBy
ZWNlaXZlZAorU3RhcnRpbmcgZHJhZy4uLgorRHJvcCByZWNlaXZlZAorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9vbmx5LXZhbGlkLWRyb3AtdGFyZ2V0cy1yZWNlaXZlLWRy
b3AuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL29ubHktdmFsaWQtZHJvcC10YXJnZXRz
LXJlY2VpdmUtZHJvcC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ3NzU3MDI0Njk1MjY2MTM2ZmIzZjgzMmJh
M2I0MzYxZjk3ZmZlMTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9vbmx5LXZhbGlkLWRyb3AtdGFyZ2V0cy1yZWNlaXZlLWRyb3AuaHRtbApAQCAtMCwwICsxLDc1
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CitkaXYsIHNwYW4g
eworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOworfTsKKzwvc3R5bGU+Cis8c2NyaXB0Pgor
dmFyIGRyb3BSZWNlaXZlZDsKK2Z1bmN0aW9uIGxvZyhzdHIpCit7CisgICAgdmFyIHJlc3VsdCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKTsKKyAgICByZXN1bHQuYXBwZW5kQ2hp
bGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoc3RyKSk7CisgICAgcmVzdWx0LmFwcGVuZENoaWxk
KGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2JyJykpOworfQorZnVuY3Rpb24gZHJhZ0Ryb3Aoc291
cmNlLCB0YXJnZXQpCit7CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oc291cmNlLm9mZnNl
dExlZnQgKyBzb3VyY2Uub2Zmc2V0V2lkdGggLyAyLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNvdXJjZS5vZmZzZXRUb3AgKyBzb3VyY2Uub2Zmc2V0SGVpZ2h0IC8gMik7CisgICAgZXZl
bnRTZW5kZXIubW91c2VEb3duKCk7CisgICAgZXZlbnRTZW5kZXIubGVhcEZvcndhcmQoMTAwKTsK
KyAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh0YXJnZXQub2Zmc2V0TGVmdCArIHRhcmdldC5v
ZmZzZXRXaWR0aCAvIDIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0Lm9mZnNl
dFRvcCArIHRhcmdldC5vZmZzZXRIZWlnaHQgLyAyKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVVw
KCk7Cit9Cit3aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKQoreworICAgIHZhciBkcmFnTWUgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnZHJhZ01lJyk7CisgICAgdmFyIGRyb3AxID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2Ryb3AxJyk7CisgICAgdmFyIGRyb3AyID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2Ryb3AyJyk7CisKKyAgICBkcmFnTWUuYWRkRXZlbnRMaXN0ZW5lcignZHJh
Z3N0YXJ0JywgZnVuY3Rpb24gKCkKKyAgICB7CisgICAgICAgIGxvZygnU3RhcnRpbmcgZHJhZy4u
LicpOworICAgICAgICBkcm9wUmVjZWl2ZWQgPSBmYWxzZTsKKyAgICB9LCBmYWxzZSk7CisgICAg
ZHJhZ01lLmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdlbmQnLCBmdW5jdGlvbiAoKQorICAgIHsKKyAg
ICAgICAgaWYgKGRyb3BSZWNlaXZlZCkKKyAgICAgICAgICAgIGxvZygnRHJvcCByZWNlaXZlZCcp
OworICAgICAgICBlbHNlCisgICAgICAgICAgICBsb2coJ0Ryb3Agbm90IHJlY2VpdmVkJyk7Cisg
ICAgfSwgZmFsc2UpOworCisgICAgZHJvcDEuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ292ZXInLCBm
dW5jdGlvbigpIHt9LCBmYWxzZSk7CisgICAgZHJvcDEuYWRkRXZlbnRMaXN0ZW5lcignZHJvcCcs
IGZ1bmN0aW9uKCkgeworICAgICAgICBkcm9wUmVjZWl2ZWQgPSB0cnVlOworICAgIH0pOworCisg
ICAgZHJvcDIuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ292ZXInLCBmdW5jdGlvbihlKSB7CisgICAg
ICAgIGUucHJldmVudERlZmF1bHQoKTsKKyAgICB9LCBmYWxzZSk7CisgICAgZHJvcDIuYWRkRXZl
bnRMaXN0ZW5lcignZHJvcCcsIGZ1bmN0aW9uKCkgeworICAgICAgICBkcm9wUmVjZWl2ZWQgPSB0
cnVlOworICAgIH0pOworCisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgcmV0
dXJuOworICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisgICAgZHJhZ0Ryb3AoZHJhZ01l
LCBkcm9wMSk7CisgICAgZHJhZ0Ryb3AoZHJhZ01lLCBkcm9wMik7CisKK30KKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+Cis8cD5UbyBydW4gdGhpcyB0ZXN0IG1hbnVhbGx5LCBkcmFnIDxzcGFu
IGlkPSJkcmFnTWUiIGRyYWdnYWJsZT0idHJ1ZSI+dGhpczwvc3Bhbj4gdG8gb25lIG9mIHRoZSB0
d28gYm94ZXMgYmVsb3cuCis8ZGl2IGlkPSJkcm9wMSI+RHJvcHBpbmcgaGVyZSBzaG91bGQgTk9U
IHJlc3VsdCBpbiBhIGRyb3AgZXZlbnQuPC9kaXY+Cis8ZGl2IGlkPSJkcm9wMiI+RHJvcHBpbmcg
aGVyZSBzaG91bGQgcmVzdWx0IGluIGEgZHJvcCBldmVudC48L2Rpdj4KKzxkaXYgaWQ9InJlc3Vs
dCI+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvc2VjdXJpdHkvY2xpcGJvYXJkL2NsaXBib2FyZC1maWxlLWFjY2Vzcy5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jbGlwYm9hcmQvY2xpcGJvYXJkLWZpbGUt
YWNjZXNzLmh0bWwKaW5kZXggMWQyM2Q1OTc2Y2NiZjc4YWZlYjc4ZGUwN2Q4ZGJmZjYxZTk2N2I0
My4uMjgyZDkzMTMwYmZlYWY0MDQ4Y2RiYjExYmJmMTZlZWRjMjcyNDc3YiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jbGlwYm9hcmQvY2xpcGJvYXJkLWZpbGUt
YWNjZXNzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jbGlwYm9h
cmQvY2xpcGJvYXJkLWZpbGUtYWNjZXNzLmh0bWwKQEAgLTU1LDYgKzU1LDkgQEAgZHJhZ1Rhcmdl
dC5hZGRFdmVudExpc3RlbmVyKCJkcm9wIiwgZnVuY3Rpb24oKSB7CiAvLyBTb21lIHRlc3RzIGRv
bid0IGVuZCB1cCBkcm9wcGluZyB0aGUgZHJhZ2dlZSBvdmVyIHRoZSBkcmFnIHRhcmdldC4gQ2F0
Y2ggYW55CiAvLyBsZWZ0b3ZlciBkcm9wIGV2ZW50cyBidWJibGluZyB1cCB0aHJvdWdoIHRoZSB0
cmVlIHNvIHRoZXkgZG9uJ3QgY2F1c2UgcGFnZQogLy8gbmF2aWdhdGlvbi4KK2RvY3VtZW50LmJv
ZHkuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLCBmdW5jdGlvbigpIHsKKyAgICBldmVudC5w
cmV2ZW50RGVmYXVsdCgpOworfSk7CiBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoImRy
b3AiLCBmdW5jdGlvbigpIHsKICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogfSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>170709</attachid>
            <date>2012-10-25 12:23:15 -0700</date>
            <delta_ts>2012-10-25 12:23:15 -0700</delta_ts>
            <desc>More test cases</desc>
            <filename>test2.html</filename>
            <type>text/html</type>
            <size>3190</size>
            <attacher name="Daniel Cheng">dcheng</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+DQo8aHRtbD4NCjxoZWFkPg0KPHN0eWxlPg0KZGl2IHsNCiAgYm9yZGVy
OiAxcHggZG90dGVkIGJsYWNrOw0KICBwYWRkaW5nOiAzMHB4Ow0KfQ0KPC9zdHlsZT4NCjwvaGVh
ZD4NCjxib2R5Pg0KPHRleHRhcmVhIGlkPSJkcm9wVGFyZ2V0MSI+PC90ZXh0YXJlYT4NCjxkaXYg
aWQ9ImRyb3BUYXJnZXQyIj5TbGlnaHRseSB1bm5vcm1hbDwvZGl2Pg0KPGRpdiBpZD0iZHJvcFRh
cmdldDMiPkNhbmNlbCBkcmFnZW50ZXIgYW5kIGRyYWdvdmVyIGRlZmF1bHQgYWN0aW9uPC9kaXY+
DQo8ZGl2IGlkPSJkcm9wVGFyZ2V0NCI+T25seSBjYW5jZWwgZHJhZ2VudGVyIGRlZmF1bHQgYWN0
aW9uPC9kaXY+DQo8ZGl2IGlkPSJkcm9wVGFyZ2V0NSI+T25seSBjYW5jZWwgZHJhZ292ZXIgZGVm
YXVsdCBhY3Rpb248L2Rpdj4NCjxkaXYgaWQ9Im5lc3RlZFRhcmdldDEiPk91dGVyIChjYW5jZWxz
IGFsbCBkcm9wIGV2ZW50cykNCiAgPGRpdiBpZD0ibmVzdGVkVGFyZ2V0MiI+SW5uZXIgKGRvZXMg
bm90IGNhbmNlbCBhbnl0aGluZykNCiAgPC9kaXY+DQo8L2Rpdj4NCjxzY3JpcHQ+DQpmdW5jdGlv
biBsb2cocykgew0KICBjb25zb2xlLmxvZyhzKTsNCn0NCmxvZygnTG9hZGluZycpOw0KdmFyIGQx
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2Ryb3BUYXJnZXQxJyk7DQp2YXIgZDIgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnZHJvcFRhcmdldDInKTsNCnZhciBkMyA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdkcm9wVGFyZ2V0MycpOw0KdmFyIGQ0ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ2Ryb3BUYXJnZXQ0Jyk7DQp2YXIgZDUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
ZHJvcFRhcmdldDUnKTsNCnZhciBuMSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCduZXN0ZWRU
YXJnZXQxJyk7DQp2YXIgbjIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbmVzdGVkVGFyZ2V0
MicpOw0KZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdkcmFnc3RhcnQnLCBmdW5jdGlv
biAoZSkgew0KICB2YXIgY29uc29sZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25zb2xl
Jyk7DQogIHdoaWxlIChjb25zb2xlLmxhc3RDaGlsZCkNCiAgICBjb25zb2xlLnJlbW92ZUNoaWxk
KGNvbnNvbGUubGFzdENoaWxkKTsNCn0sIGZhbHNlKTsNCmRvY3VtZW50LmJvZHkuYWRkRXZlbnRM
aXN0ZW5lcignZHJhZ292ZXInLCBmdW5jdGlvbiAoZSkgew0KICBsb2coJ2JvZHk6IGRyYWdvdmVy
Jyk7DQogIC8vIGUucHJldmVudERlZmF1bHQoKTsNCn0sIGZhbHNlKTsNCmRvY3VtZW50LmJvZHku
YWRkRXZlbnRMaXN0ZW5lcignZHJvcCcsIGZ1bmN0aW9uIChlKSB7DQogIGxvZygnYm9keTogZHJv
cCcpOw0KfSwgZmFsc2UpOw0KDQpkMS5hZGRFdmVudExpc3RlbmVyKCdkcm9wJywgZnVuY3Rpb24g
KGUpIHsNCiAgbG9nKCdIaSBmcm9tIGQxIScpOw0KICBlLnByZXZlbnREZWZhdWx0KCk7DQp9LCBm
YWxzZSk7DQoNCmQyLmFkZEV2ZW50TGlzdGVuZXIoJ2Ryb3AnLCBmdW5jdGlvbiAoZSkgew0KICBs
b2coJ0hpIGZyb20gZDIhJyk7DQogIGUucHJldmVudERlZmF1bHQoKTsNCn0sIGZhbHNlKTsNCg0K
Ly8gQ2FuY2VsIGJvdGguDQpkMy5hZGRFdmVudExpc3RlbmVyKCdkcmFnZW50ZXInLCBmdW5jdGlv
biAoZSkgew0KICBsb2coJ2RyYWdlbnRlcicpOw0KICBlLnByZXZlbnREZWZhdWx0KCk7DQp9LCBm
YWxzZSk7DQpkMy5hZGRFdmVudExpc3RlbmVyKCdkcmFnb3ZlcicsIGZ1bmN0aW9uIChlKSB7DQog
IGxvZygnZHJhZ292ZXInKTsNCiAgZS5wcmV2ZW50RGVmYXVsdCgpOw0KfSwgZmFsc2UpOw0KZDMu
YWRkRXZlbnRMaXN0ZW5lcignZHJvcCcsIGZ1bmN0aW9uIChlKSB7DQogIGxvZygnSGkgZnJvbSBk
MyEnKTsNCiAgZS5wcmV2ZW50RGVmYXVsdCgpOw0KfSwgZmFsc2UpOw0KDQovLyBPbmx5IGNhbmNl
bCBkcmFnZW50ZXINCmQ0LmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdlbnRlcicsIGZ1bmN0aW9uIChl
KSB7DQogIGxvZygnZDQgZHJhZ2VudGVyJyk7DQogIGUucHJldmVudERlZmF1bHQoKTsNCn0sIGZh
bHNlKTsNCmQ0LmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdvdmVyJywgZnVuY3Rpb24gKGUpIHsNCiAg
bG9nKCdkNCBkcmFnb3ZlcicpOw0KfSwgZmFsc2UpOw0KZDQuYWRkRXZlbnRMaXN0ZW5lcignZHJv
cCcsIGZ1bmN0aW9uIChlKSB7DQogIGxvZygnSGkgZnJvbSBkNCEnKTsNCiAgZS5wcmV2ZW50RGVm
YXVsdCgpOw0KfSwgZmFsc2UpOw0KDQovLyBPbmx5IGNhbmNlbCBkcmFnb3Zlcg0KZDUuYWRkRXZl
bnRMaXN0ZW5lcignZHJhZ2VudGVyJywgZnVuY3Rpb24gKGUpIHsNCiAgbG9nKCdkNSBkcmFnZW50
ZXInKTsNCn0sIGZhbHNlKTsNCmQ1LmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdvdmVyJywgZnVuY3Rp
b24gKGUpIHsNCiAgbG9nKCdkNSBkcmFnb3ZlcicpOw0KICBlLnByZXZlbnREZWZhdWx0KCk7DQp9
LCBmYWxzZSk7DQpkNS5hZGRFdmVudExpc3RlbmVyKCdkcm9wJywgZnVuY3Rpb24gKGUpIHsNCiAg
bG9nKCdkNSBkcm9wIScpOw0KICBlLnByZXZlbnREZWZhdWx0KCk7DQp9LCBmYWxzZSk7DQoNCm4x
LmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdlbnRlcicsIGZ1bmN0aW9uIChlKSB7DQogIGxvZygnbjEg
ZHJhZ2VudGVyJyk7DQogIGUucHJldmVudERlZmF1bHQoKTsNCn0sIGZhbHNlKTsNCm4xLmFkZEV2
ZW50TGlzdGVuZXIoJ2RyYWdvdmVyJywgZnVuY3Rpb24gKGUpIHsNCiAgbG9nKCduMSBkcmFnb3Zl
cicpOw0KICBlLnByZXZlbnREZWZhdWx0KCk7DQp9LCBmYWxzZSk7DQpuMS5hZGRFdmVudExpc3Rl
bmVyKCdkcm9wJywgZnVuY3Rpb24gKGUpIHsNCiAgbG9nKCduMSBkcm9wIScpOw0KICBlLnByZXZl
bnREZWZhdWx0KCk7DQp9LCBmYWxzZSk7DQoNCm4yLmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdlbnRl
cicsIGZ1bmN0aW9uIChlKSB7DQogIGxvZygnbjIgZHJhZ2VudGVyJyk7DQp9LCBmYWxzZSk7DQpu
Mi5hZGRFdmVudExpc3RlbmVyKCdkcmFnb3ZlcicsIGZ1bmN0aW9uIChlKSB7DQogIGxvZygnbjIg
ZHJhZ292ZXInKTsNCn0sIGZhbHNlKTsNCm4yLmFkZEV2ZW50TGlzdGVuZXIoJ2Ryb3AnLCBmdW5j
dGlvbiAoZSkgew0KICBsb2coJ24yIGRyb3AhJyk7DQogIGUucHJldmVudERlZmF1bHQoKTsNCn0s
IGZhbHNlKTsNCmxvZygnTG9hZGVkJyk7DQo8L3NjcmlwdD4NCjwvYm9keT4NCjwvaHRtbD4NCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171032</attachid>
            <date>2012-10-26 15:42:46 -0700</date>
            <delta_ts>2012-10-26 17:00:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79173-20121026154117.patch</filename>
            <type>text/plain</type>
            <size>13637</size>
            <attacher name="Daniel Cheng">dcheng</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyNjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWNkYzYwMTM4ODlkOGIy
ZjI0M2ZiY2ZmNDg0NGU1ZTU5ZjRlNTM5OC4uY2Y0ZWNjYTIyYWUxOTg3NmZmNTJkMDIzODA4ZDJi
Zjg2YjU4MGI2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTEwLTI1ICBEYW5p
ZWwgQ2hlbmcgIDxkY2hlbmdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIGRyYWdvdmVyJ3MgZGVm
YXVsdCBhY3Rpb24gc2hvdWxkIHByZXZlbnQgZHJvcCBmb3IgZmlsZSBkcmFncworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxNzMKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEdXJpbmcgYSBmaWxlIGRyYWcs
IHdlIG5lZWQgdG8ga2VlcCB0cmFjayBvZiB3aGV0aGVyIG9yIG5vdCB0aGUgZG9jdW1lbnQgaGFz
IGNhbmNlbGxlZCB0aGUKKyAgICAgICAgZHJhZ292ZXIgYWN0aW9uLiBXZSBzaG91bGQgb25seSBz
ZW5kIGEgZHJvcCBldmVudCBpZiB0aGUgZHJhZ292ZXIgZXZlbnQgd2FzIGNhbmNlbGxlZDsgdGhp
cworICAgICAgICBtYXRjaGVzIHRoZSBiZWhhdmlvciBvZiB0aGUgc3BlYywgYXMgd2VsbCBhcyBJ
RSwgR2Vja28sIGFuZCBPcGVyYS4gVGhlIHJlbGV2YW50IHNlY3Rpb25zCisgICAgICAgIGZyb20g
dGhlIHNwZWMgYXJlIHRoZSBzZWN0aW9ucyBwZXJ0YWluaW5nIHRvIGRyYWdvdmVyIGFuZCBkcm9w
IGV2ZW50cyBhdDoKKyAgICAgICAgaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBz
L2N1cnJlbnQtd29yay8jZHJhZy1hbmQtZHJvcC1wcm9jZXNzaW5nLW1vZGVsCisKKyAgICAgICAg
VGVzdDogZmFzdC9ldmVudHMvb25seS12YWxpZC1kcm9wLXRhcmdldHMtcmVjZWl2ZS1maWxlLWRy
b3AuaHRtbAorCisgICAgICAgICogcGFnZS9EcmFnQ29udHJvbGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpEcmFnQ29udHJvbGxlcjo6cGVyZm9ybURyYWcpOgorICAgICAgICAoV2ViQ29yZTo6
RHJhZ0NvbnRyb2xsZXI6OmRyYWdFbnRlcmVkT3JVcGRhdGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OkRyYWdDb250cm9sbGVyOjp0cnlEb2N1bWVudERyYWcpOgorICAgICAgICAqIHBhZ2UvRHJhZ0Nv
bnRyb2xsZXIuaDoKKyAgICAgICAgKERyYWdDb250cm9sbGVyKTogQ2xlYW51cCB0byByZXB1cnBv
c2UgYSB2YXJpYWJsZSB0aGF0IGRvZXNuJ3QgbmVlZCB0byBiZSBhIG1lbWJlciBhbnltb3JlCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCByZW1vdmUgdGhlIGNvcnJlc3BvbmRpbmcgZ2V0
dGVyL3NldHRlci4KKwogMjAxMi0xMC0yNiAgRGlyayBTY2h1bHplICA8a3JpdEB3ZWJraXQub3Jn
PgogCiAgICAgICAgIC13ZWJraXQtY2xpcC1wYXRoIHByb3BlcnR5IHNob3VsZCBqdXN0IHJlZmVy
ZW5jZSBjbGlwUGF0aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJv
bGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVyLmNwcAppbmRleCAy
ZTBhYWZiOTY2NmMyNjI2NzU2ZWRiZThhNmIwZTM4YjYyMzViZDI0Li44MWVhM2Y5NWRkMDQ2OTRk
ZjAzNGIwNzYwYWUwMGM2YTg2MWFmNWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RyYWdDb250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9s
bGVyLmNwcApAQCAtOTYsMTAgKzk2LDEwIEBAIERyYWdDb250cm9sbGVyOjpEcmFnQ29udHJvbGxl
cihQYWdlKiBwYWdlLCBEcmFnQ2xpZW50KiBjbGllbnQpCiAgICAgLCBtX2RvY3VtZW50VW5kZXJN
b3VzZSgwKQogICAgICwgbV9kcmFnSW5pdGlhdG9yKDApCiAgICAgLCBtX2ZpbGVJbnB1dEVsZW1l
bnRVbmRlck1vdXNlKDApCisgICAgLCBtX2RvY3VtZW50SXNIYW5kbGluZ0RyYWcoZmFsc2UpCiAg
ICAgLCBtX2RyYWdEZXN0aW5hdGlvbkFjdGlvbihEcmFnRGVzdGluYXRpb25BY3Rpb25Ob25lKQog
ICAgICwgbV9kcmFnU291cmNlQWN0aW9uKERyYWdTb3VyY2VBY3Rpb25Ob25lKQogICAgICwgbV9k
aWRJbml0aWF0ZURyYWcoZmFsc2UpCi0gICAgLCBtX2lzSGFuZGxpbmdEcmFnKGZhbHNlKQogICAg
ICwgbV9zb3VyY2VEcmFnT3BlcmF0aW9uKERyYWdPcGVyYXRpb25Ob25lKQogewogICAgIEFTU0VS
VChtX2NsaWVudCk7CkBAIC0yMDksNyArMjA5LDcgQEAgYm9vbCBEcmFnQ29udHJvbGxlcjo6cGVy
Zm9ybURyYWcoRHJhZ0RhdGEqIGRyYWdEYXRhKQogewogICAgIEFTU0VSVChkcmFnRGF0YSk7CiAg
ICAgbV9kb2N1bWVudFVuZGVyTW91c2UgPSBtX3BhZ2UtPm1haW5GcmFtZSgpLT5kb2N1bWVudEF0
UG9pbnQoZHJhZ0RhdGEtPmNsaWVudFBvc2l0aW9uKCkpOwotICAgIGlmIChtX2RyYWdEZXN0aW5h
dGlvbkFjdGlvbiAmIERyYWdEZXN0aW5hdGlvbkFjdGlvbkRIVE1MKSB7CisgICAgaWYgKChtX2Ry
YWdEZXN0aW5hdGlvbkFjdGlvbiAmIERyYWdEZXN0aW5hdGlvbkFjdGlvbkRIVE1MKSAmJiBtX2Rv
Y3VtZW50SXNIYW5kbGluZ0RyYWcpIHsKICAgICAgICAgbV9jbGllbnQtPndpbGxQZXJmb3JtRHJh
Z0Rlc3RpbmF0aW9uQWN0aW9uKERyYWdEZXN0aW5hdGlvbkFjdGlvbkRIVE1MLCBkcmFnRGF0YSk7
CiAgICAgICAgIFJlZlB0cjxGcmFtZT4gbWFpbkZyYW1lID0gbV9wYWdlLT5tYWluRnJhbWUoKTsK
ICAgICAgICAgYm9vbCBwcmV2ZW50ZWREZWZhdWx0ID0gZmFsc2U7CkBAIC0yNjUsOCArMjY1LDgg
QEAgRHJhZ1Nlc3Npb24gRHJhZ0NvbnRyb2xsZXI6OmRyYWdFbnRlcmVkT3JVcGRhdGVkKERyYWdE
YXRhKiBkcmFnRGF0YSkKICAgICB9CiAKICAgICBEcmFnU2Vzc2lvbiBkcmFnU2Vzc2lvbjsKLSAg
ICBib29sIGhhbmRsZWRCeURvY3VtZW50ID0gdHJ5RG9jdW1lbnREcmFnKGRyYWdEYXRhLCBtX2Ry
YWdEZXN0aW5hdGlvbkFjdGlvbiwgZHJhZ1Nlc3Npb24pOwotICAgIGlmICghaGFuZGxlZEJ5RG9j
dW1lbnQgJiYgKG1fZHJhZ0Rlc3RpbmF0aW9uQWN0aW9uICYgRHJhZ0Rlc3RpbmF0aW9uQWN0aW9u
TG9hZCkpCisgICAgbV9kb2N1bWVudElzSGFuZGxpbmdEcmFnID0gdHJ5RG9jdW1lbnREcmFnKGRy
YWdEYXRhLCBtX2RyYWdEZXN0aW5hdGlvbkFjdGlvbiwgZHJhZ1Nlc3Npb24pOworICAgIGlmICgh
bV9kb2N1bWVudElzSGFuZGxpbmdEcmFnICYmIChtX2RyYWdEZXN0aW5hdGlvbkFjdGlvbiAmIERy
YWdEZXN0aW5hdGlvbkFjdGlvbkxvYWQpKQogICAgICAgICBkcmFnU2Vzc2lvbi5vcGVyYXRpb24g
PSBvcGVyYXRpb25Gb3JMb2FkKGRyYWdEYXRhKTsKICAgICByZXR1cm4gZHJhZ1Nlc3Npb247CiB9
CkBAIC0zMTQsOSArMzE0LDkgQEAgYm9vbCBEcmFnQ29udHJvbGxlcjo6dHJ5RG9jdW1lbnREcmFn
KERyYWdEYXRhKiBkcmFnRGF0YSwgRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uIGEKICAgICBpZiAobV9k
cmFnSW5pdGlhdG9yICYmICFtX2RvY3VtZW50VW5kZXJNb3VzZS0+c2VjdXJpdHlPcmlnaW4oKS0+
Y2FuUmVjZWl2ZURyYWdEYXRhKG1fZHJhZ0luaXRpYXRvci0+c2VjdXJpdHlPcmlnaW4oKSkpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIG1faXNIYW5kbGluZ0RyYWcgPSBmYWxzZTsKKyAg
ICBib29sIGlzSGFuZGxpbmdEcmFnID0gZmFsc2U7CiAgICAgaWYgKGFjdGlvbk1hc2sgJiBEcmFn
RGVzdGluYXRpb25BY3Rpb25ESFRNTCkgewotICAgICAgICBtX2lzSGFuZGxpbmdEcmFnID0gdHJ5
REhUTUxEcmFnKGRyYWdEYXRhLCBkcmFnU2Vzc2lvbi5vcGVyYXRpb24pOworICAgICAgICBpc0hh
bmRsaW5nRHJhZyA9IHRyeURIVE1MRHJhZyhkcmFnRGF0YSwgZHJhZ1Nlc3Npb24ub3BlcmF0aW9u
KTsKICAgICAgICAgLy8gRG8gbm90IGNvbnRpbnVlIGlmIG1fZG9jdW1lbnRVbmRlck1vdXNlIGhh
cyBiZWVuIHJlc2V0IGJ5IHRyeURIVE1MRHJhZy4KICAgICAgICAgLy8gdHJ5REhUTUxEcmFnIGZp
cmVzIGRyYWdlbnRlciBldmVudC4gVGhlIGV2ZW50IGxpc3RlbmVyIHRoYXQgbGlzdGVucwogICAg
ICAgICAvLyB0byB0aGlzIGV2ZW50IG1heSBjcmVhdGUgYSBuZXN0ZWQgbWVzc2FnZSBsb29wIChv
cGVuIGEgbW9kYWwgZGlhbG9nKSwKQEAgLTMzMiwxMCArMzMyLDEyIEBAIGJvb2wgRHJhZ0NvbnRy
b2xsZXI6OnRyeURvY3VtZW50RHJhZyhEcmFnRGF0YSogZHJhZ0RhdGEsIERyYWdEZXN0aW5hdGlv
bkFjdGlvbiBhCiAgICAgaWYgKCFmcmFtZVZpZXcpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAot
ICAgIGlmIChtX2lzSGFuZGxpbmdEcmFnKSB7CisgICAgaWYgKGlzSGFuZGxpbmdEcmFnKSB7CiAg
ICAgICAgIG1fcGFnZS0+ZHJhZ0NhcmV0Q29udHJvbGxlcigpLT5jbGVhcigpOwogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLSAgICB9IGVsc2UgaWYgKChhY3Rpb25NYXNrICYgRHJhZ0Rlc3RpbmF0aW9u
QWN0aW9uRWRpdCkgJiYgY2FuUHJvY2Vzc0RyYWcoZHJhZ0RhdGEpKSB7CisgICAgfQorCisgICAg
aWYgKChhY3Rpb25NYXNrICYgRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uRWRpdCkgJiYgY2FuUHJvY2Vz
c0RyYWcoZHJhZ0RhdGEpKSB7CiAgICAgICAgIGlmIChkcmFnRGF0YS0+Y29udGFpbnNDb2xvcigp
KSB7CiAgICAgICAgICAgICBkcmFnU2Vzc2lvbi5vcGVyYXRpb24gPSBEcmFnT3BlcmF0aW9uR2Vu
ZXJpYzsKICAgICAgICAgICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9EcmFnQ29udHJvbGxlci5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9EcmFnQ29udHJv
bGxlci5oCmluZGV4IDc0ZDYxNzgyZThmNjllNjQwMTM2OWUwOTFlNWJmYmZhNmE2NTk1YTkuLmM3
OTI3Y2I0N2E1NjllMGIwYzNmYWM1NWI2Mjk4MDEwOWI0YWNlYzMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RyYWdDb250cm9sbGVyLmgKQEAgLTY4LDggKzY4LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICAvLyBkcmFnIGxvZ2ljIGlzIGluIFdlYkNvcmUuCiAgICAgICAgIHZvaWQgc2V0RGlk
SW5pdGlhdGVEcmFnKGJvb2wgaW5pdGlhdGVkKSB7IG1fZGlkSW5pdGlhdGVEcmFnID0gaW5pdGlh
dGVkOyB9IAogICAgICAgICBib29sIGRpZEluaXRpYXRlRHJhZygpIGNvbnN0IHsgcmV0dXJuIG1f
ZGlkSW5pdGlhdGVEcmFnOyB9Ci0gICAgICAgIHZvaWQgc2V0SXNIYW5kbGluZ0RyYWcoYm9vbCBo
YW5kbGluZykgeyBtX2lzSGFuZGxpbmdEcmFnID0gaGFuZGxpbmc7IH0KLSAgICAgICAgYm9vbCBp
c0hhbmRsaW5nRHJhZygpIGNvbnN0IHsgcmV0dXJuIG1faXNIYW5kbGluZ0RyYWc7IH0KICAgICAg
ICAgRHJhZ09wZXJhdGlvbiBzb3VyY2VEcmFnT3BlcmF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9z
b3VyY2VEcmFnT3BlcmF0aW9uOyB9CiAgICAgICAgIGNvbnN0IEtVUkwmIGRyYWdnaW5nSW1hZ2VV
UkwoKSBjb25zdCB7IHJldHVybiBtX2RyYWdnaW5nSW1hZ2VVUkw7IH0KICAgICAgICAgdm9pZCBz
ZXREcmFnT2Zmc2V0KGNvbnN0IEludFBvaW50JiBvZmZzZXQpIHsgbV9kcmFnT2Zmc2V0ID0gb2Zm
c2V0OyB9CkBAIC0xMTksMTUgKzExNywxNSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICAg
ICAgUGFnZSogbV9wYWdlOwogICAgICAgICBEcmFnQ2xpZW50KiBtX2NsaWVudDsKLSAgICAgICAg
CisKICAgICAgICAgUmVmUHRyPERvY3VtZW50PiBtX2RvY3VtZW50VW5kZXJNb3VzZTsgLy8gVGhl
IGRvY3VtZW50IHRoZSBtb3VzZSB3YXMgbGFzdCBkcmFnZ2VkIG92ZXIuCiAgICAgICAgIFJlZlB0
cjxEb2N1bWVudD4gbV9kcmFnSW5pdGlhdG9yOyAvLyBUaGUgRG9jdW1lbnQgKGlmIGFueSkgdGhh
dCBpbml0aWF0ZWQgdGhlIGRyYWcuCiAgICAgICAgIFJlZlB0cjxIVE1MSW5wdXRFbGVtZW50PiBt
X2ZpbGVJbnB1dEVsZW1lbnRVbmRlck1vdXNlOwotICAgICAgICAKKyAgICAgICAgYm9vbCBtX2Rv
Y3VtZW50SXNIYW5kbGluZ0RyYWc7CisKICAgICAgICAgRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uIG1f
ZHJhZ0Rlc3RpbmF0aW9uQWN0aW9uOwogICAgICAgICBEcmFnU291cmNlQWN0aW9uIG1fZHJhZ1Nv
dXJjZUFjdGlvbjsKICAgICAgICAgYm9vbCBtX2RpZEluaXRpYXRlRHJhZzsKLSAgICAgICAgYm9v
bCBtX2lzSGFuZGxpbmdEcmFnOwogICAgICAgICBEcmFnT3BlcmF0aW9uIG1fc291cmNlRHJhZ09w
ZXJhdGlvbjsgLy8gU2V0IGluIHN0YXJ0RHJhZyB3aGVuIGEgZHJhZyBzdGFydHMgZnJvbSBhIG1v
dXNlIGRvd24gd2l0aGluIFdlYktpdAogICAgICAgICBJbnRQb2ludCBtX2RyYWdPZmZzZXQ7CiAg
ICAgICAgIEtVUkwgbV9kcmFnZ2luZ0ltYWdlVVJMOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU2ODgzNDMxZGY0MTY1MTgy
ZDVlZjQxNjc2MWI5ZTljMjFlYzg0ZjQuLmJlY2NiYmI3OTA1OWMyODEzNTMyMTg2YTU2YzQyNmZm
MDUzYjIxYzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMi0xMC0yNSAgRGFuaWVsIENoZW5n
ICA8ZGNoZW5nQGNocm9taXVtLm9yZz4KKworICAgICAgICBkcmFnb3ZlcidzIGRlZmF1bHQgYWN0
aW9uIHNob3VsZCBwcmV2ZW50IGRyb3AgZm9yIGZpbGUgZHJhZ3MKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5MTczCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvZHJvcC1ldmVu
dC1pbi1zaGFkb3cuaHRtbDoKKyAgICAgICAgICAgIEFkZGVkIGRyYWdvdmVyIGhhbmRsZXIgYXMg
cmVxdWlyZWQgYnkgdGhlIEhUTUwgc3BlY2lmaWNhdGlvbi4KKyAgICAgICAgKiBmYXN0L2V2ZW50
cy9pbnB1dC1lbGVtZW50LWRpc3BsYXktbm9uZS1pbi1kcmFnbGVhdmUtY3Jhc2guaHRtbDoKKyAg
ICAgICAgICAgIEFkZGVkIGRyYWdvdmVyIGhhbmRsZXIgYXMgcmVxdWlyZWQgYnkgdGhlIEhUTUwg
c3BlY2lmaWNhdGlvbi4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9vbmx5LXZhbGlkLWRyb3AtdGFy
Z2V0cy1yZWNlaXZlLWZpbGUtZHJvcC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZXZlbnRzL29ubHktdmFsaWQtZHJvcC10YXJnZXRzLXJlY2VpdmUtZmlsZS1kcm9wLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvc2VjdXJpdHkvY2xpcGJvYXJkL2NsaXBib2Fy
ZC1maWxlLWFjY2Vzcy5odG1sOgorICAgICAgICAgICAgQWRkZWQgZHJhZ292ZXIgaGFuZGxlciBh
cyByZXF1aXJlZCBieSB0aGUgSFRNTCBzcGVjaWZpY2F0aW9uLgorCiAyMDEyLTEwLTI2ICBEaXJr
IFNjaHVsemUgIDxrcml0QHdlYmtpdC5vcmc+CiAKICAgICAgICAgLXdlYmtpdC1jbGlwLXBhdGgg
cHJvcGVydHkgc2hvdWxkIGp1c3QgcmVmZXJlbmNlIGNsaXBQYXRoCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvZHJvcC1ldmVudC1pbi1zaGFkb3cuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9kcm9wLWV2ZW50LWluLXNoYWRvdy5odG1sCmluZGV4IDFk
NTIzNDZmNmMxNTQ2ODdjMmYzMDNhNmQ1ZjcwNTRhZmM4NjEyMzguLmZhOTI4YWYzMTZlYmNiYzkx
NWJkNTJiZWEwNzdiOTYxODUxMmZhMjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3NoYWRvdy9kcm9wLWV2ZW50LWluLXNoYWRvdy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9kcm9wLWV2ZW50LWluLXNoYWRvdy5odG1sCkBAIC0xMCw2ICsxMCw5IEBAIGZ1
bmN0aW9uIGNyZWF0ZUJveChuYW1lKSB7CiAgICAgZGl2LnN0eWxlLndpZHRoID0gJzEwMHB4JzsK
ICAgICBkaXYuc3R5bGUuaGVpZ2h0ID0gJzEwMHB4JzsKIAorICAgIGRpdi5hZGRFdmVudExpc3Rl
bmVyKCdkcmFnb3ZlcicsIGZ1bmN0aW9uKGUpIHsKKyAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgp
OworICAgIH0pOwogICAgIGRpdi5hZGRFdmVudExpc3RlbmVyKCdkcm9wJywgZnVuY3Rpb24oZSkg
ewogICAgICAgICBkZWJ1ZygnUEFTUzogZHJvcCBldmVudCBpcyBmaXJlZC4nKTsKICAgICB9KTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lucHV0LWVsZW1lbnQtZGlzcGxh
eS1ub25lLWluLWRyYWdsZWF2ZS1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
aW5wdXQtZWxlbWVudC1kaXNwbGF5LW5vbmUtaW4tZHJhZ2xlYXZlLWNyYXNoLmh0bWwKaW5kZXgg
NGZmOTZlOWQyZWI1Y2Y5NGZhZTZiMjFjZTFjMGE3ZjUxYzRiOGQ0ZS4uYmRkOWE2YzFiZjExMWY5
YmQwYjdkZDEzZmQwMGYwYmE0M2NmN2RmOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvaW5wdXQtZWxlbWVudC1kaXNwbGF5LW5vbmUtaW4tZHJhZ2xlYXZlLWNyYXNoLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW5wdXQtZWxlbWVudC1kaXNwbGF5LW5vbmUt
aW4tZHJhZ2xlYXZlLWNyYXNoLmh0bWwKQEAgLTI0LDEyICsyNCwxNSBAQAogICAgICAgICAgICAg
ICAgIC8vIFRoZSB0ZXN0IGhhcm5lc3Mgd2FudHMgdXMgdG8gY2FsbCBldmVudFNlbmRlci5tb3Vz
ZVVwKCkgYmVmb3JlIGZpbmlzaGluZywKICAgICAgICAgICAgICAgICAvLyBidXQgd2UgbmVlZCB0
byBub3QgbmF2aWdhdGUgd2hlbiB0aGF0IGhhcHBlbnMsIHNvIGFkZCBhIGRyb3AgaGFuZGxlciB0
aGF0CiAgICAgICAgICAgICAgICAgLy8gcHJldmVudHMgbmF2aWdhdGlvbi4KKyAgICAgICAgICAg
ICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLCBmdW5jdGlvbigpIHsKKyAg
ICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKKyAgICAgICAgICAgICAg
ICB9LCBmYWxzZSk7CiAgICAgICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImRy
b3AiLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0
KCk7CisgICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgICAg
ICAgICAgICAgfSwgZmFsc2UpOwogICAgICAgICAgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAo
KTsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIAorCiAgICAgICAgICAgICBpZiAod2luZG93
LnRlc3RSdW5uZXIpCiAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAg
ICAgICAgIH0KQEAgLTM5LDQgKzQyLDQgQEAKICAgICA8cD5UaGlzIHRlc3QgcGFzc2VzIGlmIHRo
ZXJlIGlzIG5vIGNyYXNoIHdoZW4gZHJhZ2dpbmcgYSBmaWxlIG92ZXIgYW5kIHRoZW4gYXdheSBm
cm9tIHRoZSBmaWxlIGlucHV0IGVsZW1lbnQgYmVsb3cuPC9wPgogICAgIDxpbnB1dCB0eXBlPSJm
aWxlIiBpZD0iZHJvcC10YXJnZXQiPgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L29ubHktdmFsaWQtZHJvcC10YXJnZXRzLXJlY2VpdmUtZmlsZS1kcm9wLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL29ubHktdmFsaWQtZHJvcC10YXJnZXRzLXJlY2VpdmUt
ZmlsZS1kcm9wLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMDgyMmFmOTBmYjc5MjU4OTNiNGI0
ZGNiMTljMmRkNjU2MjA0NzMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvb25seS12YWxpZC1kcm9wLXRhcmdldHMtcmVjZWl2ZS1maWxlLWRyb3AtZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsOSBAQAorVG8gcnVuIHRoaXMgdGVzdCBtYW51YWxseSwgZHJhZyBhIGZp
bGUgdG8gb25lIG9mIHRoZSB0d28gYm94ZXMgYmVsb3cuCisKK0Ryb3BwaW5nIGhlcmUgc2hvdWxk
IHJlc3VsdCBpbiBhIGRyb3AgZXZlbnQuCitEcm9wcGluZyBoZXJlIHNob3VsZCBOT1QgcmVzdWx0
IGluIGEgZHJvcCBldmVudCAocGFnZSB3aWxsIG5hdmlnYXRlKS4KK1N0YXJ0aW5nIGRyYWcuLi4K
K0Ryb3AgcmVjZWl2ZWQgaW4gZHJvcCB0YXJnZXQgMQorU3RhcnRpbmcgZHJhZy4uLgorRHJvcCBu
b3QgcmVjZWl2ZWQKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvb25seS12
YWxpZC1kcm9wLXRhcmdldHMtcmVjZWl2ZS1maWxlLWRyb3AuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL29ubHktdmFsaWQtZHJvcC10YXJnZXRzLXJlY2VpdmUtZmlsZS1kcm9wLmh0bWwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOGI5YzI4MmFjNDQ1ODQzOTk4MTk3MmFkOWY2YzhjMzQ5YTQyNjBkNwotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL29ubHktdmFsaWQtZHJvcC10
YXJnZXRzLXJlY2VpdmUtZmlsZS1kcm9wLmh0bWwKQEAgLTAsMCArMSw3OCBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorZGl2LCBzcGFuIHsKKyAgICBib3JkZXI6
IDFweCBzb2xpZCBibGFjazsKK307Cis8L3N0eWxlPgorPHNjcmlwdD4KK3ZhciBkcm9wUmVjZWl2
ZWQ7CitmdW5jdGlvbiBsb2coc3RyKQoreworICAgIHZhciByZXN1bHQgPSBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgncmVzdWx0Jyk7CisgICAgcmVzdWx0LmFwcGVuZENoaWxkKGRvY3VtZW50LmNy
ZWF0ZVRleHROb2RlKHN0cikpOworICAgIHJlc3VsdC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCdicicpKTsKK30KK2Z1bmN0aW9uIGRyYWdEcm9wKHRhcmdldCkKK3sKKyAgICBs
b2coJ1N0YXJ0aW5nIGRyYWcuLi4nKTsKKyAgICBldmVudFNlbmRlci5iZWdpbkRyYWdXaXRoRmls
ZXMoWyd0ZXN0J10pOworICAgIGV2ZW50U2VuZGVyLmxlYXBGb3J3YXJkKDEwMCk7CisgICAgZXZl
bnRTZW5kZXIubW91c2VNb3ZlVG8odGFyZ2V0Lm9mZnNldExlZnQgKyB0YXJnZXQub2Zmc2V0V2lk
dGggLyAyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldC5vZmZzZXRUb3AgKyB0
YXJnZXQub2Zmc2V0SGVpZ2h0IC8gMik7CisgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOworfQor
d2luZG93Lm9ubG9hZCA9IGZ1bmN0aW9uKCkKK3sKKyAgICB2YXIgZHJvcDEgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgnZHJvcDEnKTsKKyAgICB2YXIgZHJvcDIgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnZHJvcDInKTsKKworICAgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcign
ZHJhZ292ZXInLCBmdW5jdGlvbiAoKSB7CisgICAgICAgIGRyb3BSZWNlaXZlZCA9IGZhbHNlOwor
ICAgIH0sIGZhbHNlKTsKKworICAgIGRyb3AxLmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdvdmVyJywg
ZnVuY3Rpb24oZSkgeworICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CisgICAgfSwgZmFsc2Up
OworICAgIGRyb3AxLmFkZEV2ZW50TGlzdGVuZXIoJ2Ryb3AnLCBmdW5jdGlvbihlKSB7CisgICAg
ICAgIGUucHJldmVudERlZmF1bHQoKTsKKyAgICAgICAgZHJvcFJlY2VpdmVkID0gJ2Ryb3AgdGFy
Z2V0IDEnOworICAgIH0sIGZhbHNlKTsKKworICAgIGRyb3AyLmFkZEV2ZW50TGlzdGVuZXIoJ2Ry
YWdvdmVyJywgZnVuY3Rpb24oKSB7CisgICAgfSwgZmFsc2UpOworICAgIGRyb3AyLmFkZEV2ZW50
TGlzdGVuZXIoJ2Ryb3AnLCBmdW5jdGlvbihlKSB7CisgICAgICAgIGUucHJldmVudERlZmF1bHQo
KTsKKyAgICAgICAgZHJvcFJlY2VpdmVkID0gJ2Ryb3AgdGFyZ2V0IDInOworICAgIH0sIGZhbHNl
KTsKKworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgIHJldHVybjsKKyAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsK
KworICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdiZWZvcmV1bmxvYWQnLCBmdW5jdGlvbiAo
KSB7CisgICAgICAgIGxvZygnRHJvcCBub3QgcmVjZWl2ZWQnKTsKKyAgICAgICAgdGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7CisgICAgfSk7CisKKyAgICBkcmFnRHJvcChkcmFnTWUsIGRyb3AxKTsK
KyAgICB1bmxvYWRFeHBlY3RlZCA9IHRydWU7CisgICAgZHJhZ0Ryb3AoZHJhZ01lLCBkcm9wMik7
CisgICAgd2luZG93LnNldFRpbWVvdXQoZnVuY3Rpb24gKCkgeworICAgICAgICAvLyBEZWFkbWFu
J3Mgc3dpdGNoIHRvIGZhaWwgcXVpY2tseS4KKyAgICAgICAgbG9nKCdGQUlMOiBuYXZpZ2F0aW9u
IGV4cGVjdGVkJyk7CisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0pOwor
fQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPlRvIHJ1biB0aGlzIHRlc3QgbWFudWFs
bHksIGRyYWcgYSBmaWxlIHRvIG9uZSBvZiB0aGUgdHdvIGJveGVzIGJlbG93LgorPGRpdiBpZD0i
ZHJvcDEiPkRyb3BwaW5nIGluIGRyb3AgdGFyZ2V0IDEgc2hvdWxkIHJlc3VsdCBpbiBhIGRyb3Ag
ZXZlbnQuPC9kaXY+Cis8ZGl2IGlkPSJkcm9wMiI+RHJvcHBpbmcgaW4gZHJvcCB0YXJnZXQgMiBz
aG91bGQgTk9UIHJlc3VsdCBpbiBhIGRyb3AgZXZlbnQgKHBhZ2Ugd2lsbCBuYXZpZ2F0ZSkuPC9k
aXY+Cis8ZGl2IGlkPSJyZXN1bHQiPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL3NlY3VyaXR5L2NsaXBib2FyZC9jbGlwYm9hcmQt
ZmlsZS1hY2Nlc3MuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY2xpcGJv
YXJkL2NsaXBib2FyZC1maWxlLWFjY2Vzcy5odG1sCmluZGV4IDFkMjNkNTk3NmNjYmY3OGFmZWI3
OGRlMDdkOGRiZmY2MWU5NjdiNDMuLjI4MmQ5MzEzMGJmZWFmNDA0OGNkYmIxMWJiZjE2ZWVkYzI3
MjQ3N2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvc2VjdXJpdHkvY2xpcGJv
YXJkL2NsaXBib2FyZC1maWxlLWFjY2Vzcy5odG1sCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVz
dHMvc2VjdXJpdHkvY2xpcGJvYXJkL2NsaXBib2FyZC1maWxlLWFjY2Vzcy5odG1sCkBAIC01NSw2
ICs1NSw5IEBAIGRyYWdUYXJnZXQuYWRkRXZlbnRMaXN0ZW5lcigiZHJvcCIsIGZ1bmN0aW9uKCkg
ewogLy8gU29tZSB0ZXN0cyBkb24ndCBlbmQgdXAgZHJvcHBpbmcgdGhlIGRyYWdnZWUgb3ZlciB0
aGUgZHJhZyB0YXJnZXQuIENhdGNoIGFueQogLy8gbGVmdG92ZXIgZHJvcCBldmVudHMgYnViYmxp
bmcgdXAgdGhyb3VnaCB0aGUgdHJlZSBzbyB0aGV5IGRvbid0IGNhdXNlIHBhZ2UKIC8vIG5hdmln
YXRpb24uCitkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoImRyYWdvdmVyIiwgZnVuY3Rp
b24oKSB7CisgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKK30pOwogZG9jdW1lbnQuYm9keS5h
ZGRFdmVudExpc3RlbmVyKCJkcm9wIiwgZnVuY3Rpb24oKSB7CiAgICAgZXZlbnQucHJldmVudERl
ZmF1bHQoKTsKIH0pOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171051</attachid>
            <date>2012-10-26 17:00:39 -0700</date>
            <delta_ts>2012-10-26 18:31:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79173-20121026165910.patch</filename>
            <type>text/plain</type>
            <size>13786</size>
            <attacher name="Daniel Cheng">dcheng</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyMzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzhjZDVlZWQzMzAxMDJi
ZDU0NzQ0Mjg2MDBiMzQ4ZmQ5YTY3ODdjMy4uZjdlOGJmZmVhMTk0ZTY4YzIzMGQ3YmQzNDY1MzI4
NzllY2UzMTAxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTEwLTI2ICBEYW5p
ZWwgQ2hlbmcgIDxkY2hlbmdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIGRyYWdvdmVyJ3MgZGVm
YXVsdCBhY3Rpb24gc2hvdWxkIHByZXZlbnQgZHJvcCBmb3IgZmlsZSBkcmFncworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxNzMKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBEdXJpbmcgYSBmaWxlIGRyYWcs
IHdlIG5lZWQgdG8ga2VlcCB0cmFjayBvZiB3aGV0aGVyIG9yIG5vdCB0aGUgZG9jdW1lbnQgaGFz
IGNhbmNlbGxlZCB0aGUKKyAgICAgICAgZHJhZ292ZXIgYWN0aW9uLiBXZSBzaG91bGQgb25seSBz
ZW5kIGEgZHJvcCBldmVudCBpZiB0aGUgZHJhZ292ZXIgZXZlbnQgd2FzIGNhbmNlbGxlZDsgdGhp
cworICAgICAgICBtYXRjaGVzIHRoZSBiZWhhdmlvciBvZiB0aGUgc3BlYywgYXMgd2VsbCBhcyBJ
RSwgR2Vja28sIGFuZCBPcGVyYS4gVGhlIHJlbGV2YW50IHNlY3Rpb25zCisgICAgICAgIGZyb20g
dGhlIHNwZWMgYXJlIHRoZSBzZWN0aW9ucyBwZXJ0YWluaW5nIHRvIGRyYWdvdmVyIGFuZCBkcm9w
IGV2ZW50cyBhdDoKKyAgICAgICAgaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBz
L2N1cnJlbnQtd29yay8jZHJhZy1hbmQtZHJvcC1wcm9jZXNzaW5nLW1vZGVsCisKKyAgICAgICAg
VGVzdDogZmFzdC9ldmVudHMvb25seS12YWxpZC1kcm9wLXRhcmdldHMtcmVjZWl2ZS1maWxlLWRy
b3AuaHRtbAorCisgICAgICAgICogcGFnZS9EcmFnQ29udHJvbGxlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpEcmFnQ29udHJvbGxlcjo6cGVyZm9ybURyYWcpOgorICAgICAgICAoV2ViQ29yZTo6
RHJhZ0NvbnRyb2xsZXI6OmRyYWdFbnRlcmVkT3JVcGRhdGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OkRyYWdDb250cm9sbGVyOjp0cnlEb2N1bWVudERyYWcpOgorICAgICAgICAqIHBhZ2UvRHJhZ0Nv
bnRyb2xsZXIuaDoKKyAgICAgICAgKERyYWdDb250cm9sbGVyKTogQ2xlYW51cCB0byByZXB1cnBv
c2UgYSB2YXJpYWJsZSB0aGF0IGRvZXNuJ3QgbmVlZCB0byBiZSBhIG1lbWJlciBhbnltb3JlCisg
ICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCByZW1vdmUgdGhlIGNvcnJlc3BvbmRpbmcgZ2V0
dGVyL3NldHRlci4KKwogMjAxMi0xMC0yNCAgTGV2aSBXZWludHJhdWIgIDxsZXZpd0BjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgRml4aW5nIHRoZSBDaHJvbWl1bSBidWlsZCBhZnRlciB0eXBvIGlu
IHIxMzIzNjcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIuY3BwCmluZGV4IDJlMGFh
ZmI5NjY2YzI2MjY3NTZlZGJlOGE2YjBlMzhiNjIzNWJkMjQuLjgxZWEzZjk1ZGQwNDY5NGRmMDM0
YjA3NjBhZTAwYzZhODYxYWY1YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJh
Z0NvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJhZ0NvbnRyb2xsZXIu
Y3BwCkBAIC05NiwxMCArOTYsMTAgQEAgRHJhZ0NvbnRyb2xsZXI6OkRyYWdDb250cm9sbGVyKFBh
Z2UqIHBhZ2UsIERyYWdDbGllbnQqIGNsaWVudCkKICAgICAsIG1fZG9jdW1lbnRVbmRlck1vdXNl
KDApCiAgICAgLCBtX2RyYWdJbml0aWF0b3IoMCkKICAgICAsIG1fZmlsZUlucHV0RWxlbWVudFVu
ZGVyTW91c2UoMCkKKyAgICAsIG1fZG9jdW1lbnRJc0hhbmRsaW5nRHJhZyhmYWxzZSkKICAgICAs
IG1fZHJhZ0Rlc3RpbmF0aW9uQWN0aW9uKERyYWdEZXN0aW5hdGlvbkFjdGlvbk5vbmUpCiAgICAg
LCBtX2RyYWdTb3VyY2VBY3Rpb24oRHJhZ1NvdXJjZUFjdGlvbk5vbmUpCiAgICAgLCBtX2RpZElu
aXRpYXRlRHJhZyhmYWxzZSkKLSAgICAsIG1faXNIYW5kbGluZ0RyYWcoZmFsc2UpCiAgICAgLCBt
X3NvdXJjZURyYWdPcGVyYXRpb24oRHJhZ09wZXJhdGlvbk5vbmUpCiB7CiAgICAgQVNTRVJUKG1f
Y2xpZW50KTsKQEAgLTIwOSw3ICsyMDksNyBAQCBib29sIERyYWdDb250cm9sbGVyOjpwZXJmb3Jt
RHJhZyhEcmFnRGF0YSogZHJhZ0RhdGEpCiB7CiAgICAgQVNTRVJUKGRyYWdEYXRhKTsKICAgICBt
X2RvY3VtZW50VW5kZXJNb3VzZSA9IG1fcGFnZS0+bWFpbkZyYW1lKCktPmRvY3VtZW50QXRQb2lu
dChkcmFnRGF0YS0+Y2xpZW50UG9zaXRpb24oKSk7Ci0gICAgaWYgKG1fZHJhZ0Rlc3RpbmF0aW9u
QWN0aW9uICYgRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uREhUTUwpIHsKKyAgICBpZiAoKG1fZHJhZ0Rl
c3RpbmF0aW9uQWN0aW9uICYgRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uREhUTUwpICYmIG1fZG9jdW1l
bnRJc0hhbmRsaW5nRHJhZykgewogICAgICAgICBtX2NsaWVudC0+d2lsbFBlcmZvcm1EcmFnRGVz
dGluYXRpb25BY3Rpb24oRHJhZ0Rlc3RpbmF0aW9uQWN0aW9uREhUTUwsIGRyYWdEYXRhKTsKICAg
ICAgICAgUmVmUHRyPEZyYW1lPiBtYWluRnJhbWUgPSBtX3BhZ2UtPm1haW5GcmFtZSgpOwogICAg
ICAgICBib29sIHByZXZlbnRlZERlZmF1bHQgPSBmYWxzZTsKQEAgLTI2NSw4ICsyNjUsOCBAQCBE
cmFnU2Vzc2lvbiBEcmFnQ29udHJvbGxlcjo6ZHJhZ0VudGVyZWRPclVwZGF0ZWQoRHJhZ0RhdGEq
IGRyYWdEYXRhKQogICAgIH0KIAogICAgIERyYWdTZXNzaW9uIGRyYWdTZXNzaW9uOwotICAgIGJv
b2wgaGFuZGxlZEJ5RG9jdW1lbnQgPSB0cnlEb2N1bWVudERyYWcoZHJhZ0RhdGEsIG1fZHJhZ0Rl
c3RpbmF0aW9uQWN0aW9uLCBkcmFnU2Vzc2lvbik7Ci0gICAgaWYgKCFoYW5kbGVkQnlEb2N1bWVu
dCAmJiAobV9kcmFnRGVzdGluYXRpb25BY3Rpb24gJiBEcmFnRGVzdGluYXRpb25BY3Rpb25Mb2Fk
KSkKKyAgICBtX2RvY3VtZW50SXNIYW5kbGluZ0RyYWcgPSB0cnlEb2N1bWVudERyYWcoZHJhZ0Rh
dGEsIG1fZHJhZ0Rlc3RpbmF0aW9uQWN0aW9uLCBkcmFnU2Vzc2lvbik7CisgICAgaWYgKCFtX2Rv
Y3VtZW50SXNIYW5kbGluZ0RyYWcgJiYgKG1fZHJhZ0Rlc3RpbmF0aW9uQWN0aW9uICYgRHJhZ0Rl
c3RpbmF0aW9uQWN0aW9uTG9hZCkpCiAgICAgICAgIGRyYWdTZXNzaW9uLm9wZXJhdGlvbiA9IG9w
ZXJhdGlvbkZvckxvYWQoZHJhZ0RhdGEpOwogICAgIHJldHVybiBkcmFnU2Vzc2lvbjsKIH0KQEAg
LTMxNCw5ICszMTQsOSBAQCBib29sIERyYWdDb250cm9sbGVyOjp0cnlEb2N1bWVudERyYWcoRHJh
Z0RhdGEqIGRyYWdEYXRhLCBEcmFnRGVzdGluYXRpb25BY3Rpb24gYQogICAgIGlmIChtX2RyYWdJ
bml0aWF0b3IgJiYgIW1fZG9jdW1lbnRVbmRlck1vdXNlLT5zZWN1cml0eU9yaWdpbigpLT5jYW5S
ZWNlaXZlRHJhZ0RhdGEobV9kcmFnSW5pdGlhdG9yLT5zZWN1cml0eU9yaWdpbigpKSkKICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogCi0gICAgbV9pc0hhbmRsaW5nRHJhZyA9IGZhbHNlOworICAgIGJv
b2wgaXNIYW5kbGluZ0RyYWcgPSBmYWxzZTsKICAgICBpZiAoYWN0aW9uTWFzayAmIERyYWdEZXN0
aW5hdGlvbkFjdGlvbkRIVE1MKSB7Ci0gICAgICAgIG1faXNIYW5kbGluZ0RyYWcgPSB0cnlESFRN
TERyYWcoZHJhZ0RhdGEsIGRyYWdTZXNzaW9uLm9wZXJhdGlvbik7CisgICAgICAgIGlzSGFuZGxp
bmdEcmFnID0gdHJ5REhUTUxEcmFnKGRyYWdEYXRhLCBkcmFnU2Vzc2lvbi5vcGVyYXRpb24pOwog
ICAgICAgICAvLyBEbyBub3QgY29udGludWUgaWYgbV9kb2N1bWVudFVuZGVyTW91c2UgaGFzIGJl
ZW4gcmVzZXQgYnkgdHJ5REhUTUxEcmFnLgogICAgICAgICAvLyB0cnlESFRNTERyYWcgZmlyZXMg
ZHJhZ2VudGVyIGV2ZW50LiBUaGUgZXZlbnQgbGlzdGVuZXIgdGhhdCBsaXN0ZW5zCiAgICAgICAg
IC8vIHRvIHRoaXMgZXZlbnQgbWF5IGNyZWF0ZSBhIG5lc3RlZCBtZXNzYWdlIGxvb3AgKG9wZW4g
YSBtb2RhbCBkaWFsb2cpLApAQCAtMzMyLDEwICszMzIsMTIgQEAgYm9vbCBEcmFnQ29udHJvbGxl
cjo6dHJ5RG9jdW1lbnREcmFnKERyYWdEYXRhKiBkcmFnRGF0YSwgRHJhZ0Rlc3RpbmF0aW9uQWN0
aW9uIGEKICAgICBpZiAoIWZyYW1lVmlldykKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAg
aWYgKG1faXNIYW5kbGluZ0RyYWcpIHsKKyAgICBpZiAoaXNIYW5kbGluZ0RyYWcpIHsKICAgICAg
ICAgbV9wYWdlLT5kcmFnQ2FyZXRDb250cm9sbGVyKCktPmNsZWFyKCk7CiAgICAgICAgIHJldHVy
biB0cnVlOwotICAgIH0gZWxzZSBpZiAoKGFjdGlvbk1hc2sgJiBEcmFnRGVzdGluYXRpb25BY3Rp
b25FZGl0KSAmJiBjYW5Qcm9jZXNzRHJhZyhkcmFnRGF0YSkpIHsKKyAgICB9CisKKyAgICBpZiAo
KGFjdGlvbk1hc2sgJiBEcmFnRGVzdGluYXRpb25BY3Rpb25FZGl0KSAmJiBjYW5Qcm9jZXNzRHJh
ZyhkcmFnRGF0YSkpIHsKICAgICAgICAgaWYgKGRyYWdEYXRhLT5jb250YWluc0NvbG9yKCkpIHsK
ICAgICAgICAgICAgIGRyYWdTZXNzaW9uLm9wZXJhdGlvbiA9IERyYWdPcGVyYXRpb25HZW5lcmlj
OwogICAgICAgICAgICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RyYWdDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RyYWdDb250cm9sbGVy
LmgKaW5kZXggNzRkNjE3ODJlOGY2OWU2NDAxMzY5ZTA5MWU1YmZiZmE2YTY1OTVhOS4uYzc5Mjdj
YjQ3YTU2OWUwYjBjM2ZhYzU1YjYyOTgwMTA5YjRhY2VjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9EcmFnQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRHJh
Z0NvbnRyb2xsZXIuaApAQCAtNjgsOCArNjgsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAg
ICAgIC8vIGRyYWcgbG9naWMgaXMgaW4gV2ViQ29yZS4KICAgICAgICAgdm9pZCBzZXREaWRJbml0
aWF0ZURyYWcoYm9vbCBpbml0aWF0ZWQpIHsgbV9kaWRJbml0aWF0ZURyYWcgPSBpbml0aWF0ZWQ7
IH0gCiAgICAgICAgIGJvb2wgZGlkSW5pdGlhdGVEcmFnKCkgY29uc3QgeyByZXR1cm4gbV9kaWRJ
bml0aWF0ZURyYWc7IH0KLSAgICAgICAgdm9pZCBzZXRJc0hhbmRsaW5nRHJhZyhib29sIGhhbmRs
aW5nKSB7IG1faXNIYW5kbGluZ0RyYWcgPSBoYW5kbGluZzsgfQotICAgICAgICBib29sIGlzSGFu
ZGxpbmdEcmFnKCkgY29uc3QgeyByZXR1cm4gbV9pc0hhbmRsaW5nRHJhZzsgfQogICAgICAgICBE
cmFnT3BlcmF0aW9uIHNvdXJjZURyYWdPcGVyYXRpb24oKSBjb25zdCB7IHJldHVybiBtX3NvdXJj
ZURyYWdPcGVyYXRpb247IH0KICAgICAgICAgY29uc3QgS1VSTCYgZHJhZ2dpbmdJbWFnZVVSTCgp
IGNvbnN0IHsgcmV0dXJuIG1fZHJhZ2dpbmdJbWFnZVVSTDsgfQogICAgICAgICB2b2lkIHNldERy
YWdPZmZzZXQoY29uc3QgSW50UG9pbnQmIG9mZnNldCkgeyBtX2RyYWdPZmZzZXQgPSBvZmZzZXQ7
IH0KQEAgLTExOSwxNSArMTE3LDE1IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBQ
YWdlKiBtX3BhZ2U7CiAgICAgICAgIERyYWdDbGllbnQqIG1fY2xpZW50OwotICAgICAgICAKKwog
ICAgICAgICBSZWZQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnRVbmRlck1vdXNlOyAvLyBUaGUgZG9j
dW1lbnQgdGhlIG1vdXNlIHdhcyBsYXN0IGRyYWdnZWQgb3Zlci4KICAgICAgICAgUmVmUHRyPERv
Y3VtZW50PiBtX2RyYWdJbml0aWF0b3I7IC8vIFRoZSBEb2N1bWVudCAoaWYgYW55KSB0aGF0IGlu
aXRpYXRlZCB0aGUgZHJhZy4KICAgICAgICAgUmVmUHRyPEhUTUxJbnB1dEVsZW1lbnQ+IG1fZmls
ZUlucHV0RWxlbWVudFVuZGVyTW91c2U7Ci0gICAgICAgIAorICAgICAgICBib29sIG1fZG9jdW1l
bnRJc0hhbmRsaW5nRHJhZzsKKwogICAgICAgICBEcmFnRGVzdGluYXRpb25BY3Rpb24gbV9kcmFn
RGVzdGluYXRpb25BY3Rpb247CiAgICAgICAgIERyYWdTb3VyY2VBY3Rpb24gbV9kcmFnU291cmNl
QWN0aW9uOwogICAgICAgICBib29sIG1fZGlkSW5pdGlhdGVEcmFnOwotICAgICAgICBib29sIG1f
aXNIYW5kbGluZ0RyYWc7CiAgICAgICAgIERyYWdPcGVyYXRpb24gbV9zb3VyY2VEcmFnT3BlcmF0
aW9uOyAvLyBTZXQgaW4gc3RhcnREcmFnIHdoZW4gYSBkcmFnIHN0YXJ0cyBmcm9tIGEgbW91c2Ug
ZG93biB3aXRoaW4gV2ViS2l0CiAgICAgICAgIEludFBvaW50IG1fZHJhZ09mZnNldDsKICAgICAg
ICAgS1VSTCBtX2RyYWdnaW5nSW1hZ2VVUkw7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYTMyMzM3NDRhYWY0ZDgwNDZkOTE5
ZTdlYTBkNzkxYjM4OTYyMmEyOS4uOGE4NzM5OWE1NjYyOGVlZTYyNjNlN2VhMzc1OTU3YzQ5YmYz
ZjRjOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTEwLTI2ICBEYW5pZWwgQ2hlbmcgIDxk
Y2hlbmdAY2hyb21pdW0ub3JnPgorCisgICAgICAgIGRyYWdvdmVyJ3MgZGVmYXVsdCBhY3Rpb24g
c2hvdWxkIHByZXZlbnQgZHJvcCBmb3IgZmlsZSBkcmFncworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzkxNzMKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9kcm9wLWV2ZW50LWlu
LXNoYWRvdy5odG1sOgorICAgICAgICAgICAgQWRkZWQgZHJhZ292ZXIgaGFuZGxlciBhcyByZXF1
aXJlZCBieSB0aGUgSFRNTCBzcGVjaWZpY2F0aW9uLgorICAgICAgICAqIGZhc3QvZXZlbnRzL2lu
cHV0LWVsZW1lbnQtZGlzcGxheS1ub25lLWluLWRyYWdsZWF2ZS1jcmFzaC5odG1sOgorICAgICAg
ICAgICAgQWRkZWQgZHJhZ292ZXIgaGFuZGxlciBhcyByZXF1aXJlZCBieSB0aGUgSFRNTCBzcGVj
aWZpY2F0aW9uLgorICAgICAgICAqIGZhc3QvZXZlbnRzL29ubHktdmFsaWQtZHJvcC10YXJnZXRz
LXJlY2VpdmUtZmlsZS1kcm9wLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9l
dmVudHMvb25seS12YWxpZC1kcm9wLXRhcmdldHMtcmVjZWl2ZS1maWxlLWRyb3AuaHRtbDogQWRk
ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9zZWN1cml0eS9jbGlwYm9hcmQvY2xpcGJvYXJkLWZp
bGUtYWNjZXNzLmh0bWw6CisgICAgICAgICAgICBBZGRlZCBkcmFnb3ZlciBoYW5kbGVyIGFzIHJl
cXVpcmVkIGJ5IHRoZSBIVE1MIHNwZWNpZmljYXRpb24uCisKIDIwMTItMTAtMjQgIExldmkgV2Vp
bnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2ZWlld2VkIGdhcmRl
bmluZy4gRml4aW5nIGxpbnRlciwgbWFya2luZyAyIG1hdGhtbCB0ZXN0cyBhcyBmbGFreSBjcmFz
aGVycyBvbiBkZWJ1ZywKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9k
cm9wLWV2ZW50LWluLXNoYWRvdy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Ry
b3AtZXZlbnQtaW4tc2hhZG93Lmh0bWwKaW5kZXggMWQ1MjM0NmY2YzE1NDY4N2MyZjMwM2E2ZDVm
NzA1NGFmYzg2MTIzOC4uZmE5MjhhZjMxNmViY2JjOTE1YmQ1MmJlYTA3N2I5NjE4NTEyZmEyMSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Ryb3AtZXZlbnQtaW4tc2hh
ZG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Ryb3AtZXZlbnQtaW4t
c2hhZG93Lmh0bWwKQEAgLTEwLDYgKzEwLDkgQEAgZnVuY3Rpb24gY3JlYXRlQm94KG5hbWUpIHsK
ICAgICBkaXYuc3R5bGUud2lkdGggPSAnMTAwcHgnOwogICAgIGRpdi5zdHlsZS5oZWlnaHQgPSAn
MTAwcHgnOwogCisgICAgZGl2LmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdvdmVyJywgZnVuY3Rpb24o
ZSkgeworICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7CisgICAgfSk7CiAgICAgZGl2LmFkZEV2
ZW50TGlzdGVuZXIoJ2Ryb3AnLCBmdW5jdGlvbihlKSB7CiAgICAgICAgIGRlYnVnKCdQQVNTOiBk
cm9wIGV2ZW50IGlzIGZpcmVkLicpOwogICAgIH0pOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvaW5wdXQtZWxlbWVudC1kaXNwbGF5LW5vbmUtaW4tZHJhZ2xlYXZlLWNyYXNo
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pbnB1dC1lbGVtZW50LWRpc3BsYXktbm9u
ZS1pbi1kcmFnbGVhdmUtY3Jhc2guaHRtbAppbmRleCA0ZmY5NmU5ZDJlYjVjZjk0ZmFlNmIyMWNl
MWMwYTdmNTFjNGI4ZDRlLi5iZGQ5YTZjMWJmMTExZjliZDBiN2RkMTNmZDAwZjBiYTQzY2Y3ZGY4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pbnB1dC1lbGVtZW50LWRpc3Bs
YXktbm9uZS1pbi1kcmFnbGVhdmUtY3Jhc2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9pbnB1dC1lbGVtZW50LWRpc3BsYXktbm9uZS1pbi1kcmFnbGVhdmUtY3Jhc2guaHRtbApA
QCAtMjQsMTIgKzI0LDE1IEBACiAgICAgICAgICAgICAgICAgLy8gVGhlIHRlc3QgaGFybmVzcyB3
YW50cyB1cyB0byBjYWxsIGV2ZW50U2VuZGVyLm1vdXNlVXAoKSBiZWZvcmUgZmluaXNoaW5nLAog
ICAgICAgICAgICAgICAgIC8vIGJ1dCB3ZSBuZWVkIHRvIG5vdCBuYXZpZ2F0ZSB3aGVuIHRoYXQg
aGFwcGVucywgc28gYWRkIGEgZHJvcCBoYW5kbGVyIHRoYXQKICAgICAgICAgICAgICAgICAvLyBw
cmV2ZW50cyBuYXZpZ2F0aW9uLgorICAgICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCJkcmFnb3ZlciIsIGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgICAgICBldmVudC5w
cmV2ZW50RGVmYXVsdCgpOworICAgICAgICAgICAgICAgIH0sIGZhbHNlKTsKICAgICAgICAgICAg
ICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigiZHJvcCIsIGZ1bmN0aW9uKCkgewotICAgICAg
ICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKKyAgICAgICAgICAgICAgICAgICAg
ZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICAgICAgICAgICAgICB9LCBmYWxzZSk7CiAgICAg
ICAgICAgICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgpOwogICAgICAgICAgICAgfQotICAgICAg
ICAgICAgCisKICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgICAg
ICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKICAgICAgICAgfQpAQCAtMzksNCArNDIsNCBA
QAogICAgIDxwPlRoaXMgdGVzdCBwYXNzZXMgaWYgdGhlcmUgaXMgbm8gY3Jhc2ggd2hlbiBkcmFn
Z2luZyBhIGZpbGUgb3ZlciBhbmQgdGhlbiBhd2F5IGZyb20gdGhlIGZpbGUgaW5wdXQgZWxlbWVu
dCBiZWxvdy48L3A+CiAgICAgPGlucHV0IHR5cGU9ImZpbGUiIGlkPSJkcm9wLXRhcmdldCI+CiA8
L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvb25seS12YWxpZC1kcm9wLXRhcmdldHMt
cmVjZWl2ZS1maWxlLWRyb3AtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
b25seS12YWxpZC1kcm9wLXRhcmdldHMtcmVjZWl2ZS1maWxlLWRyb3AtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY3NzU1NWEyOTdjN2Q2NGM1YmM2MzMwYjk2OGIyY2IwNjk2NzRlMWEKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9vbmx5LXZhbGlkLWRyb3AtdGFy
Z2V0cy1yZWNlaXZlLWZpbGUtZHJvcC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5IEBACitUbyBy
dW4gdGhpcyB0ZXN0IG1hbnVhbGx5LCBkcmFnIGEgZmlsZSB0byBvbmUgb2YgdGhlIHR3byBib3hl
cyBiZWxvdy4KKworRHJvcHBpbmcgaW4gZHJvcCB0YXJnZXQgMSBzaG91bGQgcmVzdWx0IGluIGEg
ZHJvcCBldmVudC4KK0Ryb3BwaW5nIGluIGRyb3AgdGFyZ2V0IDIgc2hvdWxkIE5PVCByZXN1bHQg
aW4gYSBkcm9wIGV2ZW50IChwYWdlIHdpbGwgbmF2aWdhdGUpLgorU3RhcnRpbmcgZHJhZy4uLgor
RHJvcCByZWNlaXZlZCBpbiBkcm9wIHRhcmdldCAxCitTdGFydGluZyBkcmFnLi4uCitEcm9wIG5v
dCByZWNlaXZlZAorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9vbmx5LXZh
bGlkLWRyb3AtdGFyZ2V0cy1yZWNlaXZlLWZpbGUtZHJvcC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvb25seS12YWxpZC1kcm9wLXRhcmdldHMtcmVjZWl2ZS1maWxlLWRyb3AuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wOGNiNTM3YjQ4YTc1Njk2YjNhNDNiYzEzY2M0NTk3ZTNlM2Q4N2I5Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvb25seS12YWxpZC1kcm9wLXRh
cmdldHMtcmVjZWl2ZS1maWxlLWRyb3AuaHRtbApAQCAtMCwwICsxLDgxIEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c3R5bGU+CitkaXYsIHNwYW4geworICAgIGJvcmRlcjog
MXB4IHNvbGlkIGJsYWNrOworfTsKKzwvc3R5bGU+Cis8c2NyaXB0PgordmFyIGRyb3BSZWNlaXZl
ZDsKK2Z1bmN0aW9uIGxvZyhzdHIpCit7CisgICAgdmFyIHJlc3VsdCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdyZXN1bHQnKTsKKyAgICByZXN1bHQuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3Jl
YXRlVGV4dE5vZGUoc3RyKSk7CisgICAgcmVzdWx0LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQoJ2JyJykpOworfQorZnVuY3Rpb24gZHJhZ0Ryb3AodGFyZ2V0KQoreworICAgIGxv
ZygnU3RhcnRpbmcgZHJhZy4uLicpOworICAgIGV2ZW50U2VuZGVyLmJlZ2luRHJhZ1dpdGhGaWxl
cyhbJ3Rlc3QnXSk7CisgICAgZXZlbnRTZW5kZXIubGVhcEZvcndhcmQoMTAwKTsKKyAgICBldmVu
dFNlbmRlci5tb3VzZU1vdmVUbyh0YXJnZXQub2Zmc2V0TGVmdCArIHRhcmdldC5vZmZzZXRXaWR0
aCAvIDIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0Lm9mZnNldFRvcCArIHRh
cmdldC5vZmZzZXRIZWlnaHQgLyAyKTsKKyAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7Cit9Cit3
aW5kb3cub25sb2FkID0gZnVuY3Rpb24oKQoreworICAgIHZhciBkcm9wMSA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdkcm9wMScpOworICAgIHZhciBkcm9wMiA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdkcm9wMicpOworCisgICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdk
cmFnb3ZlcicsIGZ1bmN0aW9uICgpIHsKKyAgICAgICAgZHJvcFJlY2VpdmVkID0gZmFsc2U7Cisg
ICAgfSwgZmFsc2UpOworCisgICAgZHJvcDEuYWRkRXZlbnRMaXN0ZW5lcignZHJhZ292ZXInLCBm
dW5jdGlvbihlKSB7CisgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKKyAgICB9LCBmYWxzZSk7
CisgICAgZHJvcDEuYWRkRXZlbnRMaXN0ZW5lcignZHJvcCcsIGZ1bmN0aW9uKGUpIHsKKyAgICAg
ICAgZS5wcmV2ZW50RGVmYXVsdCgpOworICAgICAgICBkcm9wUmVjZWl2ZWQgPSB0cnVlOworICAg
ICAgICBsb2coJ0Ryb3AgcmVjZWl2ZWQgaW4gZHJvcCB0YXJnZXQgMScpOworICAgIH0sIGZhbHNl
KTsKKworICAgIGRyb3AyLmFkZEV2ZW50TGlzdGVuZXIoJ2RyYWdvdmVyJywgZnVuY3Rpb24oKSB7
CisgICAgfSwgZmFsc2UpOworICAgIGRyb3AyLmFkZEV2ZW50TGlzdGVuZXIoJ2Ryb3AnLCBmdW5j
dGlvbihlKSB7CisgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsKKyAgICAgICAgZHJvcFJlY2Vp
dmVkID0gdHJ1ZTsKKyAgICAgICAgbG9nKCdEcm9wIHJlY2VpdmVkIGluIGRyb3AgdGFyZ2V0IDIn
KTsKKyAgICB9LCBmYWxzZSk7CisKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKQorICAgICAg
ICByZXR1cm47CisgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgdGVzdFJ1bm5lci53
YWl0VW50aWxEb25lKCk7CisKKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignYmVmb3JldW5s
b2FkJywgZnVuY3Rpb24gKCkgeworICAgICAgICBpZiAoIWRyb3BSZWNlaXZlZCkKKyAgICAgICAg
ICAgIGxvZygnRHJvcCBub3QgcmVjZWl2ZWQnKTsKKyAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlE
b25lKCk7CisgICAgfSk7CisKKyAgICBkcmFnRHJvcChkcm9wMSk7CisgICAgdW5sb2FkRXhwZWN0
ZWQgPSB0cnVlOworICAgIGRyYWdEcm9wKGRyb3AyKTsKKyAgICB3aW5kb3cuc2V0VGltZW91dChm
dW5jdGlvbiAoKSB7CisgICAgICAgIC8vIERlYWRtYW4ncyBzd2l0Y2ggdG8gZmFpbCBxdWlja2x5
LgorICAgICAgICBsb2coJ0ZBSUw6IG5hdmlnYXRpb24gZXhwZWN0ZWQnKTsKKyAgICAgICAgdGVz
dFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfSwgMCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4K
Kzxib2R5PgorPHA+VG8gcnVuIHRoaXMgdGVzdCBtYW51YWxseSwgZHJhZyBhIGZpbGUgdG8gb25l
IG9mIHRoZSB0d28gYm94ZXMgYmVsb3cuCis8ZGl2IGlkPSJkcm9wMSI+RHJvcHBpbmcgaW4gZHJv
cCB0YXJnZXQgMSBzaG91bGQgcmVzdWx0IGluIGEgZHJvcCBldmVudC48L2Rpdj4KKzxkaXYgaWQ9
ImRyb3AyIj5Ecm9wcGluZyBpbiBkcm9wIHRhcmdldCAyIHNob3VsZCBOT1QgcmVzdWx0IGluIGEg
ZHJvcCBldmVudCAocGFnZSB3aWxsIG5hdmlnYXRlKS48L2Rpdj4KKzxkaXYgaWQ9InJlc3VsdCI+
Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAv
dGVzdHMvc2VjdXJpdHkvY2xpcGJvYXJkL2NsaXBib2FyZC1maWxlLWFjY2Vzcy5odG1sIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jbGlwYm9hcmQvY2xpcGJvYXJkLWZpbGUtYWNj
ZXNzLmh0bWwKaW5kZXggMWQyM2Q1OTc2Y2NiZjc4YWZlYjc4ZGUwN2Q4ZGJmZjYxZTk2N2I0My4u
MjgyZDkzMTMwYmZlYWY0MDQ4Y2RiYjExYmJmMTZlZWRjMjcyNDc3YiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jbGlwYm9hcmQvY2xpcGJvYXJkLWZpbGUtYWNj
ZXNzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9zZWN1cml0eS9jbGlwYm9hcmQv
Y2xpcGJvYXJkLWZpbGUtYWNjZXNzLmh0bWwKQEAgLTU1LDYgKzU1LDkgQEAgZHJhZ1RhcmdldC5h
ZGRFdmVudExpc3RlbmVyKCJkcm9wIiwgZnVuY3Rpb24oKSB7CiAvLyBTb21lIHRlc3RzIGRvbid0
IGVuZCB1cCBkcm9wcGluZyB0aGUgZHJhZ2dlZSBvdmVyIHRoZSBkcmFnIHRhcmdldC4gQ2F0Y2gg
YW55CiAvLyBsZWZ0b3ZlciBkcm9wIGV2ZW50cyBidWJibGluZyB1cCB0aHJvdWdoIHRoZSB0cmVl
IHNvIHRoZXkgZG9uJ3QgY2F1c2UgcGFnZQogLy8gbmF2aWdhdGlvbi4KK2RvY3VtZW50LmJvZHku
YWRkRXZlbnRMaXN0ZW5lcigiZHJhZ292ZXIiLCBmdW5jdGlvbigpIHsKKyAgICBldmVudC5wcmV2
ZW50RGVmYXVsdCgpOworfSk7CiBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoImRyb3Ai
LCBmdW5jdGlvbigpIHsKICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwogfSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>