<?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>49313</bug_id>
          
          <creation_ts>2010-11-10 03:11:41 -0800</creation_ts>
          <short_desc>IndexedDB: signal IDBFactoryBackendInterface destruction to embedder</short_desc>
          <delta_ts>2010-11-11 10:42:59 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Hans Wennborg">hans</reporter>
          <assigned_to name="Hans Wennborg">hans</assigned_to>
          <cc>abarth</cc>
    
    <cc>andreip</cc>
    
    <cc>bulach</cc>
    
    <cc>eric</cc>
    
    <cc>jorlow</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>307276</commentid>
    <comment_count>0</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2010-11-10 03:11:41 -0800</bug_when>
    <thetext>IndexedDB: signal IDBFactoryBackendInterface destruction to embedder</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307281</commentid>
    <comment_count>1</comment_count>
      <attachid>73480</attachid>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2010-11-10 03:17:58 -0800</bug_when>
    <thetext>Created attachment 73480
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307287</commentid>
    <comment_count>2</comment_count>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2010-11-10 03:46:19 -0800</bug_when>
    <thetext>LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307346</commentid>
    <comment_count>3</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-11-10 07:31:18 -0800</bug_when>
    <thetext>Why is this signal needed?  The factory only goes away when webkit is shutting down.  I&apos;m surprised this is useful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307354</commentid>
    <comment_count>4</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2010-11-10 07:55:24 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; Why is this signal needed?  The factory only goes away when webkit is shutting down.

That&apos;s what we want to detect.

This seemed like a relatively clean way of piping it through to the BrowserWebKitClientImpl on the Chromium side, which is what we&apos;re trying to reach. Do you see a better way?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307429</commentid>
    <comment_count>5</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-11-10 10:55:54 -0800</bug_when>
    <thetext>Why is chromiums factories lifetime related to that of a factory in the renderer?  I mean the browsers factory likely outlives them all.  Note also that we need to make sure that we handle lifetimes correctly when the renderer crashes (which we do not at the moment, iirc)--which I feel would make this unnecessary as well.  Can you please explain the bigger picture here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307441</commentid>
    <comment_count>6</comment_count>
    <who name="Andrei Popescu">andreip</who>
    <bug_when>2010-11-10 11:05:16 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Why is chromiums factories lifetime related to that of a factory in the renderer?  I mean the browsers factory likely outlives them all.  Note also that we need to make sure that we handle lifetimes correctly when the renderer crashes (which we do not at the moment, iirc)--which I feel would make this unnecessary as well.  Can you please explain the bigger picture here?


Umm, this is backend code so it runs in the browser not the renderer process. Renderer crashes don&apos;t really affect matter here, right? We just want to stop the utility process cleanly when the indexed database shuts down.

Andrei</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307445</commentid>
    <comment_count>7</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-11-10 11:12:13 -0800</bug_when>
    <thetext>Oops, you&apos;re right...was mixed up.  The object store objects don&apos;t hold a ref to the factory though, which means that it could go away before were done with the utility process, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307867</commentid>
    <comment_count>8</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2010-11-11 06:12:07 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; Oops, you&apos;re right...was mixed up.
Adding a comment trying to make it less confusing.

&gt; The object store objects don&apos;t hold a ref to the factory though, which means that it could go away before were done with the utility process, right?

The destruction of the factory happens after the IndexedDBDispatcherHost (in Chromium) is destructed, so I don&apos;t think any more IndexedDB activity could continue after that point - it should be fine to tell the utility process to stop at this point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307868</commentid>
    <comment_count>9</comment_count>
      <attachid>73604</attachid>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2010-11-11 06:14:11 -0800</bug_when>
    <thetext>Created attachment 73604
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307869</commentid>
    <comment_count>10</comment_count>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-11-11 06:16:25 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; Oops, you&apos;re right...was mixed up.
&gt; Adding a comment trying to make it less confusing.
&gt; 
&gt; &gt; The object store objects don&apos;t hold a ref to the factory though, which means that it could go away before were done with the utility process, right?
&gt; 
&gt; The destruction of the factory happens after the IndexedDBDispatcherHost (in Chromium) is destructed, so I don&apos;t think any more IndexedDB activity could continue after that point - it should be fine to tell the utility process to stop at this point.

Then why does Chromium require this signal?  Can&apos;t we just shut it down when the dispatcher host shuts down?

