<?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>20655</bug_id>
          
          <creation_ts>2008-09-04 18:55:07 -0700</creation_ts>
          <short_desc>Layout tests need a way to disable smart insert or delete</short_desc>
          <delta_ts>2008-10-16 08:54:49 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P4</priority>
          <bug_severity>Minor</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>15643</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Glenn Wilson">gwilson</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>abarth</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>90227</commentid>
    <comment_count>0</comment_count>
    <who name="Glenn Wilson">gwilson</who>
    <bug_when>2008-09-04 18:55:07 -0700</bug_when>
    <thetext>Currently, smartInsertOrDelete is always on by default (it is set to true when the WebView is created), and there is no way for a layout test to set it to false.  

Ideally, layout tests would be able to toggle this flag to test features that are smartInsertOrDelete sensitive.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90443</commentid>
    <comment_count>1</comment_count>
      <attachid>23232</attachid>
    <who name="Glenn Wilson">gwilson</who>
    <bug_when>2008-09-07 17:37:59 -0700</bug_when>
    <thetext>Created attachment 23232
Possible fix to bug 20655

Here is a possible fix to this issue.

This patch adds a new method to LayoutTestController, &quot;setSmartInsertDeleteEnabled(bool)&quot;, which allows the test to set or unset this behavior in the webView.  Also added a test that illustrates that when smart editing is disabled, smart deleting behavior changes -- in fact, the test is just one of the smart delete tests modified to have this setting disabled.

As far as I can tell, disabling smart editing in one test does not affect others.  Tests before and after this test that require smart editing still pass on my system.

However, I am only able to test this on a Windows system, so many of the Mac-only layout tests don&apos;t run for me regardless.  Is there a way for me to try this patch on a publicly available Mac builder, or is there a way that a reviewer help me with this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90683</commentid>
    <comment_count>2</comment_count>
      <attachid>23232</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2008-09-09 13:26:37 -0700</bug_when>
    <thetext>Comment on attachment 23232
Possible fix to bug 20655

This will break the mac build as you have not included a version of LayoutTestController::setSmartInsertDeleteEnabled for the mac.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90715</commentid>
    <comment_count>3</comment_count>
      <attachid>23308</attachid>
    <who name="Glenn Wilson">gwilson</who>
    <bug_when>2008-09-09 18:18:03 -0700</bug_when>
    <thetext>Created attachment 23308
Possible fix to bug 20655

Here is an improved patch that also modifies the mac/LayoutTestController.

Should this also modify the Gtk / Qt versions of LayoutTestController as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90717</commentid>
    <comment_count>4</comment_count>
      <attachid>23308</attachid>
    <who name="Glenn Wilson">gwilson</who>
    <bug_when>2008-09-09 18:33:41 -0700</bug_when>
    <thetext>Comment on attachment 23308
Possible fix to bug 20655

oops, found a bug in this...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90719</commentid>
    <comment_count>5</comment_count>
      <attachid>23310</attachid>
    <who name="Glenn Wilson">gwilson</who>
    <bug_when>2008-09-09 18:43:07 -0700</bug_when>
    <thetext>Created attachment 23310
Possible fix w/ mac support

This should also modify LayoutTestControllerMac.mm...sorry about that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90721</commentid>
    <comment_count>6</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2008-09-09 19:19:02 -0700</bug_when>
    <thetext>Do we need to reset the state of smart insert/delete between tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90809</commentid>
    <comment_count>7</comment_count>
      <attachid>23310</attachid>
    <who name="Glenn Wilson">gwilson</who>
    <bug_when>2008-09-10 16:08:00 -0700</bug_when>
    <thetext>Comment on attachment 23310
Possible fix w/ mac support

From just a quick test, yes, it does look like it needs to be reset.  Working on an improved patch now...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>90909</commentid>
    <comment_count>8</comment_count>
      <attachid>23362</attachid>
    <who name="Glenn Wilson">gwilson</who>
    <bug_when>2008-09-11 19:07:07 -0700</bug_when>
    <thetext>Created attachment 23362
Possible fix to bug 20655

Here is the fix with a modified DumpRenderTree that resets the smartInsertDeleteEnabled flag to true after each test.  I tested this by adding a test that required smart delete that would run last, after the tests that disabled smartInsertDelete.   I didn&apos;t include this &quot;teardown&quot; test in the patch, though, since it is merely one of the existing smart deleting tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95256</commentid>
    <comment_count>9</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2008-10-14 01:22:00 -0700</bug_when>
    <thetext>Will land.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95272</commentid>
    <comment_count>10</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2008-10-14 03:00:55 -0700</bug_when>
    <thetext>My Mac Mini died in the middle of testing this patch.  I&apos;m going to take it into the store tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95332</commentid>
    <comment_count>11</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2008-10-14 12:27:15 -0700</bug_when>
    <thetext>It&apos;s going to be a week before I get my Mac Mini back.  Unassigning.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95493</commentid>
    <comment_count>12</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-10-15 20:00:32 -0700</bug_when>
    <thetext>I&apos;ll land this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95537</commentid>
    <comment_count>13</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-10-16 08:54:49 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/37633</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23232</attachid>
            <date>2008-09-07 17:37:59 -0700</date>
            <delta_ts>2008-09-09 18:18:03 -0700</delta_ts>
            <desc>Possible fix to bug 20655</desc>
            <filename>patch20655.txt</filename>
            <type>text/plain</type>
            <size>8234</size>
            <attacher name="Glenn Wilson">gwilson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktpdFRvb2xz
