<?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>110675</bug_id>
          
          <creation_ts>2013-02-22 18:10:43 -0800</creation_ts>
          <short_desc>IndexedDB: IO error when checking schema should destroy LevelDB directory</short_desc>
          <delta_ts>2013-03-04 11:41:28 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>110677</blocked>
    
    <blocked>110820</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="David Grogan">dgrogan</reporter>
          <assigned_to name="David Grogan">dgrogan</assigned_to>
          <cc>abarth</cc>
    
    <cc>alecflett</cc>
    
    <cc>jsbell</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>840216</commentid>
    <comment_count>0</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2013-02-22 18:10:43 -0800</bug_when>
    <thetext>IndexedDB: IO error when checking schema should destroy LevelDB directory</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840219</commentid>
    <comment_count>1</comment_count>
      <attachid>189887</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2013-02-22 18:12:30 -0800</bug_when>
    <thetext>Created attachment 189887
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840223</commentid>
    <comment_count>2</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2013-02-22 18:17:14 -0800</bug_when>
    <thetext>Josh, could you take a look at this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840233</commentid>
    <comment_count>3</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2013-02-22 18:35:29 -0800</bug_when>
    <thetext>Josh or Alec, could you take a look?

IO error on schema check and failed openInMemory were the last two situations caught by the fallthrough that is now histogrammed as UnknownErr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840239</commentid>
    <comment_count>4</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2013-02-22 18:43:29 -0800</bug_when>
    <thetext>Oops, comment 3 was supposed to go on bug 110677.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840265</commentid>
    <comment_count>5</comment_count>
      <attachid>189887</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-02-22 19:36:38 -0800</bug_when>
    <thetext>Comment on attachment 189887
Patch

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

lgtm

