<?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>60376</bug_id>
          
          <creation_ts>2011-05-06 09:42:26 -0700</creation_ts>
          <short_desc>selectstart event does not fire when selection is made via select all</short_desc>
          <delta_ts>2011-05-09 03:41:08 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>60424</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Down">timdown</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>abarth</cc>
    
    <cc>adele</cc>
    
    <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>enrica</cc>
    
    <cc>eric</cc>
    
    <cc>ojan</cc>
    
    <cc>rniwa</cc>
    
    <cc>tkent</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>399565</commentid>
    <comment_count>0</comment_count>
      <attachid>92590</attachid>
    <who name="Tim Down">timdown</who>
    <bug_when>2011-05-06 09:42:26 -0700</bug_when>
    <thetext>Created attachment 92590
Test case

The selectstart event fires (many times) when making a mouse selection or a keyboard selection but does not fire at all when the selection changes using &quot;Select all&quot; options from context/edit menus or via Ctrl/Cmd-A keyboard shortcut.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399935</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-05-06 17:19:48 -0700</bug_when>
    <thetext>Does it fire in IE?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399941</commentid>
    <comment_count>2</comment_count>
    <who name="Tim Down">timdown</who>
    <bug_when>2011-05-06 17:30:45 -0700</bug_when>
    <thetext>Yes, it fires in IE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399942</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-05-06 17:31:02 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Does it fire in IE?

IE9 doesn&apos;t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399946</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Down">timdown</who>
    <bug_when>2011-05-06 17:34:56 -0700</bug_when>
    <thetext>I only have Win XP at home so I can&apos;t test IE 9. It fires in IE 6 and 7. My test case isn&apos;t great: in IE you need to make sure you&apos;ve got the focus on the body (eg by clicking on the text) before doing the select all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399956</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-05-06 17:40:50 -0700</bug_when>
    <thetext>If you need this to prevent selection, please note that WebKit supports a better way to do that (that is, -webkit-user-select CSS property).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399957</commentid>
    <comment_count>6</comment_count>
    <who name="Tim Down">timdown</who>
    <bug_when>2011-05-06 17:43:16 -0700</bug_when>
    <thetext>Nothing to do with preventing selection. I do quite a bit of work with contenteditable/designMode and I&apos;m interested in being notified whenever the selection is modified by any means: mouse, keyboard, menu option.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399961</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-05-06 17:46:55 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Nothing to do with preventing selection. I do quite a bit of work with contenteditable/designMode and I&apos;m interested in being notified whenever the selection is modified by any means: mouse, keyboard, menu option.

Does selectionchange work for your use case?  Since IE9 no longer fires selectstart when selecting all, I&apos;m not sure we should change WebKit&apos;s behavior here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399967</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-05-06 17:48:27 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; in IE you need to make sure you&apos;ve got the focus on the body (eg by clicking on the text) before doing the select all.

Ah, thanks for pointing that out.  Now IE9 fires selectstart as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399972</commentid>
    <comment_count>9</comment_count>
    <who name="Tim Down">timdown</who>
    <bug_when>2011-05-06 17:51:01 -0700</bug_when>
    <thetext>Frankly I don&apos;t care which event fires so long as one does, so selectionchange is fine by me. I assume this change is recent enough that I&apos;ll need to test against a nightly?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>399981</commentid>
    <comment_count>10</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-05-06 18:03:13 -0700</bug_when>
    <thetext>Now that I know IE9 also fires we should definitely fix this bug.