L0NoYW5nZUxvZwkocmV2aXNpb24gMzYyNjIpDQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpDQpAQCAtMSwzICsxLDE3IEBADQorMjAwOC0wOS0wNyAgR2xlbm4gV2lsc29u
ICA8Z3dpbHNvbkBnb29nbGUuY29tPg0KKw0KKyAgICAgICAgQWRkZWQgbmV3IG1ldGhvZCB0byBh
bGxvdyB0ZXN0cyB0byBkaXNhYmxlIHNtYXJ0IGVkaXRpbmcgaW4gdGhlIGNvdXJzZSBvZiBhIHRl
c3QuDQorICAgICAgICBUaGlzIGlzIGEgcG9zc2libGUgc29sdXRpb24gdG8gYnVnIC4yMDY1NQ0K
Kw0KKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuDQorDQorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcDoNCisgICAgICAgIChzZXRTbWFy
dEluc2VydERlbGV0ZUVuYWJsZWRDYWxsYmFjayk6IG5ldyBtZXRob2QNCisgICAgICAgIChMYXlv
dXRUZXN0Q29udHJvbGxlcjo6c3RhdGljRnVuY3Rpb25zKTogYWRkZWQgbmV3IG1ldGhvZCB0byBz
dGF0aWMgbGlzdCBvZiBjYWxsYmFja3MNCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0
VGVzdENvbnRyb2xsZXIuaDogYWRkZWQgc2lnbmF0dXJlIG9mIG5ldyBtZXRob2QNCisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNwcDoNCisgICAg
ICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVkKTog
YWRkZWQgbmV3IG10aG9kDQorDQogMjAwOC0wOS0wNyAgU3RlcGhhbmllIExld2lzICA8c2xld2lz
QGFwcGxlLmNvbT4NCiANCiAgICAgICAgIFJldmlld2VkIGJ5IE1hcmsgUm93ZS4NCkluZGV4OiBX
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHANCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0NCi0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxl
ci5jcHAJKHJldmlzaW9uIDM2MTEyKQ0KKysrIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xh
eW91dFRlc3RDb250cm9sbGVyLmNwcAkod29ya2luZyBjb3B5KQ0KQEAgLTYwNyw2ICs2MDcsMTYg
QEAgc3RhdGljIEpTVmFsdWVSZWYgc2V0UG9wdXBCbG9ja2luZ0VuYWJsZQ0KICAgICByZXR1cm4g
SlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7DQogfQ0KIA0KK3N0YXRpYyBKU1ZhbHVlUmVm
IHNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZENhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0
LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFy
Z3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4
Y2VwdGlvbikNCit7DQorICAgIGlmIChhcmd1bWVudENvdW50IDwgMSkNCisgICAgICAgIHJldHVy
biBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsNCisNCisgICAgTGF5b3V0VGVzdENvbnRy
b2xsZXIqIGNvbnRyb2xsZXIgPSByZWludGVycHJldF9jYXN0PExheW91dFRlc3RDb250cm9sbGVy
Kj4oSlNPYmplY3RHZXRQcml2YXRlKHRoaXNPYmplY3QpKTsNCisgICAgY29udHJvbGxlci0+c2V0
U21hcnRJbnNlcnREZWxldGVFbmFibGVkKEpTVmFsdWVUb0Jvb2xlYW4oY29udGV4dCwgYXJndW1l
bnRzWzBdKSk7DQorICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsNCit9
DQorDQogc3RhdGljIEpTVmFsdWVSZWYgc2V0U3RvcFByb3Zpc2lvbmFsRnJhbWVMb2Fkc0NhbGxi
YWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RS
ZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJn
dW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikNCiB7DQogICAgIExheW91dFRlc3RDb250
cm9sbGVyKiBjb250cm9sbGVyID0gcmVpbnRlcnByZXRfY2FzdDxMYXlvdXRUZXN0Q29udHJvbGxl
cio+KEpTT2JqZWN0R2V0UHJpdmF0ZSh0aGlzT2JqZWN0KSk7DQpAQCAtNzIyLDcgKzczMiw4IEBA
IEpTU3RhdGljRnVuY3Rpb24qIExheW91dFRlc3RDb250cm9sbGVyOjoNCiAgICAgICAgIHsgInNl
dFBlcnNpc3RlbnRVc2VyU3R5bGVTaGVldExvY2F0aW9uIiwgc2V0UGVyc2lzdGVudFVzZXJTdHls
ZVNoZWV0TG9jYXRpb25DYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtK
U1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LA0KICAgICAgICAgeyAic2V0UHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZCIsIHNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRDYWxsYmFjaywga0pTUHJv
cGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9
LA0KICAgICAgICAgeyAic2V0UG9wdXBCbG9ja2luZ0VuYWJsZWQiLCBzZXRQb3B1cEJsb2NraW5n
RW5hYmxlZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVy
dHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sDQotICAgICAgICB7ICJzZXRTdG9wUHJvdmlzaW9uYWxG
cmFtZUxvYWRzIiwgc2V0U3RvcFByb3Zpc2lvbmFsRnJhbWVMb2Fkc0NhbGxiYWNrLCBrSlNQcm9w
ZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0s
DQorICAgICAgICB7ICJzZXRTbWFydEluc2VydERlbGV0ZUVuYWJsZWQiLCBzZXRTbWFydEluc2Vy
dERlbGV0ZUVuYWJsZWRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtK
U1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LA0KKyAgICAgICAgeyAic2V0U3RvcFByb3Zp
c2lvbmFsRnJhbWVMb2FkcyIsIHNldFN0b3BQcm92aXNpb25hbEZyYW1lTG9hZHNDYWxsYmFjaywg
a0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERl
bGV0ZSB9LA0KICAgICAgICAgeyAic2V0VGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzIiwgc2V0
VGFiS2V5Q3ljbGVzVGhyb3VnaEVsZW1lbnRzQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRl
UmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwNCiAgICAgICAgIHsg
InNldFVzZURhc2hib2FyZENvbXBhdGliaWxpdHlNb2RlIiwgc2V0VXNlRGFzaGJvYXJkQ29tcGF0
aWJpbGl0eU1vZGVDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1By
b3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LA0KICAgICAgICAgeyAic2V0VXNlclN0eWxlU2hl
ZXRFbmFibGVkIiwgc2V0VXNlclN0eWxlU2hlZXRFbmFibGVkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5
QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwNCklu
ZGV4OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5oDQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09DQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRy
b2xsZXIuaAkocmV2aXNpb24gMzYxMTIpDQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUv
TGF5b3V0VGVzdENvbnRyb2xsZXIuaAkod29ya2luZyBjb3B5KQ0KQEAgLTYyLDYgKzYyLDcgQEAg
cHVibGljOg0KICAgICB2b2lkIHNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoYm9vbCBmbGFnKTsN
CiAgICAgdm9pZCBzZXRQb3B1cEJsb2NraW5nRW5hYmxlZChib29sIGZsYWcpOw0KICAgICB2b2lk
IHNldFRhYktleUN5Y2xlc1Rocm91Z2hFbGVtZW50cyhib29sIGN5Y2xlcyk7DQorICAgIHZvaWQg
c2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVkKGJvb2wgZmxhZyk7DQogICAgIHZvaWQgc2V0VXNl
RGFzaGJvYXJkQ29tcGF0aWJpbGl0eU1vZGUoYm9vbCBmbGFnKTsNCiAgICAgdm9pZCBzZXRVc2Vy
U3R5bGVTaGVldEVuYWJsZWQoYm9vbCBmbGFnKTsNCiAgICAgdm9pZCBzZXRVc2VyU3R5bGVTaGVl
dExvY2F0aW9uKEpTU3RyaW5nUmVmIHBhdGgpOw0KSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldpbi5jcHANCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBX
ZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3Bw
CShyZXZpc2lvbiAzNjExMikNCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS93aW4vTGF5
b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwCSh3b3JraW5nIGNvcHkpDQpAQCAtNTA3LDYgKzUwNywx
OSBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpzZXRXaW5kb3dJc0tlDQogICAgIDo6U2Vu
ZE1lc3NhZ2Uod2ViVmlld1dpbmRvdywgZmxhZyA/IFdNX1NFVEZPQ1VTIDogV01fS0lMTEZPQ1VT
LCAoV1BBUkFNKTo6R2V0RGVza3RvcFdpbmRvdygpLCAwKTsNCiB9DQogDQordm9pZCBMYXlvdXRU
ZXN0Q29udHJvbGxlcjo6c2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVkKGJvb2wgZmxhZykNCit7
DQorICAgIENPTVB0cjxJV2ViVmlldz4gd2ViVmlldzsNCisgICAgaWYgKEZBSUxFRChmcmFtZS0+
d2ViVmlldygmd2ViVmlldykpKQ0KKyAgICAgICAgcmV0dXJuOw0KKw0KKyAgICBDT01QdHI8SVdl
YlZpZXdFZGl0aW5nPiB2aWV3RWRpdGluZzsNCisgICAgaWYgKEZBSUxFRCh3ZWJWaWV3LT5RdWVy
eUludGVyZmFjZSgmdmlld0VkaXRpbmcpKSkNCisgICAgICAgIHJldHVybjsNCisNCisgICAgdmll
d0VkaXRpbmctPnNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZChmbGFnID8gVFJVRSA6IEZBTFNF
KTsNCit9DQorDQogc3RhdGljIGNvbnN0IENGVGltZUludGVydmFsIHdhaXRUb0R1bXBXYXRjaGRv
Z0ludGVydmFsID0gMTAuMDsNCiANCiBzdGF0aWMgdm9pZCB3YWl0VW50aWxEb25lV2F0Y2hkb2dG
aXJlZChDRlJ1bkxvb3BUaW1lclJlZiB0aW1lciwgdm9pZCogaW5mbykNCkluZGV4OiBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDM2MjYyKQ0KKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQ0K
QEAgLTEsMyArMSwxMiBAQA0KKzIwMDgtMDktMDcgIEdsZW5uIFdpbHNvbiAgPGd3aWxzb25AZ29v
Z2xlLmNvbT4NCisNCisgICAgICAgIEFkZGVkIHRlc3RzIHRvIHZlcmlmeSB0aGF0IHNtYXJ0IGVk
aXRpbmcgY2FuIGJlIGRpc2FibGVkIGZvciBzb21lIHRlc3RzLg0KKw0KKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuDQorDQorICAgICAgICAqIGVkaXRpbmcvZGVsZXRpbmcvc21h
cnQtZWRpdGluZy1kaXNhYmxlZC1leHBlY3RlZC50eHQ6IEFkZGVkLg0KKyAgICAgICAgKiBlZGl0
aW5nL2RlbGV0aW5nL3NtYXJ0LWVkaXRpbmctZGlzYWJsZWQuaHRtbDogQWRkZWQuDQorDQogMjAw
OC0wOS0wNyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPg0KIA0KICAgICAgICAgUmV2
aWV3ZWQgYnkgU2FtIFdlaW5pZy4NCkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5n
L3NtYXJ0LWVkaXRpbmctZGlzYWJsZWQtZXhwZWN0ZWQudHh0DQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gTGF5
b3V0VGVzdHMvZWRpdGluZy9kZWxldGluZy9zbWFydC1lZGl0aW5nLWRpc2FibGVkLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gMCkNCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nL3NtYXJ0
LWVkaXRpbmctZGlzYWJsZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQ0KQEAgLTAsMCArMSw1
IEBADQorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc21hcnQgaW5zZXJ0IGFuZCBkZWxldGUgY2Fu
IGJlIGRpc2FibGVkIGF0IHRlc3QgdGltZS4NCitJZiB2aWV3aW5nIGluIGEgYnJvd3NlciwgeW91
IHNob3VsZCBzZWUgdGhlIHdvcmRzICJmb28gYmFyIGJheiIuDQorSWYgdXNpbmcgYSB2ZXJzaW9u
IG9mIExheW91dFRlc3RDb250cm9sbGVyIHdpdGggdGhpcyBmdW5jdGlvbmFsaXR5LCB5b3Ugc2hv
dWxkIHNlZSAiZm9vIGJheiIuICh0d28gc3BhY2VzIGJldHdlZW4gdGhlIHdvcmRzKQ0KK0lmIHVz
aW5nIGEgdmVyc2lvbiBvZiBMYXlvdXRUZXN0Q29udHJvbGxlciB3aXRob3V0IHRoaXMgZnVuY3Rp
b25hbGl0eSwgeW91IHNob3VsZCBzZWUgImZvbyBiYXoiLiAob25lIHNwYWNlIGJldHdlZW4gdGhl
IHdvcmRzKQ0KK2ZvbyDCoGJheg0KSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcv
c21hcnQtZWRpdGluZy1kaXNhYmxlZC5odG1sDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gTGF5b3V0VGVzdHMv
ZWRpdGluZy9kZWxldGluZy9zbWFydC1lZGl0aW5nLWRpc2FibGVkLmh0bWwJKHJldmlzaW9uIDAp
DQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9kZWxldGluZy9zbWFydC1lZGl0aW5nLWRpc2FibGVk
Lmh0bWwJKHJldmlzaW9uIDApDQpAQCAtMCwwICsxLDQxIEBADQorPGh0bWw+IA0KKzxoZWFkPg0K
KzxzY3JpcHQ+DQorDQoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgew0KKyAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7DQorICAgIGxheW91dFRlc3RDb250cm9s
bGVyLnNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZChmYWxzZSk7DQorfQ0KKw0KK2Z1bmN0aW9u
IGVkaXRpbmdUZXN0KCkgew0KKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImRpdiIpOw0KKyAgICB2YXIgc2VsID0gd2luZG93LmdldFNlbGVjdGlvbigpOw0KKyAgICANCisg
ICAgc2VsLnNldFBvc2l0aW9uKGRpdiwgMCk7DQorICAgIHNlbC5tb2RpZnkoIm1vdmUiLCAiZm9y
d2FyZCIsICJ3b3JkIik7DQorICAgIHNlbC5tb2RpZnkoIm1vdmUiLCAiZm9yd2FyZCIsICJ3b3Jk
Iik7DQorICAgIHNlbC5tb2RpZnkoImV4dGVuZCIsICJiYWNrd2FyZCIsICJ3b3JkIik7DQorICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmV4ZWNDb21tYW5kKCJEZWxldGVGb3J3YXJkIik7DQorfQ0K
Kw0KKzwvc2NyaXB0Pg0KKzx0aXRsZT5FZGl0aW5nIFRlc3Q8L3RpdGxlPiANCis8L2hlYWQ+IA0K
Kzxib2R5Pg0KK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNtYXJ0IGluc2VydCBhbmQgZGVsZXRl
IGNhbiBiZSBkaXNhYmxlZCBhdCB0ZXN0IHRpbWUuPGJyPg0KK0lmIHZpZXdpbmcgaW4gYSBicm93
c2VyLCB5b3Ugc2hvdWxkIHNlZSB0aGUgd29yZHMgImZvbyBiYXIgYmF6Ii48YnI+DQorSWYgdXNp
bmcgYSB2ZXJzaW9uIG9mIExheW91dFRlc3RDb250cm9sbGVyIHdpdGggdGhpcyBmdW5jdGlvbmFs
aXR5LCB5b3Ugc2hvdWxkIHNlZSAiZm9vICBiYXoiLiAodHdvIHNwYWNlcyBiZXR3ZWVuIHRoZSB3
b3Jkcyk8YnI+DQorSWYgdXNpbmcgYSB2ZXJzaW9uIG9mIExheW91dFRlc3RDb250cm9sbGVyIHdp
dGhvdXQgdGhpcyBmdW5jdGlvbmFsaXR5LCB5b3Ugc2hvdWxkIHNlZSAiZm9vIGJheiIuIChvbmUg
c3BhY2UgYmV0d2VlbiB0aGUgd29yZHMpPGJyPg0KKzwvZGl2Pg0KKzwvZGl2Pg0KKw0KKzxkaXYg
Y29udGVudGVkaXRhYmxlPSJ0cnVlIiBpZD0iZGl2Ij4NCitmb28gYmFyIGJheiAgICAgDQorPC9k
aXY+DQorDQorPHNjcmlwdD4NCitlZGl0aW5nVGVzdCgpOw0KKzwvc2NyaXB0Pg0KKw0KKzwvYm9k
eT4NCis8L2h0bWw+DQoNClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2VkaXRpbmcv
ZGVsZXRpbmcvc21hcnQtZWRpdGluZy1kaXNhYmxlZC5odG1sDQpfX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQpBZGRlZDog
c3ZuOmV4ZWN1dGFibGUNCiAgICsgKg0KDQo=
</data>
<flag name="review"
          id="10350"
          type_id="1"
          status="-"
          setter="sam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23308</attachid>
            <date>2008-09-09 18:18:03 -0700</date>
            <delta_ts>2008-09-09 18:33:41 -0700</delta_ts>
            <desc>Possible fix to bug 20655</desc>
            <filename>patch20655-2.txt</filename>
            <type>text/plain</type>
            <size>9092</size>
            <attacher name="Glenn Wilson">gwilson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktpdFRvb2xz