&gt; Source/WebCore/Modules/indexeddb/IDBBackingStore.cpp:391
&gt; +            if (ok &amp;&amp; !known) {

Maybe more concise as:

} else if (!known) { 

(Not sure that&apos;s an improvement.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840269</commentid>
    <comment_count>6</comment_count>
      <attachid>189887</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2013-02-22 19:45:10 -0800</bug_when>
    <thetext>Comment on attachment 189887
Patch

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

&gt;&gt; Source/WebCore/Modules/indexeddb/IDBBackingStore.cpp:391
&gt;&gt; +            if (ok &amp;&amp; !known) {
&gt; 
&gt; Maybe more concise as:
&gt; 
&gt; } else if (!known) { 
&gt; 
&gt; (Not sure that&apos;s an improvement.)

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840270</commentid>
    <comment_count>7</comment_count>
      <attachid>189900</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2013-02-22 19:45:32 -0800</bug_when>
    <thetext>Created attachment 189900
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840271</commentid>
    <comment_count>8</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2013-02-22 19:46:18 -0800</bug_when>
    <thetext>Tony, could you review this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841040</commentid>
    <comment_count>9</comment_count>
      <attachid>189900</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-02-25 09:46:43 -0800</bug_when>
    <thetext>Comment on attachment 189900
Patch

I thought we had a unittest that truncates the level db data file.  Maybe something like that would work for this case?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841577</commentid>
    <comment_count>10</comment_count>
      <attachid>190194</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2013-02-25 20:33:16 -0800</bug_when>
    <thetext>Created attachment 190194
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>841578</commentid>
    <comment_count>11</comment_count>
      <attachid>190194</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2013-02-25 20:36:33 -0800</bug_when>
    <thetext>Comment on attachment 190194
Patch

Now with a unit test after some refactoring. Josh and/or Tony, could you review the new stuff?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843309</commentid>
    <comment_count>12</comment_count>
      <attachid>190194</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2013-02-27 11:33:47 -0800</bug_when>
    <thetext>Comment on attachment 190194
Patch

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

lgtm - nice work!

&gt; Source/WebCore/ChangeLog:14
&gt; +        (DefaultLevelDBFactory):

Add details or remove these lines in ().

&gt; Source/WebKit/chromium/ChangeLog:13
&gt; +        (WebCore):

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843326</commentid>
    <comment_count>13</comment_count>
      <attachid>190568</attachid>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2013-02-27 11:51:24 -0800</bug_when>
    <thetext>Created attachment 190568
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843327</commentid>
    <comment_count>14</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2013-02-27 11:52:24 -0800</bug_when>
    <thetext>Tony, could you re-review this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843355</commentid>
    <comment_count>15</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2013-02-27 12:07:54 -0800</bug_when>
    <thetext>Ojan, with Tony out of town could you review this?

Tony r+&apos;d a much smaller earlier version and Josh gave this an LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843474</commentid>
    <comment_count>16</comment_count>
    <who name="David Grogan">dgrogan</who>
    <bug_when>2013-02-27 13:58:56 -0800</bug_when>
    <thetext>Adam, with Tony and Ojan out, could you review this patch?

Tony r+&apos;d a much smaller earlier version and Josh gave this an LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>843829</commentid>
    <comment_count>17</comment_count>
      <attachid>190568</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2013-02-28 00:37:29 -0800</bug_when>
    <thetext>Comment on attachment 190568
Patch

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

I&apos;m not sure about the GYP cargo culting, but the rest looks sane.

&gt; Source/WebKit/chromium/ChangeLog:9
&gt; +        This was cargo-culted. The component build wouldn&apos;t run otherwise.

:)

&gt; Source/WebKit/chromium/WebKit.gyp:646
&gt; +                                &apos;tests/IDBCleanupOnIOErrorTest.cpp&apos;,

ugg</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844178</commentid>
    <comment_count>18</comment_count>
      <attachid>190568</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-28 10:13:18 -0800</bug_when>
    <thetext>Comment on attachment 190568
Patch

Clearing flags on attachment: 190568

Committed r144323: &lt;http://trac.webkit.org/changeset/144323&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>844179</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-28 10:13:23 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846673</commentid>
    <comment_count>20</comment_count>
      <attachid>190568</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2013-03-04 11:41:28 -0800</bug_when>
    <thetext>Comment on attachment 190568
Patch

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

&gt; Source/WebKit/chromium/tests/IDBCleanupOnIOErrorTest.cpp:31
&gt; +#include &lt;webkit/support/webkit_support.h&gt;

To avoid the gyp cargo culting, you would need to not include this header.  I guess that means either porting CreateScopedTempDirectory to Source/WebKit/chromium/testing/ or moving this test into chromium&apos;s repo.  Anyway, not a big deal either way.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189887</attachid>
            <date>2013-02-22 18:12:30 -0800</date>
            <delta_ts>2013-02-22 19:45:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110675-20130222180849.patch</filename>
            <type>text/plain</type>
            <size>2192</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzODE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTZhNDBhNDAyZjNjZjhi
ZWZiZDdjYzI2NDJkMDRmNzQ3ODllN2E0OC4uNTEwMzM3MjJhODdlNjAwOTkxZjYyMGJjNTkzZGQ2
MDBlYjg5M2UyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEzLTAyLTIyICBEYXZp
ZCBHcm9nYW4gIDxkZ3JvZ2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IElP
IGVycm9yIHdoZW4gY2hlY2tpbmcgc2NoZW1hIHNob3VsZCBkZXN0cm95IExldmVsREIgZGlyZWN0
b3J5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA2
NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBo
YXZlIG5vIGdvb2Qgd2F5IG9mIHNpbXVsYXRpbmcgSS9PIGVycm9ycy4gSSB0ZXN0ZWQgbWFudWFs
bHkgYnkKKyAgICAgICAgbWFraW5nIGlzU2NoZW1hS25vd24gYWx3YXlzIGluZGljYXRlIEkvTyBl
cnJvci4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkJhY2tpbmdTdG9yZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJREJCYWNraW5nU3RvcmU6Om9wZW4pOgorCiAyMDEzLTAyLTIy
ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFtXSzJd
IFRoZSByb290IGFuZCBwYWdlIG92ZXJsYXkgbGF5ZXJzIHNob3VsZCBiZSB0aGUgc2l6ZSBvZiB0
aGUgdmlldywgbm90IHRoZSBjb250ZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJCYWNraW5nU3RvcmUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCQmFja2luZ1N0b3JlLmNwcAppbmRleCAzNzBjYzE1OTVmZmZmN2NmYTE5
ZTA0NzFmYTRhZWIyNTczOTNjZmU2Li44YzJkNjAyYzZmNjI4YjI1N2MyN2JmOTQ3MTA5ZDg2ZWE3
YjZjNzdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJC
YWNraW5nU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QkJhY2tpbmdTdG9yZS5jcHAKQEAgLTM4NCwxMCArMzg0LDExIEBAIFBhc3NSZWZQdHI8SURCQmFj
a2luZ1N0b3JlPiBJREJCYWNraW5nU3RvcmU6Om9wZW4oU2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5
T3JpZ2luCiAgICAgICAgICAgICBib29sIGtub3duID0gZmFsc2U7CiAgICAgICAgICAgICBib29s
IG9rID0gaXNTY2hlbWFLbm93bihkYi5nZXQoKSwga25vd24pOwogICAgICAgICAgICAgaWYgKCFv
aykgeworICAgICAgICAgICAgICAgIExPR19FUlJPUigiSW5kZXhlZERCIGhhZCBJTyBlcnJvciBj
aGVja2luZyBzY2hlbWEsIHRyZWF0aW5nIGl0IGFzIGZhaWx1cmUgdG8gb3BlbiIpOwogICAgICAg
ICAgICAgICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3Jl
LkluZGV4ZWREQi5CYWNraW5nU3RvcmUuT3BlblN0YXR1cyIsIElEQkxldmVsREJCYWNraW5nU3Rv
cmVPcGVuRmFpbGVkSU9FcnJDaGVja2luZ1NjaGVtYSwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9w
ZW5NYXgpOwotICAgICAgICAgICAgICAgIHJldHVybiBQYXNzUmVmUHRyPElEQkJhY2tpbmdTdG9y
ZT4oKTsKKyAgICAgICAgICAgICAgICBkYi5jbGVhcigpOwogICAgICAgICAgICAgfQotICAgICAg
ICAgICAgaWYgKCFrbm93bikgeworICAgICAgICAgICAgaWYgKG9rICYmICFrbm93bikgewogICAg
ICAgICAgICAgICAgIExPR19FUlJPUigiSW5kZXhlZERCIGJhY2tpbmcgc3RvcmUgaGFkIHVua25v
d24gc2NoZW1hLCB0cmVhdGluZyBpdCBhcyBmYWlsdXJlIHRvIG9wZW4iKTsKICAgICAgICAgICAg
ICAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRl
eGVkREIuQmFja2luZ1N0b3JlLk9wZW5TdGF0dXMiLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3Bl
bkZhaWxlZFVua25vd25TY2hlbWEsIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuTWF4KTsKICAg
ICAgICAgICAgICAgICBkYi5jbGVhcigpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189900</attachid>
            <date>2013-02-22 19:45:32 -0800</date>
            <delta_ts>2013-02-25 20:33:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110675-20130222194151.patch</filename>
            <type>text/plain</type>
            <size>2193</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzODE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTZhNDBhNDAyZjNjZjhi
ZWZiZDdjYzI2NDJkMDRmNzQ3ODllN2E0OC4uNTEwMzM3MjJhODdlNjAwOTkxZjYyMGJjNTkzZGQ2
MDBlYjg5M2UyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEzLTAyLTIyICBEYXZp
ZCBHcm9nYW4gIDxkZ3JvZ2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IElP
IGVycm9yIHdoZW4gY2hlY2tpbmcgc2NoZW1hIHNob3VsZCBkZXN0cm95IExldmVsREIgZGlyZWN0
b3J5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA2
NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBo
YXZlIG5vIGdvb2Qgd2F5IG9mIHNpbXVsYXRpbmcgSS9PIGVycm9ycy4gSSB0ZXN0ZWQgbWFudWFs
bHkgYnkKKyAgICAgICAgbWFraW5nIGlzU2NoZW1hS25vd24gYWx3YXlzIGluZGljYXRlIEkvTyBl
cnJvci4KKworICAgICAgICAqIE1vZHVsZXMvaW5kZXhlZGRiL0lEQkJhY2tpbmdTdG9yZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJREJCYWNraW5nU3RvcmU6Om9wZW4pOgorCiAyMDEzLTAyLTIy
ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIFtXSzJd
IFRoZSByb290IGFuZCBwYWdlIG92ZXJsYXkgbGF5ZXJzIHNob3VsZCBiZSB0aGUgc2l6ZSBvZiB0
aGUgdmlldywgbm90IHRoZSBjb250ZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJCYWNraW5nU3RvcmUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9pbmRleGVkZGIvSURCQmFja2luZ1N0b3JlLmNwcAppbmRleCAzNzBjYzE1OTVmZmZmN2NmYTE5
ZTA0NzFmYTRhZWIyNTczOTNjZmU2Li5iMjI2ZTlmOWZlNzZlOTAxYWZmMmNlYTE0MTcwYTNkOWYx
ZWUzMjlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJC
YWNraW5nU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lE
QkJhY2tpbmdTdG9yZS5jcHAKQEAgLTM4NCwxMCArMzg0LDEwIEBAIFBhc3NSZWZQdHI8SURCQmFj
a2luZ1N0b3JlPiBJREJCYWNraW5nU3RvcmU6Om9wZW4oU2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5
T3JpZ2luCiAgICAgICAgICAgICBib29sIGtub3duID0gZmFsc2U7CiAgICAgICAgICAgICBib29s
IG9rID0gaXNTY2hlbWFLbm93bihkYi5nZXQoKSwga25vd24pOwogICAgICAgICAgICAgaWYgKCFv
aykgeworICAgICAgICAgICAgICAgIExPR19FUlJPUigiSW5kZXhlZERCIGhhZCBJTyBlcnJvciBj
aGVja2luZyBzY2hlbWEsIHRyZWF0aW5nIGl0IGFzIGZhaWx1cmUgdG8gb3BlbiIpOwogICAgICAg
ICAgICAgICAgIEhpc3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3Jl
LkluZGV4ZWREQi5CYWNraW5nU3RvcmUuT3BlblN0YXR1cyIsIElEQkxldmVsREJCYWNraW5nU3Rv
cmVPcGVuRmFpbGVkSU9FcnJDaGVja2luZ1NjaGVtYSwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9w
ZW5NYXgpOwotICAgICAgICAgICAgICAgIHJldHVybiBQYXNzUmVmUHRyPElEQkJhY2tpbmdTdG9y
ZT4oKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGlmICgha25vd24pIHsKKyAgICAgICAg
ICAgICAgICBkYi5jbGVhcigpOworICAgICAgICAgICAgfSBlbHNlIGlmICgha25vd24pIHsKICAg
ICAgICAgICAgICAgICBMT0dfRVJST1IoIkluZGV4ZWREQiBiYWNraW5nIHN0b3JlIGhhZCB1bmtu
b3duIHNjaGVtYSwgdHJlYXRpbmcgaXQgYXMgZmFpbHVyZSB0byBvcGVuIik7CiAgICAgICAgICAg
ICAgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNvcmUuSW5k
ZXhlZERCLkJhY2tpbmdTdG9yZS5PcGVuU3RhdHVzIiwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9w
ZW5GYWlsZWRVbmtub3duU2NoZW1hLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3Blbk1heCk7CiAg
ICAgICAgICAgICAgICAgZGIuY2xlYXIoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190194</attachid>
            <date>2013-02-25 20:33:16 -0800</date>
            <delta_ts>2013-02-27 11:51:22 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110675-20130225202931.patch</filename>
            <type>text/plain</type>
            <size>14412</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzOTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWVmNTBlMjFlNjdlMGNi
ZDg5ODVlYjI3OTUyYzhkNWY4ZTUxYWIyZi4uODNmYzViMzhjMmNiZDBkYWY3Yjg3MDA3YmE2MzJh
ZTFiY2E4ZWFmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEzLTAyLTI1ICBEYXZp
ZCBHcm9nYW4gIDxkZ3JvZ2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IElP
IGVycm9yIHdoZW4gY2hlY2tpbmcgc2NoZW1hIHNob3VsZCBkZXN0cm95IExldmVsREIgZGlyZWN0
b3J5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA2
NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbHNv
IHNvbWUgcmVmYWN0b3JpbmcgdG8gcmVtb3ZlIElEQkJhY2tpbmdTdG9yZSdzIGRlcGVuZGVuY2Ug
b24KKyAgICAgICAgc3RhdGljIExldmVsREJEYXRhYmFzZSBtZXRob2RzLiBUaGlzIGZhY2lsaXRh
dGVkIHRoZSB1bml0IHRlc3QuCisKKyAgICAgICAgTmV3IHVuaXQgdGVzdCAtIElEQklPRXJyb3JU
ZXN0LkNsZWFuVXBUZXN0CisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJCYWNraW5n
U3RvcmUuY3BwOgorICAgICAgICAoRGVmYXVsdExldmVsREJGYWN0b3J5KToKKyAgICAgICAgKFdl
YkNvcmU6OkRlZmF1bHRMZXZlbERCRmFjdG9yeTo6b3BlbkxldmVsREIpOgorICAgICAgICAoV2Vi
Q29yZTo6RGVmYXVsdExldmVsREJGYWN0b3J5OjpkZXN0cm95TGV2ZWxEQik6CisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkJhY2tpbmdTdG9yZTo6b3Blbik6CisgICAg
ICAgICogTW9kdWxlcy9pbmRleGVkZGIvSURCQmFja2luZ1N0b3JlLmg6CisgICAgICAgIChMZXZl
bERCRmFjdG9yeSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKElEQkJhY2tpbmdTdG9y
ZSk6CisgICAgICAgICogcGxhdGZvcm0vbGV2ZWxkYi9MZXZlbERCRGF0YWJhc2UuaDoKKyAgICAg
ICAgKExldmVsREJEYXRhYmFzZSk6CisKIDIwMTMtMDItMjUgIEtlbnRhcm8gSGFyYSAgPGhhcmFr
ZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4IGFmdGVyIHIx
NDM5NjUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDMzYWNhNjVhOTYxNTg3OGM1YzIz
YWE3MzY4ZmEzNjUxZjc2OGE0OWQuLjZlY2JhZGU3MTk4OTY4MzE2MzNkNDJkNjBiMjRhZDAxYWQy
YWQxZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTMt
MDItMjUgIERhdmlkIEdyb2dhbiAgPGRncm9nYW5AY2hyb21pdW0ub3JnPgorCisgICAgICAgIElu
ZGV4ZWREQjogSU8gZXJyb3Igd2hlbiBjaGVja2luZyBzY2hlbWEgc2hvdWxkIGRlc3Ryb3kgTGV2
ZWxEQiBkaXJlY3RvcnkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTExMDY3NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogV2ViS2l0Lmd5cDoKKyAgICAgICAgVGhpcyB3YXMgY2FyZ28tY3VsdGVkLiBUaGUg
Y29tcG9uZW50IGJ1aWxkIHdvdWxkbid0IHJ1biBvdGhlcndpc2UuCisKKyAgICAgICAgKiBXZWJL
aXQuZ3lwaToKKyAgICAgICAgKiB0ZXN0cy9JREJDbGVhbnVwT25JT0Vycm9yVGVzdC5jcHA6IEFk
ZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChCdXN0ZWRMZXZlbERCRGF0YWJhc2Up
OgorICAgICAgICAoV2ViQ29yZTo6QnVzdGVkTGV2ZWxEQkRhdGFiYXNlOjpvcGVuKToKKyAgICAg
ICAgKFdlYkNvcmU6OkJ1c3RlZExldmVsREJEYXRhYmFzZTo6c2FmZUdldCk6CisgICAgICAgIChN
b2NrTGV2ZWxEQkZhY3RvcnkpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja0xldmVsREJGYWN0b3J5
OjpNb2NrTGV2ZWxEQkZhY3RvcnkpOgorICAgICAgICAoV2ViQ29yZTo6TW9ja0xldmVsREJGYWN0
b3J5OjpvcGVuTGV2ZWxEQik6CisgICAgICAgIChXZWJDb3JlOjpNb2NrTGV2ZWxEQkZhY3Rvcnk6
OmRlc3Ryb3lMZXZlbERCKToKKyAgICAgICAgKFdlYkNvcmU6Ok1vY2tMZXZlbERCRmFjdG9yeTo6
fk1vY2tMZXZlbERCRmFjdG9yeSk6CisgICAgICAgIChXZWJDb3JlOjpURVNUKToKKwogMjAxMy0w
Mi0yNSAgU2hlcmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAg
ICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjE0MzkzNi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkJhY2tpbmdTdG9yZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJCYWNraW5nU3RvcmUuY3BwCmluZGV4IDM3MGNjMTU5
NWZmZmY3Y2ZhMTllMDQ3MWZhNGFlYjI1NzM5M2NmZTYuLjIyNjQxYjRiNjlhOWY4MTZjNTQ2NTJm
MzBjY2QzNWFmNWRmZTRlYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5k
ZXhlZGRiL0lEQkJhY2tpbmdTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9p
bmRleGVkZGIvSURCQmFja2luZ1N0b3JlLmNwcApAQCAtMzI0LDYgKzMyNCwxOCBAQCBXQVJOX1VO
VVNFRF9SRVRVUk4gc3RhdGljIGJvb2wgZ2V0TWF4T2JqZWN0U3RvcmVJZChEQk9yVHJhbnNhY3Rp
b24qIGRiLCBjb25zdCBWZQogICAgIHJldHVybiB0cnVlOwogfQogCitjbGFzcyBEZWZhdWx0TGV2
ZWxEQkZhY3RvcnkgOiBwdWJsaWMgTGV2ZWxEQkZhY3RvcnkgeworcHVibGljOgorICAgIHZpcnR1
YWwgUGFzc093blB0cjxMZXZlbERCRGF0YWJhc2U+IG9wZW5MZXZlbERCKGNvbnN0IFN0cmluZyYg
ZmlsZU5hbWUsIGNvbnN0IExldmVsREJDb21wYXJhdG9yKiBjb21wYXJhdG9yKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIExldmVsREJEYXRhYmFzZTo6b3BlbihmaWxlTmFtZSwgY29tcGFyYXRvcik7
CisgICAgfQorICAgIHZpcnR1YWwgYm9vbCBkZXN0cm95TGV2ZWxEQihjb25zdCBTdHJpbmcmIGZp
bGVOYW1lKQorICAgIHsKKyAgICAgICAgcmV0dXJuIExldmVsREJEYXRhYmFzZTo6ZGVzdHJveShm
aWxlTmFtZSk7CisgICAgfQorfTsKKwogSURCQmFja2luZ1N0b3JlOjpJREJCYWNraW5nU3RvcmUo
Y29uc3QgU3RyaW5nJiBpZGVudGlmaWVyLCBJREJGYWN0b3J5QmFja2VuZEltcGwqIGZhY3Rvcnks
IFBhc3NPd25QdHI8TGV2ZWxEQkRhdGFiYXNlPiBkYikKICAgICA6IG1faWRlbnRpZmllcihpZGVu
dGlmaWVyKQogICAgICwgbV9mYWN0b3J5KGZhY3RvcnkpCkBAIC0zNjEsNiArMzczLDEyIEBAIGVu
dW0gSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5SZXN1bHQgewogCiBQYXNzUmVmUHRyPElEQkJh
Y2tpbmdTdG9yZT4gSURCQmFja2luZ1N0b3JlOjpvcGVuKFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0
eU9yaWdpbiwgY29uc3QgU3RyaW5nJiBwYXRoQmFzZUFyZywgY29uc3QgU3RyaW5nJiBmaWxlSWRl
bnRpZmllciwgSURCRmFjdG9yeUJhY2tlbmRJbXBsKiBmYWN0b3J5KQogeworICAgIERlZmF1bHRM
ZXZlbERCRmFjdG9yeSBsZXZlbERCRmFjdG9yeTsKKyAgICByZXR1cm4gSURCQmFja2luZ1N0b3Jl
OjpvcGVuKHNlY3VyaXR5T3JpZ2luLCBwYXRoQmFzZUFyZywgZmlsZUlkZW50aWZpZXIsIGZhY3Rv
cnksICZsZXZlbERCRmFjdG9yeSk7Cit9CisKK1Bhc3NSZWZQdHI8SURCQmFja2luZ1N0b3JlPiBJ
REJCYWNraW5nU3RvcmU6Om9wZW4oU2VjdXJpdHlPcmlnaW4qIHNlY3VyaXR5T3JpZ2luLCBjb25z
dCBTdHJpbmcmIHBhdGhCYXNlQXJnLCBjb25zdCBTdHJpbmcmIGZpbGVJZGVudGlmaWVyLCBJREJG
YWN0b3J5QmFja2VuZEltcGwqIGZhY3RvcnksIExldmVsREJGYWN0b3J5KiBsZXZlbERCRmFjdG9y
eSkKK3sKICAgICBJREJfVFJBQ0UoIklEQkJhY2tpbmdTdG9yZTo6b3BlbiIpOwogICAgIFN0cmlu
ZyBwYXRoQmFzZSA9IHBhdGhCYXNlQXJnOwogCkBAIC0zNzksMTUgKzM5NywxNSBAQCBQYXNzUmVm
UHRyPElEQkJhY2tpbmdTdG9yZT4gSURCQmFja2luZ1N0b3JlOjpvcGVuKFNlY3VyaXR5T3JpZ2lu
KiBzZWN1cml0eU9yaWdpbgogCiAgICAgICAgIFN0cmluZyBwYXRoID0gcGF0aEJ5QXBwZW5kaW5n
Q29tcG9uZW50KHBhdGhCYXNlLCBzZWN1cml0eU9yaWdpbi0+ZGF0YWJhc2VJZGVudGlmaWVyKCkg
KyAiLmluZGV4ZWRkYi5sZXZlbGRiIik7CiAKLSAgICAgICAgZGIgPSBMZXZlbERCRGF0YWJhc2U6
Om9wZW4ocGF0aCwgY29tcGFyYXRvci5nZXQoKSk7CisgICAgICAgIGRiID0gbGV2ZWxEQkZhY3Rv
cnktPm9wZW5MZXZlbERCKHBhdGgsIGNvbXBhcmF0b3IuZ2V0KCkpOwogICAgICAgICBpZiAoZGIp
IHsKICAgICAgICAgICAgIGJvb2wga25vd24gPSBmYWxzZTsKICAgICAgICAgICAgIGJvb2wgb2sg
PSBpc1NjaGVtYUtub3duKGRiLmdldCgpLCBrbm93bik7CiAgICAgICAgICAgICBpZiAoIW9rKSB7
CisgICAgICAgICAgICAgICAgTE9HX0VSUk9SKCJJbmRleGVkREIgaGFkIElPIGVycm9yIGNoZWNr
aW5nIHNjaGVtYSwgdHJlYXRpbmcgaXQgYXMgZmFpbHVyZSB0byBvcGVuIik7CiAgICAgICAgICAg
ICAgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNvcmUuSW5k
ZXhlZERCLkJhY2tpbmdTdG9yZS5PcGVuU3RhdHVzIiwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9w
ZW5GYWlsZWRJT0VyckNoZWNraW5nU2NoZW1hLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3Blbk1h
eCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFBhc3NSZWZQdHI8SURCQmFja2luZ1N0b3JlPigp
OwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKCFrbm93bikgeworICAgICAgICAgICAg
ICAgIGRiLmNsZWFyKCk7CisgICAgICAgICAgICB9IGVsc2UgaWYgKCFrbm93bikgewogICAgICAg
ICAgICAgICAgIExPR19FUlJPUigiSW5kZXhlZERCIGJhY2tpbmcgc3RvcmUgaGFkIHVua25vd24g
c2NoZW1hLCB0cmVhdGluZyBpdCBhcyBmYWlsdXJlIHRvIG9wZW4iKTsKICAgICAgICAgICAgICAg
ICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVk
REIuQmFja2luZ1N0b3JlLk9wZW5TdGF0dXMiLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlbkZh
aWxlZFVua25vd25TY2hlbWEsIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuTWF4KTsKICAgICAg
ICAgICAgICAgICBkYi5jbGVhcigpOwpAQCAtMzk4LDcgKzQxNiw3IEBAIFBhc3NSZWZQdHI8SURC
QmFja2luZ1N0b3JlPiBJREJCYWNraW5nU3RvcmU6Om9wZW4oU2VjdXJpdHlPcmlnaW4qIHNlY3Vy
aXR5T3JpZ2luCiAgICAgICAgICAgICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJh
dGlvbigiV2ViQ29yZS5JbmRleGVkREIuQmFja2luZ1N0b3JlLk9wZW5TdGF0dXMiLCBJREJMZXZl
bERCQmFja2luZ1N0b3JlT3BlblN1Y2Nlc3MsIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuTWF4
KTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBMT0dfRVJST1IoIkluZGV4ZWREQiBiYWNr
aW5nIHN0b3JlIG9wZW4gZmFpbGVkLCBhdHRlbXB0aW5nIGNsZWFudXAiKTsKLSAgICAgICAgICAg
IGJvb2wgc3VjY2VzcyA9IExldmVsREJEYXRhYmFzZTo6ZGVzdHJveShwYXRoKTsKKyAgICAgICAg
ICAgIGJvb2wgc3VjY2VzcyA9IGxldmVsREJGYWN0b3J5LT5kZXN0cm95TGV2ZWxEQihwYXRoKTsK
ICAgICAgICAgICAgIGlmICghc3VjY2VzcykgewogICAgICAgICAgICAgICAgIExPR19FUlJPUigi
SW5kZXhlZERCIGJhY2tpbmcgc3RvcmUgY2xlYW51cCBmYWlsZWQiKTsKICAgICAgICAgICAgICAg
ICBIaXN0b2dyYW1TdXBwb3J0OjpoaXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVk
REIuQmFja2luZ1N0b3JlLk9wZW5TdGF0dXMiLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlbkNs
ZWFudXBEZXN0cm95RmFpbGVkLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3Blbk1heCk7CkBAIC00
MDYsNyArNDI0LDcgQEAgUGFzc1JlZlB0cjxJREJCYWNraW5nU3RvcmU+IElEQkJhY2tpbmdTdG9y
ZTo6b3BlbihTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4KICAgICAgICAgICAgIH0KIAog
ICAgICAgICAgICAgTE9HX0VSUk9SKCJJbmRleGVkREIgYmFja2luZyBzdG9yZSBjbGVhbnVwIHN1
Y2NlZWRlZCwgcmVvcGVuaW5nIik7Ci0gICAgICAgICAgICBkYiA9IExldmVsREJEYXRhYmFzZTo6
b3BlbihwYXRoLCBjb21wYXJhdG9yLmdldCgpKTsKKyAgICAgICAgICAgIGRiID0gbGV2ZWxEQkZh
Y3RvcnktPm9wZW5MZXZlbERCKHBhdGgsIGNvbXBhcmF0b3IuZ2V0KCkpOwogICAgICAgICAgICAg
aWYgKCFkYikgewogICAgICAgICAgICAgICAgIExPR19FUlJPUigiSW5kZXhlZERCIGJhY2tpbmcg
c3RvcmUgcmVvcGVuIGFmdGVyIHJlY292ZXJ5IGZhaWxlZCIpOwogICAgICAgICAgICAgICAgIEhp
c3RvZ3JhbVN1cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4ZWREQi5C
YWNraW5nU3RvcmUuT3BlblN0YXR1cyIsIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuQ2xlYW51
cFJlb3BlbkZhaWxlZCwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5NYXgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURCQmFja2luZ1N0b3JlLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJCYWNraW5nU3RvcmUuaAppbmRleCA4
YjQ5YmM4YTQyMWM2MDYxYmVjYWY2MDdiY2ViOGUzMWMwNjc3NTNkLi45MjNkN2RjYTY4MDUwYjU0
MTc3NzllNmI4ZDE4NWM5NGM4MDA2ODA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJCYWNraW5nU3RvcmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2luZGV4ZWRkYi9JREJCYWNraW5nU3RvcmUuaApAQCAtNDUsMTIgKzQ1LDE5IEBAIGNsYXNz
IElEQktleVJhbmdlOwogY2xhc3MgU2VjdXJpdHlPcmlnaW47CiBjbGFzcyBTaGFyZWRCdWZmZXI7
CiAKK2NsYXNzIExldmVsREJGYWN0b3J5IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIFBhc3NPd25Q
dHI8TGV2ZWxEQkRhdGFiYXNlPiBvcGVuTGV2ZWxEQihjb25zdCBTdHJpbmcmIGZpbGVOYW1lLCBj
b25zdCBMZXZlbERCQ29tcGFyYXRvciopID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgZGVzdHJveUxl
dmVsREIoY29uc3QgU3RyaW5nJiBmaWxlTmFtZSkgPSAwOworfTsKKwogY2xhc3MgSURCQmFja2lu
Z1N0b3JlIDogcHVibGljIFJlZkNvdW50ZWQ8SURCQmFja2luZ1N0b3JlPiB7CiBwdWJsaWM6CiAg
ICAgY2xhc3MgVHJhbnNhY3Rpb247CiAKICAgICB2aXJ0dWFsIH5JREJCYWNraW5nU3RvcmUoKTsK
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJREJCYWNraW5nU3RvcmU+IG9wZW4oU2VjdXJpdHlPcmln
aW4qLCBjb25zdCBTdHJpbmcmIHBhdGhCYXNlLCBjb25zdCBTdHJpbmcmIGZpbGVJZGVudGlmaWVy
LCBJREJGYWN0b3J5QmFja2VuZEltcGwqKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxJREJCYWNr
aW5nU3RvcmU+IG9wZW4oU2VjdXJpdHlPcmlnaW4qLCBjb25zdCBTdHJpbmcmIHBhdGhCYXNlLCBj
b25zdCBTdHJpbmcmIGZpbGVJZGVudGlmaWVyLCBJREJGYWN0b3J5QmFja2VuZEltcGwqLCBMZXZl
bERCRmFjdG9yeSopOwogCiAgICAgdmlydHVhbCBWZWN0b3I8U3RyaW5nPiBnZXREYXRhYmFzZU5h
bWVzKCk7CiAgICAgdmlydHVhbCBib29sIGdldElEQkRhdGFiYXNlTWV0YURhdGEoY29uc3QgU3Ry
aW5nJiBuYW1lLCBJREJEYXRhYmFzZU1ldGFkYXRhKiwgYm9vbCYgc3VjY2VzcykgV0FSTl9VTlVT
RURfUkVUVVJOOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbGV2ZWxkYi9M
ZXZlbERCRGF0YWJhc2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2xldmVsZGIvTGV2ZWxE
QkRhdGFiYXNlLmgKaW5kZXggZjlmNGQ0ZTFiYWU0YjBiNjNiOGE5OGJlOTIyMjI4ZDQ2NzUxMDU4
ZS4uMTEyODNjYmYzYmFiNmRjYWZlMzBmNTVmZGYyMmRhOThjMjczN2UxZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbGV2ZWxkYi9MZXZlbERCRGF0YWJhc2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9sZXZlbGRiL0xldmVsREJEYXRhYmFzZS5oCkBAIC02NSwx
OCArNjUsMjAgQEAgcHVibGljOgogICAgIHN0YXRpYyBQYXNzT3duUHRyPExldmVsREJEYXRhYmFz
ZT4gb3Blbihjb25zdCBTdHJpbmcmIGZpbGVOYW1lLCBjb25zdCBMZXZlbERCQ29tcGFyYXRvciop
OwogICAgIHN0YXRpYyBQYXNzT3duUHRyPExldmVsREJEYXRhYmFzZT4gb3BlbkluTWVtb3J5KGNv
bnN0IExldmVsREJDb21wYXJhdG9yKik7CiAgICAgc3RhdGljIGJvb2wgZGVzdHJveShjb25zdCBT
dHJpbmcmIGZpbGVOYW1lKTsKLSAgICB+TGV2ZWxEQkRhdGFiYXNlKCk7CisgICAgdmlydHVhbCB+
TGV2ZWxEQkRhdGFiYXNlKCk7CiAKICAgICBib29sIHB1dChjb25zdCBMZXZlbERCU2xpY2UmIGtl
eSwgY29uc3QgVmVjdG9yPGNoYXI+JiB2YWx1ZSk7CiAgICAgYm9vbCByZW1vdmUoY29uc3QgTGV2
ZWxEQlNsaWNlJiBrZXkpOwotICAgIGJvb2wgc2FmZUdldChjb25zdCBMZXZlbERCU2xpY2UmIGtl
eSwgVmVjdG9yPGNoYXI+JiB2YWx1ZSwgYm9vbCYgZm91bmQsIGNvbnN0IExldmVsREJTbmFwc2hv
dCogPSAwKTsKKyAgICB2aXJ0dWFsIGJvb2wgc2FmZUdldChjb25zdCBMZXZlbERCU2xpY2UmIGtl
eSwgVmVjdG9yPGNoYXI+JiB2YWx1ZSwgYm9vbCYgZm91bmQsIGNvbnN0IExldmVsREJTbmFwc2hv
dCogPSAwKTsKICAgICBib29sIHdyaXRlKExldmVsREJXcml0ZUJhdGNoJik7CiAgICAgUGFzc093
blB0cjxMZXZlbERCSXRlcmF0b3I+IGNyZWF0ZUl0ZXJhdG9yKGNvbnN0IExldmVsREJTbmFwc2hv
dCogPSAwKTsKICAgICBjb25zdCBMZXZlbERCQ29tcGFyYXRvciogY29tcGFyYXRvcigpIGNvbnN0
OwogCitwcm90ZWN0ZWQ6CisgICAgTGV2ZWxEQkRhdGFiYXNlKCk7CisKIHByaXZhdGU6CiAgICAg
ZnJpZW5kIGNsYXNzIExldmVsREJTbmFwc2hvdDsKLSAgICBMZXZlbERCRGF0YWJhc2UoKTsKIAog
ICAgIE93blB0cjxsZXZlbGRiOjpFbnY+IG1fZW52OwogICAgIE93blB0cjxsZXZlbGRiOjpDb21w
YXJhdG9yPiBtX2NvbXBhcmF0b3JBZGFwdGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9XZWJLaXQuZ3lwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCmlu
ZGV4IDgyMjU5YzIwZTM0NmY4MWNkZDlhYWM4N2E1ZTUwNzNhNGZhYzllMmEuLjlkOWI2MDZlOTc2
YWUzMzczMGE0NWU5YWJiZmY3YjliZmIzNTQ4OGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vV2ViS2l0Lmd5cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5n
eXAKQEAgLTY0Myw2ICs2NDMsNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj
IFdlIHNob3VsZCBub3QgaW5jbHVkZSBmaWxlcyBkZXBlbmRpbmcgb24gd2Via2l0X3N1cHBvcnQu
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgVGhlc2UgdGVzdHMgZGVwZW5kIG9u
IHdlYmtpdF9zdXBwb3J0IGFuZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGZ1
bmN0aW9ucyBkZWZpbmVkIG9ubHkgaW4gIVdFQktJVF9JTVBMRU1FTlRBVElPTi4KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJ3Rlc3RzL0lEQkNsZWFudXBPbklPRXJyb3JUZXN0LmNw
cCcsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0ZXN0cy9MZXZlbERCVGVzdC5j
cHAnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJ2NvbmRpdGlvbnMnOiBbCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL1dlYktpdC5neXBpIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwaQppbmRl
eCBkNTgxMTI4OGNmZTRjZjMzN2FlNDc2YTNkNTcyODdhMWExMzMxYzI5Li4zNjhmMmFiM2EwMjI0
OTdhY2E2YzlmYmFlNmQzNDNjZGMyMTkxYjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL1dlYktpdC5neXBpCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5
cGkKQEAgLTc1LDYgKzc1LDcgQEAKICAgICAgICAgICAgICd0ZXN0cy9HcmFwaGljc0xheWVyQ2hy
b21pdW1UZXN0LmNwcCcsCiAgICAgICAgICAgICAndGVzdHMvSURCQWJvcnRPbkNvcnJ1cHRUZXN0
LmNwcCcsCiAgICAgICAgICAgICAndGVzdHMvSURCQmluZGluZ1V0aWxpdGllc1Rlc3QuY3BwJywK
KyAgICAgICAgICAgICd0ZXN0cy9JREJDbGVhbnVwT25JT0Vycm9yVGVzdC5jcHAnLAogICAgICAg
ICAgICAgJ3Rlc3RzL0lEQkRhdGFiYXNlQmFja2VuZFRlc3QuY3BwJywKICAgICAgICAgICAgICd0
ZXN0cy9JREJGYWtlQmFja2luZ1N0b3JlLmgnLAogICAgICAgICAgICAgJ3Rlc3RzL0lEQktleVBh
dGhUZXN0LmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lE
QkNsZWFudXBPbklPRXJyb3JUZXN0LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMv
SURCQ2xlYW51cE9uSU9FcnJvclRlc3QuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkwZGNjZDZiMTE5ZjUyZDk4
OGY3MzRmMzkxZTlmNmNmMzM0ZTU5MWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3Rlc3RzL0lEQkNsZWFudXBPbklPRXJyb3JUZXN0LmNwcApAQCAtMCwwICsxLDg3
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgor
ICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIklEQkJhY2tpbmdTdG9y
ZS5oIgorI2luY2x1ZGUgIkxldmVsREJEYXRhYmFzZS5oIgorI2luY2x1ZGUgIlNlY3VyaXR5T3Jp
Z2luLmgiCisjaW5jbHVkZSA8Z3Rlc3QvZ3Rlc3QuaD4KKyNpbmNsdWRlIDx3ZWJraXQvc3VwcG9y
dC93ZWJraXRfc3VwcG9ydC5oPgorCisjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0UpCisKK3Vz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgeworCitjbGFzcyBCdXN0ZWRMZXZl
bERCRGF0YWJhc2UgOiBwdWJsaWMgTGV2ZWxEQkRhdGFiYXNlIHsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUGFzc093blB0cjxMZXZlbERCRGF0YWJhc2U+IG9wZW4oY29uc3QgU3RyaW5nJiBmaWxlTmFt
ZSwgY29uc3QgTGV2ZWxEQkNvbXBhcmF0b3IqKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0
UHRyKG5ldyBCdXN0ZWRMZXZlbERCRGF0YWJhc2UpOworICAgIH0KKyAgICB2aXJ0dWFsIGJvb2wg
c2FmZUdldChjb25zdCBMZXZlbERCU2xpY2UmIGtleSwgVmVjdG9yPGNoYXI+JiB2YWx1ZSwgYm9v
bCYgZm91bmQsIGNvbnN0IExldmVsREJTbmFwc2hvdCogPSAwKQorICAgIHsKKyAgICAgICAgLy8g
ZmFsc2UgbWVhbnMgSU8gZXJyb3IuCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cit9Owor
CitjbGFzcyBNb2NrTGV2ZWxEQkZhY3RvcnkgOiBwdWJsaWMgTGV2ZWxEQkZhY3RvcnkgeworcHVi
bGljOgorICAgIE1vY2tMZXZlbERCRmFjdG9yeSgpIDogbV9kZXN0cm95Q2FsbGVkKGZhbHNlKSB7
IH0KKyAgICB2aXJ0dWFsIFBhc3NPd25QdHI8TGV2ZWxEQkRhdGFiYXNlPiBvcGVuTGV2ZWxEQihj
b25zdCBTdHJpbmcmIGZpbGVOYW1lLCBjb25zdCBMZXZlbERCQ29tcGFyYXRvciogY29tcGFyYXRv
cikKKyAgICB7CisgICAgICAgIHJldHVybiBCdXN0ZWRMZXZlbERCRGF0YWJhc2U6Om9wZW4oZmls
ZU5hbWUsIGNvbXBhcmF0b3IpOworICAgIH0KKyAgICB2aXJ0dWFsIGJvb2wgZGVzdHJveUxldmVs
REIoY29uc3QgU3RyaW5nJiBmaWxlTmFtZSkKKyAgICB7CisgICAgICAgIEVYUEVDVF9GQUxTRSht
X2Rlc3Ryb3lDYWxsZWQpOworICAgICAgICBtX2Rlc3Ryb3lDYWxsZWQgPSB0cnVlOworICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIHZpcnR1YWwgfk1vY2tMZXZlbERCRmFjdG9yeSgp
CisgICAgeworICAgICAgICBFWFBFQ1RfVFJVRShtX2Rlc3Ryb3lDYWxsZWQpOworICAgIH0KK3By
aXZhdGU6CisgICAgYm9vbCBtX2Rlc3Ryb3lDYWxsZWQ7Cit9OworCitURVNUKElEQklPRXJyb3JU
ZXN0LCBDbGVhblVwVGVzdCkKK3sKKyAgICBSZWZQdHI8U2VjdXJpdHlPcmlnaW4+IG9yaWdpbiA9
IFNlY3VyaXR5T3JpZ2luOjpjcmVhdGUoImh0dHAiLCAibG9jYWxob3N0IiwgODEpOworICAgIE93
blB0cjx3ZWJraXRfc3VwcG9ydDo6U2NvcGVkVGVtcERpcmVjdG9yeT4gdGVtcERpcmVjdG9yeSA9
IGFkb3B0UHRyKHdlYmtpdF9zdXBwb3J0OjpDcmVhdGVTY29wZWRUZW1wRGlyZWN0b3J5KCkpOwor
ICAgIHRlbXBEaXJlY3RvcnktPkNyZWF0ZVVuaXF1ZVRlbXBEaXIoKTsKKyAgICBjb25zdCBTdHJp
bmcgcGF0aCA9IFN0cmluZzo6ZnJvbVVURjgodGVtcERpcmVjdG9yeS0+cGF0aCgpLmNfc3RyKCkp
OworICAgIFN0cmluZyBkdW1teUZpbGVJZGVudGlmaWVyOworICAgIElEQkZhY3RvcnlCYWNrZW5k
SW1wbCogZHVtbXlJREJGYWN0b3J5ID0gMDsKKyAgICBNb2NrTGV2ZWxEQkZhY3RvcnkgbW9ja0xl
dmVsREJGYWN0b3J5OworICAgIFJlZlB0cjxJREJCYWNraW5nU3RvcmU+IGJhY2tpbmdTdG9yZSA9
IElEQkJhY2tpbmdTdG9yZTo6b3BlbihvcmlnaW4uZ2V0KCksIHBhdGgsIGR1bW15RmlsZUlkZW50
aWZpZXIsIGR1bW15SURCRmFjdG9yeSwgJm1vY2tMZXZlbERCRmFjdG9yeSk7Cit9CisKK30gLy8g
bmFtZXNwYWNlCisKKyNlbmRpZiAvLyBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRSkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>190568</attachid>
            <date>2013-02-27 11:51:24 -0800</date>
            <delta_ts>2013-03-04 11:41:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110675-20130227114737.patch</filename>
            <type>text/plain</type>
            <size>13882</size>
            <attacher name="David Grogan">dgrogan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0MjE2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzRmN2RjOGFlNTI0YWQ2
MzFlZmMxMjE1NGFkMmRlZjNkYTA4ODgzYy4uMTZiZjZkNzQzY2FkODU1NDljMmU3NWU3YjFhZGU0
OTdmMDc4Y2I3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEzLTAyLTI1ICBEYXZp
ZCBHcm9nYW4gIDxkZ3JvZ2FuQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IElP
IGVycm9yIHdoZW4gY2hlY2tpbmcgc2NoZW1hIHNob3VsZCBkZXN0cm95IExldmVsREIgZGlyZWN0
b3J5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTA2
NzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbHNv
IHNvbWUgcmVmYWN0b3JpbmcgdG8gcmVtb3ZlIElEQkJhY2tpbmdTdG9yZSdzIGRlcGVuZGVuY2Ug
b24KKyAgICAgICAgc3RhdGljIExldmVsREJEYXRhYmFzZSBtZXRob2RzLiBUaGlzIGZhY2lsaXRh
dGVkIHRoZSB1bml0IHRlc3QuCisKKyAgICAgICAgTmV3IHVuaXQgdGVzdCAtIElEQklPRXJyb3JU
ZXN0LkNsZWFuVXBUZXN0CisKKyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJCYWNraW5n
U3RvcmUuY3BwOgorICAgICAgICAoRGVmYXVsdExldmVsREJGYWN0b3J5KToKKyAgICAgICAgV3Jh
cHMgdGhlIHByZXZpb3VzIGJlaGF2aW9yLgorICAgICAgICAoV2ViQ29yZTo6SURCQmFja2luZ1N0
b3JlOjpvcGVuKToKKyAgICAgICAgVGhlIGRlZmF1bHQgcGFyYW1ldGVyIHByb3ZpZGVzIHRoZSBw
cmV2aW91cyBiZWhhdmlvciwgd2hpY2ggaXMgd2hhdAorICAgICAgICBub24tdGVzdHMgd2FudC4K
KyAgICAgICAgKiBNb2R1bGVzL2luZGV4ZWRkYi9JREJCYWNraW5nU3RvcmUuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9sZXZlbGRiL0xldmVsREJEYXRhYmFzZS5oOgorCiAyMDEzLTAyLTI2ICBBbGV4
ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIERvbid0IGFkZCBhIGJv
ZHkgdG8gcGxhdGZvcm0gcmVxdWVzdCB1bnRpbCBuZWNlc3NhcnkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKaW5kZXggNWI2MjNhYjRjZTVjYmY0OTBiMzc4MGMzZmM5NDY2ODc3MWQ2NGViYy4uOTQx
OTFiNTEzMzAxY2I2ZjQ4YTAyMzNkZTczMTA1Nzg1MTY3NGFjZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMy0wMi0yNSAgRGF2aWQgR3JvZ2FuICA8ZGdy
b2dhbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBJTyBlcnJvciB3aGVuIGNo
ZWNraW5nIHNjaGVtYSBzaG91bGQgZGVzdHJveSBMZXZlbERCIGRpcmVjdG9yeQorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwNjc1CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXQuZ3lwOgorICAg
ICAgICBUaGlzIHdhcyBjYXJnby1jdWx0ZWQuIFRoZSBjb21wb25lbnQgYnVpbGQgd291bGRuJ3Qg
cnVuIG90aGVyd2lzZS4KKworICAgICAgICAqIFdlYktpdC5neXBpOgorICAgICAgICAqIHRlc3Rz
L0lEQkNsZWFudXBPbklPRXJyb3JUZXN0LmNwcDogQWRkZWQuCisKIDIwMTMtMDItMjcgIEdsZW5u
IEFkYW1zICA8Z2xlbm5Ac2t5bmF2LmNvbT4KIAogICAgICAgICBBZGQgRU5BQkxFX0NTUzNfVEVY
VF9MSU5FX0JSRUFLIGZsYWcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2lu
ZGV4ZWRkYi9JREJCYWNraW5nU3RvcmUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRl
eGVkZGIvSURCQmFja2luZ1N0b3JlLmNwcAppbmRleCAzNzBjYzE1OTVmZmZmN2NmYTE5ZTA0NzFm
YTRhZWIyNTczOTNjZmU2Li4yMjY0MWI0YjY5YTlmODE2YzU0NjUyZjMwY2NkMzVhZjVkZmU0ZWI2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2luZGV4ZWRkYi9JREJCYWNraW5n
U3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvaW5kZXhlZGRiL0lEQkJhY2tp
bmdTdG9yZS5jcHAKQEAgLTMyNCw2ICszMjQsMTggQEAgV0FSTl9VTlVTRURfUkVUVVJOIHN0YXRp
YyBib29sIGdldE1heE9iamVjdFN0b3JlSWQoREJPclRyYW5zYWN0aW9uKiBkYiwgY29uc3QgVmUK
ICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorY2xhc3MgRGVmYXVsdExldmVsREJGYWN0b3J5IDogcHVi
bGljIExldmVsREJGYWN0b3J5IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIFBhc3NPd25QdHI8TGV2
ZWxEQkRhdGFiYXNlPiBvcGVuTGV2ZWxEQihjb25zdCBTdHJpbmcmIGZpbGVOYW1lLCBjb25zdCBM
ZXZlbERCQ29tcGFyYXRvciogY29tcGFyYXRvcikKKyAgICB7CisgICAgICAgIHJldHVybiBMZXZl
bERCRGF0YWJhc2U6Om9wZW4oZmlsZU5hbWUsIGNvbXBhcmF0b3IpOworICAgIH0KKyAgICB2aXJ0
dWFsIGJvb2wgZGVzdHJveUxldmVsREIoY29uc3QgU3RyaW5nJiBmaWxlTmFtZSkKKyAgICB7Cisg
ICAgICAgIHJldHVybiBMZXZlbERCRGF0YWJhc2U6OmRlc3Ryb3koZmlsZU5hbWUpOworICAgIH0K
K307CisKIElEQkJhY2tpbmdTdG9yZTo6SURCQmFja2luZ1N0b3JlKGNvbnN0IFN0cmluZyYgaWRl
bnRpZmllciwgSURCRmFjdG9yeUJhY2tlbmRJbXBsKiBmYWN0b3J5LCBQYXNzT3duUHRyPExldmVs
REJEYXRhYmFzZT4gZGIpCiAgICAgOiBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKICAgICAsIG1f
ZmFjdG9yeShmYWN0b3J5KQpAQCAtMzYxLDYgKzM3MywxMiBAQCBlbnVtIElEQkxldmVsREJCYWNr
aW5nU3RvcmVPcGVuUmVzdWx0IHsKIAogUGFzc1JlZlB0cjxJREJCYWNraW5nU3RvcmU+IElEQkJh
Y2tpbmdTdG9yZTo6b3BlbihTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4sIGNvbnN0IFN0
cmluZyYgcGF0aEJhc2VBcmcsIGNvbnN0IFN0cmluZyYgZmlsZUlkZW50aWZpZXIsIElEQkZhY3Rv
cnlCYWNrZW5kSW1wbCogZmFjdG9yeSkKIHsKKyAgICBEZWZhdWx0TGV2ZWxEQkZhY3RvcnkgbGV2
ZWxEQkZhY3Rvcnk7CisgICAgcmV0dXJuIElEQkJhY2tpbmdTdG9yZTo6b3BlbihzZWN1cml0eU9y
aWdpbiwgcGF0aEJhc2VBcmcsIGZpbGVJZGVudGlmaWVyLCBmYWN0b3J5LCAmbGV2ZWxEQkZhY3Rv
cnkpOworfQorCitQYXNzUmVmUHRyPElEQkJhY2tpbmdTdG9yZT4gSURCQmFja2luZ1N0b3JlOjpv
cGVuKFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdpbiwgY29uc3QgU3RyaW5nJiBwYXRoQmFz
ZUFyZywgY29uc3QgU3RyaW5nJiBmaWxlSWRlbnRpZmllciwgSURCRmFjdG9yeUJhY2tlbmRJbXBs
KiBmYWN0b3J5LCBMZXZlbERCRmFjdG9yeSogbGV2ZWxEQkZhY3RvcnkpCit7CiAgICAgSURCX1RS
QUNFKCJJREJCYWNraW5nU3RvcmU6Om9wZW4iKTsKICAgICBTdHJpbmcgcGF0aEJhc2UgPSBwYXRo
QmFzZUFyZzsKIApAQCAtMzc5LDE1ICszOTcsMTUgQEAgUGFzc1JlZlB0cjxJREJCYWNraW5nU3Rv
cmU+IElEQkJhY2tpbmdTdG9yZTo6b3BlbihTZWN1cml0eU9yaWdpbiogc2VjdXJpdHlPcmlnaW4K
IAogICAgICAgICBTdHJpbmcgcGF0aCA9IHBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChwYXRoQmFz
ZSwgc2VjdXJpdHlPcmlnaW4tPmRhdGFiYXNlSWRlbnRpZmllcigpICsgIi5pbmRleGVkZGIubGV2
ZWxkYiIpOwogCi0gICAgICAgIGRiID0gTGV2ZWxEQkRhdGFiYXNlOjpvcGVuKHBhdGgsIGNvbXBh
cmF0b3IuZ2V0KCkpOworICAgICAgICBkYiA9IGxldmVsREJGYWN0b3J5LT5vcGVuTGV2ZWxEQihw
YXRoLCBjb21wYXJhdG9yLmdldCgpKTsKICAgICAgICAgaWYgKGRiKSB7CiAgICAgICAgICAgICBi
b29sIGtub3duID0gZmFsc2U7CiAgICAgICAgICAgICBib29sIG9rID0gaXNTY2hlbWFLbm93bihk
Yi5nZXQoKSwga25vd24pOwogICAgICAgICAgICAgaWYgKCFvaykgeworICAgICAgICAgICAgICAg
IExPR19FUlJPUigiSW5kZXhlZERCIGhhZCBJTyBlcnJvciBjaGVja2luZyBzY2hlbWEsIHRyZWF0
aW5nIGl0IGFzIGZhaWx1cmUgdG8gb3BlbiIpOwogICAgICAgICAgICAgICAgIEhpc3RvZ3JhbVN1
cHBvcnQ6Omhpc3RvZ3JhbUVudW1lcmF0aW9uKCJXZWJDb3JlLkluZGV4ZWREQi5CYWNraW5nU3Rv
cmUuT3BlblN0YXR1cyIsIElEQkxldmVsREJCYWNraW5nU3RvcmVPcGVuRmFpbGVkSU9FcnJDaGVj
a2luZ1NjaGVtYSwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5NYXgpOwotICAgICAgICAgICAg
ICAgIHJldHVybiBQYXNzUmVmUHRyPElEQkJhY2tpbmdTdG9yZT4oKTsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIGlmICgha25vd24pIHsKKyAgICAgICAgICAgICAgICBkYi5jbGVhcigpOwor
ICAgICAgICAgICAgfSBlbHNlIGlmICgha25vd24pIHsKICAgICAgICAgICAgICAgICBMT0dfRVJS
T1IoIkluZGV4ZWREQiBiYWNraW5nIHN0b3JlIGhhZCB1bmtub3duIHNjaGVtYSwgdHJlYXRpbmcg
aXQgYXMgZmFpbHVyZSB0byBvcGVuIik7CiAgICAgICAgICAgICAgICAgSGlzdG9ncmFtU3VwcG9y
dDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNvcmUuSW5kZXhlZERCLkJhY2tpbmdTdG9yZS5P
cGVuU3RhdHVzIiwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5GYWlsZWRVbmtub3duU2NoZW1h
LCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3Blbk1heCk7CiAgICAgICAgICAgICAgICAgZGIuY2xl
YXIoKTsKQEAgLTM5OCw3ICs0MTYsNyBAQCBQYXNzUmVmUHRyPElEQkJhY2tpbmdTdG9yZT4gSURC
QmFja2luZ1N0b3JlOjpvcGVuKFNlY3VyaXR5T3JpZ2luKiBzZWN1cml0eU9yaWdpbgogICAgICAg
ICAgICAgSGlzdG9ncmFtU3VwcG9ydDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNvcmUuSW5k
ZXhlZERCLkJhY2tpbmdTdG9yZS5PcGVuU3RhdHVzIiwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9w
ZW5TdWNjZXNzLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3Blbk1heCk7CiAgICAgICAgIGVsc2Ug
ewogICAgICAgICAgICAgTE9HX0VSUk9SKCJJbmRleGVkREIgYmFja2luZyBzdG9yZSBvcGVuIGZh
aWxlZCwgYXR0ZW1wdGluZyBjbGVhbnVwIik7Ci0gICAgICAgICAgICBib29sIHN1Y2Nlc3MgPSBM
ZXZlbERCRGF0YWJhc2U6OmRlc3Ryb3kocGF0aCk7CisgICAgICAgICAgICBib29sIHN1Y2Nlc3Mg
PSBsZXZlbERCRmFjdG9yeS0+ZGVzdHJveUxldmVsREIocGF0aCk7CiAgICAgICAgICAgICBpZiAo
IXN1Y2Nlc3MpIHsKICAgICAgICAgICAgICAgICBMT0dfRVJST1IoIkluZGV4ZWREQiBiYWNraW5n
IHN0b3JlIGNsZWFudXAgZmFpbGVkIik7CiAgICAgICAgICAgICAgICAgSGlzdG9ncmFtU3VwcG9y
dDo6aGlzdG9ncmFtRW51bWVyYXRpb24oIldlYkNvcmUuSW5kZXhlZERCLkJhY2tpbmdTdG9yZS5P
cGVuU3RhdHVzIiwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5DbGVhbnVwRGVzdHJveUZhaWxl
ZCwgSURCTGV2ZWxEQkJhY2tpbmdTdG9yZU9wZW5NYXgpOwpAQCAtNDA2LDcgKzQyNCw3IEBAIFBh
c3NSZWZQdHI8SURCQmFja2luZ1N0b3JlPiBJREJCYWNraW5nU3RvcmU6Om9wZW4oU2VjdXJpdHlP
cmlnaW4qIHNlY3VyaXR5T3JpZ2luCiAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgIExPR19F
UlJPUigiSW5kZXhlZERCIGJhY2tpbmcgc3RvcmUgY2xlYW51cCBzdWNjZWVkZWQsIHJlb3Blbmlu
ZyIpOwotICAgICAgICAgICAgZGIgPSBMZXZlbERCRGF0YWJhc2U6Om9wZW4ocGF0aCwgY29tcGFy
YXRvci5nZXQoKSk7CisgICAgICAgICAgICBkYiA9IGxldmVsREJGYWN0b3J5LT5vcGVuTGV2ZWxE
QihwYXRoLCBjb21wYXJhdG9yLmdldCgpKTsKICAgICAgICAgICAgIGlmICghZGIpIHsKICAgICAg
ICAgICAgICAgICBMT0dfRVJST1IoIkluZGV4ZWREQiBiYWNraW5nIHN0b3JlIHJlb3BlbiBhZnRl
ciByZWNvdmVyeSBmYWlsZWQiKTsKICAgICAgICAgICAgICAgICBIaXN0b2dyYW1TdXBwb3J0Ojpo
aXN0b2dyYW1FbnVtZXJhdGlvbigiV2ViQ29yZS5JbmRleGVkREIuQmFja2luZ1N0b3JlLk9wZW5T
dGF0dXMiLCBJREJMZXZlbERCQmFja2luZ1N0b3JlT3BlbkNsZWFudXBSZW9wZW5GYWlsZWQsIElE
QkxldmVsREJCYWNraW5nU3RvcmVPcGVuTWF4KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvaW5kZXhlZGRiL0lEQkJhY2tpbmdTdG9yZS5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9pbmRleGVkZGIvSURCQmFja2luZ1N0b3JlLmgKaW5kZXggOGI0OWJjOGE0MjFjNjA2MWJl
Y2FmNjA3YmNlYjhlMzFjMDY3NzUzZC4uOTIzZDdkY2E2ODA1MGI1NDE3Nzc5ZTZiOGQxODVjOTRj
ODAwNjgwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
QmFja2luZ1N0b3JlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9pbmRleGVkZGIvSURC
QmFja2luZ1N0b3JlLmgKQEAgLTQ1LDEyICs0NSwxOSBAQCBjbGFzcyBJREJLZXlSYW5nZTsKIGNs
YXNzIFNlY3VyaXR5T3JpZ2luOwogY2xhc3MgU2hhcmVkQnVmZmVyOwogCitjbGFzcyBMZXZlbERC
RmFjdG9yeSB7CitwdWJsaWM6CisgICAgdmlydHVhbCBQYXNzT3duUHRyPExldmVsREJEYXRhYmFz
ZT4gb3BlbkxldmVsREIoY29uc3QgU3RyaW5nJiBmaWxlTmFtZSwgY29uc3QgTGV2ZWxEQkNvbXBh
cmF0b3IqKSA9IDA7CisgICAgdmlydHVhbCBib29sIGRlc3Ryb3lMZXZlbERCKGNvbnN0IFN0cmlu
ZyYgZmlsZU5hbWUpID0gMDsKK307CisKIGNsYXNzIElEQkJhY2tpbmdTdG9yZSA6IHB1YmxpYyBS
ZWZDb3VudGVkPElEQkJhY2tpbmdTdG9yZT4gewogcHVibGljOgogICAgIGNsYXNzIFRyYW5zYWN0
aW9uOwogCiAgICAgdmlydHVhbCB+SURCQmFja2luZ1N0b3JlKCk7CiAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8SURCQmFja2luZ1N0b3JlPiBvcGVuKFNlY3VyaXR5T3JpZ2luKiwgY29uc3QgU3RyaW5n
JiBwYXRoQmFzZSwgY29uc3QgU3RyaW5nJiBmaWxlSWRlbnRpZmllciwgSURCRmFjdG9yeUJhY2tl
bmRJbXBsKik7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8SURCQmFja2luZ1N0b3JlPiBvcGVuKFNl
Y3VyaXR5T3JpZ2luKiwgY29uc3QgU3RyaW5nJiBwYXRoQmFzZSwgY29uc3QgU3RyaW5nJiBmaWxl
SWRlbnRpZmllciwgSURCRmFjdG9yeUJhY2tlbmRJbXBsKiwgTGV2ZWxEQkZhY3RvcnkqKTsKIAog
ICAgIHZpcnR1YWwgVmVjdG9yPFN0cmluZz4gZ2V0RGF0YWJhc2VOYW1lcygpOwogICAgIHZpcnR1
YWwgYm9vbCBnZXRJREJEYXRhYmFzZU1ldGFEYXRhKGNvbnN0IFN0cmluZyYgbmFtZSwgSURCRGF0
YWJhc2VNZXRhZGF0YSosIGJvb2wmIHN1Y2Nlc3MpIFdBUk5fVU5VU0VEX1JFVFVSTjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2xldmVsZGIvTGV2ZWxEQkRhdGFiYXNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9sZXZlbGRiL0xldmVsREJEYXRhYmFzZS5oCmluZGV4
IGY5ZjRkNGUxYmFlNGIwYjYzYjhhOThiZTkyMjIyOGQ0Njc1MTA1OGUuLjExMjgzY2JmM2JhYjZk
Y2FmZTMwZjU1ZmRmMjJkYTk4YzI3MzdlMWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2xldmVsZGIvTGV2ZWxEQkRhdGFiYXNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbGV2ZWxkYi9MZXZlbERCRGF0YWJhc2UuaApAQCAtNjUsMTggKzY1LDIwIEBAIHB1Ymxp
YzoKICAgICBzdGF0aWMgUGFzc093blB0cjxMZXZlbERCRGF0YWJhc2U+IG9wZW4oY29uc3QgU3Ry
aW5nJiBmaWxlTmFtZSwgY29uc3QgTGV2ZWxEQkNvbXBhcmF0b3IqKTsKICAgICBzdGF0aWMgUGFz
c093blB0cjxMZXZlbERCRGF0YWJhc2U+IG9wZW5Jbk1lbW9yeShjb25zdCBMZXZlbERCQ29tcGFy
YXRvciopOwogICAgIHN0YXRpYyBib29sIGRlc3Ryb3koY29uc3QgU3RyaW5nJiBmaWxlTmFtZSk7
Ci0gICAgfkxldmVsREJEYXRhYmFzZSgpOworICAgIHZpcnR1YWwgfkxldmVsREJEYXRhYmFzZSgp
OwogCiAgICAgYm9vbCBwdXQoY29uc3QgTGV2ZWxEQlNsaWNlJiBrZXksIGNvbnN0IFZlY3Rvcjxj
aGFyPiYgdmFsdWUpOwogICAgIGJvb2wgcmVtb3ZlKGNvbnN0IExldmVsREJTbGljZSYga2V5KTsK
LSAgICBib29sIHNhZmVHZXQoY29uc3QgTGV2ZWxEQlNsaWNlJiBrZXksIFZlY3RvcjxjaGFyPiYg
dmFsdWUsIGJvb2wmIGZvdW5kLCBjb25zdCBMZXZlbERCU25hcHNob3QqID0gMCk7CisgICAgdmly
dHVhbCBib29sIHNhZmVHZXQoY29uc3QgTGV2ZWxEQlNsaWNlJiBrZXksIFZlY3RvcjxjaGFyPiYg
dmFsdWUsIGJvb2wmIGZvdW5kLCBjb25zdCBMZXZlbERCU25hcHNob3QqID0gMCk7CiAgICAgYm9v
bCB3cml0ZShMZXZlbERCV3JpdGVCYXRjaCYpOwogICAgIFBhc3NPd25QdHI8TGV2ZWxEQkl0ZXJh
dG9yPiBjcmVhdGVJdGVyYXRvcihjb25zdCBMZXZlbERCU25hcHNob3QqID0gMCk7CiAgICAgY29u
c3QgTGV2ZWxEQkNvbXBhcmF0b3IqIGNvbXBhcmF0b3IoKSBjb25zdDsKIAorcHJvdGVjdGVkOgor
ICAgIExldmVsREJEYXRhYmFzZSgpOworCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBMZXZl
bERCU25hcHNob3Q7Ci0gICAgTGV2ZWxEQkRhdGFiYXNlKCk7CiAKICAgICBPd25QdHI8bGV2ZWxk
Yjo6RW52PiBtX2VudjsKICAgICBPd25QdHI8bGV2ZWxkYjo6Q29tcGFyYXRvcj4gbV9jb21wYXJh
dG9yQWRhcHRlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5
cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cAppbmRleCA4MjI1OWMyMGUzNDZm
ODFjZGQ5YWFjODdhNWU1MDczYTRmYWM5ZTJhLi45ZDliNjA2ZTk3NmFlMzM3MzBhNDVlOWFiYmZm
N2I5YmZiMzU0ODhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5n
eXAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwCkBAIC02NDMsNiArNjQz
LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBXZSBzaG91bGQgbm90IGlu
Y2x1ZGUgZmlsZXMgZGVwZW5kaW5nIG9uIHdlYmtpdF9zdXBwb3J0LgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAjIFRoZXNlIHRlc3RzIGRlcGVuZCBvbiB3ZWJraXRfc3VwcG9ydCBh
bmQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBmdW5jdGlvbnMgZGVmaW5lZCBv
bmx5IGluICFXRUJLSVRfSU1QTEVNRU5UQVRJT04uCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICd0ZXN0cy9JREJDbGVhbnVwT25JT0Vycm9yVGVzdC5jcHAnLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAndGVzdHMvTGV2ZWxEQlRlc3QuY3BwJywKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjb25kaXRp
b25zJzogWwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lwaSBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vV2ViS2l0Lmd5cGkKaW5kZXggM2IwYTdhNTNlNTgyM2M3
MWNiZTY4MmI1NzA3NGRmNTZmMTQxMGMxZi4uM2FlM2FmZTFhMDE5NjEyNjg2MmJiOGFjZTg0MDFj
ZDIxNTA3NDA4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9XZWJLaXQuZ3lw
aQorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXBpCkBAIC03Niw2ICs3Niw3
IEBACiAgICAgICAgICAgICAndGVzdHMvR3JhcGhpY3NMYXllckNocm9taXVtVGVzdC5jcHAnLAog
ICAgICAgICAgICAgJ3Rlc3RzL0lEQkFib3J0T25Db3JydXB0VGVzdC5jcHAnLAogICAgICAgICAg
ICAgJ3Rlc3RzL0lEQkJpbmRpbmdVdGlsaXRpZXNUZXN0LmNwcCcsCisgICAgICAgICAgICAndGVz
dHMvSURCQ2xlYW51cE9uSU9FcnJvclRlc3QuY3BwJywKICAgICAgICAgICAgICd0ZXN0cy9JREJE
YXRhYmFzZUJhY2tlbmRUZXN0LmNwcCcsCiAgICAgICAgICAgICAndGVzdHMvSURCRmFrZUJhY2tp
bmdTdG9yZS5oJywKICAgICAgICAgICAgICd0ZXN0cy9JREJLZXlQYXRoVGVzdC5jcHAnLApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJDbGVhbnVwT25JT0Vycm9y
VGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lEQkNsZWFudXBPbklPRXJy
b3JUZXN0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MGRjY2Q2YjExOWY1MmQ5ODhmNzM0ZjM5MWU5ZjZjZjMz
NGU1OTFmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9J
REJDbGVhbnVwT25JT0Vycm9yVGVzdC5jcHAKQEAgLTAsMCArMSw4NyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMyBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElU
UyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJ
VFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwor
ICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECisgKiBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisgKiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJJREJCYWNraW5nU3RvcmUuaCIKKyNpbmNsdWRlICJM
ZXZlbERCRGF0YWJhc2UuaCIKKyNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgorI2luY2x1ZGUg
PGd0ZXN0L2d0ZXN0Lmg+CisjaW5jbHVkZSA8d2Via2l0L3N1cHBvcnQvd2Via2l0X3N1cHBvcnQu
aD4KKworI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFKQorCit1c2luZyBuYW1lc3BhY2UgV2Vi
Q29yZTsKKworbmFtZXNwYWNlIHsKKworY2xhc3MgQnVzdGVkTGV2ZWxEQkRhdGFiYXNlIDogcHVi
bGljIExldmVsREJEYXRhYmFzZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NPd25QdHI8TGV2
ZWxEQkRhdGFiYXNlPiBvcGVuKGNvbnN0IFN0cmluZyYgZmlsZU5hbWUsIGNvbnN0IExldmVsREJD
b21wYXJhdG9yKikKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFB0cihuZXcgQnVzdGVkTGV2
ZWxEQkRhdGFiYXNlKTsKKyAgICB9CisgICAgdmlydHVhbCBib29sIHNhZmVHZXQoY29uc3QgTGV2
ZWxEQlNsaWNlJiBrZXksIFZlY3RvcjxjaGFyPiYgdmFsdWUsIGJvb2wmIGZvdW5kLCBjb25zdCBM
ZXZlbERCU25hcHNob3QqID0gMCkKKyAgICB7CisgICAgICAgIC8vIGZhbHNlIG1lYW5zIElPIGVy
cm9yLgorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfTsKKworY2xhc3MgTW9ja0xldmVs
REJGYWN0b3J5IDogcHVibGljIExldmVsREJGYWN0b3J5IHsKK3B1YmxpYzoKKyAgICBNb2NrTGV2
ZWxEQkZhY3RvcnkoKSA6IG1fZGVzdHJveUNhbGxlZChmYWxzZSkgeyB9CisgICAgdmlydHVhbCBQ
YXNzT3duUHRyPExldmVsREJEYXRhYmFzZT4gb3BlbkxldmVsREIoY29uc3QgU3RyaW5nJiBmaWxl
TmFtZSwgY29uc3QgTGV2ZWxEQkNvbXBhcmF0b3IqIGNvbXBhcmF0b3IpCisgICAgeworICAgICAg
ICByZXR1cm4gQnVzdGVkTGV2ZWxEQkRhdGFiYXNlOjpvcGVuKGZpbGVOYW1lLCBjb21wYXJhdG9y
KTsKKyAgICB9CisgICAgdmlydHVhbCBib29sIGRlc3Ryb3lMZXZlbERCKGNvbnN0IFN0cmluZyYg
ZmlsZU5hbWUpCisgICAgeworICAgICAgICBFWFBFQ1RfRkFMU0UobV9kZXN0cm95Q2FsbGVkKTsK
KyAgICAgICAgbV9kZXN0cm95Q2FsbGVkID0gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgIH0KKyAgICB2aXJ0dWFsIH5Nb2NrTGV2ZWxEQkZhY3RvcnkoKQorICAgIHsKKyAgICAgICAg
RVhQRUNUX1RSVUUobV9kZXN0cm95Q2FsbGVkKTsKKyAgICB9Citwcml2YXRlOgorICAgIGJvb2wg
bV9kZXN0cm95Q2FsbGVkOworfTsKKworVEVTVChJREJJT0Vycm9yVGVzdCwgQ2xlYW5VcFRlc3Qp
Cit7CisgICAgUmVmUHRyPFNlY3VyaXR5T3JpZ2luPiBvcmlnaW4gPSBTZWN1cml0eU9yaWdpbjo6
Y3JlYXRlKCJodHRwIiwgImxvY2FsaG9zdCIsIDgxKTsKKyAgICBPd25QdHI8d2Via2l0X3N1cHBv
cnQ6OlNjb3BlZFRlbXBEaXJlY3Rvcnk+IHRlbXBEaXJlY3RvcnkgPSBhZG9wdFB0cih3ZWJraXRf
c3VwcG9ydDo6Q3JlYXRlU2NvcGVkVGVtcERpcmVjdG9yeSgpKTsKKyAgICB0ZW1wRGlyZWN0b3J5
LT5DcmVhdGVVbmlxdWVUZW1wRGlyKCk7CisgICAgY29uc3QgU3RyaW5nIHBhdGggPSBTdHJpbmc6
OmZyb21VVEY4KHRlbXBEaXJlY3RvcnktPnBhdGgoKS5jX3N0cigpKTsKKyAgICBTdHJpbmcgZHVt
bXlGaWxlSWRlbnRpZmllcjsKKyAgICBJREJGYWN0b3J5QmFja2VuZEltcGwqIGR1bW15SURCRmFj
dG9yeSA9IDA7CisgICAgTW9ja0xldmVsREJGYWN0b3J5IG1vY2tMZXZlbERCRmFjdG9yeTsKKyAg
ICBSZWZQdHI8SURCQmFja2luZ1N0b3JlPiBiYWNraW5nU3RvcmUgPSBJREJCYWNraW5nU3RvcmU6
Om9wZW4ob3JpZ2luLmdldCgpLCBwYXRoLCBkdW1teUZpbGVJZGVudGlmaWVyLCBkdW1teUlEQkZh
Y3RvcnksICZtb2NrTGV2ZWxEQkZhY3RvcnkpOworfQorCit9IC8vIG5hbWVzcGFjZQorCisjZW5k
aWYgLy8gRU5BQkxFKElOREVYRURfREFUQUJBU0UpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>