Also, this is true today, but in the future when we have background threads and such this assumption probably won&apos;t hold unless the dispatcher doesn&apos;t go away until all running transactions and such have ended.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307885</commentid>
    <comment_count>11</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2010-11-11 06:47:25 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #8)
&gt; &gt; (In reply to comment #7)
&gt; &gt; &gt; Oops, you&apos;re right...was mixed up.
&gt; &gt; Adding a comment trying to make it less confusing.
&gt; &gt; 
&gt; &gt; &gt; The object store objects don&apos;t hold a ref to the factory though, which means that it could go away before were done with the utility process, right?
&gt; &gt; 
&gt; &gt; The destruction of the factory happens after the IndexedDBDispatcherHost (in Chromium) is destructed, so I don&apos;t think any more IndexedDB activity could continue after that point - it should be fine to tell the utility process to stop at this point.
&gt; 
&gt; Then why does Chromium require this signal?

It&apos;s the cleanest solution to what we&apos;re trying to do in http://codereview.chromium.org/4678002/

&gt; Can&apos;t we just shut it down when the dispatcher host shuts down?

We tried that at first, but didn&apos;t see a good way of getting from the dispatcher host to the WebKitClient.

This solution feels natural in the way that the WebKitClient (in this case BrowserWebKitClient impl on the Chromium side) gets a call from WebKit saying all the IDB stuff is done and shutting down so it can stop the utility process. Receiving calls from WebKit is what the WebKitClient does; trying to call it from somewhere else seems less clean.

&gt; Also, this is true today, but in the future when we have background threads and such this assumption probably won&apos;t hold unless the dispatcher doesn&apos;t go away until all running transactions and such have ended.

The IDBTransactionCoordinator is destructed before the factory, so at this point I suppose all transactions should have finished.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307895</commentid>
    <comment_count>12</comment_count>
      <attachid>73604</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2010-11-11 06:58:55 -0800</bug_when>
    <thetext>Comment on attachment 73604
Patch

r=me

Still not convinced this is the best way, but I can&apos;t think of a better one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307967</commentid>
    <comment_count>13</comment_count>
      <attachid>73604</attachid>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2010-11-11 09:35:33 -0800</bug_when>
    <thetext>Comment on attachment 73604
Patch

Clearing flags on attachment: 73604

Committed r71829: &lt;http://trac.webkit.org/changeset/71829&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307968</commentid>
    <comment_count>14</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2010-11-11 09:35:42 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307989</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-11-11 10:42:59 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/71829 might have broken Leopard Intel Release (Tests)
The following tests are not passing:
media/video-played-collapse.html
media/video-played-ranges-1.html
media/video-played-reset.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73480</attachid>
            <date>2010-11-10 03:17:58 -0800</date>
            <delta_ts>2010-11-11 06:14:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-49313-20101110111756.patch</filename>
            <type>text/plain</type>
            <size>6171</size>
            <attacher name="Hans Wennborg">hans</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NjlmMWZiODJmNzQxOGNmNDZjNjNmNzkyNzNhMjM5MDM5ZTVhZTg5Zi4uYjE5MmEwYWEwYzkyNzgy
ZTkwMmM1NTc1NzJjNDYxM2M0NzJhODQ4NiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMC0xMS0xMCAgSGFu
cyBXZW5uYm9yZyAgPGhhbnNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEluZGV4ZWREQjogc2lnbmFsIElEQkZhY3RvcnlCYWNr
ZW5kSW50ZXJmYWNlIGRlc3RydWN0aW9uIHRvIGVtYmVkZGVyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTMxMworCisgICAgICAgIERlZmluZSBJREJG
YWN0b3J5QmFja2VuZEludGVyZmFjZSBkZXN0cnVjdG9yIG91dC1vZi1saW5lIHRvIGFsbG93Cisg
ICAgICAgIGZvciBlbWJlZGRlci1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbi4gRm9yIENocm9taXVt
LCBoYXZlIHRoZQorICAgICAgICBkZXN0cnVjdG9yIGNhbGwgQ2hyb21pdW1CcmlkZ2U6OmlkYlNo
dXRkb3duKCkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9DaHJvbWl1bUJyaWRnZS5o
OgorICAgICAgICAqIHN0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2U6On5JREJGYWN0b3J5QmFj
a2VuZEludGVyZmFjZSk6CisgICAgICAgICogc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEludGVy
ZmFjZS5oOgorICAgICAgICAqIHN0b3JhZ2UvY2hyb21pdW0vSURCRmFjdG9yeUJhY2tlbmRJbnRl
cmZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2U6
On5JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZSk6CisKIDIwMTAtMTEtMDggIFJlbmF0YSBIb2Rv
dmFuICA8cmVuaUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5pa29sYXMgWmlt
bWVybWFubi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2hyb21pdW1C
cmlkZ2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2hyb21pdW1CcmlkZ2UuaAppbmRl
eCA1NWE0Y2UwMTAzZDJkZGNkOGRlYjNjNTFjNzM1MjkzNzc3ZTE2N2FhLi5mZmY3ZjY5NzQyMWRj
NmExZTI4MjM0ZTJhZmJmNGE3NGVkMDgzNWQzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3Jt
L2Nocm9taXVtL0Nocm9taXVtQnJpZGdlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9DaHJvbWl1bUJyaWRnZS5oCkBAIC0xNzEsNiArMTcxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgICAgIC8vIEluZGV4ZWREQiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPElE
QkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlPiBpZGJGYWN0b3J5KCk7CisgICAgICAgIHN0YXRpYyB2
b2lkIGlkYlNodXRkb3duKCk7CiAgICAgICAgIC8vIEV4dHJhY3RzIGtleVBhdGggZnJvbSB2YWx1
ZXMgYW5kIHJldHVybnMgdGhlIGNvcnJlc3BvbmRpbmcga2V5cy4KICAgICAgICAgc3RhdGljIHZv
aWQgY3JlYXRlSURCS2V5c0Zyb21TZXJpYWxpemVkVmFsdWVzQW5kS2V5UGF0aChjb25zdCBWZWN0
b3I8UmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gPiYgdmFsdWVzLCBjb25zdCBTdHJpbmcm
IGtleVBhdGgsIFZlY3RvcjxSZWZQdHI8SURCS2V5PiA+JiBrZXlzKTsKIApkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9zdG9yYWdlL0lEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlLmNwcCBiL1dlYkNvcmUv
c3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5jcHAKaW5kZXggZjFjMGZiNzU1NTlj
MGEzNDBhMzlhOWViNDQ2M2NkMzg3ZjgxMTY5NC4uOTM1Y2NhYzg0ZGVhZjhmYzM3OTc3NjgwYThh
MTdlNTg0ZGY1OThmZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQkZhY3RvcnlCYWNr
ZW5kSW50ZXJmYWNlLmNwcAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJ
bnRlcmZhY2UuY3BwCkBAIC00Myw3ICs0MywxMCBAQCBQYXNzUmVmUHRyPElEQkZhY3RvcnlCYWNr
ZW5kSW50ZXJmYWNlPiBJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZTo6Y3JlYXRlKCkKICAgICBy
ZXR1cm4gSURCRmFjdG9yeUJhY2tlbmRJbXBsOjpjcmVhdGUoKTsKIH0KIAorSURCRmFjdG9yeUJh
Y2tlbmRJbnRlcmZhY2U6On5JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZSgpCit7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNF
KQotCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZh
Y2UuaCBiL1dlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5oCmluZGV4
IDdkOTIyYzMzZGRkMzgwNGFmZjMwNTM2MzUwMjEzM2ZjYzkxZjgyOTAuLjQ0NWY5ZTlkMTgzMWQy
ZDFmNGZjMzUyMzU4NTlmMDNmN2UxM2UzOTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFnZS9J
REJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJGYWN0
b3J5QmFja2VuZEludGVyZmFjZS5oCkBAIC00OSw3ICs0OSw3IEBAIGNsYXNzIFNlY3VyaXR5T3Jp
Z2luOwogY2xhc3MgSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UgOiBwdWJsaWMgVGhyZWFkU2Fm
ZVNoYXJlZDxJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZT4gewogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPElEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlPiBjcmVhdGUoKTsKLSAgICB2
aXJ0dWFsIH5JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZSgpIHsgfQorICAgIHZpcnR1YWwgfklE
QkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgb3Blbihjb25z
dCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIFBhc3NSZWZQdHI8SURC
Q2FsbGJhY2tzPiwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4sIEZyYW1lKiwgY29uc3QgU3Ry
aW5nJiBkYXRhRGlyLCBpbnQ2NF90IG1heGltdW1TaXplKSA9IDA7CiB9OwpAQCAtNTksNCArNTks
MyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2VuZGlmIC8vIElEQkZhY3RvcnlCYWNrZW5kSW50ZXJm
YWNlX2gKLQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL2Nocm9taXVtL0lEQkZhY3RvcnlC
YWNrZW5kSW50ZXJmYWNlLmNwcCBiL1dlYkNvcmUvc3RvcmFnZS9jaHJvbWl1bS9JREJGYWN0b3J5
QmFja2VuZEludGVyZmFjZS5jcHAKaW5kZXggMDE2Y2FiMDJiMDVkM2Q0NWRmY2M0OGNiYWUyODFj
ZDU2Zjk1NGNlNS4uYzBmYjQ0NGRhNTY2ZTA5NWVkYmRmNTZmNmIxM2JjMTc4MjNiY2FmNSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL2Nocm9taXVtL0lEQkZhY3RvcnlCYWNrZW5kSW50ZXJm
YWNlLmNwcAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvY2hyb21pdW0vSURCRmFjdG9yeUJhY2tlbmRJ
bnRlcmZhY2UuY3BwCkBAIC0zOSw3ICszOSwxMSBAQCBQYXNzUmVmUHRyPElEQkZhY3RvcnlCYWNr
ZW5kSW50ZXJmYWNlPiBJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZTo6Y3JlYXRlKCkKICAgICBy
ZXR1cm4gQ2hyb21pdW1CcmlkZ2U6OmlkYkZhY3RvcnkoKTsKIH0KIAorSURCRmFjdG9yeUJhY2tl
bmRJbnRlcmZhY2U6On5JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZSgpCit7CisgICAgQ2hyb21p
dW1CcmlkZ2U6OmlkYlNodXRkb3duKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAog
I2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotCmRpZmYgLS1naXQgYS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA3MjFk
MjUxZDgwYTJhM2QyMDUxYjIwMWNkNTNlYTM1ZDMyMGExYjRkLi5mMWU5YzI2ZjgwMmZkNTkwMGY1
NmI5MzZhYmI3MmE5Njg4NjliYzY2IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAx
MC0xMS0xMCAgSGFucyBXZW5uYm9yZyAgPGhhbnNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluZGV4ZWREQjogc2lnbmFsIElE
QkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlIGRlc3RydWN0aW9uIHRvIGVtYmVkZGVyCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTMxMworCisgICAgICAg
IEltcGxlbWVudCBDaHJvbWl1bUJyaWRnZTo6aWRiU2h1dGRvd24oKSwgcGFzc2luZyB0aHJvdWdo
IHRvIHRoZQorICAgICAgICBXZWJLaXRDbGllbnQuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViS2l0
Q2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYktpdENsaWVudDo6aWRiU2h1dGRvd24pOgor
ICAgICAgICAqIHNyYy9DaHJvbWl1bUJyaWRnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJv
bWl1bUJyaWRnZTo6aWRiU2h1dGRvd24pOgorCiAyMDEwLTExLTA3ICBBZGFtIEJhcnRoICA8YWJh
cnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYg
LS1naXQgYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYktpdENsaWVudC5oIGIvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJLaXRDbGllbnQuaAppbmRleCAwOWM3OWM1N2ZiZDAwYTkwNTUwMWJh
YzZkZWY4MzVkNDY0MmEwNjNjLi43Y2VkN2FkYWJiM2JmYmQ5OWE1OGQyNDcyMWMzMjUzYWYxMjYy
YmMxIDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYktpdENsaWVudC5oCisr
KyBiL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViS2l0Q2xpZW50LmgKQEAgLTE0MSw2ICsxNDEs
NyBAQCBwdWJsaWM6CiAgICAgLy8gSW5kZXhlZCBEYXRhYmFzZSAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKICAgICB2aXJ0dWFsIFdlYklEQkZh
Y3RvcnkqIGlkYkZhY3RvcnkoKSB7IHJldHVybiAwOyB9CisgICAgdmlydHVhbCB2b2lkIGlkYlNo
dXRkb3duKCkgeyB9OwogICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVJREJLZXlzRnJvbVNlcmlhbGl6
ZWRWYWx1ZXNBbmRLZXlQYXRoKGNvbnN0IFdlYlZlY3RvcjxXZWJTZXJpYWxpemVkU2NyaXB0VmFs
dWU+JiB2YWx1ZXMsICBjb25zdCBXZWJTdHJpbmcmIGtleVBhdGgsIFdlYlZlY3RvcjxXZWJJREJL
ZXk+JiBrZXlzKSB7IH0KIAogCmRpZmYgLS1naXQgYS9XZWJLaXQvY2hyb21pdW0vc3JjL0Nocm9t
aXVtQnJpZGdlLmNwcCBiL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21pdW1CcmlkZ2UuY3BwCmlu
ZGV4IDM5ZDI1NjYxNTEwZWIwMDA5MmVkY2U1NzdjYmZjNzM1NjkzY2QzZTYuLjc1ZjNkZGM1NmMx
MTI1ZmI3MzE1YjI1MjgwOTdmNmExODM4ZTU0ZmIgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1
bS9zcmMvQ2hyb21pdW1CcmlkZ2UuY3BwCisrKyBiL1dlYktpdC9jaHJvbWl1bS9zcmMvQ2hyb21p
dW1CcmlkZ2UuY3BwCkBAIC01MTQsNiArNTE0LDExIEBAIFBhc3NSZWZQdHI8SURCRmFjdG9yeUJh
Y2tlbmRJbnRlcmZhY2U+IENocm9taXVtQnJpZGdlOjppZGJGYWN0b3J5KCkKICAgICByZXR1cm4g
SURCRmFjdG9yeUJhY2tlbmRQcm94eTo6Y3JlYXRlKCk7CiB9CiAKK3ZvaWQgQ2hyb21pdW1Ccmlk
Z2U6OmlkYlNodXRkb3duKCkKK3sKKyAgICB3ZWJLaXRDbGllbnQoKS0+aWRiU2h1dGRvd24oKTsK
K30KKwogdm9pZCBDaHJvbWl1bUJyaWRnZTo6Y3JlYXRlSURCS2V5c0Zyb21TZXJpYWxpemVkVmFs
dWVzQW5kS2V5UGF0aChjb25zdCBWZWN0b3I8UmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4g
PiYgdmFsdWVzLCBjb25zdCBTdHJpbmcmIGtleVBhdGgsIFZlY3RvcjxSZWZQdHI8SURCS2V5PiA+
JiBrZXlzKQogewogICAgIFdlYlZlY3RvcjxXZWJTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHdlYlZh
bHVlcyA9IHZhbHVlczsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73604</attachid>
            <date>2010-11-11 06:14:11 -0800</date>
            <delta_ts>2010-11-11 09:35:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-49313-20101111141408.patch</filename>
            <type>text/plain</type>
            <size>6290</size>
            <attacher name="Hans Wennborg">hans</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZDY4YWY3ZGYzOWYzMmJhYzMwMjkzNWYwM2ZjMjg5MjllNjA4OTI5Yi4uY2NlNTAzNTk1OTRmZDVl
YTRhODdkNGEwZTNjZGRmMzNjMGMwYzgzNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMC0xMS0xMCAgSGFu
cyBXZW5uYm9yZyAgPGhhbnNAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEluZGV4ZWREQjogc2lnbmFsIElEQkZhY3RvcnlCYWNr
ZW5kSW50ZXJmYWNlIGRlc3RydWN0aW9uIHRvIGVtYmVkZGVyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTMxMworCisgICAgICAgIERlZmluZSBJREJG
YWN0b3J5QmFja2VuZEludGVyZmFjZSBkZXN0cnVjdG9yIG91dC1vZi1saW5lIHRvIGFsbG93Cisg
ICAgICAgIGZvciBlbWJlZGRlci1zcGVjaWZpYyBpbXBsZW1lbnRhdGlvbi4gRm9yIENocm9taXVt
LCBoYXZlIHRoZQorICAgICAgICBkZXN0cnVjdG9yIGNhbGwgQ2hyb21pdW1CcmlkZ2U6OmlkYlNo
dXRkb3duKCkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9DaHJvbWl1bUJyaWRnZS5o
OgorICAgICAgICAqIHN0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2U6On5JREJGYWN0b3J5QmFj
a2VuZEludGVyZmFjZSk6CisgICAgICAgICogc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEludGVy
ZmFjZS5oOgorICAgICAgICAqIHN0b3JhZ2UvY2hyb21pdW0vSURCRmFjdG9yeUJhY2tlbmRJbnRl
cmZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2U6
On5JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZSk6CisKIDIwMTAtMTEtMTAgIElseWEgU2hlcm1h
biAgPGlzaGVybWFuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaGluaWNo
aXJvIEhhbWFqaS4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2hyb21p
dW1CcmlkZ2UuaCBiL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vQ2hyb21pdW1CcmlkZ2UuaApp
bmRleCA1NWE0Y2UwMTAzZDJkZGNkOGRlYjNjNTFjNzM1MjkzNzc3ZTE2N2FhLi5mZmY3ZjY5NzQy
MWRjNmExZTI4MjM0ZTJhZmJmNGE3NGVkMDgzNWQzIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRm
b3JtL2Nocm9taXVtL0Nocm9taXVtQnJpZGdlLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9jaHJv
bWl1bS9DaHJvbWl1bUJyaWRnZS5oCkBAIC0xNzEsNiArMTcxLDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiAgICAgICAgIC8vIEluZGV4ZWREQiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRy
PElEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlPiBpZGJGYWN0b3J5KCk7CisgICAgICAgIHN0YXRp
YyB2b2lkIGlkYlNodXRkb3duKCk7CiAgICAgICAgIC8vIEV4dHJhY3RzIGtleVBhdGggZnJvbSB2
YWx1ZXMgYW5kIHJldHVybnMgdGhlIGNvcnJlc3BvbmRpbmcga2V5cy4KICAgICAgICAgc3RhdGlj
IHZvaWQgY3JlYXRlSURCS2V5c0Zyb21TZXJpYWxpemVkVmFsdWVzQW5kS2V5UGF0aChjb25zdCBW
ZWN0b3I8UmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gPiYgdmFsdWVzLCBjb25zdCBTdHJp
bmcmIGtleVBhdGgsIFZlY3RvcjxSZWZQdHI8SURCS2V5PiA+JiBrZXlzKTsKIApkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9zdG9yYWdlL0lEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlLmNwcCBiL1dlYkNv
cmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5jcHAKaW5kZXggZjFjMGZiNzU1
NTljMGEzNDBhMzlhOWViNDQ2M2NkMzg3ZjgxMTY5NC4uOTM1Y2NhYzg0ZGVhZjhmYzM3OTc3Njgw
YThhMTdlNTg0ZGY1OThmZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL0lEQkZhY3RvcnlC
YWNrZW5kSW50ZXJmYWNlLmNwcAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvSURCRmFjdG9yeUJhY2tl
bmRJbnRlcmZhY2UuY3BwCkBAIC00Myw3ICs0MywxMCBAQCBQYXNzUmVmUHRyPElEQkZhY3RvcnlC
YWNrZW5kSW50ZXJmYWNlPiBJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZTo6Y3JlYXRlKCkKICAg
ICByZXR1cm4gSURCRmFjdG9yeUJhY2tlbmRJbXBsOjpjcmVhdGUoKTsKIH0KIAorSURCRmFjdG9y
eUJhY2tlbmRJbnRlcmZhY2U6On5JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZSgpCit7Cit9CisK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFC
QVNFKQotCmRpZmYgLS1naXQgYS9XZWJDb3JlL3N0b3JhZ2UvSURCRmFjdG9yeUJhY2tlbmRJbnRl
cmZhY2UuaCBiL1dlYkNvcmUvc3RvcmFnZS9JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5oCmlu
ZGV4IDdkOTIyYzMzZGRkMzgwNGFmZjMwNTM2MzUwMjEzM2ZjYzkxZjgyOTAuLjQ0NWY5ZTlkMTgz
MWQyZDFmNGZjMzUyMzU4NTlmMDNmN2UxM2UzOTggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvc3RvcmFn
ZS9JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZS5oCisrKyBiL1dlYkNvcmUvc3RvcmFnZS9JREJG
YWN0b3J5QmFja2VuZEludGVyZmFjZS5oCkBAIC00OSw3ICs0OSw3IEBAIGNsYXNzIFNlY3VyaXR5
T3JpZ2luOwogY2xhc3MgSURCRmFjdG9yeUJhY2tlbmRJbnRlcmZhY2UgOiBwdWJsaWMgVGhyZWFk
U2FmZVNoYXJlZDxJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZT4gewogcHVibGljOgogICAgIHN0
YXRpYyBQYXNzUmVmUHRyPElEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlPiBjcmVhdGUoKTsKLSAg
ICB2aXJ0dWFsIH5JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZSgpIHsgfQorICAgIHZpcnR1YWwg
fklEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlKCk7CiAKICAgICB2aXJ0dWFsIHZvaWQgb3Blbihj
b25zdCBTdHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgZGVzY3JpcHRpb24sIFBhc3NSZWZQdHI8
SURCQ2FsbGJhY2tzPiwgUGFzc1JlZlB0cjxTZWN1cml0eU9yaWdpbj4sIEZyYW1lKiwgY29uc3Qg
U3RyaW5nJiBkYXRhRGlyLCBpbnQ2NF90IG1heGltdW1TaXplKSA9IDA7CiB9OwpAQCAtNTksNCAr
NTksMyBAQCBwdWJsaWM6CiAjZW5kaWYKIAogI2VuZGlmIC8vIElEQkZhY3RvcnlCYWNrZW5kSW50
ZXJmYWNlX2gKLQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9zdG9yYWdlL2Nocm9taXVtL0lEQkZhY3Rv
cnlCYWNrZW5kSW50ZXJmYWNlLmNwcCBiL1dlYkNvcmUvc3RvcmFnZS9jaHJvbWl1bS9JREJGYWN0
b3J5QmFja2VuZEludGVyZmFjZS5jcHAKaW5kZXggMDE2Y2FiMDJiMDVkM2Q0NWRmY2M0OGNiYWUy
ODFjZDU2Zjk1NGNlNS4uYzBmYjQ0NGRhNTY2ZTA5NWVkYmRmNTZmNmIxM2JjMTc4MjNiY2FmNSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9zdG9yYWdlL2Nocm9taXVtL0lEQkZhY3RvcnlCYWNrZW5kSW50
ZXJmYWNlLmNwcAorKysgYi9XZWJDb3JlL3N0b3JhZ2UvY2hyb21pdW0vSURCRmFjdG9yeUJhY2tl
bmRJbnRlcmZhY2UuY3BwCkBAIC0zOSw3ICszOSwxMSBAQCBQYXNzUmVmUHRyPElEQkZhY3RvcnlC
YWNrZW5kSW50ZXJmYWNlPiBJREJGYWN0b3J5QmFja2VuZEludGVyZmFjZTo6Y3JlYXRlKCkKICAg
ICByZXR1cm4gQ2hyb21pdW1CcmlkZ2U6OmlkYkZhY3RvcnkoKTsKIH0KIAorSURCRmFjdG9yeUJh
Y2tlbmRJbnRlcmZhY2U6On5JREJGYWN0b3J5QmFja2VuZEludGVyZmFjZSgpCit7CisgICAgQ2hy
b21pdW1CcmlkZ2U6OmlkYlNodXRkb3duKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAogI2VuZGlmIC8vIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQotCmRpZmYgLS1naXQgYS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCA1
ZjMxNTk4ZjBkZWQzY2M0NGJjZjIzMjEyYzg1OWRiY2IwNDhiMTZjLi4wODIwZmZlYzc0N2M0MGQy
ODUyMTk3OWUyYjQ4ZjkzMDUyMDI4Yzk4IDEwMDY0NAotLS0gYS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCisrKyBiL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAor
MjAxMC0xMS0xMCAgSGFucyBXZW5uYm9yZyAgPGhhbnNAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluZGV4ZWREQjogc2lnbmFs
IElEQkZhY3RvcnlCYWNrZW5kSW50ZXJmYWNlIGRlc3RydWN0aW9uIHRvIGVtYmVkZGVyCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTMxMworCisgICAg
ICAgIEltcGxlbWVudCBDaHJvbWl1bUJyaWRnZTo6aWRiU2h1dGRvd24oKSwgcGFzc2luZyB0aHJv
dWdoIHRvIHRoZQorICAgICAgICBXZWJLaXRDbGllbnQuCisKKyAgICAgICAgKiBwdWJsaWMvV2Vi
S2l0Q2xpZW50Lmg6CisgICAgICAgIChXZWJLaXQ6OldlYktpdENsaWVudDo6aWRiU2h1dGRvd24p
OgorICAgICAgICAqIHNyYy9DaHJvbWl1bUJyaWRnZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
aHJvbWl1bUJyaWRnZTo6aWRiU2h1dGRvd24pOgorCiAyMDEwLTExLTA5ICBLZW5uZXRoIFJ1c3Nl
bGwgIDxrYnJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNv
bi4KZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViS2l0Q2xpZW50LmggYi9X
ZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYktpdENsaWVudC5oCmluZGV4IDA5Yzc5YzU3ZmJkMDBh
OTA1NTAxYmFjNmRlZjgzNWQ0NjQyYTA2M2MuLjdjZWQ3YWRhYmIzYmZiZDk5YTU4ZDI0NzIxYzMy
NTNhZjEyNjJiYzEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViS2l0Q2xp
ZW50LmgKKysrIGIvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJLaXRDbGllbnQuaApAQCAtMTQx
LDYgKzE0MSw3IEBAIHB1YmxpYzoKICAgICAvLyBJbmRleGVkIERhdGFiYXNlIC0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogICAgIHZpcnR1YWwg
V2ViSURCRmFjdG9yeSogaWRiRmFjdG9yeSgpIHsgcmV0dXJuIDA7IH0KKyAgICB2aXJ0dWFsIHZv
aWQgaWRiU2h1dGRvd24oKSB7IH07CiAgICAgdmlydHVhbCB2b2lkIGNyZWF0ZUlEQktleXNGcm9t
U2VyaWFsaXplZFZhbHVlc0FuZEtleVBhdGgoY29uc3QgV2ViVmVjdG9yPFdlYlNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZT4mIHZhbHVlcywgIGNvbnN0IFdlYlN0cmluZyYga2V5UGF0aCwgV2ViVmVjdG9y
PFdlYklEQktleT4mIGtleXMpIHsgfQogCiAKZGlmZiAtLWdpdCBhL1dlYktpdC9jaHJvbWl1bS9z
cmMvQ2hyb21pdW1CcmlkZ2UuY3BwIGIvV2ViS2l0L2Nocm9taXVtL3NyYy9DaHJvbWl1bUJyaWRn
ZS5jcHAKaW5kZXggMzlkMjU2NjE1MTBlYjAwMDkyZWRjZTU3N2NiZmM3MzU2OTNjZDNlNi4uMDc0
Yzk4MmRmYTRiZjNhNjk4Y2NjMWMwZmQ4NTFkMDE2NGY0ZGQ1NiAxMDA2NDQKLS0tIGEvV2ViS2l0
L2Nocm9taXVtL3NyYy9DaHJvbWl1bUJyaWRnZS5jcHAKKysrIGIvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9DaHJvbWl1bUJyaWRnZS5jcHAKQEAgLTUxNCw2ICs1MTQsMTIgQEAgUGFzc1JlZlB0cjxJREJG
YWN0b3J5QmFja2VuZEludGVyZmFjZT4gQ2hyb21pdW1CcmlkZ2U6OmlkYkZhY3RvcnkoKQogICAg
IHJldHVybiBJREJGYWN0b3J5QmFja2VuZFByb3h5OjpjcmVhdGUoKTsKIH0KIAordm9pZCBDaHJv
bWl1bUJyaWRnZTo6aWRiU2h1dGRvd24oKQoreworICAgIC8vIEluIHRoZSBicm93c2VyIHByb2Nl
c3MsIHRoaXMgc2h1dHMgZG93biB0aGUgdXRpbGl0eSBwcm9jZXNzLiBJbiB0aGUgcmVuZGVyZXIg
cHJvY2VzcywgaXQgZG9lcyBub3RoaW5nLgorICAgIHdlYktpdENsaWVudCgpLT5pZGJTaHV0ZG93
bigpOworfQorCiB2b2lkIENocm9taXVtQnJpZGdlOjpjcmVhdGVJREJLZXlzRnJvbVNlcmlhbGl6
ZWRWYWx1ZXNBbmRLZXlQYXRoKGNvbnN0IFZlY3RvcjxSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZh
bHVlPiA+JiB2YWx1ZXMsIGNvbnN0IFN0cmluZyYga2V5UGF0aCwgVmVjdG9yPFJlZlB0cjxJREJL
ZXk+ID4mIGtleXMpCiB7CiAgICAgV2ViVmVjdG9yPFdlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4g
d2ViVmFsdWVzID0gdmFsdWVzOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>