L0NoYW5nZUxvZwkocmV2aXNpb24gMzYzMDYpDQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpDQpAQCAtMSwzICsxLDE5IEBADQorMjAwOC0wOS0wNyAgR2xlbm4gV2lsc29u
ICA8Z3dpbHNvbkBnb29nbGUuY29tPg0KKw0KKyAgICAgICAgQWRkZWQgbmV3IG1ldGhvZCB0byBh
bGxvdyB0ZXN0cyB0byBkaXNhYmxlIHNtYXJ0IGVkaXRpbmcgaW4gdGhlIGNvdXJzZSBvZiBhIHRl
c3QuDQorICAgICAgICBUaGlzIGlzIGEgcG9zc2libGUgc29sdXRpb24gdG8gYnVnIC4yMDY1NQ0K
Kw0KKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuDQorDQorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcDoNCisgICAgICAgIChzZXRTbWFy
dEluc2VydERlbGV0ZUVuYWJsZWRDYWxsYmFjayk6IG5ldyBtZXRob2QNCisgICAgICAgIChMYXlv
dXRUZXN0Q29udHJvbGxlcjo6c3RhdGljRnVuY3Rpb25zKTogYWRkZWQgbmV3IG1ldGhvZCB0byBz
dGF0aWMgbGlzdCBvZiBjYWxsYmFja3MNCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0
VGVzdENvbnRyb2xsZXIuaDogYWRkZWQgc2lnbmF0dXJlIG9mIG5ldyBtZXRob2QNCisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tOg0KKyAgICAg
ICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzZXRTbWFydEluc2VydERlbGV0ZUVuYWJsZWQpOiBh
ZGRlZCBuZXcgbWV0aG9kDQorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0
Q29udHJvbGxlcldpbi5jcHA6DQorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFNt
YXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCk6IGFkZGVkIG5ldyBtZXRob2QNCisNCiAyMDA4LTA5LTA4
ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+DQogDQogICAgICAgICBSZXZpZXdlZCBi
eSBNYXJrIFJvd2UuDQpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVz
dENvbnRyb2xsZXIuY3BwDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAzNjExMikNCisrKyBXZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29w
eSkNCkBAIC02MDcsNiArNjA3LDE2IEBAIHN0YXRpYyBKU1ZhbHVlUmVmIHNldFBvcHVwQmxvY2tp
bmdFbmFibGUNCiAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOw0KIH0N
CiANCitzdGF0aWMgSlNWYWx1ZVJlZiBzZXRTbWFydEluc2VydERlbGV0ZUVuYWJsZWRDYWxsYmFj
ayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVm
IHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3Vt
ZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pDQorew0KKyAgICBpZiAoYXJndW1lbnRDb3Vu
dCA8IDEpDQorICAgICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7DQor
DQorICAgIExheW91dFRlc3RDb250cm9sbGVyKiBjb250cm9sbGVyID0gcmVpbnRlcnByZXRfY2Fz
dDxMYXlvdXRUZXN0Q29udHJvbGxlcio+KEpTT2JqZWN0R2V0UHJpdmF0ZSh0aGlzT2JqZWN0KSk7
DQorICAgIGNvbnRyb2xsZXItPnNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZChKU1ZhbHVlVG9C
b29sZWFuKGNvbnRleHQsIGFyZ3VtZW50c1swXSkpOw0KKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VV
bmRlZmluZWQoY29udGV4dCk7DQorfQ0KKw0KIHN0YXRpYyBKU1ZhbHVlUmVmIHNldFN0b3BQcm92
aXNpb25hbEZyYW1lTG9hZHNDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RS
ZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50
LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pDQog
ew0KICAgICBMYXlvdXRUZXN0Q29udHJvbGxlciogY29udHJvbGxlciA9IHJlaW50ZXJwcmV0X2Nh
c3Q8TGF5b3V0VGVzdENvbnRyb2xsZXIqPihKU09iamVjdEdldFByaXZhdGUodGhpc09iamVjdCkp
Ow0KQEAgLTcyMiw3ICs3MzIsOCBAQCBKU1N0YXRpY0Z1bmN0aW9uKiBMYXlvdXRUZXN0Q29udHJv
bGxlcjo6DQogICAgICAgICB7ICJzZXRQZXJzaXN0ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlvbiIs
IHNldFBlcnNpc3RlbnRVc2VyU3R5bGVTaGVldExvY2F0aW9uQ2FsbGJhY2ssIGtKU1Byb3BlcnR5
QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwNCiAg
ICAgICAgIHsgInNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQiLCBzZXRQcml2YXRlQnJvd3NpbmdF
bmFibGVkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0
eUF0dHJpYnV0ZURvbnREZWxldGUgfSwNCiAgICAgICAgIHsgInNldFBvcHVwQmxvY2tpbmdFbmFi
bGVkIiwgc2V0UG9wdXBCbG9ja2luZ0VuYWJsZWRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1
dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LA0KLSAgICAgICAg
eyAic2V0U3RvcFByb3Zpc2lvbmFsRnJhbWVMb2FkcyIsIHNldFN0b3BQcm92aXNpb25hbEZyYW1l
TG9hZHNDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5
QXR0cmlidXRlRG9udERlbGV0ZSB9LA0KKyAgICAgICAgeyAic2V0U21hcnRJbnNlcnREZWxldGVF
bmFibGVkIiwgc2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5
QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwNCisg
ICAgICAgIHsgInNldFN0b3BQcm92aXNpb25hbEZyYW1lTG9hZHMiLCBzZXRTdG9wUHJvdmlzaW9u
YWxGcmFtZUxvYWRzQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQ
cm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwNCiAgICAgICAgIHsgInNldFRhYktleUN5Y2xl
c1Rocm91Z2hFbGVtZW50cyIsIHNldFRhYktleUN5Y2xlc1Rocm91Z2hFbGVtZW50c0NhbGxiYWNr
LCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250
RGVsZXRlIH0sDQogICAgICAgICB7ICJzZXRVc2VEYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9kZSIs
IHNldFVzZURhc2hib2FyZENvbXBhdGliaWxpdHlNb2RlQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0
cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwNCiAgICAg
ICAgIHsgInNldFVzZXJTdHlsZVNoZWV0RW5hYmxlZCIsIHNldFVzZXJTdHlsZVNoZWV0RW5hYmxl
ZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRy
aWJ1dGVEb250RGVsZXRlIH0sDQpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5
b3V0VGVzdENvbnRyb2xsZXIuaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgJKHJldmlzaW9uIDM2MTEyKQ0KKysrIFdlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgJKHdvcmtpbmcgY29w
eSkNCkBAIC02Miw2ICs2Miw3IEBAIHB1YmxpYzoNCiAgICAgdm9pZCBzZXRQcml2YXRlQnJvd3Np
bmdFbmFibGVkKGJvb2wgZmxhZyk7DQogICAgIHZvaWQgc2V0UG9wdXBCbG9ja2luZ0VuYWJsZWQo
Ym9vbCBmbGFnKTsNCiAgICAgdm9pZCBzZXRUYWJLZXlDeWNsZXNUaHJvdWdoRWxlbWVudHMoYm9v
bCBjeWNsZXMpOw0KKyAgICB2b2lkIHNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZChib29sIGZs
YWcpOw0KICAgICB2b2lkIHNldFVzZURhc2hib2FyZENvbXBhdGliaWxpdHlNb2RlKGJvb2wgZmxh
Zyk7DQogICAgIHZvaWQgc2V0VXNlclN0eWxlU2hlZXRFbmFibGVkKGJvb2wgZmxhZyk7DQogICAg
IHZvaWQgc2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbihKU1N0cmluZ1JlZiBwYXRoKTsNCkluZGV4
OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMu
bW0NCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0
VGVzdENvbnRyb2xsZXJNYWMubW0JKHJldmlzaW9uIDM2MTEyKQ0KKysrIFdlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5tbQkod29ya2luZyBjb3B5
KQ0KQEAgLTI0OSw2ICsyNDksMTEgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0V2lu
ZG93SXNLZQ0KICAgICAgICAgWyhXZWJIVE1MVmlldyAqKWRvY3VtZW50VmlldyBfdXBkYXRlRm9j
dXNlZEFuZEFjdGl2ZVN0YXRlXTsNCiB9DQogDQordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
c2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVkKGJvb2wgZmxhZykNCit7DQorICAgIFtbbWFpbkZy
YW1lIHdlYlZpZXddIHNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZChmbGFnKTsNCit9DQorDQog
c3RhdGljIGNvbnN0IENGVGltZUludGVydmFsIHdhaXRUb0R1bXBXYXRjaGRvZ0ludGVydmFsID0g
MTAuMDsNCiANCiBzdGF0aWMgdm9pZCB3YWl0VW50aWxEb25lV2F0Y2hkb2dGaXJlZChDRlJ1bkxv
b3BUaW1lclJlZiB0aW1lciwgdm9pZCogaW5mbykNCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwDQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0g
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNw
cAkocmV2aXNpb24gMzYxMTIpDQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xh
eW91dFRlc3RDb250cm9sbGVyV2luLmNwcAkod29ya2luZyBjb3B5KQ0KQEAgLTUwNyw2ICs1MDcs
MTkgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0V2luZG93SXNLZQ0KICAgICA6OlNl
bmRNZXNzYWdlKHdlYlZpZXdXaW5kb3csIGZsYWcgPyBXTV9TRVRGT0NVUyA6IFdNX0tJTExGT0NV
UywgKFdQQVJBTSk6OkdldERlc2t0b3BXaW5kb3coKSwgMCk7DQogfQ0KIA0KK3ZvaWQgTGF5b3V0
VGVzdENvbnRyb2xsZXI6OnNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZChib29sIGZsYWcpDQor
ew0KKyAgICBDT01QdHI8SVdlYlZpZXc+IHdlYlZpZXc7DQorICAgIGlmIChGQUlMRUQoZnJhbWUt
PndlYlZpZXcoJndlYlZpZXcpKSkNCisgICAgICAgIHJldHVybjsNCisNCisgICAgQ09NUHRyPElX
ZWJWaWV3RWRpdGluZz4gdmlld0VkaXRpbmc7DQorICAgIGlmIChGQUlMRUQod2ViVmlldy0+UXVl
cnlJbnRlcmZhY2UoJnZpZXdFZGl0aW5nKSkpDQorICAgICAgICByZXR1cm47DQorDQorICAgIHZp
ZXdFZGl0aW5nLT5zZXRTbWFydEluc2VydERlbGV0ZUVuYWJsZWQoZmxhZyA/IFRSVUUgOiBGQUxT
RSk7DQorfQ0KKw0KIHN0YXRpYyBjb25zdCBDRlRpbWVJbnRlcnZhbCB3YWl0VG9EdW1wV2F0Y2hk
b2dJbnRlcnZhbCA9IDEwLjA7DQogDQogc3RhdGljIHZvaWQgd2FpdFVudGlsRG9uZVdhdGNoZG9n
RmlyZWQoQ0ZSdW5Mb29wVGltZXJSZWYgdGltZXIsIHZvaWQqIGluZm8pDQpJbmRleDogTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAzNjMwNikNCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkN
CkBAIC0xLDMgKzEsMTIgQEANCisyMDA4LTA5LTA3ICBHbGVubiBXaWxzb24gIDxnd2lsc29uQGdv
b2dsZS5jb20+DQorDQorICAgICAgICBBZGRlZCB0ZXN0cyB0byB2ZXJpZnkgdGhhdCBzbWFydCBl
ZGl0aW5nIGNhbiBiZSBkaXNhYmxlZCBmb3Igc29tZSB0ZXN0cy4NCisNCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLg0KKw0KKyAgICAgICAgKiBlZGl0aW5nL2RlbGV0aW5nL3Nt
YXJ0LWVkaXRpbmctZGlzYWJsZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4NCisgICAgICAgICogZWRp
dGluZy9kZWxldGluZy9zbWFydC1lZGl0aW5nLWRpc2FibGVkLmh0bWw6IEFkZGVkLg0KKw0KIDIw
MDgtMDktMDUgIENocmlzIE1hcnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPg0KIA0KICAgICAgICAg
UmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4NCkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0
aW5nL3NtYXJ0LWVkaXRpbmctZGlzYWJsZWQtZXhwZWN0ZWQudHh0DQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0g
TGF5b3V0VGVzdHMvZWRpdGluZy9kZWxldGluZy9zbWFydC1lZGl0aW5nLWRpc2FibGVkLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkNCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nL3Nt
YXJ0LWVkaXRpbmctZGlzYWJsZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQ0KQEAgLTAsMCAr
MSw1IEBADQorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc21hcnQgaW5zZXJ0IGFuZCBkZWxldGUg
Y2FuIGJlIGRpc2FibGVkIGF0IHRlc3QgdGltZS4NCitJZiB2aWV3aW5nIGluIGEgYnJvd3Nlciwg
eW91IHNob3VsZCBzZWUgdGhlIHdvcmRzICJmb28gYmFyIGJheiIuDQorSWYgdXNpbmcgYSB2ZXJz
aW9uIG9mIExheW91dFRlc3RDb250cm9sbGVyIHdpdGggdGhpcyBmdW5jdGlvbmFsaXR5LCB5b3Ug
c2hvdWxkIHNlZSAiZm9vIGJheiIuICh0d28gc3BhY2VzIGJldHdlZW4gdGhlIHdvcmRzKQ0KK0lm
IHVzaW5nIGEgdmVyc2lvbiBvZiBMYXlvdXRUZXN0Q29udHJvbGxlciB3aXRob3V0IHRoaXMgZnVu
Y3Rpb25hbGl0eSwgeW91IHNob3VsZCBzZWUgImZvbyBiYXoiLiAob25lIHNwYWNlIGJldHdlZW4g
dGhlIHdvcmRzKQ0KK2ZvbyDCoGJheg0KSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvZGVsZXRp
bmcvc21hcnQtZWRpdGluZy1kaXNhYmxlZC5odG1sDQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gTGF5b3V0VGVz
dHMvZWRpdGluZy9kZWxldGluZy9zbWFydC1lZGl0aW5nLWRpc2FibGVkLmh0bWwJKHJldmlzaW9u
IDApDQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9kZWxldGluZy9zbWFydC1lZGl0aW5nLWRpc2Fi
bGVkLmh0bWwJKHJldmlzaW9uIDApDQpAQCAtMCwwICsxLDQxIEBADQorPGh0bWw+IA0KKzxoZWFk
Pg0KKzxzY3JpcHQ+DQorDQoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgew0KKyAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7DQorICAgIGxheW91dFRlc3RDb250
cm9sbGVyLnNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZChmYWxzZSk7DQorfQ0KKw0KK2Z1bmN0
aW9uIGVkaXRpbmdUZXN0KCkgew0KKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImRpdiIpOw0KKyAgICB2YXIgc2VsID0gd2luZG93LmdldFNlbGVjdGlvbigpOw0KKyAgICAN
CisgICAgc2VsLnNldFBvc2l0aW9uKGRpdiwgMCk7DQorICAgIHNlbC5tb2RpZnkoIm1vdmUiLCAi
Zm9yd2FyZCIsICJ3b3JkIik7DQorICAgIHNlbC5tb2RpZnkoIm1vdmUiLCAiZm9yd2FyZCIsICJ3
b3JkIik7DQorICAgIHNlbC5tb2RpZnkoImV4dGVuZCIsICJiYWNrd2FyZCIsICJ3b3JkIik7DQor
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmV4ZWNDb21tYW5kKCJEZWxldGVGb3J3YXJkIik7DQor
fQ0KKw0KKzwvc2NyaXB0Pg0KKzx0aXRsZT5FZGl0aW5nIFRlc3Q8L3RpdGxlPiANCis8L2hlYWQ+
IA0KKzxib2R5Pg0KK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNtYXJ0IGluc2VydCBhbmQgZGVs
ZXRlIGNhbiBiZSBkaXNhYmxlZCBhdCB0ZXN0IHRpbWUuPGJyPg0KK0lmIHZpZXdpbmcgaW4gYSBi
cm93c2VyLCB5b3Ugc2hvdWxkIHNlZSB0aGUgd29yZHMgImZvbyBiYXIgYmF6Ii48YnI+DQorSWYg
dXNpbmcgYSB2ZXJzaW9uIG9mIExheW91dFRlc3RDb250cm9sbGVyIHdpdGggdGhpcyBmdW5jdGlv
bmFsaXR5LCB5b3Ugc2hvdWxkIHNlZSAiZm9vICBiYXoiLiAodHdvIHNwYWNlcyBiZXR3ZWVuIHRo
ZSB3b3Jkcyk8YnI+DQorSWYgdXNpbmcgYSB2ZXJzaW9uIG9mIExheW91dFRlc3RDb250cm9sbGVy
IHdpdGhvdXQgdGhpcyBmdW5jdGlvbmFsaXR5LCB5b3Ugc2hvdWxkIHNlZSAiZm9vIGJheiIuIChv
bmUgc3BhY2UgYmV0d2VlbiB0aGUgd29yZHMpPGJyPg0KKzwvZGl2Pg0KKzwvZGl2Pg0KKw0KKzxk
aXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBpZD0iZGl2Ij4NCitmb28gYmFyIGJheiAgICAgDQor
PC9kaXY+DQorDQorPHNjcmlwdD4NCitlZGl0aW5nVGVzdCgpOw0KKzwvc2NyaXB0Pg0KKw0KKzwv
Ym9keT4NCis8L2h0bWw+DQoNClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2VkaXRp
bmcvZGVsZXRpbmcvc21hcnQtZWRpdGluZy1kaXNhYmxlZC5odG1sDQpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQpBZGRl
ZDogc3ZuOmV4ZWN1dGFibGUNCiAgICsgKg0KDQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23310</attachid>
            <date>2008-09-09 18:43:07 -0700</date>
            <delta_ts>2008-09-10 16:08:00 -0700</delta_ts>
            <desc>Possible fix w/ mac support</desc>
            <filename>patch20655-2.txt</filename>
            <type>text/plain</type>
            <size>9092</size>
            <attacher name="Glenn Wilson">gwilson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktpdFRvb2xz