(In reply to comment #9)
&gt; Frankly I don&apos;t care which event fires so long as one does, so selectionchange is fine by me. I assume this change is recent enough that I&apos;ll need to test against a nightly?

It&apos;s shipped in Chrome 11.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400018</commentid>
    <comment_count>11</comment_count>
      <attachid>92681</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-05-06 19:54:43 -0700</bug_when>
    <thetext>Created attachment 92681
fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400020</commentid>
    <comment_count>12</comment_count>
      <attachid>92682</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-05-06 19:58:32 -0700</bug_when>
    <thetext>Created attachment 92682
patch with tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400195</commentid>
    <comment_count>13</comment_count>
      <attachid>92682</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-05-07 20:46:28 -0700</bug_when>
    <thetext>Comment on attachment 92682
patch with tests

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

&gt; LayoutTests/fast/events/selectstart-on-selectall.html:13
&gt; +var selectstartEvent = null;

This variable is not used.

&gt; Source/WebCore/editing/FrameSelection.cpp:1403
&gt; +            selectElement-&gt;selectAll();

Need &quot;return&quot; after this line?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400216</commentid>
    <comment_count>14</comment_count>
      <attachid>92732</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-05-07 23:52:02 -0700</bug_when>
    <thetext>Created attachment 92732
Fixed per comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400217</commentid>
    <comment_count>15</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-05-07 23:52:54 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 92682 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=92682&amp;action=review
&gt; 
&gt; &gt; LayoutTests/fast/events/selectstart-on-selectall.html:13
&gt; &gt; +var selectstartEvent = null;
&gt; 
&gt; This variable is not used.

Removed.

&gt; &gt; Source/WebCore/editing/FrameSelection.cpp:1403
&gt; &gt; +            selectElement-&gt;selectAll();
&gt; 
&gt; Need &quot;return&quot; after this line?

Oops, a good catch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400310</commentid>
    <comment_count>16</comment_count>
      <attachid>92732</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-05-08 17:43:08 -0700</bug_when>
    <thetext>Comment on attachment 92732
Fixed per comments

Looks good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400315</commentid>
    <comment_count>17</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-05-08 19:15:26 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; (From update of attachment 92732 [details])
&gt; Looks good.

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400334</commentid>
    <comment_count>18</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-05-08 20:29:48 -0700</bug_when>
    <thetext>Committed r86041: &lt;http://trac.webkit.org/changeset/86041&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400426</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-05-09 03:41:08 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/86041 might have broken Leopard Intel Debug (Tests)
The following tests are not passing:
fast/workers/storage/use-same-database-in-page-and-workers.html
http/tests/appcache/fail-on-update-2.html
http/tests/appcache/fail-on-update.html
http/tests/misc/favicon-loads-with-icon-loading-override.html
storage/domstorage/localstorage/storagetracker/storage-tracker-2-create.html
storage/domstorage/localstorage/storagetracker/storage-tracker-3-delete-all.html
svg/animations/animate-path-nested-transforms.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>92590</attachid>
            <date>2011-05-06 09:42:26 -0700</date>
            <delta_ts>2011-05-06 09:42:26 -0700</delta_ts>
            <desc>Test case</desc>
            <filename>selectstart.html</filename>
            <type>text/html</type>
            <size>278</size>
            <attacher name="Tim Down">timdown</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+DQo8aHRtbD4NCiAgICA8aGVhZD48L2hlYWQ+DQogICAgPGJvZHkgb25z
ZWxlY3RzdGFydD0iYWxlcnQoJ3NlbGVjdHN0YXJ0JykiPg0KICAgICAgICBTZWxlY3QgYWxsIHVz
aW5nIEN0cmwvQ21kLUEgb3IgdGhlIGVkaXQgb3IgY29udGV4dCBtZW51cy4gTm8gc2VsZWN0c3Rh
cnQgZXZlbnQgZmlyZXMuDQogICAgICAgIFNlbGVjdCB1c2luZyBtb3VzZSBvciBrZXlib2FyZDog
c2VsZWN0c3RhcnQgZXZlbnQgZmlyZXMuDQogICAgPC9ib2R5Pg0KPC9odG1sPg0KDQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92681</attachid>
            <date>2011-05-06 19:54:43 -0700</date>
            <delta_ts>2011-05-06 19:58:28 -0700</delta_ts>
            <desc>fixes the bug</desc>
            <filename>bug-60376-20110506195442.patch</filename>
            <type>text/plain</type>
            <size>6257</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODU5ODgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjNDY4MDdlMzI3MGY1OWQzZjE3YmU0
NDdlYzBkYjFjZTBkMTU1YzEzLi5mNTkzMDhiYzgxNDE5NmRiMzM2NzhmMTJlMDkyZGRiZmRlODk0
MmZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDUtMDYgIFJ5b3N1a2UgTml3YSAgPHJu
aXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgc2VsZWN0c3RhcnQgZXZlbnQgZG9lcyBub3QgZmlyZSB3aGVuIHNlbGVjdGlvbiBp
cyBtYWRlIHZpYSBzZWxlY3QgYWxsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02MDM3NgorCisgICAgICAgIEFkZGVkIHRlc3RzIHRvIGVuc3VyZSBzZWxl
Y3RzdGFydCBldmVudCBpcyBmaXJlZCB3aGVuIGEgdXNlciBzZWxlY3RzIGFsbCBjb250ZW50cwor
ICAgICAgICBhbmQgc2NyaXB0IGNhbiBwcmV2ZW50IHN1Y2ggc2VsZWN0aW9uIGNoYW5nZSBpbiBz
ZWxlY3RzdGFydCdzIGV2ZW50IGhhbmRsZXIuCisKKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlv
bi9zZWxlY3RzdGFydC1vbi1zZWxlY3RhbGwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBlZGl0aW5nL3NlbGVjdGlvbi9zZWxlY3RzdGFydC1vbi1zZWxlY3RhbGwuaHRtbDogQWRkZWQu
CisgICAgICAgICogZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0c3RhcnQtcHJldmVudC1zZWxlY3Rh
bGwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NlbGVjdGlvbi9zZWxl
Y3RzdGFydC1wcmV2ZW50LXNlbGVjdGFsbC5odG1sOiBBZGRlZC4KKwogMjAxMS0wNS0wNiAgQWJo
aXNoZWsgQXJ5YSAgPGluZmVybm9AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQu
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggYTRkMDBiYjZjMDM5Yzg0ZGMyZmY2NDI5OTJkMTM0NWY4NTA1NTcwZS4u
OWU0ZjI3MzUyYzNhY2EyYTVjZjlkYzA1ZGVhN2FkMGZmOTZjNjc0MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDI0IEBACisyMDExLTA1LTA2ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHNlbGVj
dHN0YXJ0IGV2ZW50IGRvZXMgbm90IGZpcmUgd2hlbiBzZWxlY3Rpb24gaXMgbWFkZSB2aWEgc2Vs
ZWN0IGFsbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NjAzNzYKKworICAgICAgICBGaXJlIHNlbGVjdHN0YXJ0IGV2ZW50IHdoZW4gYSB1c2VyIHNlbGVj
dHMgYWxsIGNvbnRlbnRzIChpLmUuIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdTZWxlY3RBbGwnKSkg
aW4KKyAgICAgICAgZG9jdW1lbnQsIGVkaXRhYmxlIHJlZ2lvbiwgb3IgdGV4dCBjb250cm9sLgor
CisgICAgICAgIFRlc3RzOiBlZGl0aW5nL3NlbGVjdGlvbi9zZWxlY3RzdGFydC1vbi1zZWxlY3Rh
bGwuaHRtbAorICAgICAgICAgICAgICAgZWRpdGluZy9zZWxlY3Rpb24vc2VsZWN0c3RhcnQtcHJl
dmVudC1zZWxlY3RhbGwuaHRtbAorCisgICAgICAgICogZG9tL05vZGUuaDogUmVtb3ZlZCBjYW5T
ZWxlY3RBbGwgYW5kIHNlbGVjdEFsbCBhcyB0aGV5IGFyZSBsZWZ0IG92ZXIgZnJvbSBXTUxTZWxl
Y3RFbGVtZW50LgorICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RnJhbWVTZWxlY3Rpb246OnNlbGVjdEFsbCk6IERpc3BhdGNoIHNlbGVjdHN0
YXJ0IGV2ZW50IG9uIHNlbGVjdFN0YXJ0VGFyZ2V0LCB3aGljaCBpcworICAgICAgICBpbnB1dCBl
bGVtZW50IG9yIHRleHRhcmVhIGVsZW1lbnQgd2hlbiB0aGUgY3VycmVudCBzZWxlY3Rpb24gaXMg
aW5zaWRlIGEgc2hhZG93IERPTSwgYW5kIHRoZSByb290CisgICAgICAgIGVkaXRhYmxlIGVsZW1l
bnQgaWYgaXQncyBpbnNpZGUgYSBub24tc2hhZG93IGVkaXRhYmxlIHJlZ2lvbiwgYW5kIHRoZSBi
b2R5IGVsZW1lbnQgb3RoZXJ3aXNlLgorICAgICAgICAqIGh0bWwvSFRNTFNlbGVjdEVsZW1lbnQu
aDogTWFkZSBjYW5TZWxlY3RBbGwgYW5kIHNlbGVjdEFsbCBwdWJsaWMgc2luY2UgdGhleSBhcmUg
bm8gbG9uZ2VyCisgICAgICAgIGRlY2xhcmVkIGluIE5vZGUuCisKIDIwMTEtMDUtMDYgIE1hcnRp
biBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IFhhbiBMb3Blei4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vTm9kZS5oCmluZGV4IDA1NzFkZmFjNTk0ZDQwZGRkNTExYWMxYzY5ZmFm
NGVkMzMxZTFmOWUuLjQ0MDRlNjMzZjQ3YzkyYzM0NGYzOGNjN2JjMzhiMDIyNzJhM2E1MGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL05vZGUuaApAQCAtNDE1LDEwICs0MTUsNiBAQCBwdWJsaWM6CiAgICAgLy8gTnVtYmVyIG9m
IERPTSAxNi1iaXQgdW5pdHMgY29udGFpbmVkIGluIG5vZGUuIE5vdGUgdGhhdCByZW5kZXJlZCB0
ZXh0IGxlbmd0aCBjYW4gYmUgZGlmZmVyZW50IC0gZS5nLiBiZWNhdXNlIG9mCiAgICAgLy8gY3Nz
LXRyYW5zZm9ybTpjYXBpdGFsaXplIGJyZWFraW5nIHVwIHByZWNvbXBvc2VkIGNoYXJhY3RlcnMg
YW5kIGxpZ2F0dXJlcy4KICAgICB2aXJ0dWFsIGludCBtYXhDaGFyYWN0ZXJPZmZzZXQoKSBjb25z
dDsKLSAgICAKLSAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHRyeSB0byBmaW5kIGEgYmV0dGVyIGxv
Y2F0aW9uIGZvciB0aGVzZSBtZXRob2RzLgotICAgIHZpcnR1YWwgYm9vbCBjYW5TZWxlY3RBbGwo
KSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQotICAgIHZpcnR1YWwgdm9pZCBzZWxlY3RBbGwoKSB7
IH0KIAogICAgIC8vIFdoZXRoZXIgb3Igbm90IGEgc2VsZWN0aW9uIGNhbiBiZSBzdGFydGVkIGlu
IHRoaXMgb2JqZWN0CiAgICAgdmlydHVhbCBib29sIGNhblN0YXJ0U2VsZWN0aW9uKCkgY29uc3Q7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwCmluZGV4IDI4ODQ1MWRh
ODQyYjc5YzhmNDA5OTk4M2I5NzI2ZGI1NjFjMWM1NmQuLmVjZmIzZTA0YTkzNGM2MzJlZTI0OThj
NTAxNzcwMDhjYjkzMjM0YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJh
bWVTZWxlY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rp
b24uY3BwCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiSFRNTEZvcm1FbGVtZW50LmgiCiAj
aW5jbHVkZSAiSFRNTEZyYW1lRWxlbWVudEJhc2UuaCIKICNpbmNsdWRlICJIVE1MSW5wdXRFbGVt
ZW50LmgiCisjaW5jbHVkZSAiSFRNTFNlbGVjdEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFt
ZXMuaCIKICNpbmNsdWRlICJIaXRUZXN0UmVxdWVzdC5oIgogI2luY2x1ZGUgIkhpdFRlc3RSZXN1
bHQuaCIKQEAgLTEzOTUsMjUgKzEzOTYsNDEgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6c2VsZWN0
RnJhbWVFbGVtZW50SW5QYXJlbnRJZkZ1bGx5U2VsZWN0ZWQoKQogdm9pZCBGcmFtZVNlbGVjdGlv
bjo6c2VsZWN0QWxsKCkKIHsKICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBtX2ZyYW1lLT5kb2N1
bWVudCgpOwotICAgIAotICAgIGlmIChkb2N1bWVudC0+Zm9jdXNlZE5vZGUoKSAmJiBkb2N1bWVu
dC0+Zm9jdXNlZE5vZGUoKS0+Y2FuU2VsZWN0QWxsKCkpIHsKLSAgICAgICAgZG9jdW1lbnQtPmZv
Y3VzZWROb2RlKCktPnNlbGVjdEFsbCgpOwotICAgICAgICByZXR1cm47CisKKyAgICBpZiAoZG9j
dW1lbnQtPmZvY3VzZWROb2RlKCkgJiYgZG9jdW1lbnQtPmZvY3VzZWROb2RlKCktPmhhc1RhZ05h
bWUoc2VsZWN0VGFnKSkgeworICAgICAgICBIVE1MU2VsZWN0RWxlbWVudCogc2VsZWN0RWxlbWVu
dCA9IHN0YXRpY19jYXN0PEhUTUxTZWxlY3RFbGVtZW50Kj4oZG9jdW1lbnQtPmZvY3VzZWROb2Rl
KCkpOworICAgICAgICBpZiAoc2VsZWN0RWxlbWVudC0+Y2FuU2VsZWN0QWxsKCkpCisgICAgICAg
ICAgICBzZWxlY3RFbGVtZW50LT5zZWxlY3RBbGwoKTsKICAgICB9Ci0gICAgCisKICAgICBOb2Rl
KiByb290ID0gMDsKLSAgICBpZiAoaXNDb250ZW50RWRpdGFibGUoKSkKKyAgICBOb2RlKiBzZWxl
Y3RTdGFydFRhcmdldCA9IDA7CisgICAgaWYgKGlzQ29udGVudEVkaXRhYmxlKCkpIHsKICAgICAg
ICAgcm9vdCA9IGhpZ2hlc3RFZGl0YWJsZVJvb3QobV9zZWxlY3Rpb24uc3RhcnQoKSk7Ci0gICAg
ZWxzZSB7CisgICAgICAgIGlmIChOb2RlKiBzaGFkb3dSb290ID0gc2hhZG93VHJlZVJvb3ROb2Rl
KCkpCisgICAgICAgICAgICBzZWxlY3RTdGFydFRhcmdldCA9IHNoYWRvd1Jvb3QtPnNoYWRvd0hv
c3QoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgc2VsZWN0U3RhcnRUYXJnZXQgPSByb290
OworICAgIH0gZWxzZSB7CiAgICAgICAgIHJvb3QgPSBzaGFkb3dUcmVlUm9vdE5vZGUoKTsKLSAg
ICAgICAgaWYgKCFyb290KQorICAgICAgICBpZiAocm9vdCkKKyAgICAgICAgICAgIHNlbGVjdFN0
YXJ0VGFyZ2V0ID0gcm9vdC0+c2hhZG93SG9zdCgpOworICAgICAgICBlbHNlIHsKICAgICAgICAg
ICAgIHJvb3QgPSBkb2N1bWVudC0+ZG9jdW1lbnRFbGVtZW50KCk7CisgICAgICAgICAgICBzZWxl
Y3RTdGFydFRhcmdldCA9IGRvY3VtZW50LT5ib2R5KCk7CisgICAgICAgIH0KICAgICB9CiAgICAg
aWYgKCFyb290KQogICAgICAgICByZXR1cm47CisKKyAgICBpZiAoc2VsZWN0U3RhcnRUYXJnZXQg
JiYgIXNlbGVjdFN0YXJ0VGFyZ2V0LT5kaXNwYXRjaEV2ZW50KEV2ZW50OjpjcmVhdGUoZXZlbnRO
YW1lcygpLnNlbGVjdHN0YXJ0RXZlbnQsIHRydWUsIHRydWUpKSkKKyAgICAgICAgcmV0dXJuOwor
CiAgICAgVmlzaWJsZVNlbGVjdGlvbiBuZXdTZWxlY3Rpb24oVmlzaWJsZVNlbGVjdGlvbjo6c2Vs
ZWN0aW9uRnJvbUNvbnRlbnRzT2ZOb2RlKHJvb3QpKTsKKwogICAgIGlmIChzaG91bGRDaGFuZ2VT
ZWxlY3Rpb24obmV3U2VsZWN0aW9uKSkKICAgICAgICAgc2V0U2VsZWN0aW9uKG5ld1NlbGVjdGlv
bik7CisKICAgICBzZWxlY3RGcmFtZUVsZW1lbnRJblBhcmVudElmRnVsbHlTZWxlY3RlZCgpOwog
ICAgIG5vdGlmeVJlbmRlcmVyT2ZTZWxlY3Rpb25DaGFuZ2UodHJ1ZSk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmgKaW5kZXggZTZlMWJlYzJiYzUyNmQ3OWZiZGQ5ZDE1
YjIyMTY0MGMwYjU5MmFkMi4uMGQ5ODVmM2E2NmFhOTk3Mjg3OTdjOTUyZjJjOTA2YWYzY2YzM2Ez
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaApAQCAtODgsNiArODgs
OSBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlVmFsaWRpdHkoKSB7IHNldE5l
ZWRzVmFsaWRpdHlDaGVjaygpOyB9CiAKKyAgICB2aXJ0dWFsIGJvb2wgY2FuU2VsZWN0QWxsKCkg
Y29uc3Q7CisgICAgdmlydHVhbCB2b2lkIHNlbGVjdEFsbCgpOworCiBwcm90ZWN0ZWQ6CiAgICAg
SFRNTFNlbGVjdEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50KiwgSFRNTEZv
cm1FbGVtZW50Kik7CiAKQEAgLTk2LDggKzk5LDYgQEAgcHJpdmF0ZToKICAgICAKICAgICB2aXJ0
dWFsIGJvb2wgaXNLZXlib2FyZEZvY3VzYWJsZShLZXlib2FyZEV2ZW50KikgY29uc3Q7CiAgICAg
dmlydHVhbCBib29sIGlzTW91c2VGb2N1c2FibGUoKSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wg
Y2FuU2VsZWN0QWxsKCkgY29uc3Q7Ci0gICAgdmlydHVhbCB2b2lkIHNlbGVjdEFsbCgpOwogCiAg
ICAgdmlydHVhbCB2b2lkIHJlY2FsY1N0eWxlKFN0eWxlQ2hhbmdlKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92682</attachid>
            <date>2011-05-06 19:58:32 -0700</date>
            <delta_ts>2011-05-07 23:51:57 -0700</delta_ts>
            <desc>patch with tests</desc>
            <filename>bug-60376-20110506195830.patch</filename>
            <type>text/plain</type>
            <size>12001</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODU5ODgKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjNDY4MDdlMzI3MGY1OWQzZjE3YmU0
NDdlYzBkYjFjZTBkMTU1YzEzLi45YzJmODJhNjcxYjBlZmE0OWFjYjNmMmJmNzU2MDhkMDZlYjJj
ZDY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDUtMDYgIFJ5b3N1a2UgTml3YSAgPHJu
aXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgc2VsZWN0c3RhcnQgZXZlbnQgZG9lcyBub3QgZmlyZSB3aGVuIHNlbGVjdGlvbiBp
cyBtYWRlIHZpYSBzZWxlY3QgYWxsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02MDM3NgorCisgICAgICAgIEFkZGVkIHRlc3RzIHRvIGVuc3VyZSBzZWxl
Y3RzdGFydCBldmVudCBpcyBmaXJlZCB3aGVuIGEgdXNlciBzZWxlY3RzIGFsbCBjb250ZW50cwor
ICAgICAgICBhbmQgc2NyaXB0IGNhbiBwcmV2ZW50IHN1Y2ggc2VsZWN0aW9uIGNoYW5nZSBpbiBz
ZWxlY3RzdGFydCdzIGV2ZW50IGhhbmRsZXIuCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9zZWxl
Y3RzdGFydC1vbi1zZWxlY3RhbGwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0
L2V2ZW50cy9zZWxlY3RzdGFydC1vbi1zZWxlY3RhbGwuaHRtbDogQWRkZWQuCisgICAgICAgICog
ZmFzdC9ldmVudHMvc2VsZWN0c3RhcnQtcHJldmVudC1zZWxlY3RhbGwtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9zZWxlY3RzdGFydC1wcmV2ZW50LXNlbGVjdGFs
bC5odG1sOiBBZGRlZC4KKwogMjAxMS0wNS0wNiAgQWJoaXNoZWsgQXJ5YSAgPGluZmVybm9AY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9zZWxlY3RzdGFydC1vbi1zZWxlY3RhbGwtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvc2VsZWN0c3RhcnQtb24tc2VsZWN0YWxsLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42NmY3NDFkMzNhNDMwZmEwNDM4OGYzZDg4YmIyNWJmNThiZWQyNGRkCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2VsZWN0c3RhcnQtb24t
c2VsZWN0YWxsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUgQEAKK0VESVRJTkcgREVMRUdBVEU6
IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6KG51bGwpIHRvRE9NUmFuZ2U6cmFuZ2UgZnJv
bSAwIG9mICN0ZXh0ID4gUCA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDYxIG9mICN0ZXh0
ID4gUCA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IGFmZmluaXR5Ok5TU2VsZWN0aW9uQWZmaW5p
dHlEb3duc3RyZWFtIHN0aWxsU2VsZWN0aW5nOkZBTFNFCitFRElUSU5HIERFTEVHQVRFOiB3ZWJW
aWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRp
b24KK1RoaXMgdGVzdCBlbnN1cmVzIHNlbGVjdHN0YXJ0IGV2ZW50IGZpcmVzIHdoZW4gc2VsZWN0
aW5nIGFsbC4KKworUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2Vs
ZWN0c3RhcnQtb24tc2VsZWN0YWxsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zZWxl
Y3RzdGFydC1vbi1zZWxlY3RhbGwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMjg5YmE4YzllOWIyZDQ4ZTg4
MWZiMzk5OTljMWViZGU1ZjBhNDE4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvc2VsZWN0c3RhcnQtb24tc2VsZWN0YWxsLmh0bWwKQEAgLTAsMCArMSw0NSBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxib2R5IG9uc2VsZWN0c3RhcnQ9ImhhbmRsZXIoZXZl
bnQpIj4KKzxwPlRoaXMgdGVzdCBlbnN1cmVzIHNlbGVjdHN0YXJ0IGV2ZW50IGZpcmVzIHdoZW4g
c2VsZWN0aW5nIGFsbC48L3A+Cis8c2NyaXB0PgorCitpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBFZGl0aW5nQ2FsbGJhY2tzKCk7Cit9CisKKwordmFyIHNl
bGVjdHN0YXJ0RXZlbnQgPSBudWxsOwordmFyIHRhcmdldFdhc0JvZHkgPSB0cnVlOwordmFyIGhh
bmRsZXJDb3VudCA9IDA7Cit2YXIgbGlzdGVuZXJDb3VudCA9IDA7CisKK2Z1bmN0aW9uIGhhbmRs
ZXIoZXZlbnQpIHsKKyAgICBpZiAoZXZlbnQudGFyZ2V0ICE9IGRvY3VtZW50LmJvZHkpCisgICAg
ICAgIHRhcmdldFdhc0JvZHkgPSBmYWxzZTsKKyAgICBoYW5kbGVyQ291bnQrKzsKK30KKworZG9j
dW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCdzZWxlY3RzdGFydCcsIGZ1bmN0aW9uIChldmVu
dCkgeworICAgIGlmIChldmVudC50YXJnZXQgIT0gZG9jdW1lbnQuYm9keSkKKyAgICAgICAgdGFy
Z2V0V2FzQm9keSA9IGZhbHNlOworICAgIGxpc3RlbmVyQ291bnQrKzsKK30pOworCitkb2N1bWVu
dC5leGVjQ29tbWFuZCgnU2VsZWN0QWxsJywgZmFsc2UsIG51bGwpOworCitpZiAoaGFuZGxlckNv
dW50ICE9IDEpCisgICAgZG9jdW1lbnQud3JpdGVsbigiRkFJTDogc2VsZWN0aW9uc3RhcnQncyBl
dmVudCBoYW5kbGVyIHdhcyBjYWxsZWQgIiArIGhhbmRsZXJDb3VudCArICcgdGltZXMnKTsKK2Vs
c2UgaWYgKGxpc3RlbmVyQ291bnQgIT0gMSkKKyAgICBkb2N1bWVudC53cml0ZWxuKCJGQUlMOiBz
ZWxlY3Rpb25zdGFydCdzIGV2ZW50IGxpc3RlbmVyIHdhcyBjYWxsZWQgIiArIGxpc3RlbmVyQ291
bnQgKyAnIHRpbWVzJyk7CitlbHNlIGlmICghdGFyZ2V0V2FzQm9keSkKKyAgICBkb2N1bWVudC53
cml0ZWxuKCJGQUlMOiB0YXJnZXQgbm9kZSB3YXNuJ3QgYm9keSIpOworZWxzZSBpZiAod2luZG93
LmdldFNlbGVjdGlvbigpLnRvU3RyaW5nKCkgIT0gZG9jdW1lbnQuYm9keS5pbm5lclRleHQpCisg
ICAgZG9jdW1lbnQud3JpdGVsbigiRkFJTDogc29tZSBjb250ZW50cyBvbiBkb2N1bWVudCB3YXMg
bm90IHNlbGVjdGVkIik7CitlbHNlCisgICAgZG9jdW1lbnQud3JpdGVsbigiUEFTUyIpOworCis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3NlbGVjdHN0YXJ0LXByZXZlbnQtc2VsZWN0YWxsLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3NlbGVjdHN0YXJ0LXByZXZlbnQtc2VsZWN0YWxsLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5kOWU2MDA2ODJjNjg5YjAwYWE2ZjQxYzJhNWJiYTI2ZjFmZTEyNjFh
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2VsZWN0c3RhcnQt
cHJldmVudC1zZWxlY3RhbGwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTYgQEAKK0VESVRJTkcg
REVMRUdBVEU6IHNob3VsZEJlZ2luRWRpdGluZ0luRE9NUmFuZ2U6cmFuZ2UgZnJvbSAwIG9mIERJ
ViA+IFNFQ1RJT04gPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byAxIG9mIERJViA+IFNFQ1RJ
T04gPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudAorRURJVElORyBERUxFR0FURTogd2ViVmlld0Rp
ZEJlZ2luRWRpdGluZzpXZWJWaWV3RGlkQmVnaW5FZGl0aW5nTm90aWZpY2F0aW9uCitFRElUSU5H
IERFTEVHQVRFOiBzaG91bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOihudWxsKSB0b0RPTVJhbmdl
OnJhbmdlIGZyb20gMCBvZiBESVYgPiBTRUNUSU9OID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQg
dG8gMCBvZiBESVYgPiBTRUNUSU9OID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgYWZmaW5pdHk6
TlNTZWxlY3Rpb25BZmZpbml0eURvd25zdHJlYW0gc3RpbGxTZWxlY3Rpbmc6RkFMU0UKK0VESVRJ
TkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNl
bGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNl
bGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERF
TEVHQVRFOiBzaG91bGRFbmRFZGl0aW5nSW5ET01SYW5nZTpyYW5nZSBmcm9tIDAgb2YgRElWID4g
U0VDVElPTiA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDEgb2YgRElWID4gU0VDVElPTiA+
IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50CitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hh
bmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJ
TkcgREVMRUdBVEU6IHdlYlZpZXdEaWRFbmRFZGl0aW5nOldlYlZpZXdEaWRFbmRFZGl0aW5nTm90
aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldl
YlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHdl
YlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNh
dGlvbgorRURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3
RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitUaGlzIHRlc3QgZW5zdXJlcyBzZWxlY3Rz
dGFydCBldmVudCBmaXJlcyB3aGVuIHNlbGVjdGluZyBhbGwgYW5kIHNjcmlwdCBjYW4gcHJldmVu
dCB0aGUgc2VsZWN0aW9uIGNoYW5nZS4KKworZGl2OiBQQVNTCitpbnB1dDogUEFTUworCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9zZWxlY3RzdGFydC1wcmV2ZW50LXNlbGVj
dGFsbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2VsZWN0c3RhcnQtcHJldmVudC1z
ZWxlY3RhbGwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMzIzZWJlZTkxMjFlMmRiYWU3OTBkNmI5ZmNhMmE3
OTc0MGJjZDIyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2Vs
ZWN0c3RhcnQtcHJldmVudC1zZWxlY3RhbGwuaHRtbApAQCAtMCwwICsxLDQxIEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGJvZHkgb25zZWxlY3RzdGFydD0iZXZlbnQucHJldmVudERlZmF1
bHQoKTsiPgorPHA+VGhpcyB0ZXN0IGVuc3VyZXMgc2VsZWN0c3RhcnQgZXZlbnQgZmlyZXMgd2hl
biBzZWxlY3RpbmcgYWxsIGFuZCBzY3JpcHQgY2FuIHByZXZlbnQgdGhlIHNlbGVjdGlvbiBjaGFu
Z2UuPC9wPgorPHNlY3Rpb24gaWQ9InRlc3QiPgorPGRpdiBvbnNlbGVjdHN0YXJ0PSJoYW5kbGVy
T25EaXZXYXNDYWxsZWQgPSB0cnVlOyIgY29udGVudGVkaXRhYmxlPmhlbGxvPC9kaXY+Cis8aW5w
dXQgb25zZWxlY3RzdGFydD0iZXZlbnQucHJldmVudERlZmF1bHQoKTsiIHR5cGU9InRleHQiIHZh
bHVlPSJ3b3JsZCI+Cis8L3NlY3Rpb24+Cis8cHJlPjxzY3JpcHQ+CisKK2lmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0
KCk7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEVkaXRpbmdDYWxsYmFja3MoKTsKK30K
KwordmFyIGhhbmRsZXJPbkRpdldhc0NhbGxlZCA9IGZhbHNlOwordmFyIGRpdiA9IGRvY3VtZW50
LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdkaXYnKVswXTsKK2Rpdi5mb2N1cygpOword2luZG93Lmdl
dFNlbGVjdGlvbigpLnNldFBvc2l0aW9uKGRpdi5maXJzdENoaWxkLCAxKTsKK2RvY3VtZW50LmV4
ZWNDb21tYW5kKCdTZWxlY3RBbGwnLCBmYWxzZSwgbnVsbCk7Cit2YXIgcmFuZ2UgPSB3aW5kb3cu
Z2V0U2VsZWN0aW9uKCkuZ2V0UmFuZ2VBdCgwKTsKK2RvY3VtZW50LndyaXRlKCdkaXY6ICcpOwor
aWYgKCFoYW5kbGVyT25EaXZXYXNDYWxsZWQpCisgICAgZG9jdW1lbnQud3JpdGVsbignRkFJTCAt
IGhhbmRsZXIgb24gZGl2IHdhcyBuZXZlciBjYWxsZWQnKTsKK2Vsc2UgaWYgKHJhbmdlLnN0YXJ0
T2Zmc2V0ICE9IDEgfHwgcmFuZ2UuZW5kT2Zmc2V0ICE9IDEpCisgICAgZG9jdW1lbnQud3JpdGVs
bignRkFJTCAtIHNlbGVjdGlvbiBjaGFuZ2VkJyk7CitlbHNlCisgICAgZG9jdW1lbnQud3JpdGVs
bignUEFTUycpOworCit2YXIgaW5wdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgn
aW5wdXQnKVswXTsKK2lucHV0LmZvY3VzKCk7CitpbnB1dC5zZWxlY3Rpb25TdGFydCA9IDE7Citp
bnB1dC5zZWxlY3Rpb25FbmQgPSAxOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ1NlbGVjdEFsbCcs
IGZhbHNlLCBudWxsKTsKK2RvY3VtZW50LndyaXRlbG4oJ2lucHV0OiAnICsgKGlucHV0LnNlbGVj
dGlvblN0YXJ0ID09IDEgfHwgaW5wdXQuc2VsZWN0aW9uRW5kID09IDEgPyAnUEFTUycgOiAnRkFJ
TCcpKTsKKworZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rlc3QnKS5zdHlsZS5kaXNwbGF5ID0g
J25vbmUnOworCis8L3NjcmlwdD48L3ByZT4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCBhNGQwMGJiNmMwMzljODRkYzJmZjY0Mjk5MmQxMzQ1Zjg1MDU1NzBlLi45ZTRmMjczNTJjM2Fj
YTJhNWNmOWRjMDVkZWE3YWQwZmY5NmM2NzQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAK
KzIwMTEtMDUtMDYgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgc2VsZWN0c3RhcnQgZXZlbnQg
ZG9lcyBub3QgZmlyZSB3aGVuIHNlbGVjdGlvbiBpcyBtYWRlIHZpYSBzZWxlY3QgYWxsCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDM3NgorCisgICAg
ICAgIEZpcmUgc2VsZWN0c3RhcnQgZXZlbnQgd2hlbiBhIHVzZXIgc2VsZWN0cyBhbGwgY29udGVu
dHMgKGkuZS4gZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ1NlbGVjdEFsbCcpKSBpbgorICAgICAgICBk
b2N1bWVudCwgZWRpdGFibGUgcmVnaW9uLCBvciB0ZXh0IGNvbnRyb2wuCisKKyAgICAgICAgVGVz
dHM6IGVkaXRpbmcvc2VsZWN0aW9uL3NlbGVjdHN0YXJ0LW9uLXNlbGVjdGFsbC5odG1sCisgICAg
ICAgICAgICAgICBlZGl0aW5nL3NlbGVjdGlvbi9zZWxlY3RzdGFydC1wcmV2ZW50LXNlbGVjdGFs
bC5odG1sCisKKyAgICAgICAgKiBkb20vTm9kZS5oOiBSZW1vdmVkIGNhblNlbGVjdEFsbCBhbmQg
c2VsZWN0QWxsIGFzIHRoZXkgYXJlIGxlZnQgb3ZlciBmcm9tIFdNTFNlbGVjdEVsZW1lbnQuCisg
ICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
cmFtZVNlbGVjdGlvbjo6c2VsZWN0QWxsKTogRGlzcGF0Y2ggc2VsZWN0c3RhcnQgZXZlbnQgb24g
c2VsZWN0U3RhcnRUYXJnZXQsIHdoaWNoIGlzCisgICAgICAgIGlucHV0IGVsZW1lbnQgb3IgdGV4
dGFyZWEgZWxlbWVudCB3aGVuIHRoZSBjdXJyZW50IHNlbGVjdGlvbiBpcyBpbnNpZGUgYSBzaGFk
b3cgRE9NLCBhbmQgdGhlIHJvb3QKKyAgICAgICAgZWRpdGFibGUgZWxlbWVudCBpZiBpdCdzIGlu
c2lkZSBhIG5vbi1zaGFkb3cgZWRpdGFibGUgcmVnaW9uLCBhbmQgdGhlIGJvZHkgZWxlbWVudCBv
dGhlcndpc2UuCisgICAgICAgICogaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oOiBNYWRlIGNhblNl
bGVjdEFsbCBhbmQgc2VsZWN0QWxsIHB1YmxpYyBzaW5jZSB0aGV5IGFyZSBubyBsb25nZXIKKyAg
ICAgICAgZGVjbGFyZWQgaW4gTm9kZS4KKwogMjAxMS0wNS0wNiAgTWFydGluIFJvYmluc29uICA8
bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWGFuIExvcGV6Lgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Ob2RlLmgKaW5kZXggMDU3MWRmYWM1OTRkNDBkZGQ1MTFhYzFjNjlmYWY0ZWQzMzFlMWY5ZS4u
NDQwNGU2MzNmNDdjOTJjMzQ0ZjM4Y2M3YmMzOGIwMjI3MmEzYTUwYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL05vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCkBA
IC00MTUsMTAgKzQxNSw2IEBAIHB1YmxpYzoKICAgICAvLyBOdW1iZXIgb2YgRE9NIDE2LWJpdCB1
bml0cyBjb250YWluZWQgaW4gbm9kZS4gTm90ZSB0aGF0IHJlbmRlcmVkIHRleHQgbGVuZ3RoIGNh
biBiZSBkaWZmZXJlbnQgLSBlLmcuIGJlY2F1c2Ugb2YKICAgICAvLyBjc3MtdHJhbnNmb3JtOmNh
cGl0YWxpemUgYnJlYWtpbmcgdXAgcHJlY29tcG9zZWQgY2hhcmFjdGVycyBhbmQgbGlnYXR1cmVz
LgogICAgIHZpcnR1YWwgaW50IG1heENoYXJhY3Rlck9mZnNldCgpIGNvbnN0OwotICAgIAotICAg
IC8vIEZJWE1FOiBXZSBzaG91bGQgdHJ5IHRvIGZpbmQgYSBiZXR0ZXIgbG9jYXRpb24gZm9yIHRo
ZXNlIG1ldGhvZHMuCi0gICAgdmlydHVhbCBib29sIGNhblNlbGVjdEFsbCgpIGNvbnN0IHsgcmV0
dXJuIGZhbHNlOyB9Ci0gICAgdmlydHVhbCB2b2lkIHNlbGVjdEFsbCgpIHsgfQogCiAgICAgLy8g
V2hldGhlciBvciBub3QgYSBzZWxlY3Rpb24gY2FuIGJlIHN0YXJ0ZWQgaW4gdGhpcyBvYmplY3QK
ICAgICB2aXJ0dWFsIGJvb2wgY2FuU3RhcnRTZWxlY3Rpb24oKSBjb25zdDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKaW5kZXggMjg4NDUxZGE4NDJiNzljOGY0MDk5
OTgzYjk3MjZkYjU2MWMxYzU2ZC4uZWNmYjNlMDRhOTM0YzYzMmVlMjQ5OGM1MDE3NzAwOGNiOTMy
MzRiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKQEAgLTQz
LDYgKzQzLDcgQEAKICNpbmNsdWRlICJIVE1MRm9ybUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1M
RnJhbWVFbGVtZW50QmFzZS5oIgogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKKyNpbmNs
dWRlICJIVE1MU2VsZWN0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1
ZGUgIkhpdFRlc3RSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgpAQCAtMTM5
NSwyNSArMTM5Niw0MSBAQCB2b2lkIEZyYW1lU2VsZWN0aW9uOjpzZWxlY3RGcmFtZUVsZW1lbnRJ
blBhcmVudElmRnVsbHlTZWxlY3RlZCgpCiB2b2lkIEZyYW1lU2VsZWN0aW9uOjpzZWxlY3RBbGwo
KQogewogICAgIERvY3VtZW50KiBkb2N1bWVudCA9IG1fZnJhbWUtPmRvY3VtZW50KCk7Ci0gICAg
Ci0gICAgaWYgKGRvY3VtZW50LT5mb2N1c2VkTm9kZSgpICYmIGRvY3VtZW50LT5mb2N1c2VkTm9k
ZSgpLT5jYW5TZWxlY3RBbGwoKSkgewotICAgICAgICBkb2N1bWVudC0+Zm9jdXNlZE5vZGUoKS0+
c2VsZWN0QWxsKCk7Ci0gICAgICAgIHJldHVybjsKKworICAgIGlmIChkb2N1bWVudC0+Zm9jdXNl
ZE5vZGUoKSAmJiBkb2N1bWVudC0+Zm9jdXNlZE5vZGUoKS0+aGFzVGFnTmFtZShzZWxlY3RUYWcp
KSB7CisgICAgICAgIEhUTUxTZWxlY3RFbGVtZW50KiBzZWxlY3RFbGVtZW50ID0gc3RhdGljX2Nh
c3Q8SFRNTFNlbGVjdEVsZW1lbnQqPihkb2N1bWVudC0+Zm9jdXNlZE5vZGUoKSk7CisgICAgICAg
IGlmIChzZWxlY3RFbGVtZW50LT5jYW5TZWxlY3RBbGwoKSkKKyAgICAgICAgICAgIHNlbGVjdEVs
ZW1lbnQtPnNlbGVjdEFsbCgpOwogICAgIH0KLSAgICAKKwogICAgIE5vZGUqIHJvb3QgPSAwOwot
ICAgIGlmIChpc0NvbnRlbnRFZGl0YWJsZSgpKQorICAgIE5vZGUqIHNlbGVjdFN0YXJ0VGFyZ2V0
ID0gMDsKKyAgICBpZiAoaXNDb250ZW50RWRpdGFibGUoKSkgewogICAgICAgICByb290ID0gaGln
aGVzdEVkaXRhYmxlUm9vdChtX3NlbGVjdGlvbi5zdGFydCgpKTsKLSAgICBlbHNlIHsKKyAgICAg
ICAgaWYgKE5vZGUqIHNoYWRvd1Jvb3QgPSBzaGFkb3dUcmVlUm9vdE5vZGUoKSkKKyAgICAgICAg
ICAgIHNlbGVjdFN0YXJ0VGFyZ2V0ID0gc2hhZG93Um9vdC0+c2hhZG93SG9zdCgpOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICBzZWxlY3RTdGFydFRhcmdldCA9IHJvb3Q7CisgICAgfSBlbHNl
IHsKICAgICAgICAgcm9vdCA9IHNoYWRvd1RyZWVSb290Tm9kZSgpOwotICAgICAgICBpZiAoIXJv
b3QpCisgICAgICAgIGlmIChyb290KQorICAgICAgICAgICAgc2VsZWN0U3RhcnRUYXJnZXQgPSBy
b290LT5zaGFkb3dIb3N0KCk7CisgICAgICAgIGVsc2UgewogICAgICAgICAgICAgcm9vdCA9IGRv
Y3VtZW50LT5kb2N1bWVudEVsZW1lbnQoKTsKKyAgICAgICAgICAgIHNlbGVjdFN0YXJ0VGFyZ2V0
ID0gZG9jdW1lbnQtPmJvZHkoKTsKKyAgICAgICAgfQogICAgIH0KICAgICBpZiAoIXJvb3QpCiAg
ICAgICAgIHJldHVybjsKKworICAgIGlmIChzZWxlY3RTdGFydFRhcmdldCAmJiAhc2VsZWN0U3Rh
cnRUYXJnZXQtPmRpc3BhdGNoRXZlbnQoRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuc2VsZWN0
c3RhcnRFdmVudCwgdHJ1ZSwgdHJ1ZSkpKQorICAgICAgICByZXR1cm47CisKICAgICBWaXNpYmxl
U2VsZWN0aW9uIG5ld1NlbGVjdGlvbihWaXNpYmxlU2VsZWN0aW9uOjpzZWxlY3Rpb25Gcm9tQ29u
dGVudHNPZk5vZGUocm9vdCkpOworCiAgICAgaWYgKHNob3VsZENoYW5nZVNlbGVjdGlvbihuZXdT
ZWxlY3Rpb24pKQogICAgICAgICBzZXRTZWxlY3Rpb24obmV3U2VsZWN0aW9uKTsKKwogICAgIHNl
bGVjdEZyYW1lRWxlbWVudEluUGFyZW50SWZGdWxseVNlbGVjdGVkKCk7CiAgICAgbm90aWZ5UmVu
ZGVyZXJPZlNlbGVjdGlvbkNoYW5nZSh0cnVlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNl
bGVjdEVsZW1lbnQuaAppbmRleCBlNmUxYmVjMmJjNTI2ZDc5ZmJkZDlkMTViMjIxNjQwYzBiNTky
YWQyLi4wZDk4NWYzYTY2YWE5OTcyODc5N2M5NTJmMmM5MDZhZjNjZjMzYTM5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oCkBAIC04OCw2ICs4OCw5IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVWYWxpZGl0eSgpIHsgc2V0TmVlZHNWYWxpZGl0eUNo
ZWNrKCk7IH0KIAorICAgIHZpcnR1YWwgYm9vbCBjYW5TZWxlY3RBbGwoKSBjb25zdDsKKyAgICB2
aXJ0dWFsIHZvaWQgc2VsZWN0QWxsKCk7CisKIHByb3RlY3RlZDoKICAgICBIVE1MU2VsZWN0RWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqLCBIVE1MRm9ybUVsZW1lbnQqKTsK
IApAQCAtOTYsOCArOTksNiBAQCBwcml2YXRlOgogICAgIAogICAgIHZpcnR1YWwgYm9vbCBpc0tl
eWJvYXJkRm9jdXNhYmxlKEtleWJvYXJkRXZlbnQqKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wg
aXNNb3VzZUZvY3VzYWJsZSgpIGNvbnN0OwotICAgIHZpcnR1YWwgYm9vbCBjYW5TZWxlY3RBbGwo
KSBjb25zdDsKLSAgICB2aXJ0dWFsIHZvaWQgc2VsZWN0QWxsKCk7CiAKICAgICB2aXJ0dWFsIHZv
aWQgcmVjYWxjU3R5bGUoU3R5bGVDaGFuZ2UpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92732</attachid>
            <date>2011-05-07 23:52:02 -0700</date>
            <delta_ts>2011-05-08 17:43:07 -0700</delta_ts>
            <desc>Fixed per comments</desc>
            <filename>bug-60376-20110507235201.patch</filename>
            <type>text/plain</type>
            <size>11642</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDg2MDIyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTEtMDUtMDcgIFJ5b3N1a2Ug
Tml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgc2VsZWN0c3RhcnQgZXZlbnQgZG9lcyBub3QgZmlyZSB3aGVuIHNl
bGVjdGlvbiBpcyBtYWRlIHZpYSBzZWxlY3QgYWxsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDM3NgorCisgICAgICAgIEZpcmUgc2VsZWN0c3RhcnQg
ZXZlbnQgd2hlbiBhIHVzZXIgc2VsZWN0cyBhbGwgY29udGVudHMgKGkuZS4gZG9jdW1lbnQuZXhl
Y0NvbW1hbmQoJ1NlbGVjdEFsbCcpKSBpbgorICAgICAgICBkb2N1bWVudCwgZWRpdGFibGUgcmVn
aW9uLCBvciB0ZXh0IGNvbnRyb2wuCisKKyAgICAgICAgVGVzdHM6IGVkaXRpbmcvc2VsZWN0aW9u
L3NlbGVjdHN0YXJ0LW9uLXNlbGVjdGFsbC5odG1sCisgICAgICAgICAgICAgICBlZGl0aW5nL3Nl
bGVjdGlvbi9zZWxlY3RzdGFydC1wcmV2ZW50LXNlbGVjdGFsbC5odG1sCisKKyAgICAgICAgKiBk
b20vTm9kZS5oOiBSZW1vdmVkIGNhblNlbGVjdEFsbCBhbmQgc2VsZWN0QWxsIGFzIHRoZXkgYXJl
IGxlZnQgb3ZlciBmcm9tIFdNTFNlbGVjdEVsZW1lbnQuCisgICAgICAgICogZWRpdGluZy9GcmFt
ZVNlbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVNlbGVjdGlvbjo6c2VsZWN0
QWxsKTogRGlzcGF0Y2ggc2VsZWN0c3RhcnQgZXZlbnQgb24gc2VsZWN0U3RhcnRUYXJnZXQsIHdo
aWNoIGlzCisgICAgICAgIGlucHV0IGVsZW1lbnQgb3IgdGV4dGFyZWEgZWxlbWVudCB3aGVuIHRo
ZSBjdXJyZW50IHNlbGVjdGlvbiBpcyBpbnNpZGUgYSBzaGFkb3cgRE9NLCBhbmQgdGhlIHJvb3QK
KyAgICAgICAgZWRpdGFibGUgZWxlbWVudCBpZiBpdCdzIGluc2lkZSBhIG5vbi1zaGFkb3cgZWRp
dGFibGUgcmVnaW9uLCBhbmQgdGhlIGJvZHkgZWxlbWVudCBvdGhlcndpc2UuCisgICAgICAgICog
aHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oOiBNYWRlIGNhblNlbGVjdEFsbCBhbmQgc2VsZWN0QWxs
IHB1YmxpYyBzaW5jZSB0aGV5IGFyZSBubyBsb25nZXIKKyAgICAgICAgZGVjbGFyZWQgaW4gTm9k
ZS4KKwogMjAxMS0wNS0wNyAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5j
b20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjg2MDE2LgpJbmRleDogU291
cmNlL1dlYkNvcmUvZG9tL05vZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20v
Tm9kZS5oCShyZXZpc2lvbiA4NjAyMikKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmgJKHdv
cmtpbmcgY29weSkKQEAgLTQxNSwxMCArNDE1LDYgQEAgcHVibGljOgogICAgIC8vIE51bWJlciBv
ZiBET00gMTYtYml0IHVuaXRzIGNvbnRhaW5lZCBpbiBub2RlLiBOb3RlIHRoYXQgcmVuZGVyZWQg
dGV4dCBsZW5ndGggY2FuIGJlIGRpZmZlcmVudCAtIGUuZy4gYmVjYXVzZSBvZgogICAgIC8vIGNz
cy10cmFuc2Zvcm06Y2FwaXRhbGl6ZSBicmVha2luZyB1cCBwcmVjb21wb3NlZCBjaGFyYWN0ZXJz
IGFuZCBsaWdhdHVyZXMuCiAgICAgdmlydHVhbCBpbnQgbWF4Q2hhcmFjdGVyT2Zmc2V0KCkgY29u
c3Q7Ci0gICAgCi0gICAgLy8gRklYTUU6IFdlIHNob3VsZCB0cnkgdG8gZmluZCBhIGJldHRlciBs
b2NhdGlvbiBmb3IgdGhlc2UgbWV0aG9kcy4KLSAgICB2aXJ0dWFsIGJvb2wgY2FuU2VsZWN0QWxs
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIHZvaWQgc2VsZWN0QWxsKCkg
eyB9CiAKICAgICAvLyBXaGV0aGVyIG9yIG5vdCBhIHNlbGVjdGlvbiBjYW4gYmUgc3RhcnRlZCBp
biB0aGlzIG9iamVjdAogICAgIHZpcnR1YWwgYm9vbCBjYW5TdGFydFNlbGVjdGlvbigpIGNvbnN0
OwpJbmRleDogU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAJKHJldmlz
aW9uIDg2MDIyKQorKysgU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQzLDYgKzQzLDcgQEAKICNpbmNsdWRlICJIVE1MRm9ybUVsZW1l
bnQuaCIKICNpbmNsdWRlICJIVE1MRnJhbWVFbGVtZW50QmFzZS5oIgogI2luY2x1ZGUgIkhUTUxJ
bnB1dEVsZW1lbnQuaCIKKyNpbmNsdWRlICJIVE1MU2VsZWN0RWxlbWVudC5oIgogI2luY2x1ZGUg
IkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhpdFRlc3RSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiSGl0
VGVzdFJlc3VsdC5oIgpAQCAtMTM5NSwyNSArMTM5Niw0MyBAQCB2b2lkIEZyYW1lU2VsZWN0aW9u
OjpzZWxlY3RGcmFtZUVsZW1lbnRJCiB2b2lkIEZyYW1lU2VsZWN0aW9uOjpzZWxlY3RBbGwoKQog
ewogICAgIERvY3VtZW50KiBkb2N1bWVudCA9IG1fZnJhbWUtPmRvY3VtZW50KCk7Ci0gICAgCi0g
ICAgaWYgKGRvY3VtZW50LT5mb2N1c2VkTm9kZSgpICYmIGRvY3VtZW50LT5mb2N1c2VkTm9kZSgp
LT5jYW5TZWxlY3RBbGwoKSkgewotICAgICAgICBkb2N1bWVudC0+Zm9jdXNlZE5vZGUoKS0+c2Vs
ZWN0QWxsKCk7Ci0gICAgICAgIHJldHVybjsKKworICAgIGlmIChkb2N1bWVudC0+Zm9jdXNlZE5v
ZGUoKSAmJiBkb2N1bWVudC0+Zm9jdXNlZE5vZGUoKS0+aGFzVGFnTmFtZShzZWxlY3RUYWcpKSB7
CisgICAgICAgIEhUTUxTZWxlY3RFbGVtZW50KiBzZWxlY3RFbGVtZW50ID0gc3RhdGljX2Nhc3Q8
SFRNTFNlbGVjdEVsZW1lbnQqPihkb2N1bWVudC0+Zm9jdXNlZE5vZGUoKSk7CisgICAgICAgIGlm
IChzZWxlY3RFbGVtZW50LT5jYW5TZWxlY3RBbGwoKSkgeworICAgICAgICAgICAgc2VsZWN0RWxl
bWVudC0+c2VsZWN0QWxsKCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KICAgICB9
Ci0gICAgCisKICAgICBOb2RlKiByb290ID0gMDsKLSAgICBpZiAoaXNDb250ZW50RWRpdGFibGUo
KSkKKyAgICBOb2RlKiBzZWxlY3RTdGFydFRhcmdldCA9IDA7CisgICAgaWYgKGlzQ29udGVudEVk
aXRhYmxlKCkpIHsKICAgICAgICAgcm9vdCA9IGhpZ2hlc3RFZGl0YWJsZVJvb3QobV9zZWxlY3Rp
b24uc3RhcnQoKSk7Ci0gICAgZWxzZSB7CisgICAgICAgIGlmIChOb2RlKiBzaGFkb3dSb290ID0g
c2hhZG93VHJlZVJvb3ROb2RlKCkpCisgICAgICAgICAgICBzZWxlY3RTdGFydFRhcmdldCA9IHNo
YWRvd1Jvb3QtPnNoYWRvd0hvc3QoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgc2VsZWN0
U3RhcnRUYXJnZXQgPSByb290OworICAgIH0gZWxzZSB7CiAgICAgICAgIHJvb3QgPSBzaGFkb3dU
cmVlUm9vdE5vZGUoKTsKLSAgICAgICAgaWYgKCFyb290KQorICAgICAgICBpZiAocm9vdCkKKyAg
ICAgICAgICAgIHNlbGVjdFN0YXJ0VGFyZ2V0ID0gcm9vdC0+c2hhZG93SG9zdCgpOworICAgICAg
ICBlbHNlIHsKICAgICAgICAgICAgIHJvb3QgPSBkb2N1bWVudC0+ZG9jdW1lbnRFbGVtZW50KCk7
CisgICAgICAgICAgICBzZWxlY3RTdGFydFRhcmdldCA9IGRvY3VtZW50LT5ib2R5KCk7CisgICAg
ICAgIH0KICAgICB9CiAgICAgaWYgKCFyb290KQogICAgICAgICByZXR1cm47CisKKyAgICBpZiAo
c2VsZWN0U3RhcnRUYXJnZXQgJiYgIXNlbGVjdFN0YXJ0VGFyZ2V0LT5kaXNwYXRjaEV2ZW50KEV2
ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLnNlbGVjdHN0YXJ0RXZlbnQsIHRydWUsIHRydWUpKSkK
KyAgICAgICAgcmV0dXJuOworCiAgICAgVmlzaWJsZVNlbGVjdGlvbiBuZXdTZWxlY3Rpb24oVmlz
aWJsZVNlbGVjdGlvbjo6c2VsZWN0aW9uRnJvbUNvbnRlbnRzT2ZOb2RlKHJvb3QpKTsKKwogICAg
IGlmIChzaG91bGRDaGFuZ2VTZWxlY3Rpb24obmV3U2VsZWN0aW9uKSkKICAgICAgICAgc2V0U2Vs
ZWN0aW9uKG5ld1NlbGVjdGlvbik7CisKICAgICBzZWxlY3RGcmFtZUVsZW1lbnRJblBhcmVudElm
RnVsbHlTZWxlY3RlZCgpOwogICAgIG5vdGlmeVJlbmRlcmVyT2ZTZWxlY3Rpb25DaGFuZ2UodHJ1
ZSk7CiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTZWxlY3RFbGVtZW50LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU2VsZWN0RWxlbWVudC5oCShyZXZp
c2lvbiA4NjAyMikKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNlbGVjdEVsZW1lbnQuaAko
d29ya2luZyBjb3B5KQpAQCAtODgsNiArODgsOSBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZv
aWQgdXBkYXRlVmFsaWRpdHkoKSB7IHNldE5lZWRzVmFsaWRpdHlDaGVjaygpOyB9CiAKKyAgICB2
aXJ0dWFsIGJvb2wgY2FuU2VsZWN0QWxsKCkgY29uc3Q7CisgICAgdmlydHVhbCB2b2lkIHNlbGVj
dEFsbCgpOworCiBwcm90ZWN0ZWQ6CiAgICAgSFRNTFNlbGVjdEVsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIERvY3VtZW50KiwgSFRNTEZvcm1FbGVtZW50Kik7CiAKQEAgLTk2LDggKzk5LDYg
QEAgcHJpdmF0ZToKICAgICAKICAgICB2aXJ0dWFsIGJvb2wgaXNLZXlib2FyZEZvY3VzYWJsZShL
ZXlib2FyZEV2ZW50KikgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGlzTW91c2VGb2N1c2FibGUo
KSBjb25zdDsKLSAgICB2aXJ0dWFsIGJvb2wgY2FuU2VsZWN0QWxsKCkgY29uc3Q7Ci0gICAgdmly
dHVhbCB2b2lkIHNlbGVjdEFsbCgpOwogCiAgICAgdmlydHVhbCB2b2lkIHJlY2FsY1N0eWxlKFN0
eWxlQ2hhbmdlKTsKIApJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gODYwMjIpCisrKyBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAorMjAxMS0wNS0wNyAgUnlv
c3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBzZWxlY3RzdGFydCBldmVudCBkb2VzIG5vdCBmaXJlIHdo
ZW4gc2VsZWN0aW9uIGlzIG1hZGUgdmlhIHNlbGVjdCBhbGwKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwMzc2CisKKyAgICAgICAgQWRkZWQgdGVzdHMg
dG8gZW5zdXJlIHNlbGVjdHN0YXJ0IGV2ZW50IGlzIGZpcmVkIHdoZW4gYSB1c2VyIHNlbGVjdHMg
YWxsIGNvbnRlbnRzCisgICAgICAgIGFuZCBzY3JpcHQgY2FuIHByZXZlbnQgc3VjaCBzZWxlY3Rp
b24gY2hhbmdlIGluIHNlbGVjdHN0YXJ0J3MgZXZlbnQgaGFuZGxlci4KKworICAgICAgICAqIGZh
c3QvZXZlbnRzL3NlbGVjdHN0YXJ0LW9uLXNlbGVjdGFsbC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZXZlbnRzL3NlbGVjdHN0YXJ0LW9uLXNlbGVjdGFsbC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2V2ZW50cy9zZWxlY3RzdGFydC1wcmV2ZW50LXNlbGVjdGFsbC1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZXZlbnRzL3NlbGVjdHN0YXJ0LXBy
ZXZlbnQtc2VsZWN0YWxsLmh0bWw6IEFkZGVkLgorCiAyMDExLTA1LTA3ICBKZXNzaWUgQmVybGlu
ICA8amJlcmxpbkBhcHBsZS5jb20+CiAKICAgICAgICAgW1dpbmRvd3MgV2ViS2l0MiBSZWxlYXNl
IFRlc3RzXQpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2VsZWN0c3RhcnQtb24tc2Vs
ZWN0YWxsLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2V2ZW50
cy9zZWxlY3RzdGFydC1vbi1zZWxlY3RhbGwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2VsZWN0c3RhcnQtb24tc2VsZWN0YWxsLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1IEBACitFRElUSU5HIERFTEVHQVRFOiBzaG91
bGRDaGFuZ2VTZWxlY3RlZERPTVJhbmdlOihudWxsKSB0b0RPTVJhbmdlOnJhbmdlIGZyb20gMCBv
ZiAjdGV4dCA+IFAgPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCB0byA2MSBvZiAjdGV4dCA+IFAg
PiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZpbml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93
bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQorRURJVElORyBERUxFR0FURTogd2ViVmlld0Rp
ZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitU
aGlzIHRlc3QgZW5zdXJlcyBzZWxlY3RzdGFydCBldmVudCBmaXJlcyB3aGVuIHNlbGVjdGluZyBh
bGwuCisKK1BBU1MKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NlbGVjdHN0YXJ0LW9u
LXNlbGVjdGFsbC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Nl
bGVjdHN0YXJ0LW9uLXNlbGVjdGFsbC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvc2VsZWN0c3RhcnQtb24tc2VsZWN0YWxsLmh0bWwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsNDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keSBvbnNlbGVjdHN0
YXJ0PSJoYW5kbGVyKGV2ZW50KSI+Cis8cD5UaGlzIHRlc3QgZW5zdXJlcyBzZWxlY3RzdGFydCBl
dmVudCBmaXJlcyB3aGVuIHNlbGVjdGluZyBhbGwuPC9wPgorPHNjcmlwdD4KKworaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wRWRpdGluZ0NhbGxiYWNrcygp
OworfQorCit2YXIgdGFyZ2V0V2FzQm9keSA9IHRydWU7Cit2YXIgaGFuZGxlckNvdW50ID0gMDsK
K3ZhciBsaXN0ZW5lckNvdW50ID0gMDsKKworZnVuY3Rpb24gaGFuZGxlcihldmVudCkgeworICAg
IGlmIChldmVudC50YXJnZXQgIT0gZG9jdW1lbnQuYm9keSkKKyAgICAgICAgdGFyZ2V0V2FzQm9k
eSA9IGZhbHNlOworICAgIGhhbmRsZXJDb3VudCsrOworfQorCitkb2N1bWVudC5ib2R5LmFkZEV2
ZW50TGlzdGVuZXIoJ3NlbGVjdHN0YXJ0JywgZnVuY3Rpb24gKGV2ZW50KSB7CisgICAgaWYgKGV2
ZW50LnRhcmdldCAhPSBkb2N1bWVudC5ib2R5KQorICAgICAgICB0YXJnZXRXYXNCb2R5ID0gZmFs
c2U7CisgICAgbGlzdGVuZXJDb3VudCsrOworfSk7CisKK2RvY3VtZW50LmV4ZWNDb21tYW5kKCdT
ZWxlY3RBbGwnLCBmYWxzZSwgbnVsbCk7CisKK2lmIChoYW5kbGVyQ291bnQgIT0gMSkKKyAgICBk
b2N1bWVudC53cml0ZWxuKCJGQUlMOiBzZWxlY3Rpb25zdGFydCdzIGV2ZW50IGhhbmRsZXIgd2Fz
IGNhbGxlZCAiICsgaGFuZGxlckNvdW50ICsgJyB0aW1lcycpOworZWxzZSBpZiAobGlzdGVuZXJD
b3VudCAhPSAxKQorICAgIGRvY3VtZW50LndyaXRlbG4oIkZBSUw6IHNlbGVjdGlvbnN0YXJ0J3Mg
ZXZlbnQgbGlzdGVuZXIgd2FzIGNhbGxlZCAiICsgbGlzdGVuZXJDb3VudCArICcgdGltZXMnKTsK
K2Vsc2UgaWYgKCF0YXJnZXRXYXNCb2R5KQorICAgIGRvY3VtZW50LndyaXRlbG4oIkZBSUw6IHRh
cmdldCBub2RlIHdhc24ndCBib2R5Iik7CitlbHNlIGlmICh3aW5kb3cuZ2V0U2VsZWN0aW9uKCku
dG9TdHJpbmcoKSAhPSBkb2N1bWVudC5ib2R5LmlubmVyVGV4dCkKKyAgICBkb2N1bWVudC53cml0
ZWxuKCJGQUlMOiBzb21lIGNvbnRlbnRzIG9uIGRvY3VtZW50IHdhcyBub3Qgc2VsZWN0ZWQiKTsK
K2Vsc2UKKyAgICBkb2N1bWVudC53cml0ZWxuKCJQQVNTIik7CisKKzwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2VsZWN0c3RhcnQtcHJl
dmVudC1zZWxlY3RhbGwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL3NlbGVjdHN0YXJ0LXByZXZlbnQtc2VsZWN0YWxsLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NlbGVjdHN0YXJ0LXByZXZlbnQt
c2VsZWN0YWxsLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxNiBAQAorRURJ
VElORyBERUxFR0FURTogc2hvdWxkQmVnaW5FZGl0aW5nSW5ET01SYW5nZTpyYW5nZSBmcm9tIDAg
b2YgRElWID4gU0VDVElPTiA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50IHRvIDEgb2YgRElWID4g
U0VDVElPTiA+IEJPRFkgPiBIVE1MID4gI2RvY3VtZW50CitFRElUSU5HIERFTEVHQVRFOiB3ZWJW
aWV3RGlkQmVnaW5FZGl0aW5nOldlYlZpZXdEaWRCZWdpbkVkaXRpbmdOb3RpZmljYXRpb24KK0VE
SVRJTkcgREVMRUdBVEU6IHNob3VsZENoYW5nZVNlbGVjdGVkRE9NUmFuZ2U6KG51bGwpIHRvRE9N
UmFuZ2U6cmFuZ2UgZnJvbSAwIG9mIERJViA+IFNFQ1RJT04gPiBCT0RZID4gSFRNTCA+ICNkb2N1
bWVudCB0byAwIG9mIERJViA+IFNFQ1RJT04gPiBCT0RZID4gSFRNTCA+ICNkb2N1bWVudCBhZmZp
bml0eTpOU1NlbGVjdGlvbkFmZmluaXR5RG93bnN0cmVhbSBzdGlsbFNlbGVjdGluZzpGQUxTRQor
RURJVElORyBERUxFR0FURTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hh
bmdlU2VsZWN0aW9uTm90aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hh
bmdlU2VsZWN0aW9uOldlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK0VESVRJ
TkcgREVMRUdBVEU6IHNob3VsZEVuZEVkaXRpbmdJbkRPTVJhbmdlOnJhbmdlIGZyb20gMCBvZiBE
SVYgPiBTRUNUSU9OID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQgdG8gMSBvZiBESVYgPiBTRUNU
SU9OID4gQk9EWSA+IEhUTUwgPiAjZG9jdW1lbnQKK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdE
aWRDaGFuZ2VTZWxlY3Rpb246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgor
RURJVElORyBERUxFR0FURTogd2ViVmlld0RpZEVuZEVkaXRpbmc6V2ViVmlld0RpZEVuZEVkaXRp
bmdOb3RpZmljYXRpb24KK0VESVRJTkcgREVMRUdBVEU6IHdlYlZpZXdEaWRDaGFuZ2VTZWxlY3Rp
b246V2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbk5vdGlmaWNhdGlvbgorRURJVElORyBERUxFR0FU
RTogd2ViVmlld0RpZENoYW5nZVNlbGVjdGlvbjpXZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uTm90
aWZpY2F0aW9uCitFRElUSU5HIERFTEVHQVRFOiB3ZWJWaWV3RGlkQ2hhbmdlU2VsZWN0aW9uOldl
YlZpZXdEaWRDaGFuZ2VTZWxlY3Rpb25Ob3RpZmljYXRpb24KK1RoaXMgdGVzdCBlbnN1cmVzIHNl
bGVjdHN0YXJ0IGV2ZW50IGZpcmVzIHdoZW4gc2VsZWN0aW5nIGFsbCBhbmQgc2NyaXB0IGNhbiBw
cmV2ZW50IHRoZSBzZWxlY3Rpb24gY2hhbmdlLgorCitkaXY6IFBBU1MKK2lucHV0OiBQQVNTCisK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3NlbGVjdHN0YXJ0LXByZXZlbnQtc2VsZWN0
YWxsLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvc2VsZWN0c3Rh
cnQtcHJldmVudC1zZWxlY3RhbGwuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL3NlbGVjdHN0YXJ0LXByZXZlbnQtc2VsZWN0YWxsLmh0bWwJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNDEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8Ym9keSBvbnNlbGVj
dHN0YXJ0PSJldmVudC5wcmV2ZW50RGVmYXVsdCgpOyI+Cis8cD5UaGlzIHRlc3QgZW5zdXJlcyBz
ZWxlY3RzdGFydCBldmVudCBmaXJlcyB3aGVuIHNlbGVjdGluZyBhbGwgYW5kIHNjcmlwdCBjYW4g
cHJldmVudCB0aGUgc2VsZWN0aW9uIGNoYW5nZS48L3A+Cis8c2VjdGlvbiBpZD0idGVzdCI+Cis8
ZGl2IG9uc2VsZWN0c3RhcnQ9ImhhbmRsZXJPbkRpdldhc0NhbGxlZCA9IHRydWU7IiBjb250ZW50
ZWRpdGFibGU+aGVsbG88L2Rpdj4KKzxpbnB1dCBvbnNlbGVjdHN0YXJ0PSJldmVudC5wcmV2ZW50
RGVmYXVsdCgpOyIgdHlwZT0idGV4dCIgdmFsdWU9IndvcmxkIj4KKzwvc2VjdGlvbj4KKzxwcmU+
PHNjcmlwdD4KKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5k
dW1wRWRpdGluZ0NhbGxiYWNrcygpOworfQorCit2YXIgaGFuZGxlck9uRGl2V2FzQ2FsbGVkID0g
ZmFsc2U7Cit2YXIgZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2RpdicpWzBd
OworZGl2LmZvY3VzKCk7Cit3aW5kb3cuZ2V0U2VsZWN0aW9uKCkuc2V0UG9zaXRpb24oZGl2LmZp
cnN0Q2hpbGQsIDEpOworZG9jdW1lbnQuZXhlY0NvbW1hbmQoJ1NlbGVjdEFsbCcsIGZhbHNlLCBu
dWxsKTsKK3ZhciByYW5nZSA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5nZXRSYW5nZUF0KDApOwor
ZG9jdW1lbnQud3JpdGUoJ2RpdjogJyk7CitpZiAoIWhhbmRsZXJPbkRpdldhc0NhbGxlZCkKKyAg
ICBkb2N1bWVudC53cml0ZWxuKCdGQUlMIC0gaGFuZGxlciBvbiBkaXYgd2FzIG5ldmVyIGNhbGxl
ZCcpOworZWxzZSBpZiAocmFuZ2Uuc3RhcnRPZmZzZXQgIT0gMSB8fCByYW5nZS5lbmRPZmZzZXQg
IT0gMSkKKyAgICBkb2N1bWVudC53cml0ZWxuKCdGQUlMIC0gc2VsZWN0aW9uIGNoYW5nZWQnKTsK
K2Vsc2UKKyAgICBkb2N1bWVudC53cml0ZWxuKCdQQVNTJyk7CisKK3ZhciBpbnB1dCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdpbnB1dCcpWzBdOworaW5wdXQuZm9jdXMoKTsKK2lu
cHV0LnNlbGVjdGlvblN0YXJ0ID0gMTsKK2lucHV0LnNlbGVjdGlvbkVuZCA9IDE7Citkb2N1bWVu
dC5leGVjQ29tbWFuZCgnU2VsZWN0QWxsJywgZmFsc2UsIG51bGwpOworZG9jdW1lbnQud3JpdGVs
bignaW5wdXQ6ICcgKyAoaW5wdXQuc2VsZWN0aW9uU3RhcnQgPT0gMSB8fCBpbnB1dC5zZWxlY3Rp
b25FbmQgPT0gMSA/ICdQQVNTJyA6ICdGQUlMJykpOworCitkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgndGVzdCcpLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CisKKzwvc2NyaXB0PjwvcHJlPgorPC9i
b2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="85750"
          type_id="1"
          status="+"
          setter="tkent"
    />
          </attachment>
      

    </bug>

</bugzilla>