L0NoYW5nZUxvZwkocmV2aXNpb24gMzYzMDYpDQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3
b3JraW5nIGNvcHkpDQpAQCAtMSwzICsxLDE5IEBADQorMjAwOC0wOS0wNyAgR2xlbm4gV2lsc29u
ICA8Z3dpbHNvbkBnb29nbGUuY29tPg0KKw0KKyAgICAgICAgQWRkZWQgbmV3IG1ldGhvZCB0byBh
bGxvdyB0ZXN0cyB0byBkaXNhYmxlIHNtYXJ0IGVkaXRpbmcgaW4gdGhlIGNvdXJzZSBvZiBhIHRl
c3QuDQorICAgICAgICBUaGlzIGlzIGEgcG9zc2libGUgc29sdXRpb24gdG8gYnVnIC4yMDY1NQ0K
Kw0KKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuDQorDQorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmNwcDoNCisgICAgICAgIChzZXRTbWFy
dEluc2VydERlbGV0ZUVuYWJsZWRDYWxsYmFjayk6IG5ldyBtZXRob2QNCisgICAgICAgIChMYXlv
dXRUZXN0Q29udHJvbGxlcjo6c3RhdGljRnVuY3Rpb25zKTogYWRkZWQgbmV3IG1ldGhvZCB0byBz
dGF0aWMgbGlzdCBvZiBjYWxsYmFja3MNCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0
VGVzdENvbnRyb2xsZXIuaDogYWRkZWQgc2lnbmF0dXJlIG9mIG5ldyBtZXRob2QNCisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tOg0KKyAgICAg
ICAgKExheW91dFRlc3RDb250cm9sbGVyOjpzZXRTbWFydEluc2VydERlbGV0ZUVuYWJsZWQpOiBh
ZGRlZCBuZXcgbWV0aG9kDQorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0
Q29udHJvbGxlcldpbi5jcHA6DQorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFNt
YXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCk6IGFkZGVkIG5ldyBtZXRob2QNCisNCiAyMDA4LTA5LTA4
ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+DQogDQogICAgICAgICBSZXZpZXdlZCBi
eSBNYXJrIFJvd2UuDQpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVz
dENvbnRyb2xsZXIuY3BwDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCShyZXZpc2lvbiAzNjExMikNCisrKyBXZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAJKHdvcmtpbmcgY29w
eSkNCkBAIC02MDcsNiArNjA3LDE2IEBAIHN0YXRpYyBKU1ZhbHVlUmVmIHNldFBvcHVwQmxvY2tp
bmdFbmFibGUNCiAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOw0KIH0N
CiANCitzdGF0aWMgSlNWYWx1ZVJlZiBzZXRTbWFydEluc2VydERlbGV0ZUVuYWJsZWRDYWxsYmFj
ayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVm
IHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3Vt
ZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pDQorew0KKyAgICBpZiAoYXJndW1lbnRDb3Vu
dCA8IDEpDQorICAgICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7DQor
DQorICAgIExheW91dFRlc3RDb250cm9sbGVyKiBjb250cm9sbGVyID0gcmVpbnRlcnByZXRfY2Fz
dDxMYXlvdXRUZXN0Q29udHJvbGxlcio+KEpTT2JqZWN0R2V0UHJpdmF0ZSh0aGlzT2JqZWN0KSk7
DQorICAgIGNvbnRyb2xsZXItPnNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZChKU1ZhbHVlVG9C
b29sZWFuKGNvbnRleHQsIGFyZ3VtZW50c1swXSkpOw0KKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VV
bmRlZmluZWQoY29udGV4dCk7DQorfQ0KKw0KIHN0YXRpYyBKU1ZhbHVlUmVmIHNldFN0b3BQcm92
aXNpb25hbEZyYW1lTG9hZHNDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RS
ZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50
LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pDQog
ew0KICAgICBMYXlvdXRUZXN0Q29udHJvbGxlciogY29udHJvbGxlciA9IHJlaW50ZXJwcmV0X2Nh
c3Q8TGF5b3V0VGVzdENvbnRyb2xsZXIqPihKU09iamVjdEdldFByaXZhdGUodGhpc09iamVjdCkp
Ow0KQEAgLTcyMiw3ICs3MzIsOCBAQCBKU1N0YXRpY0Z1bmN0aW9uKiBMYXlvdXRUZXN0Q29udHJv
bGxlcjo6DQogICAgICAgICB7ICJzZXRQZXJzaXN0ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlvbiIs
IHNldFBlcnNpc3RlbnRVc2VyU3R5bGVTaGVldExvY2F0aW9uQ2FsbGJhY2ssIGtKU1Byb3BlcnR5
QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwNCiAg
ICAgICAgIHsgInNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQiLCBzZXRQcml2YXRlQnJvd3NpbmdF
bmFibGVkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0
eUF0dHJpYnV0ZURvbnREZWxldGUgfSwNCiAgICAgICAgIHsgInNldFBvcHVwQmxvY2tpbmdFbmFi
bGVkIiwgc2V0UG9wdXBCbG9ja2luZ0VuYWJsZWRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1
dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LA0KLSAgICAgICAg
eyAic2V0U3RvcFByb3Zpc2lvbmFsRnJhbWVMb2FkcyIsIHNldFN0b3BQcm92aXNpb25hbEZyYW1l
TG9hZHNDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5
QXR0cmlidXRlRG9udERlbGV0ZSB9LA0KKyAgICAgICAgeyAic2V0U21hcnRJbnNlcnREZWxldGVF
bmFibGVkIiwgc2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5
QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwNCisg
ICAgICAgIHsgInNldFN0b3BQcm92aXNpb25hbEZyYW1lTG9hZHMiLCBzZXRTdG9wUHJvdmlzaW9u
YWxGcmFtZUxvYWRzQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQ
cm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwNCiAgICAgICAgIHsgInNldFRhYktleUN5Y2xl
c1Rocm91Z2hFbGVtZW50cyIsIHNldFRhYktleUN5Y2xlc1Rocm91Z2hFbGVtZW50c0NhbGxiYWNr
LCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250
RGVsZXRlIH0sDQogICAgICAgICB7ICJzZXRVc2VEYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9kZSIs
IHNldFVzZURhc2hib2FyZENvbXBhdGliaWxpdHlNb2RlQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0
cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwNCiAgICAg
ICAgIHsgInNldFVzZXJTdHlsZVNoZWV0RW5hYmxlZCIsIHNldFVzZXJTdHlsZVNoZWV0RW5hYmxl
ZENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRy
aWJ1dGVEb250RGVsZXRlIH0sDQpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5
b3V0VGVzdENvbnRyb2xsZXIuaA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgJKHJldmlzaW9uIDM2MTEyKQ0KKysrIFdlYktp
dFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgJKHdvcmtpbmcgY29w
eSkNCkBAIC02Miw2ICs2Miw3IEBAIHB1YmxpYzoNCiAgICAgdm9pZCBzZXRQcml2YXRlQnJvd3Np
bmdFbmFibGVkKGJvb2wgZmxhZyk7DQogICAgIHZvaWQgc2V0UG9wdXBCbG9ja2luZ0VuYWJsZWQo
Ym9vbCBmbGFnKTsNCiAgICAgdm9pZCBzZXRUYWJLZXlDeWNsZXNUaHJvdWdoRWxlbWVudHMoYm9v
bCBjeWNsZXMpOw0KKyAgICB2b2lkIHNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZChib29sIGZs
YWcpOw0KICAgICB2b2lkIHNldFVzZURhc2hib2FyZENvbXBhdGliaWxpdHlNb2RlKGJvb2wgZmxh
Zyk7DQogICAgIHZvaWQgc2V0VXNlclN0eWxlU2hlZXRFbmFibGVkKGJvb2wgZmxhZyk7DQogICAg
IHZvaWQgc2V0VXNlclN0eWxlU2hlZXRMb2NhdGlvbihKU1N0cmluZ1JlZiBwYXRoKTsNCkluZGV4
OiBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMu
bW0NCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0NCi0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0
VGVzdENvbnRyb2xsZXJNYWMubW0JKHJldmlzaW9uIDM2MTEyKQ0KKysrIFdlYktpdFRvb2xzL0R1
bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1hYy5tbQkod29ya2luZyBjb3B5
KQ0KQEAgLTI0OSw2ICsyNDksMTEgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0V2lu
ZG93SXNLZQ0KICAgICAgICAgWyhXZWJIVE1MVmlldyAqKWRvY3VtZW50VmlldyBfdXBkYXRlRm9j
dXNlZEFuZEFjdGl2ZVN0YXRlXTsNCiB9DQogDQordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6
c2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVkKGJvb2wgZmxhZykNCit7DQorICAgIFtbbWFpbkZy
YW1lIHdlYlZpZXddIHNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZDpmbGFnXTsNCit9DQorDQog
c3RhdGljIGNvbnN0IENGVGltZUludGVydmFsIHdhaXRUb0R1bXBXYXRjaGRvZ0ludGVydmFsID0g
MTAuMDsNCiANCiBzdGF0aWMgdm9pZCB3YWl0VW50aWxEb25lV2F0Y2hkb2dGaXJlZChDRlJ1bkxv
b3BUaW1lclJlZiB0aW1lciwgdm9pZCogaW5mbykNCkluZGV4OiBXZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwDQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0g
V2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91dFRlc3RDb250cm9sbGVyV2luLmNw
cAkocmV2aXNpb24gMzYxMTIpDQorKysgV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xh
eW91dFRlc3RDb250cm9sbGVyV2luLmNwcAkod29ya2luZyBjb3B5KQ0KQEAgLTUwNyw2ICs1MDcs
MTkgQEAgdm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0V2luZG93SXNLZQ0KICAgICA6OlNl
bmRNZXNzYWdlKHdlYlZpZXdXaW5kb3csIGZsYWcgPyBXTV9TRVRGT0NVUyA6IFdNX0tJTExGT0NV
UywgKFdQQVJBTSk6OkdldERlc2t0b3BXaW5kb3coKSwgMCk7DQogfQ0KIA0KK3ZvaWQgTGF5b3V0
VGVzdENvbnRyb2xsZXI6OnNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZChib29sIGZsYWcpDQor
ew0KKyAgICBDT01QdHI8SVdlYlZpZXc+IHdlYlZpZXc7DQorICAgIGlmIChGQUlMRUQoZnJhbWUt
PndlYlZpZXcoJndlYlZpZXcpKSkNCisgICAgICAgIHJldHVybjsNCisNCisgICAgQ09NUHRyPElX
ZWJWaWV3RWRpdGluZz4gdmlld0VkaXRpbmc7DQorICAgIGlmIChGQUlMRUQod2ViVmlldy0+UXVl
cnlJbnRlcmZhY2UoJnZpZXdFZGl0aW5nKSkpDQorICAgICAgICByZXR1cm47DQorDQorICAgIHZp
ZXdFZGl0aW5nLT5zZXRTbWFydEluc2VydERlbGV0ZUVuYWJsZWQoZmxhZyA/IFRSVUUgOiBGQUxT
RSk7DQorfQ0KKw0KIHN0YXRpYyBjb25zdCBDRlRpbWVJbnRlcnZhbCB3YWl0VG9EdW1wV2F0Y2hk
b2dJbnRlcnZhbCA9IDEwLjA7DQogDQogc3RhdGljIHZvaWQgd2FpdFVudGlsRG9uZVdhdGNoZG9n
RmlyZWQoQ0ZSdW5Mb29wVGltZXJSZWYgdGltZXIsIHZvaWQqIGluZm8pDQpJbmRleDogTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAzNjMwNikNCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkN
CkBAIC0xLDMgKzEsMTIgQEANCisyMDA4LTA5LTA3ICBHbGVubiBXaWxzb24gIDxnd2lsc29uQGdv
b2dsZS5jb20+DQorDQorICAgICAgICBBZGRlZCB0ZXN0cyB0byB2ZXJpZnkgdGhhdCBzbWFydCBl
ZGl0aW5nIGNhbiBiZSBkaXNhYmxlZCBmb3Igc29tZSB0ZXN0cy4NCisNCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLg0KKw0KKyAgICAgICAgKiBlZGl0aW5nL2RlbGV0aW5nL3Nt
YXJ0LWVkaXRpbmctZGlzYWJsZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4NCisgICAgICAgICogZWRp
dGluZy9kZWxldGluZy9zbWFydC1lZGl0aW5nLWRpc2FibGVkLmh0bWw6IEFkZGVkLg0KKw0KIDIw
MDgtMDktMDUgIENocmlzIE1hcnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPg0KIA0KICAgICAgICAg
UmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4NCkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0
aW5nL3NtYXJ0LWVkaXRpbmctZGlzYWJsZWQtZXhwZWN0ZWQudHh0DQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0g
TGF5b3V0VGVzdHMvZWRpdGluZy9kZWxldGluZy9zbWFydC1lZGl0aW5nLWRpc2FibGVkLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkNCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nL3Nt
YXJ0LWVkaXRpbmctZGlzYWJsZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQ0KQEAgLTAsMCAr
MSw1IEBADQorVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQgc21hcnQgaW5zZXJ0IGFuZCBkZWxldGUg
Y2FuIGJlIGRpc2FibGVkIGF0IHRlc3QgdGltZS4NCitJZiB2aWV3aW5nIGluIGEgYnJvd3Nlciwg
eW91IHNob3VsZCBzZWUgdGhlIHdvcmRzICJmb28gYmFyIGJheiIuDQorSWYgdXNpbmcgYSB2ZXJz
aW9uIG9mIExheW91dFRlc3RDb250cm9sbGVyIHdpdGggdGhpcyBmdW5jdGlvbmFsaXR5LCB5b3Ug
c2hvdWxkIHNlZSAiZm9vIGJheiIuICh0d28gc3BhY2VzIGJldHdlZW4gdGhlIHdvcmRzKQ0KK0lm
IHVzaW5nIGEgdmVyc2lvbiBvZiBMYXlvdXRUZXN0Q29udHJvbGxlciB3aXRob3V0IHRoaXMgZnVu
Y3Rpb25hbGl0eSwgeW91IHNob3VsZCBzZWUgImZvbyBiYXoiLiAob25lIHNwYWNlIGJldHdlZW4g
dGhlIHdvcmRzKQ0KK2ZvbyDCoGJheg0KSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvZGVsZXRp
bmcvc21hcnQtZWRpdGluZy1kaXNhYmxlZC5odG1sDQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gTGF5b3V0VGVz
dHMvZWRpdGluZy9kZWxldGluZy9zbWFydC1lZGl0aW5nLWRpc2FibGVkLmh0bWwJKHJldmlzaW9u
IDApDQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9kZWxldGluZy9zbWFydC1lZGl0aW5nLWRpc2Fi
bGVkLmh0bWwJKHJldmlzaW9uIDApDQpAQCAtMCwwICsxLDQxIEBADQorPGh0bWw+IA0KKzxoZWFk
Pg0KKzxzY3JpcHQ+DQorDQoraWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgew0KKyAg
ICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7DQorICAgIGxheW91dFRlc3RDb250
cm9sbGVyLnNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZChmYWxzZSk7DQorfQ0KKw0KK2Z1bmN0
aW9uIGVkaXRpbmdUZXN0KCkgew0KKyAgICB2YXIgZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImRpdiIpOw0KKyAgICB2YXIgc2VsID0gd2luZG93LmdldFNlbGVjdGlvbigpOw0KKyAgICAN
CisgICAgc2VsLnNldFBvc2l0aW9uKGRpdiwgMCk7DQorICAgIHNlbC5tb2RpZnkoIm1vdmUiLCAi
Zm9yd2FyZCIsICJ3b3JkIik7DQorICAgIHNlbC5tb2RpZnkoIm1vdmUiLCAiZm9yd2FyZCIsICJ3
b3JkIik7DQorICAgIHNlbC5tb2RpZnkoImV4dGVuZCIsICJiYWNrd2FyZCIsICJ3b3JkIik7DQor
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmV4ZWNDb21tYW5kKCJEZWxldGVGb3J3YXJkIik7DQor
fQ0KKw0KKzwvc2NyaXB0Pg0KKzx0aXRsZT5FZGl0aW5nIFRlc3Q8L3RpdGxlPiANCis8L2hlYWQ+
IA0KKzxib2R5Pg0KK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHNtYXJ0IGluc2VydCBhbmQgZGVs
ZXRlIGNhbiBiZSBkaXNhYmxlZCBhdCB0ZXN0IHRpbWUuPGJyPg0KK0lmIHZpZXdpbmcgaW4gYSBi
cm93c2VyLCB5b3Ugc2hvdWxkIHNlZSB0aGUgd29yZHMgImZvbyBiYXIgYmF6Ii48YnI+DQorSWYg
dXNpbmcgYSB2ZXJzaW9uIG9mIExheW91dFRlc3RDb250cm9sbGVyIHdpdGggdGhpcyBmdW5jdGlv
bmFsaXR5LCB5b3Ugc2hvdWxkIHNlZSAiZm9vICBiYXoiLiAodHdvIHNwYWNlcyBiZXR3ZWVuIHRo
ZSB3b3Jkcyk8YnI+DQorSWYgdXNpbmcgYSB2ZXJzaW9uIG9mIExheW91dFRlc3RDb250cm9sbGVy
IHdpdGhvdXQgdGhpcyBmdW5jdGlvbmFsaXR5LCB5b3Ugc2hvdWxkIHNlZSAiZm9vIGJheiIuIChv
bmUgc3BhY2UgYmV0d2VlbiB0aGUgd29yZHMpPGJyPg0KKzwvZGl2Pg0KKzwvZGl2Pg0KKw0KKzxk
aXYgY29udGVudGVkaXRhYmxlPSJ0cnVlIiBpZD0iZGl2Ij4NCitmb28gYmFyIGJheiAgICAgDQor
PC9kaXY+DQorDQorPHNjcmlwdD4NCitlZGl0aW5nVGVzdCgpOw0KKzwvc2NyaXB0Pg0KKw0KKzwv
Ym9keT4NCis8L2h0bWw+DQoNClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL2VkaXRp
bmcvZGVsZXRpbmcvc21hcnQtZWRpdGluZy1kaXNhYmxlZC5odG1sDQpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQpBZGRl
ZDogc3ZuOmV4ZWN1dGFibGUNCiAgICsgKg0KDQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23362</attachid>
            <date>2008-09-11 19:07:07 -0700</date>
            <delta_ts>2008-09-13 06:45:51 -0700</delta_ts>
            <desc>Possible fix to bug 20655</desc>
            <filename>patch20655-3.txt</filename>
            <type>text/plain</type>
            <size>10099</size>
            <attacher name="Glenn Wilson">gwilson</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDM2MzIzKQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMDgtMDktMTAgIEdsZW5uIFdpbHNvbiAgPGd3
aWxzb25AZ29vZ2xlLmNvbT4KKworICAgICAgICBBZGRlZCBuZXcgbWV0aG9kIHRvIGFsbG93IHRl
c3RzIHRvIGRpc2FibGUgc21hcnQgZWRpdGluZyBpbiB0aGUgY291cnNlIG9mIGEgdGVzdC4KKyAg
ICAgICAgVGhpcyBpcyBhIHBvc3NpYmxlIHNvbHV0aW9uIHRvIGJ1ZyAuMjA2NTUKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVl
L0xheW91dFRlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKHNldFNtYXJ0SW5zZXJ0RGVsZXRl
RW5hYmxlZENhbGxiYWNrKTogbmV3IG1ldGhvZAorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xs
ZXI6OnN0YXRpY0Z1bmN0aW9ucyk6IGFkZGVkIG5ldyBtZXRob2QgdG8gc3RhdGljIGxpc3Qgb2Yg
Y2FsbGJhY2tzCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIu
aDogYWRkZWQgc2lnbmF0dXJlIG9mIG5ldyBtZXRob2QKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJl
ZS9tYWMvRHVtcFJlbmRlclRyZWUubW06CisgICAgICAgIChyZXNldFdlYlZpZXdUb0NvbnNpc3Rl
bnRTdGF0ZUJlZm9yZVRlc3RpbmcpOiBhZGRlZCBzdGF0ZSByZXNldHRpbmcKKyAgICAgICAgKiBE
dW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0VGVzdENvbnRyb2xsZXJNYWMubW06CisgICAgICAgIChM
YXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVkKTogYWRkZWQg
bmV3IG1ldGhvZAorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5j
cHA6CisgICAgICAgIChyZXNldFdlYlZpZXdUb0NvbnNpc3RlbnRTdGF0ZUJlZm9yZVRlc3Rpbmcp
OiBhZGRlZCBzdGF0ZSByZXNldHRpbmcKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS93aW4vTGF5
b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwOgorICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6
OnNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZCk6IGFkZGVkIG5ldyBtZXRob2QKKwogMjAwOC0w
OS0wOCAgRGFuIEJlcm5zdGVpbiAgPG1pdHpAYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IE1hcmsgUm93ZS4KSW5kZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRl
c3RDb250cm9sbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAJKHJldmlzaW9uIDM2MzIzKQorKysgV2ViS2l0VG9v
bHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC02MDcsNiArNjA3LDE2IEBAIHN0YXRpYyBKU1ZhbHVlUmVmIHNldFBvcHVwQmxvY2tpbmdF
bmFibGUKICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CiB9CiAKK3N0
YXRpYyBKU1ZhbHVlUmVmIHNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZENhbGxiYWNrKEpTQ29u
dGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09i
amVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10s
IEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICBpZiAoYXJndW1lbnRDb3VudCA8IDEpCisg
ICAgICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKKworICAgIExheW91
dFRlc3RDb250cm9sbGVyKiBjb250cm9sbGVyID0gcmVpbnRlcnByZXRfY2FzdDxMYXlvdXRUZXN0
Q29udHJvbGxlcio+KEpTT2JqZWN0R2V0UHJpdmF0ZSh0aGlzT2JqZWN0KSk7CisgICAgY29udHJv
bGxlci0+c2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVkKEpTVmFsdWVUb0Jvb2xlYW4oY29udGV4
dCwgYXJndW1lbnRzWzBdKSk7CisgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRl
eHQpOworfQorCiBzdGF0aWMgSlNWYWx1ZVJlZiBzZXRTdG9wUHJvdmlzaW9uYWxGcmFtZUxvYWRz
Q2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09i
amVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJl
ZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQogewogICAgIExheW91dFRlc3RD
b250cm9sbGVyKiBjb250cm9sbGVyID0gcmVpbnRlcnByZXRfY2FzdDxMYXlvdXRUZXN0Q29udHJv
bGxlcio+KEpTT2JqZWN0R2V0UHJpdmF0ZSh0aGlzT2JqZWN0KSk7CkBAIC03MjIsNiArNzMyLDcg
QEAgSlNTdGF0aWNGdW5jdGlvbiogTGF5b3V0VGVzdENvbnRyb2xsZXI6OgogICAgICAgICB7ICJz
ZXRQZXJzaXN0ZW50VXNlclN0eWxlU2hlZXRMb2NhdGlvbiIsIHNldFBlcnNpc3RlbnRVc2VyU3R5
bGVTaGVldExvY2F0aW9uQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAgICAgICAgeyAic2V0UHJpdmF0ZUJy
b3dzaW5nRW5hYmxlZCIsIHNldFByaXZhdGVCcm93c2luZ0VuYWJsZWRDYWxsYmFjaywga0pTUHJv
cGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9
LAogICAgICAgICB7ICJzZXRQb3B1cEJsb2NraW5nRW5hYmxlZCIsIHNldFBvcHVwQmxvY2tpbmdF
bmFibGVkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0
eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKKyAgICAgICAgeyAic2V0U21hcnRJbnNlcnREZWxldGVF
bmFibGVkIiwgc2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5
QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKICAg
ICAgICAgeyAic2V0U3RvcFByb3Zpc2lvbmFsRnJhbWVMb2FkcyIsIHNldFN0b3BQcm92aXNpb25h
bEZyYW1lTG9hZHNDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1By
b3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAogICAgICAgICB7ICJzZXRUYWJLZXlDeWNsZXNU
aHJvdWdoRWxlbWVudHMiLCBzZXRUYWJLZXlDeWNsZXNUaHJvdWdoRWxlbWVudHNDYWxsYmFjaywg
a0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERl
bGV0ZSB9LAogICAgICAgICB7ICJzZXRVc2VEYXNoYm9hcmRDb21wYXRpYmlsaXR5TW9kZSIsIHNl
dFVzZURhc2hib2FyZENvbXBhdGliaWxpdHlNb2RlQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmli
dXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKSW5kZXg6IFdl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL0xheW91dFRlc3RDb250cm9sbGVyLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvTGF5b3V0VGVzdENvbnRyb2xsZXIuaAko
cmV2aXNpb24gMzYzMjMpCisrKyBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9MYXlvdXRUZXN0
Q29udHJvbGxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC02Miw2ICs2Miw3IEBAIHB1YmxpYzoKICAg
ICB2b2lkIHNldFByaXZhdGVCcm93c2luZ0VuYWJsZWQoYm9vbCBmbGFnKTsKICAgICB2b2lkIHNl
dFBvcHVwQmxvY2tpbmdFbmFibGVkKGJvb2wgZmxhZyk7CiAgICAgdm9pZCBzZXRUYWJLZXlDeWNs
ZXNUaHJvdWdoRWxlbWVudHMoYm9vbCBjeWNsZXMpOworICAgIHZvaWQgc2V0U21hcnRJbnNlcnRE
ZWxldGVFbmFibGVkKGJvb2wgZmxhZyk7CiAgICAgdm9pZCBzZXRVc2VEYXNoYm9hcmRDb21wYXRp
YmlsaXR5TW9kZShib29sIGZsYWcpOwogICAgIHZvaWQgc2V0VXNlclN0eWxlU2hlZXRFbmFibGVk
KGJvb2wgZmxhZyk7CiAgICAgdm9pZCBzZXRVc2VyU3R5bGVTaGVldExvY2F0aW9uKEpTU3RyaW5n
UmVmIHBhdGgpOwpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5k
ZXJUcmVlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9E
dW1wUmVuZGVyVHJlZS5tbQkocmV2aXNpb24gMzYzMjMpCisrKyBXZWJLaXRUb29scy9EdW1wUmVu
ZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0JKHdvcmtpbmcgY29weSkKQEAgLTk1OCw2ICs5
NTgsNyBAQCBzdGF0aWMgdm9pZCByZXNldFdlYlZpZXdUb0NvbnNpc3RlbnRTdGF0CiAgICAgICAg
IFtwcmVmZXJlbmNlcyBzZXRVc2VyU3R5bGVTaGVldEVuYWJsZWQ6WUVTXTsKICAgICB9IGVsc2UK
ICAgICAgICAgW3ByZWZlcmVuY2VzIHNldFVzZXJTdHlsZVNoZWV0RW5hYmxlZDpOT107CisgICAg
W1ttYWluRnJhbWUgd2ViVmlld10gc2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVkOllFU107CiAK
ICAgICBbV2ViVmlldyBfc2V0VXNlc1Rlc3RNb2RlRm9jdXNSaW5nQ29sb3I6WUVTXTsKIH0KSW5k
ZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9MYXlvdXRUZXN0Q29udHJvbGxlck1h
Yy5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvTGF5b3V0
VGVzdENvbnRyb2xsZXJNYWMubW0JKHJldmlzaW9uIDM2MzIzKQorKysgV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0xheW91dFRlc3RDb250cm9sbGVyTWFjLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC0yNDksNiArMjQ5LDExIEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFdpbmRv
d0lzS2UKICAgICAgICAgWyhXZWJIVE1MVmlldyAqKWRvY3VtZW50VmlldyBfdXBkYXRlRm9jdXNl
ZEFuZEFjdGl2ZVN0YXRlXTsKIH0KIAordm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0U21h
cnRJbnNlcnREZWxldGVFbmFibGVkKGJvb2wgZmxhZykKK3sKKyAgICBbW21haW5GcmFtZSB3ZWJW
aWV3XSBzZXRTbWFydEluc2VydERlbGV0ZUVuYWJsZWQ6ZmxhZ107Cit9CisKIHN0YXRpYyBjb25z
dCBDRlRpbWVJbnRlcnZhbCB3YWl0VG9EdW1wV2F0Y2hkb2dJbnRlcnZhbCA9IDEwLjA7CiAKIHN0
YXRpYyB2b2lkIHdhaXRVbnRpbERvbmVXYXRjaGRvZ0ZpcmVkKENGUnVuTG9vcFRpbWVyUmVmIHRp
bWVyLCB2b2lkKiBpbmZvKQpJbmRleDogV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0R1
bXBSZW5kZXJUcmVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS93aW4vRHVtcFJlbmRlclRyZWUuY3BwCShyZXZpc2lvbiAzNjMyMykKKysrIFdlYktpdFRvb2xz
L0R1bXBSZW5kZXJUcmVlL3dpbi9EdW1wUmVuZGVyVHJlZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTY1OCw2ICs2NTgsMTAgQEAgc3RhdGljIHZvaWQgcmVzZXRXZWJWaWV3VG9Db25zaXN0ZW50U3Rh
dAogICAgICAgICAgICAgcHJlZnNQcml2YXRlLT5zZXRBdXRob3JBbmRVc2VyU3R5bGVzRW5hYmxl
ZChUUlVFKTsKICAgICB9CiAKKyAgICBDT01QdHI8SVdlYlZpZXdFZGl0aW5nPiB2aWV3RWRpdGlu
ZzsKKyAgICBpZiAoU1VDQ0VFREVEKHdlYlZpZXctPlF1ZXJ5SW50ZXJmYWNlKCZ2aWV3RWRpdGlu
ZykpKQorICAgICAgICB2aWV3RWRpdGluZy0+c2V0U21hcnRJbnNlcnREZWxldGVFbmFibGVkKFRS
VUUpOworCiAgICAgQ09NUHRyPElXZWJWaWV3UHJpdmF0ZT4gd2ViVmlld1ByaXZhdGUoUXVlcnks
IHdlYlZpZXcpOwogICAgIGlmICghd2ViVmlld1ByaXZhdGUpCiAgICAgICAgIHJldHVybjsKSW5k
ZXg6IFdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL3dpbi9MYXlvdXRUZXN0Q29udHJvbGxlcldp
bi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvd2luL0xheW91
dFRlc3RDb250cm9sbGVyV2luLmNwcAkocmV2aXNpb24gMzYzMjMpCisrKyBXZWJLaXRUb29scy9E
dW1wUmVuZGVyVHJlZS93aW4vTGF5b3V0VGVzdENvbnRyb2xsZXJXaW4uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC01MDcsNiArNTA3LDE5IEBAIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFdp
bmRvd0lzS2UKICAgICA6OlNlbmRNZXNzYWdlKHdlYlZpZXdXaW5kb3csIGZsYWcgPyBXTV9TRVRG
T0NVUyA6IFdNX0tJTExGT0NVUywgKFdQQVJBTSk6OkdldERlc2t0b3BXaW5kb3coKSwgMCk7CiB9
CiAKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxl
ZChib29sIGZsYWcpCit7CisgICAgQ09NUHRyPElXZWJWaWV3PiB3ZWJWaWV3OworICAgIGlmIChG
QUlMRUQoZnJhbWUtPndlYlZpZXcoJndlYlZpZXcpKSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
Q09NUHRyPElXZWJWaWV3RWRpdGluZz4gdmlld0VkaXRpbmc7CisgICAgaWYgKEZBSUxFRCh3ZWJW
aWV3LT5RdWVyeUludGVyZmFjZSgmdmlld0VkaXRpbmcpKSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgdmlld0VkaXRpbmctPnNldFNtYXJ0SW5zZXJ0RGVsZXRlRW5hYmxlZChmbGFnID8gVFJVRSA6
IEZBTFNFKTsKK30KKwogc3RhdGljIGNvbnN0IENGVGltZUludGVydmFsIHdhaXRUb0R1bXBXYXRj
aGRvZ0ludGVydmFsID0gMTAuMDsKIAogc3RhdGljIHZvaWQgd2FpdFVudGlsRG9uZVdhdGNoZG9n
RmlyZWQoQ0ZSdW5Mb29wVGltZXJSZWYgdGltZXIsIHZvaWQqIGluZm8pCkluZGV4OiBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZp
c2lvbiAzNjMyMykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDEyIEBACisyMDA4LTA5LTA3ICBHbGVubiBXaWxzb24gIDxnd2lsc29uQGdvb2dsZS5j
b20+CisKKyAgICAgICAgQWRkZWQgdGVzdHMgdG8gdmVyaWZ5IHRoYXQgc21hcnQgZWRpdGluZyBj
YW4gYmUgZGlzYWJsZWQgZm9yIHNvbWUgdGVzdHMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiBlZGl0aW5nL2RlbGV0aW5nL3NtYXJ0LWVkaXRpbmct
ZGlzYWJsZWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2RlbGV0aW5n
L3NtYXJ0LWVkaXRpbmctZGlzYWJsZWQuaHRtbDogQWRkZWQuCisKIDIwMDgtMDktMTAgIEFsZXhl
eSBQcm9za3VyeWFrb3YgIDxhcEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9kZWxldGluZy9zbWFydC1lZGl0
aW5nLWRpc2FibGVkLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0
aW5nL2RlbGV0aW5nL3NtYXJ0LWVkaXRpbmctZGlzYWJsZWQtZXhwZWN0ZWQudHh0CShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9kZWxldGluZy9zbWFydC1lZGl0aW5nLWRpc2Fi
bGVkLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1IEBACitUaGlzIHRlc3Qg
dmVyaWZpZXMgdGhhdCBzbWFydCBpbnNlcnQgYW5kIGRlbGV0ZSBjYW4gYmUgZGlzYWJsZWQgYXQg
dGVzdCB0aW1lLgorSWYgdmlld2luZyBpbiBhIGJyb3dzZXIsIHlvdSBzaG91bGQgc2VlIHRoZSB3
b3JkcyAiZm9vIGJhciBiYXoiLgorSWYgdXNpbmcgYSB2ZXJzaW9uIG9mIExheW91dFRlc3RDb250
cm9sbGVyIHdpdGggdGhpcyBmdW5jdGlvbmFsaXR5LCB5b3Ugc2hvdWxkIHNlZSAiZm9vIGJheiIu
ICh0d28gc3BhY2VzIGJldHdlZW4gdGhlIHdvcmRzKQorSWYgdXNpbmcgYSB2ZXJzaW9uIG9mIExh
eW91dFRlc3RDb250cm9sbGVyIHdpdGhvdXQgdGhpcyBmdW5jdGlvbmFsaXR5LCB5b3Ugc2hvdWxk
IHNlZSAiZm9vIGJheiIuIChvbmUgc3BhY2UgYmV0d2VlbiB0aGUgd29yZHMpCitmb28gwqBiYXoK
SW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvc21hcnQtZWRpdGluZy1kaXNhYmxl
ZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2VkaXRpbmcvZGVsZXRpbmcvc21hcnQt
ZWRpdGluZy1kaXNhYmxlZC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZWRpdGlu
Zy9kZWxldGluZy9zbWFydC1lZGl0aW5nLWRpc2FibGVkLmh0bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsNDEgQEAKKzxodG1sPiAKKzxoZWFkPgorPHNjcmlwdD4KKworaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikgeworICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5zZXRTbWFydEluc2VydERlbGV0ZUVuYWJsZWQo
ZmFsc2UpOworfQorCitmdW5jdGlvbiBlZGl0aW5nVGVzdCgpIHsKKyAgICB2YXIgZGl2ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImRpdiIpOworICAgIHZhciBzZWwgPSB3aW5kb3cuZ2V0U2Vs
ZWN0aW9uKCk7CisgICAgCisgICAgc2VsLnNldFBvc2l0aW9uKGRpdiwgMCk7CisgICAgc2VsLm1v
ZGlmeSgibW92ZSIsICJmb3J3YXJkIiwgIndvcmQiKTsKKyAgICBzZWwubW9kaWZ5KCJtb3ZlIiwg
ImZvcndhcmQiLCAid29yZCIpOworICAgIHNlbC5tb2RpZnkoImV4dGVuZCIsICJiYWNrd2FyZCIs
ICJ3b3JkIik7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZXhlY0NvbW1hbmQoIkRlbGV0ZUZv
cndhcmQiKTsKK30KKworPC9zY3JpcHQ+Cis8dGl0bGU+RWRpdGluZyBUZXN0PC90aXRsZT4gCis8
L2hlYWQ+IAorPGJvZHk+CitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBzbWFydCBpbnNlcnQgYW5k
IGRlbGV0ZSBjYW4gYmUgZGlzYWJsZWQgYXQgdGVzdCB0aW1lLjxicj4KK0lmIHZpZXdpbmcgaW4g
YSBicm93c2VyLCB5b3Ugc2hvdWxkIHNlZSB0aGUgd29yZHMgImZvbyBiYXIgYmF6Ii48YnI+CitJ
ZiB1c2luZyBhIHZlcnNpb24gb2YgTGF5b3V0VGVzdENvbnRyb2xsZXIgd2l0aCB0aGlzIGZ1bmN0
aW9uYWxpdHksIHlvdSBzaG91bGQgc2VlICJmb28gIGJheiIuICh0d28gc3BhY2VzIGJldHdlZW4g
dGhlIHdvcmRzKTxicj4KK0lmIHVzaW5nIGEgdmVyc2lvbiBvZiBMYXlvdXRUZXN0Q29udHJvbGxl
ciB3aXRob3V0IHRoaXMgZnVuY3Rpb25hbGl0eSwgeW91IHNob3VsZCBzZWUgImZvbyBiYXoiLiAo
b25lIHNwYWNlIGJldHdlZW4gdGhlIHdvcmRzKTxicj4KKzwvZGl2PgorPC9kaXY+CisKKzxkaXYg
Y29udGVudGVkaXRhYmxlPSJ0cnVlIiBpZD0iZGl2Ij4KK2ZvbyBiYXIgYmF6ICAgICAKKzwvZGl2
PgorCis8c2NyaXB0PgorZWRpdGluZ1Rlc3QoKTsKKzwvc2NyaXB0PgorCis8L2JvZHk+Cis8L2h0
bWw+CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9lZGl0aW5nL2RlbGV0aW5nL3Nt
YXJ0LWVkaXRpbmctZGlzYWJsZWQuaHRtbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZXhlY3V0YWJs
ZQogICArICoKCg==
</data>
<flag name="review"
          id="10420"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>