<?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>99179</bug_id>
          
          <creation_ts>2012-10-12 08:19:29 -0700</creation_ts>
          <short_desc>Web Inspector: Saving HAR, snapshots and timeline data do not work in remote debugging mode</short_desc>
          <delta_ts>2012-11-15 18:43:03 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter>eustas.bug</reporter>
          <assigned_to>eustas.bug</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>caseq</cc>
    
    <cc>eustas.bug</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>740923</commentid>
    <comment_count>0</comment_count>
    <who name="">eustas.bug</who>
    <bug_when>2012-10-12 08:19:29 -0700</bug_when>
    <thetext>CRBUG: http://code.google.com/p/chromium/issues/detail?id=155494</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740935</commentid>
    <comment_count>1</comment_count>
      <attachid>168426</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2012-10-12 08:40:20 -0700</bug_when>
    <thetext>Created attachment 168426
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>740944</commentid>
    <comment_count>2</comment_count>
      <attachid>168426</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-10-12 08:59:45 -0700</bug_when>
    <thetext>Comment on attachment 168426
Patch

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

&gt; Source/WebCore/inspector/front-end/FileManager.js:58
&gt; +        return InspectorFrontendHost.canSave() &amp;&amp; (&quot;append&quot; in InspectorFrontendHost) &amp;&amp; (!(&quot;canAppend&quot; in InspectorFrontendHost) || InspectorFrontendHost.canAppend());

Looks like InspectorFrontendHost.canAppend() is always false.

&gt; Source/WebCore/inspector/front-end/FileUtils.js:350
&gt; +    this._isBuffering = !WebInspector.fileManager.canAppend();

So now each method of the class looks like if (this._isBuffering) { ... } else { ... }. I think that&apos;s an indication that we should be using a different implementation of OutputStream instead of abusing FileOutputStrem. I&apos;d suggest adding BlobOutputStream and a factory method that creates either of the streams based on whether we canAppend().

&gt; Source/WebCore/inspector/front-end/FileUtils.js:391
&gt; +        function callbackWrapper()
&gt; +        {
&gt; +            callback(this);
&gt; +        }

why not bind to callback directly?

&gt; Source/WebCore/inspector/front-end/InspectorFrontendHostStub.js:151
&gt; +        function cleanup() {
&gt; +            window.URL.revokeObjectURL(objectUrl);
&gt;          }

style: { =&gt; next line
I think this could also be inlined into setTimeout()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741804</commentid>
    <comment_count>3</comment_count>
      <attachid>168426</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2012-10-15 00:20:50 -0700</bug_when>
    <thetext>Comment on attachment 168426
Patch

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

&gt;&gt; Source/WebCore/inspector/front-end/FileManager.js:58
&gt;&gt; +        return InspectorFrontendHost.canSave() &amp;&amp; (&quot;append&quot; in InspectorFrontendHost) &amp;&amp; (!(&quot;canAppend&quot; in InspectorFrontendHost) || InspectorFrontendHost.canAppend());
&gt; 
&gt; Looks like InspectorFrontendHost.canAppend() is always false.

Addressed.

&gt;&gt; Source/WebCore/inspector/front-end/FileUtils.js:350
&gt;&gt; +    this._isBuffering = !WebInspector.fileManager.canAppend();
&gt; 
&gt; So now each method of the class looks like if (this._isBuffering) { ... } else { ... }. I think that&apos;s an indication that we should be using a different implementation of OutputStream instead of abusing FileOutputStrem. I&apos;d suggest adding BlobOutputStream and a factory method that creates either of the streams based on whether we canAppend().

Done.

&gt;&gt; Source/WebCore/inspector/front-end/FileUtils.js:391
&gt;&gt; +        }
&gt; 
&gt; why not bind to callback directly?

Fixed.

&gt;&gt; Source/WebCore/inspector/front-end/InspectorFrontendHostStub.js:151
&gt;&gt;          }
&gt; 
&gt; style: { =&gt; next line
&gt; I think this could also be inlined into setTimeout()

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741806</commentid>
    <comment_count>4</comment_count>
      <attachid>168636</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2012-10-15 00:22:13 -0700</bug_when>
    <thetext>Created attachment 168636
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742054</commentid>
    <comment_count>5</comment_count>
      <attachid>168714</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2012-10-15 08:25:19 -0700</bug_when>
    <thetext>Created attachment 168714
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742064</commentid>
    <comment_count>6</comment_count>
      <attachid>168714</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-15 08:34:40 -0700</bug_when>
    <thetext>Comment on attachment 168714
Patch

Attachment 168714 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14299700</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742792</commentid>
    <comment_count>7</comment_count>
      <attachid>168851</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2012-10-15 22:03:58 -0700</bug_when>
    <thetext>Created attachment 168851
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742831</commentid>
    <comment_count>8</comment_count>
      <attachid>168851</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-10-15 23:05:01 -0700</bug_when>
    <thetext>Comment on attachment 168851
Patch

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

&gt; Source/WebCore/inspector/front-end/HeapSnapshotView.js:956
&gt; +        return !this.fromFile() &amp;&amp; !!this._snapshotProxy &amp;&amp; !this._receiver;

nit: I don&apos;t think !! has any effect here.

&gt; Source/WebCore/inspector/front-end/InspectorFrontendHostStub.js:151
&gt; +        setTimeout(function() {

style: { =&gt; next line.
consider bind?

&gt; Source/WebCore/inspector/front-end/InspectorFrontendHostStub.js:163
&gt; +        setTimeout(function() {

ditto.

&gt; Source/WebCore/inspector/front-end/InspectorFrontendHostStub.js:179
&gt; +        setTimeout(function() {

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742903</commentid>
    <comment_count>9</comment_count>
      <attachid>168851</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2012-10-16 00:43:39 -0700</bug_when>
    <thetext>Comment on attachment 168851
Patch

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

&gt;&gt; Source/WebCore/inspector/front-end/HeapSnapshotView.js:956
&gt;&gt; +        return !this.fromFile() &amp;&amp; !!this._snapshotProxy &amp;&amp; !this._receiver;
&gt; 
&gt; nit: I don&apos;t think !! has any effect here.

This makes influence on return value type.
Without cast, return value is {boolean|null} instead of {boolean}.

&gt;&gt; Source/WebCore/inspector/front-end/InspectorFrontendHostStub.js:151
&gt;&gt; +        setTimeout(function() {
&gt; 
&gt; style: { =&gt; next line.
&gt; consider bind?

OK.

&gt;&gt; Source/WebCore/inspector/front-end/InspectorFrontendHostStub.js:163
&gt;&gt; +        setTimeout(function() {
&gt; 
&gt; ditto.

Done

&gt;&gt; Source/WebCore/inspector/front-end/InspectorFrontendHostStub.js:179
&gt;&gt; +        setTimeout(function() {
&gt; 
&gt; ditto

Binding is impossible. Explicitly declared nested function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742908</commentid>
    <comment_count>10</comment_count>
      <attachid>168879</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2012-10-16 00:50:05 -0700</bug_when>
    <thetext>Created attachment 168879
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743092</commentid>
    <comment_count>11</comment_count>
      <attachid>168879</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-10-16 05:56:06 -0700</bug_when>
    <thetext>Comment on attachment 168879
Patch

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

LGTM with a nit.

&gt; Source/WebCore/inspector/front-end/InspectorFrontendHostStub.js:176
&gt; +        function cleanup() {

{ =&gt; next line, please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743104</commentid>
    <comment_count>12</comment_count>
      <attachid>168934</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2012-10-16 06:26:36 -0700</bug_when>
    <thetext>Created attachment 168934
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744009</commentid>
    <comment_count>13</comment_count>
      <attachid>168934</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-10-17 01:36:23 -0700</bug_when>
    <thetext>Comment on attachment 168934
Patch

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

&gt; Source/WebCore/inspector/InspectorFrontendHost.cpp:253
&gt; +void InspectorFrontendHost::close(const String&amp; /* url */) { }

style: remove comment and put each brace on its own line.

&gt; Source/WebCore/inspector/front-end/InspectorFrontendHostStub.js:151
&gt; +        setTimeout(WebInspector.fileManager.savedURL.bind(WebInspector.fileManager, url), 0);

Why do you need setTimeout here?

&gt; Source/WebCore/inspector/front-end/InspectorFrontendHostStub.js:161
&gt; +        setTimeout(WebInspector.fileManager.appendedToURL.bind(WebInspector.fileManager, url), 0);

Why do you need setTimeout here?

&gt; Source/WebCore/inspector/front-end/InspectorFrontendHostStub.js:180
&gt; +        setTimeout(cleanup, 0);

Is there an event that we could listen to instead of scheduling revokeObjectURL on timeout?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744130</commentid>
    <comment_count>14</comment_count>
      <attachid>168934</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2012-10-17 04:10:52 -0700</bug_when>
    <thetext>Comment on attachment 168934
Patch

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

&gt;&gt; Source/WebCore/inspector/InspectorFrontendHost.cpp:253
&gt;&gt; +void InspectorFrontendHost::close(const String&amp; /* url */) { }
&gt; 
&gt; style: remove comment and put each brace on its own line.

Done.

&gt;&gt; Source/WebCore/inspector/front-end/InspectorFrontendHostStub.js:151
&gt;&gt; +        setTimeout(WebInspector.fileManager.savedURL.bind(WebInspector.fileManager, url), 0);
&gt; 
&gt; Why do you need setTimeout here?

It is expected (by caller) that callback is invoked asynchronously.

&gt;&gt; Source/WebCore/inspector/front-end/InspectorFrontendHostStub.js:161
&gt;&gt; +        setTimeout(WebInspector.fileManager.appendedToURL.bind(WebInspector.fileManager, url), 0);
&gt; 
&gt; Why do you need setTimeout here?

Ditto.

&gt;&gt; Source/WebCore/inspector/front-end/InspectorFrontendHostStub.js:180
&gt;&gt; +        setTimeout(cleanup, 0);
&gt; 
&gt; Is there an event that we could listen to instead of scheduling revokeObjectURL on timeout?

There are no specific events for Blobs.
window events do not fire either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744155</commentid>
    <comment_count>15</comment_count>
      <attachid>169158</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2012-10-17 04:48:17 -0700</bug_when>
    <thetext>Created attachment 169158
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744185</commentid>
    <comment_count>16</comment_count>
      <attachid>169158</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-10-17 05:36:41 -0700</bug_when>
    <thetext>Comment on attachment 169158
Patch

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

&gt; Source/WebCore/inspector/front-end/InspectorFrontendHostStub.js:174
&gt; +        window.location = objectUrl + &quot;#&quot; + url;

Can we use hostname instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744232</commentid>
    <comment_count>17</comment_count>
      <attachid>169158</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2012-10-17 07:29:53 -0700</bug_when>
    <thetext>Comment on attachment 169158
Patch

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

&gt;&gt; Source/WebCore/inspector/front-end/InspectorFrontendHostStub.js:174
&gt;&gt; +        window.location = objectUrl + &quot;#&quot; + url;
&gt; 
&gt; Can we use hostname instead?

addressed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>744233</commentid>
    <comment_count>18</comment_count>
      <attachid>169182</attachid>
    <who name="">eustas.bug</who>
    <bug_when>2012-10-17 07:30:33 -0700</bug_when>
    <thetext>Created attachment 169182
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746027</commentid>
    <comment_count>19</comment_count>
      <attachid>169182</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-18 23:13:02 -0700</bug_when>
    <thetext>Comment on attachment 169182
Patch

Rejecting attachment 169182 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 1

ERROR: /mnt/git/webkit-commit-queue/Source/WebKit/chromium/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://queues.webkit.org/results/14412891</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746109</commentid>
    <comment_count>20</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-10-19 01:02:43 -0700</bug_when>
    <thetext>Committed r131872: &lt;http://trac.webkit.org/changeset/131872&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168426</attachid>
            <date>2012-10-12 08:40:20 -0700</date>
            <delta_ts>2012-10-15 00:22:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99179-20121012193915.patch</filename>
            <type>text/plain</type>
            <size>6175</size>
            <attacher>eustas.bug</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMTcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmY0NWE4ZWQzMmM5ZTIx
MTg3ZjM5NmIxOTcxODU1NGY2ZjNlMmVmNS4uYmI4Y2FhNjlhYTZhN2QxZTdjNGZiNmM3YmRhODc5
YTI3MTI5MGUwZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTEwLTEyICBFdWdl
bmUgS2x5dWNobmlrb3YgIDxldXN0YXMuYnVnQGdtYWlsLmNvbT4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBTYXZpbmcgSEFSLCBzbmFwc2hvdHMgYW5kIHRpbWVsaW5lIGRhdGEgZG8gbm90IHdv
cmsgaW4gcmVtb3RlIGRlYnVnZ2luZyBtb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05OTE3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZGVkIGNvZGVwYXRoIHRvIEZpbGVPdXRwdXRTdHJlYW0gZm9y
IEZpbGVNYW5hZ2VyIHRoYXQKKyAgICAgICAgZG8gbm90IHN1cHBvcnQgYXBwZW5kaW5nLgorCisg
ICAgICAgIFR1cm5lZCBkYXRhIFVSTCB0byBibG9iIFVSTCBpbiBJbnNwZWN0b3JGcm9udGVuZEhv
c3RTdHViIHRvIGF2b2lkCisgICAgICAgIG1lbW9yeSBsaW1pdHMuCisKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL0ZpbGVNYW5hZ2VyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkZp
bGVNYW5hZ2VyLnByb3RvdHlwZS5jYW5BcHBlbmQpOiBGaXhlZCBjaGVjay4KKyAgICAgICAgKiBp
bnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVVdGlscy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5G
aWxlT3V0cHV0U3RyZWFtKTogQWRkZWQgY29kZXBhdGhzIGZvcgorICAgICAgICBub24tYXBwZW5k
YWJsZSBGaWxlTWFuYWdlci4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3Rv
ckZyb250ZW5kSG9zdFN0dWIuanM6CisgICAgICAgIFR1cm5lZCBkYXRhIFVSTCB0byBibG9iIFVS
TC4KKwogMjAxMi0xMC0xMiAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBuZXZlciBleHBhbmQgZ2xvYmFsIHNjb3BlIGF1dG9t
YXRpY2FsbHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RmlsZU1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVN
YW5hZ2VyLmpzCmluZGV4IDZiMTA4ZDNmMGJmYmQ4MjU2OGJlYmM0OTlmOWEyZWUxY2Q2NzJmMzcu
LjI4YTkwMTE4OWZmOTUxM2EyNTEwNGQ3NDVhZjU0NGE2MGFhNDYwZWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZU1hbmFnZXIuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlTWFuYWdlci5qcwpAQCAtNTUsNyAr
NTUsNyBAQCBXZWJJbnNwZWN0b3IuRmlsZU1hbmFnZXIucHJvdG90eXBlID0gewogICAgICAqLwog
ICAgIGNhbkFwcGVuZDogZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgcmV0dXJuIEluc3BlY3Rv
ckZyb250ZW5kSG9zdC5jYW5TYXZlKCkgJiYgKCJhcHBlbmQiIGluIEluc3BlY3RvckZyb250ZW5k
SG9zdCk7CisgICAgICAgIHJldHVybiBJbnNwZWN0b3JGcm9udGVuZEhvc3QuY2FuU2F2ZSgpICYm
ICgiYXBwZW5kIiBpbiBJbnNwZWN0b3JGcm9udGVuZEhvc3QpICYmICghKCJjYW5BcHBlbmQiIGlu
IEluc3BlY3RvckZyb250ZW5kSG9zdCkgfHwgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNhbkFwcGVu
ZCgpKTsKICAgICB9LAogCiAgICAgLyoqCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0ZpbGVVdGlscy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvRmlsZVV0aWxzLmpzCmluZGV4IDdlOTViZGZjODliOWEyYmE1YzIyZjBhYWIyY2Y4
ZDc3NzAwZWJkYWEuLjJkNTM0M2ExMWZiZTBmYWJlMGZiMTJkZWRmOWQ5ZTEwOTAyMjE0MTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVV0aWxzLmpz
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVV0aWxzLmpzCkBA
IC0zNDcsNiArMzQ3LDEwIEBAIFdlYkluc3BlY3Rvci5maW5kQmFsYW5jZWRDdXJseUJyYWNrZXRz
ID0gZnVuY3Rpb24oc291cmNlLCBzdGFydEluZGV4LCBsYXN0SW5kZXgpCiAgKi8KIFdlYkluc3Bl
Y3Rvci5GaWxlT3V0cHV0U3RyZWFtID0gZnVuY3Rpb24oKQogeworICAgIHRoaXMuX2lzQnVmZmVy
aW5nID0gIVdlYkluc3BlY3Rvci5maWxlTWFuYWdlci5jYW5BcHBlbmQoKTsKKyAgICBpZiAodGhp
cy5faXNCdWZmZXJpbmcpIHsKKyAgICAgICAgdGhpcy5fYnVmZmVyID0gW107CisgICAgfQogfQog
CiBXZWJJbnNwZWN0b3IuRmlsZU91dHB1dFN0cmVhbS5wcm90b3R5cGUgPSB7CkBAIC0zNjEsMTIg
KzM2NSwxOCBAQCBXZWJJbnNwZWN0b3IuRmlsZU91dHB1dFN0cmVhbS5wcm90b3R5cGUgPSB7CiAg
ICAgICAgIHRoaXMuX2ZpbGVOYW1lID0gZmlsZU5hbWU7CiAgICAgICAgIGZ1bmN0aW9uIGNhbGxi
YWNrV3JhcHBlcigpCiAgICAgICAgIHsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5maWxlTWFu
YWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5GaWxlTWFuYWdlci5FdmVudFR5
cGVzLlNhdmVkVVJMLCBjYWxsYmFja1dyYXBwZXIsIHRoaXMpOwotICAgICAgICAgICAgV2ViSW5z
cGVjdG9yLmZpbGVNYW5hZ2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkZpbGVNYW5h
Z2VyLkV2ZW50VHlwZXMuQXBwZW5kZWRUb1VSTCwgdGhpcy5fb25BcHBlbmREb25lLCB0aGlzKTsK
KyAgICAgICAgICAgIGlmICh0aGlzLl9pc0J1ZmZlcmluZykgeworICAgICAgICAgICAgICAgIFdl
Ykluc3BlY3Rvci5maWxlTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5G
aWxlTWFuYWdlci5FdmVudFR5cGVzLlNhdmVkVVJMLCBjYWxsYmFja1dyYXBwZXIsIHRoaXMpOwor
ICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5maWxlTWFuYWdlci5hZGRFdmVudExpc3RlbmVy
KFdlYkluc3BlY3Rvci5GaWxlTWFuYWdlci5FdmVudFR5cGVzLkFwcGVuZGVkVG9VUkwsIHRoaXMu
X29uQXBwZW5kRG9uZSwgdGhpcyk7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICBjYWxsYmFj
ayh0aGlzKTsKICAgICAgICAgfQotICAgICAgICBXZWJJbnNwZWN0b3IuZmlsZU1hbmFnZXIuYWRk
RXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRmlsZU1hbmFnZXIuRXZlbnRUeXBlcy5TYXZlZFVS
TCwgY2FsbGJhY2tXcmFwcGVyLCB0aGlzKTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLmZpbGVNYW5h
Z2VyLnNhdmUodGhpcy5fZmlsZU5hbWUsICIiLCB0cnVlKTsKKyAgICAgICAgaWYgKHRoaXMuX2lz
QnVmZmVyaW5nKSB7CisgICAgICAgICAgICBzZXRUaW1lb3V0KGNhbGxiYWNrV3JhcHBlci5iaW5k
KHRoaXMpLCAwKTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5m
aWxlTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5GaWxlTWFuYWdlci5FdmVu
dFR5cGVzLlNhdmVkVVJMLCBjYWxsYmFja1dyYXBwZXIsIHRoaXMpOworICAgICAgICAgICAgV2Vi
SW5zcGVjdG9yLmZpbGVNYW5hZ2VyLnNhdmUodGhpcy5fZmlsZU5hbWUsICIiLCB0cnVlKTsKKyAg
ICAgICAgfQogICAgIH0sCiAKICAgICAvKioKQEAgLTM3NSwxNiArMzg1LDMxIEBAIFdlYkluc3Bl
Y3Rvci5GaWxlT3V0cHV0U3RyZWFtLnByb3RvdHlwZSA9IHsKICAgICAgKi8KICAgICB3cml0ZTog
ZnVuY3Rpb24oZGF0YSwgY2FsbGJhY2spCiAgICAgewotICAgICAgICB0aGlzLl93cml0ZUNhbGxi
YWNrcy5wdXNoKGNhbGxiYWNrKTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLmZpbGVNYW5hZ2VyLmFw
cGVuZCh0aGlzLl9maWxlTmFtZSwgZGF0YSk7CisgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrV3Jh
cHBlcigpCisgICAgICAgIHsKKyAgICAgICAgICAgIGNhbGxiYWNrKHRoaXMpOworICAgICAgICB9
CisKKyAgICAgICAgaWYgKHRoaXMuX2lzQnVmZmVyaW5nKSB7CisgICAgICAgICAgICB0aGlzLl9i
dWZmZXIucHVzaChkYXRhKTsKKyAgICAgICAgICAgIGlmIChjYWxsYmFjaykKKyAgICAgICAgICAg
ICAgICBzZXRUaW1lb3V0KGNhbGxiYWNrV3JhcHBlci5iaW5kKHRoaXMpLCAwKTsKKyAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgIHRoaXMuX3dyaXRlQ2FsbGJhY2tzLnB1c2goY2FsbGJhY2sp
OworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmZpbGVNYW5hZ2VyLmFwcGVuZCh0aGlzLl9maWxl
TmFtZSwgZGF0YSk7CisgICAgICAgIH0KICAgICB9LAogCiAgICAgY2xvc2U6IGZ1bmN0aW9uKCkK
ICAgICB7Ci0gICAgICAgIHRoaXMuX2Nsb3NlZCA9IHRydWU7Ci0gICAgICAgIGlmICh0aGlzLl93
cml0ZUNhbGxiYWNrcy5sZW5ndGgpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIFdlYklu
c3BlY3Rvci5maWxlTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5GaWxl
TWFuYWdlci5FdmVudFR5cGVzLkFwcGVuZGVkVG9VUkwsIHRoaXMuX29uQXBwZW5kRG9uZSwgdGhp
cyk7CisgICAgICAgIGlmICh0aGlzLl9pc0J1ZmZlcmluZykgeworICAgICAgICAgICAgV2ViSW5z
cGVjdG9yLmZpbGVNYW5hZ2VyLnNhdmUodGhpcy5fZmlsZU5hbWUsIHRoaXMuX2J1ZmZlci5qb2lu
KCIiKSwgdHJ1ZSk7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICB0aGlzLl9jbG9zZWQg
PSB0cnVlOworICAgICAgICAgICAgaWYgKHRoaXMuX3dyaXRlQ2FsbGJhY2tzLmxlbmd0aCkKKyAg
ICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZmlsZU1hbmFn
ZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRmlsZU1hbmFnZXIuRXZlbnRUeXBl
cy5BcHBlbmRlZFRvVVJMLCB0aGlzLl9vbkFwcGVuZERvbmUsIHRoaXMpOworICAgICAgICB9CiAg
ICAgfSwKIAogICAgIC8qKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLmpzCmluZGV4IGQ3MDZi
NTk3NzYzOTdiMWFiNzI3N2YzZmRmNzM2MDFiOWE2ZTI4ZDYuLjA2MzVmZTJhMjk3NDRhMWM4YTll
N2IxOWE5OGFlZmU5YTYzMGFiMTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5qcworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5kSG9zdFN0dWIuanMKQEAg
LTE0NCwxMyArMTQ0LDEyIEBAIFdlYkluc3BlY3Rvci5JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHVi
LnByb3RvdHlwZSA9IHsKICAgICBzYXZlOiBmdW5jdGlvbih1cmwsIGNvbnRlbnQsIGZvcmNlU2F2
ZUFzKQogICAgIHsKICAgICAgICAgdmFyIGJsb2IgPSBuZXcgQmxvYihbY29udGVudF0sIHsgdHlw
ZTogImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIgfSk7Ci0KLSAgICAgICAgdmFyIGZyID0gbmV3
IEZpbGVSZWFkZXIoKTsKLSAgICAgICAgZnIub25sb2FkID0gZnVuY3Rpb24oZSkgewotICAgICAg
ICAgICAgLy8gRm9yY2UgZG93bmxvYWQKLSAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IHRo
aXMucmVzdWx0OworICAgICAgICB2YXIgb2JqZWN0VXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmpl
Y3RVUkwoYmxvYik7CisgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IG9iamVjdFVybDsKKyAgICAg
ICAgZnVuY3Rpb24gY2xlYW51cCgpIHsKKyAgICAgICAgICAgIHdpbmRvdy5VUkwucmV2b2tlT2Jq
ZWN0VVJMKG9iamVjdFVybCk7CiAgICAgICAgIH0KLSAgICAgICAgZnIucmVhZEFzRGF0YVVSTChi
bG9iKTsKKyAgICAgICAgc2V0VGltZW91dChjbGVhbnVwLCAwKTsKICAgICB9LAogCiAgICAgY2Fu
QXBwZW5kOiBmdW5jdGlvbigpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168636</attachid>
            <date>2012-10-15 00:22:13 -0700</date>
            <delta_ts>2012-10-15 08:25:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99179-20121015112104.patch</filename>
            <type>text/plain</type>
            <size>9282</size>
            <attacher>eustas.bug</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMjg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODUzNTgzNmI5ZDg3NDNh
ZDBiMDUzMThhY2I3OTcyYThkNDdkNzQ5Ni4uMjlhOTk1N2Q3YTMzYjMwYTZlYTMyN2E1ZGVmZmI2
YzZlYjFiMmUzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTEwLTE1ICBFdWdl
bmUgS2x5dWNobmlrb3YgIDxldXN0YXMuYnVnQGdtYWlsLmNvbT4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBTYXZpbmcgSEFSLCBzbmFwc2hvdHMgYW5kIHRpbWVsaW5lIGRhdGEgZG8gbm90IHdv
cmsgaW4gcmVtb3RlIGRlYnVnZ2luZyBtb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05OTE3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZGVkIHN0YXRpYyBtZXRob2QgImNyZWF0ZSIgdGhhdCBkZWNp
ZGVzIHdoYXQgaW1wbGVtZW50YXRpb24KKyAgICAgICAgb2YgRmlsZU91dHB1dFN0cmVhbSB0byBp
bnN0YW50aWF0ZS4KKworICAgICAgICBSZXBsYWNlZCAiY2FuQXBwZW5kIiB3aXRoICJpc1N0dWIi
IGluIEluc3BlY3RvckZyb250ZW5kSG9zdFN0dWIuCisKKyAgICAgICAgUmVmaW5lZCAiY2FuQXBw
ZW5kIiBpbiBGaWxlTWFuYWdlci4KKworICAgICAgICBSZXBhY2VkIHNjaGVtYSAiZGF0YSIgd2l0
aCAiYmxvYiIgaW4gSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1YiAic2F2ZSIuCisKKyAgICAgICAg
KiBpbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVNYW5hZ2VyLmpzOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkZpbGVNYW5hZ2VyLnByb3RvdHlwZS5jYW5BcHBlbmQpOiBSZWZpbmVkLgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvRmlsZVV0aWxzLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkZpbGVPdXRwdXRTdHJlYW0pOiBFeHRyYWN0ZWQgY29tbW9uIGludGVyZmFjZS4KKyAgICAgICAg
KFdlYkluc3BlY3Rvci5DaHVua2VkRmlsZU91dHB1dFN0cmVhbSk6IFJlZ3VsYXIgZmlsZSBvdXRw
dXQgc3RyZWFtLgorICAgICAgICAoV2ViSW5zcGVjdG9yLkJ1ZmZlcmVkRmlsZU91dHB1dFN0cmVh
bSk6IE9uZS1zaG90IGZpbGUgb3V0cHV0IHN0cmVhbS4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL0luc3BlY3RvckZyb250ZW5kSG9zdFN0dWIuanM6CisgICAgICAgICguV2ViSW5zcGVj
dG9yLkluc3BlY3RvckZyb250ZW5kSG9zdFN0dWIucHJvdG90eXBlLnNhdmUpOgorICAgICAgICBV
c2VkICJibG9iIiBzaGVtYSB0byBhdm9pZCBvdXQtb2YtbWVtb3J5IGVycm9yLgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvZXh0ZXJucy5qczogUmVtb3ZlZCAiY2FuQXBwZW5kIiBmcm9t
CisgICAgICAgIEluc3BlY3RvckZyb250ZW5kSG9zdEFQSSBhcyBpdCBpcyBub3QgaW1wbGVtZW50
ZWQgaW4gbmF0aXZlIG9iamVjdC4KKwogMjAxMi0xMC0xNCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFNpbXBsaWZ5IHVzZXIgY29udGVudCBpbiBXZWJLaXQyIGJ5IHVz
aW5nIFdlYkNvcmU6OlVzZXJTdHlsZVNoZWV0IGFuZCBXZWJDb3JlOjpVc2VyU2NyaXB0IGRpcmVj
dGx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVN
YW5hZ2VyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlTWFuYWdl
ci5qcwppbmRleCA2YjEwOGQzZjBiZmJkODI1NjhiZWJjNDk5ZjlhMmVlMWNkNjcyZjM3Li4xNjEx
NmNlODcxYjE3OGM1NzRkMjU2OTI0NTI4OGM3ZThhMzM5NmI3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVNYW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZU1hbmFnZXIuanMKQEAgLTU1LDcgKzU1LDcg
QEAgV2ViSW5zcGVjdG9yLkZpbGVNYW5hZ2VyLnByb3RvdHlwZSA9IHsKICAgICAgKi8KICAgICBj
YW5BcHBlbmQ6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBJbnNwZWN0b3JGcm9u
dGVuZEhvc3QuY2FuU2F2ZSgpICYmICgiYXBwZW5kIiBpbiBJbnNwZWN0b3JGcm9udGVuZEhvc3Qp
OworICAgICAgICByZXR1cm4gSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNhblNhdmUoKSAmJiAhKCJp
c1N0dWIiIGluIEluc3BlY3RvckZyb250ZW5kSG9zdCk7CiAgICAgfSwKIAogICAgIC8qKgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlVXRpbHMuanMg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVVdGlscy5qcwppbmRleCA3
ZTk1YmRmYzg5YjlhMmJhNWMyMmYwYWFiMmNmOGQ3NzcwMGViZGFhLi4zMmM3ZDJkMGY2NzkwZGYy
Mjg0OTgxNjdlZWM4MTE4MGZhMDg3NDExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0ZpbGVVdGlscy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0ZpbGVVdGlscy5qcwpAQCAtNzAsNiArNzAsMzIgQEAgV2ViSW5zcGVjdG9y
Lk91dHB1dFN0cmVhbS5wcm90b3R5cGUgPSB7CiAKIC8qKgogICogQGludGVyZmFjZQorICogQGV4
dGVuZHMgV2ViSW5zcGVjdG9yLk91dHB1dFN0cmVhbQorICovCitXZWJJbnNwZWN0b3IuRmlsZU91
dHB1dFN0cmVhbSA9IGZ1bmN0aW9uKCkKK3sKK30KKworV2ViSW5zcGVjdG9yLkZpbGVPdXRwdXRT
dHJlYW0ucHJvdG90eXBlID0geworICAgIC8qKgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBmaWxl
TmFtZQorICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oV2ViSW5zcGVjdG9yLk91dHB1dFN0cmVhbSwg
c3RyaW5nPSl9IGNhbGxiYWNrCisgICAgICovCisgICAgb3BlbjogZnVuY3Rpb24oZmlsZU5hbWUs
IGNhbGxiYWNrKSB7fQorfQorCisvKioKKyAqIEByZXR1cm4geyFXZWJJbnNwZWN0b3IuRmlsZU91
dHB1dFN0cmVhbX0KKyAqLworV2ViSW5zcGVjdG9yLkZpbGVPdXRwdXRTdHJlYW0uY3JlYXRlID0g
ZnVuY3Rpb24oKQoreworICAgIGlmIChXZWJJbnNwZWN0b3IuZmlsZU1hbmFnZXIuY2FuQXBwZW5k
KCkpCisgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLkNodW5rZWRGaWxlT3V0cHV0U3Ry
ZWFtKCk7CisgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuQnVmZmVyZWRGaWxlT3V0cHV0U3Ry
ZWFtKCk7Cit9OworCisvKioKKyAqIEBpbnRlcmZhY2UKICAqLwogV2ViSW5zcGVjdG9yLkNodW5r
ZWRSZWFkZXIgPSBmdW5jdGlvbigpCiB7CkBAIC0zNDMsMTYgKzM2OSwxNiBAQCBXZWJJbnNwZWN0
b3IuZmluZEJhbGFuY2VkQ3VybHlCcmFja2V0cyA9IGZ1bmN0aW9uKHNvdXJjZSwgc3RhcnRJbmRl
eCwgbGFzdEluZGV4KQogCiAvKioKICAqIEBjb25zdHJ1Y3RvcgotICogQGltcGxlbWVudHMge1dl
Ykluc3BlY3Rvci5PdXRwdXRTdHJlYW19CisgKiBAaW1wbGVtZW50cyB7V2ViSW5zcGVjdG9yLkZp
bGVPdXRwdXRTdHJlYW19CiAgKi8KLVdlYkluc3BlY3Rvci5GaWxlT3V0cHV0U3RyZWFtID0gZnVu
Y3Rpb24oKQorV2ViSW5zcGVjdG9yLkNodW5rZWRGaWxlT3V0cHV0U3RyZWFtID0gZnVuY3Rpb24o
KQogewogfQogCi1XZWJJbnNwZWN0b3IuRmlsZU91dHB1dFN0cmVhbS5wcm90b3R5cGUgPSB7CitX
ZWJJbnNwZWN0b3IuQ2h1bmtlZEZpbGVPdXRwdXRTdHJlYW0ucHJvdG90eXBlID0gewogICAgIC8q
KgogICAgICAqIEBwYXJhbSB7c3RyaW5nfSBmaWxlTmFtZQotICAgICAqIEBwYXJhbSB7ZnVuY3Rp
b24oV2ViSW5zcGVjdG9yLkZpbGVPdXRwdXRTdHJlYW0sIHN0cmluZz0pfSBjYWxsYmFjaworICAg
ICAqIEBwYXJhbSB7ZnVuY3Rpb24oV2ViSW5zcGVjdG9yLk91dHB1dFN0cmVhbSwgc3RyaW5nPSl9
IGNhbGxiYWNrCiAgICAgICovCiAgICAgb3BlbjogZnVuY3Rpb24oZmlsZU5hbWUsIGNhbGxiYWNr
KQogICAgIHsKQEAgLTQwNCwzICs0MzAsNDAgQEAgV2ViSW5zcGVjdG9yLkZpbGVPdXRwdXRTdHJl
YW0ucHJvdG90eXBlID0gewogICAgICAgICAgICAgY2FsbGJhY2sodGhpcyk7CiAgICAgfQogfQor
CisvKioKKyAqIEBjb25zdHJ1Y3RvcgorICogQGltcGxlbWVudHMge1dlYkluc3BlY3Rvci5GaWxl
T3V0cHV0U3RyZWFtfQorICovCitXZWJJbnNwZWN0b3IuQnVmZmVyZWRGaWxlT3V0cHV0U3RyZWFt
ID0gZnVuY3Rpb24oKQoreworICAgIHRoaXMuX2J1ZmZlciA9IFtdOworfQorCitXZWJJbnNwZWN0
b3IuQnVmZmVyZWRGaWxlT3V0cHV0U3RyZWFtLnByb3RvdHlwZSA9IHsKKyAgICAvKioKKyAgICAg
KiBAcGFyYW0ge3N0cmluZ30gZmlsZU5hbWUKKyAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKFdlYklu
c3BlY3Rvci5PdXRwdXRTdHJlYW0sIHN0cmluZz0pfSBjYWxsYmFjaworICAgICAqLworICAgIG9w
ZW46IGZ1bmN0aW9uKGZpbGVOYW1lLCBjYWxsYmFjaykKKyAgICB7CisgICAgICAgIHRoaXMuX2Zp
bGVOYW1lID0gZmlsZU5hbWU7CisgICAgICAgIHNldFRpbWVvdXQoY2FsbGJhY2suYmluZChudWxs
LCB0aGlzKSwgMCk7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBk
YXRhCisgICAgICogQHBhcmFtIHtmdW5jdGlvbihXZWJJbnNwZWN0b3IuT3V0cHV0U3RyZWFtKT19
IGNhbGxiYWNrCisgICAgICovCisgICAgd3JpdGU6IGZ1bmN0aW9uKGRhdGEsIGNhbGxiYWNrKQor
ICAgIHsKKyAgICAgICAgdGhpcy5fYnVmZmVyLnB1c2goZGF0YSk7CisgICAgICAgIGlmIChjYWxs
YmFjaykKKyAgICAgICAgICAgIHNldFRpbWVvdXQoY2FsbGJhY2suYmluZChudWxsLCB0aGlzKSwg
MCk7CisgICAgfSwKKworICAgIGNsb3NlOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICBXZWJJ
bnNwZWN0b3IuZmlsZU1hbmFnZXIuc2F2ZSh0aGlzLl9maWxlTmFtZSwgdGhpcy5fYnVmZmVyLmpv
aW4oIiIpLCB0cnVlKTsKKyAgICB9LAorfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3RWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3RWaWV3LmpzCmluZGV4IGEwOTRiNDU4YTRmYzVl
YzFkNDYzYjcwMzc0MDlhNjlmMmI3NGM5NWMuLjAzYTUxODYzZTJhYzdlZTc3YjJkY2YxZmRlODY0
ZjM0NTViYzdkZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvSGVhcFNuYXBzaG90Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0hlYXBTbmFwc2hvdFZpZXcuanMKQEAgLTk3MCw3ICs5NzAsNyBAQCBXZWJJbnNwZWN0
b3IuSGVhcFByb2ZpbGVIZWFkZXIucHJvdG90eXBlID0gewogICAgICAgICB9CiAgICAgICAgIHRo
aXMuX3NhdmluZ1RvRmlsZSA9IHRydWU7CiAgICAgICAgIHRoaXMuX2ZpbGVOYW1lID0gdGhpcy5f
ZmlsZU5hbWUgfHwgIkhlYXAtIiArIG5ldyBEYXRlKCkudG9JU084NjAxQ29tcGFjdCgpICsgIi5o
ZWFwc25hcHNob3QiOwotICAgICAgICB0aGlzLl9yZWNlaXZlciA9IG5ldyBXZWJJbnNwZWN0b3Iu
RmlsZU91dHB1dFN0cmVhbSgpOworICAgICAgICB0aGlzLl9yZWNlaXZlciA9IFdlYkluc3BlY3Rv
ci5GaWxlT3V0cHV0U3RyZWFtLmNyZWF0ZSgpOwogICAgICAgICB0aGlzLl9yZWNlaXZlci5vcGVu
KHRoaXMuX2ZpbGVOYW1lLCBvbk9wZW4uYmluZCh0aGlzKSk7CiAgICAgfSwKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEhv
c3RTdHViLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JG
cm9udGVuZEhvc3RTdHViLmpzCmluZGV4IGQ3MDZiNTk3NzYzOTdiMWFiNzI3N2YzZmRmNzM2MDFi
OWE2ZTI4ZDYuLmQ1ZDU4OWU1OTdlMTI3MTZkNTkwZDAyMDhhNmU4MTI2ODc5MWE2YjIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRl
bmRIb3N0U3R1Yi5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0lu
c3BlY3RvckZyb250ZW5kSG9zdFN0dWIuanMKQEAgLTE0NCwyMiArMTQ0LDIxIEBAIFdlYkluc3Bl
Y3Rvci5JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLnByb3RvdHlwZSA9IHsKICAgICBzYXZlOiBm
dW5jdGlvbih1cmwsIGNvbnRlbnQsIGZvcmNlU2F2ZUFzKQogICAgIHsKICAgICAgICAgdmFyIGJs
b2IgPSBuZXcgQmxvYihbY29udGVudF0sIHsgdHlwZTogImFwcGxpY2F0aW9uL29jdGV0LXN0cmVh
bSIgfSk7Ci0KLSAgICAgICAgdmFyIGZyID0gbmV3IEZpbGVSZWFkZXIoKTsKLSAgICAgICAgZnIu
b25sb2FkID0gZnVuY3Rpb24oZSkgewotICAgICAgICAgICAgLy8gRm9yY2UgZG93bmxvYWQKLSAg
ICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IHRoaXMucmVzdWx0OwotICAgICAgICB9Ci0gICAg
ICAgIGZyLnJlYWRBc0RhdGFVUkwoYmxvYik7CisgICAgICAgIHZhciBvYmplY3RVcmwgPSB3aW5k
b3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTsKKyAgICAgICAgd2luZG93LmxvY2F0aW9uID0g
b2JqZWN0VXJsOworICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAg
d2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwob2JqZWN0VXJsKTsKKyAgICAgICAgfSwgMCk7CiAg
ICAgfSwKIAotICAgIGNhbkFwcGVuZDogZnVuY3Rpb24oKQorICAgIGlzU3R1YjogZnVuY3Rpb24o
KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICB9LAogCiAgICAgYXBwZW5kOiBmdW5jdGlvbih1cmwsIGNvbnRlbnQpCiAgICAgeworICAgICAg
ICB0aHJvdyBuZXcgRXJyb3IoIk5vdCBzdXBwb3J0ZWQuIik7CiAgICAgfSwKIAogICAgIHNlbmRN
ZXNzYWdlVG9CYWNrZW5kOiBmdW5jdGlvbihtZXNzYWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWwuanMgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtQYW5lbC5qcwppbmRleCA1Mjg0ODYzOWM0YWE0
YzFlMzFlMzc5MjVlZGE2YmExNzlhOTQ5ZGZmLi5iZDU1YWNlZjZmYTlhYjhmNGZhMWY1MWMxOTY2
NTRlMzcyZmVmM2Q4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL05ldHdvcmtQYW5lbC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL05ldHdvcmtQYW5lbC5qcwpAQCAtMTAwMyw3ICsxMDAzLDcgQEAgV2ViSW5zcGVjdG9yLk5l
dHdvcmtMb2dWaWV3LnByb3RvdHlwZSA9IHsKICAgICBfZXhwb3J0QWxsOiBmdW5jdGlvbigpCiAg
ICAgewogICAgICAgICB2YXIgZmlsZW5hbWUgPSBXZWJJbnNwZWN0b3IuaW5zcGVjdGVkUGFnZURv
bWFpbiArICIuaGFyIjsKLSAgICAgICAgdmFyIHN0cmVhbSA9IG5ldyBXZWJJbnNwZWN0b3IuRmls
ZU91dHB1dFN0cmVhbSgpOworICAgICAgICB2YXIgc3RyZWFtID0gV2ViSW5zcGVjdG9yLkZpbGVP
dXRwdXRTdHJlYW0uY3JlYXRlKCk7CiAgICAgICAgIHN0cmVhbS5vcGVuKGZpbGVuYW1lLCBvcGVu
Q2FsbGJhY2suYmluZCh0aGlzKSk7CiAgICAgICAgIGZ1bmN0aW9uIG9wZW5DYWxsYmFjaygpCiAg
ICAgICAgIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
VGltZWxpbmVNb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvVGlt
ZWxpbmVNb2RlbC5qcwppbmRleCA1ZDlkNGM5NmNlMzVlZmE0NjZmM2JjNGVlMTViYTdlZGMxZmM3
ZDllLi5iZTU5ZGQwZGE1YjYyNDhhNTI1OWE0NTExNTRmMDc2Njk2YTEwNmNlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVsaW5lTW9kZWwuanMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZU1vZGVsLmpzCkBA
IC0xOTUsNyArMTk1LDcgQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lTW9kZWwucHJvdG90eXBlID0g
ewogCiAgICAgX2NyZWF0ZUZpbGVXcml0ZXI6IGZ1bmN0aW9uKGZpbGVOYW1lLCBjYWxsYmFjaykK
ICAgICB7Ci0gICAgICAgIHZhciBzdHJlYW0gPSBuZXcgV2ViSW5zcGVjdG9yLkZpbGVPdXRwdXRT
dHJlYW0oKTsKKyAgICAgICAgdmFyIHN0cmVhbSA9IFdlYkluc3BlY3Rvci5GaWxlT3V0cHV0U3Ry
ZWFtLmNyZWF0ZSgpOwogICAgICAgICBzdHJlYW0ub3BlbihmaWxlTmFtZSwgY2FsbGJhY2spOwog
ICAgIH0sCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
ZXh0ZXJucy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvZXh0ZXJucy5q
cwppbmRleCBiYTViYmM5ZmVmMTJkY2M1N2ExOTM5MGM2MzNhZDc2NmVhNmUwMDMyLi4yNGZmYzUz
NmYxNGY3YzI2ZjE1ZTQ4Njc5MzY3Y2Q0ZjI0Y2QwYzEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2V4dGVybnMuanMKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9leHRlcm5zLmpzCkBAIC0xMzgsNyArMTM4LDYgQEAgSW5zcGVj
dG9yRnJvbnRlbmRIb3N0QVBJLnByb3RvdHlwZS5jb3B5VGV4dCA9IGZ1bmN0aW9uKHRleHQpIHt9
CiBJbnNwZWN0b3JGcm9udGVuZEhvc3RBUEkucHJvdG90eXBlLm9wZW5Jbk5ld1RhYiA9IGZ1bmN0
aW9uKHVybCkge30KIEluc3BlY3RvckZyb250ZW5kSG9zdEFQSS5wcm90b3R5cGUuY2FuU2F2ZSA9
IGZ1bmN0aW9uKCkge30KIEluc3BlY3RvckZyb250ZW5kSG9zdEFQSS5wcm90b3R5cGUuc2F2ZSA9
IGZ1bmN0aW9uKHVybCwgY29udGVudCwgZm9yY2VTYXZlQXMpIHt9Ci1JbnNwZWN0b3JGcm9udGVu
ZEhvc3RBUEkucHJvdG90eXBlLmNhbkFwcGVuZCA9IGZ1bmN0aW9uKCkge30KIEluc3BlY3RvckZy
b250ZW5kSG9zdEFQSS5wcm90b3R5cGUuYXBwZW5kID0gZnVuY3Rpb24odXJsLCBjb250ZW50KSB7
fQogSW5zcGVjdG9yRnJvbnRlbmRIb3N0QVBJLnByb3RvdHlwZS5zZW5kTWVzc2FnZVRvQmFja2Vu
ZCA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHt9CiBJbnNwZWN0b3JGcm9udGVuZEhvc3RBUEkucHJvdG90
eXBlLnJlY29yZEFjdGlvblRha2VuID0gZnVuY3Rpb24oYWN0aW9uQ29kZSkge30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168714</attachid>
            <date>2012-10-15 08:25:19 -0700</date>
            <delta_ts>2012-10-15 22:03:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99179-20121015192409.patch</filename>
            <type>text/plain</type>
            <size>11801</size>
            <attacher>eustas.bug</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMjk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzMzZTI4NDU0MjgxZTYw
NzY0OWU1NTU1NDJjZTQxOGU0NGQ4NDQzOS4uOGQzZWVkZjM3MmM5YWU2YzE0YWE2ZjRkMjIyNTg0
N2U1OTUzNGFmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEyLTEwLTE1ICBFdWdl
bmUgS2x5dWNobmlrb3YgIDxldXN0YXMuYnVnQGdtYWlsLmNvbT4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBTYXZpbmcgSEFSLCBzbmFwc2hvdHMgYW5kIHRpbWVsaW5lIGRhdGEgZG8gbm90IHdv
cmsgaW4gcmVtb3RlIGRlYnVnZ2luZyBtb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05OTE3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZGVkIG1ldGhvZCAiY2xvc2UiIHRvIEluc3BlY3RvckZyb250
ZW5kSG9zdC4KKyAgICAgICAgU3ltYW50aWNhbGx5LCB0aGlzIG1ldGhvZCBmb3JjZXMgdG8gZmx1
c2ggYWxsIHVuc2F2ZWQgYnVmZmVycyBmb3IKKyAgICAgICAgc3BlY2lmaWVkIGZpbGUuIEluIG5h
dGl2ZSBpbXBsZW1lbnRhdGlvbiB0aGlzIHR1cm5zIHRvIGJlIG5vLW9wLgorCisgICAgICAgIElu
IHN0dWIgaW1wbGVtZW50YXRpb24gImNsb3NlIiBjYXVzZXMgY29tcGlsYXRpb24gb2YgYmxvYiBv
YmplY3QgYW4KKyAgICAgICAgbmF2aWdhdGluZyB0byBibG9iLXNjaGVtYSB1cmwuCisKKyAgICAg
ICAgUmVtb3ZlZCAiY2FuQXBwZW5kIiwgYXMgYXBwZW5kaW5nIGluIG5vdyBzdXBwdXJ0ZWQKKyAg
ICAgICAgYnkgYWxsIGltcGxlbWVudGF0aW9ucy4KKworICAgICAgICBSZXBhY2VkIHNjaGVtYSAi
ZGF0YSIgd2l0aCAiYmxvYiIgaW4gSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1YiAic2F2ZSIKKyAg
ICAgICAgdG8gYXZvaWQgb3V0LW9mLW1lbW9yeSBlcnJvcnMuCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckZyb250ZW5kSG9zdDo6Y2xvc2UpOiBDb21waWxlcyBibG9iIG9iamVjdCBhbmQKKyAgICAgICAg
bmF2aWdhdGVzIHRvIGJsb2Itb2JqZWN0IHVybC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaDogQWRkZWQgImNsb3NlIiBtZXRo
b2QuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGw6IERpdHRv
LgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRmlsZU1hbmFnZXIuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuRmlsZU1hbmFnZXIucHJvdG90eXBlLmNsb3NlKTogUHJveHkgdG8gSW5z
cGVjdG9yRnJvbnRlbmQuCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlVXRpbHMu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsZU91dHB1dFN0cmVhbS5wcm90b3R5cGUuY2xv
c2UpOgorICAgICAgICBJbnZva2UgImNsb3NlIiBvbiBGaWxlTWFuYWdlci4KKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5GaWxlT3V0cHV0U3RyZWFtLnByb3RvdHlwZS5fb25BcHBlbmREb25lKTogRGl0
dG8uCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9IYW5kbGVyUmVnaXN0cnkuanM6IEFk
ZGVkIG1hbmRhdG9yeSAiY2xvc2UiIGNhbGwuCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9IZWFwU25hcHNob3RWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhlYXBQcm9maWxl
SGVhZGVyLnByb3RvdHlwZS5jYW5TYXZlVG9GaWxlKTogRml4ZWQgY2hlY2suCisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLmpzOgorICAgICAg
ICAoLldlYkluc3BlY3Rvci5JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViKToKKyAgICAgICAgQWRk
ZWQgImFwcGVuZGFibGUiIGJlaGF2aW91ciBlbXVsYXRpb24uCisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qczogQWRkZWQgbWFuZGF0b3J5ICJjbG9zZSIgY2FsbC4K
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2V4dGVybnMuanM6IFJlcGxhY2VkICJjYW5B
cHBlbmQiIHdpdGggImNsb3NlIgorCiAyMDEyLTEwLTE1ICBJbHlhIFRpa2hvbm92c2t5ICA8bG9p
c2xvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBjb252ZXJ0IG1hbnVh
bCBzaXplIGNhbGN1bGF0aW9uIG9mIGRpZmZlcmVudCBXZWJLaXQgdGhpbmdzIGludG8gTWVtb3J5
SW5zdHJ1bWVudGF0aW9uLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kSG9zdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRnJvbnRlbmRIb3N0LmNwcAppbmRleCBlN2IwMjIwMGVmOTc3Mjg1MTBlZDRkMDg2MzNmMmQ0
NzAyNDQ1YWIwLi40MmU1YWYxNzhiZjgyZjY3ZDYyMjA4ZTY0NzJjMTQ1YTg0ZWJjMjJlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNw
cApAQCAtMjUwLDYgKzI1MCw4IEBAIHZvaWQgSW5zcGVjdG9yRnJvbnRlbmRIb3N0OjphcHBlbmQo
Y29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgY29udGVudCkKICAgICAgICAgbV9jbGll
bnQtPmFwcGVuZCh1cmwsIGNvbnRlbnQpOwogfQogCit2b2lkIEluc3BlY3RvckZyb250ZW5kSG9z
dDo6Y2xvc2UoY29uc3QgU3RyaW5nJiB1cmwpIHsgfQorCiBib29sIEluc3BlY3RvckZyb250ZW5k
SG9zdDo6Y2FuSW5zcGVjdFdvcmtlcnMoKQogewogI2lmIEVOQUJMRShXT1JLRVJTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oCmluZGV4IGQ1
YWU1MWQ4MDY3MDYxZDMxNjkyMWNiZTMzYzA4YTEwMmRlNDU1YTcuLjkzZWI0MjcyMjYyYWI5ZmRl
MTI3YmY3ZmQ0MWM2OWE1ZDZlODZmMmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgKQEAgLTc3LDYgKzc3LDcgQEAgcHVibGljOgogICAg
IGJvb2wgY2FuU2F2ZSgpOwogICAgIHZvaWQgc2F2ZShjb25zdCBTdHJpbmcmIHVybCwgY29uc3Qg
U3RyaW5nJiBjb250ZW50LCBib29sIGZvcmNlU2F2ZUFzKTsKICAgICB2b2lkIGFwcGVuZChjb25z
dCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiBjb250ZW50KTsKKyAgICB2b2lkIGNsb3NlKGNv
bnN0IFN0cmluZyYgdXJsKTsKIAogICAgIGJvb2wgY2FuSW5zcGVjdFdvcmtlcnMoKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbApp
bmRleCA4ZGRjOWE2ZmQ5M2QwNTA1NjZiM2YxYzRlNGM3Y2FiOGMwOWY1MDhmLi4wZWRkMDY5ZmJm
N2EzN2Q2ZjllNzY4ZTEzNzJiNTUzOGFjM2RmMzgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbApAQCAtNTQsNiArNTQsNyBAQAog
ICAgIGJvb2xlYW4gY2FuU2F2ZSgpOwogICAgIHZvaWQgc2F2ZShpbiBET01TdHJpbmcgdXJsLCBp
biBET01TdHJpbmcgY29udGVudCwgaW4gYm9vbGVhbiBmb3JjZVNhdmVBcyk7CiAgICAgdm9pZCBh
cHBlbmQoaW4gRE9NU3RyaW5nIHVybCwgaW4gRE9NU3RyaW5nIGNvbnRlbnQpOworICAgIHZvaWQg
Y2xvc2UoaW4gRE9NU3RyaW5nIHVybCk7CiAKICAgICBib29sZWFuIGNhbkluc3BlY3RXb3JrZXJz
KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmls
ZU1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVNYW5h
Z2VyLmpzCmluZGV4IDZiMTA4ZDNmMGJmYmQ4MjU2OGJlYmM0OTlmOWEyZWUxY2Q2NzJmMzcuLmJi
ODg3MzRlNjVlZDAwNTYwYTA1Njg1M2E0YjNiMWVjYWJhYTQ5YmMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZU1hbmFnZXIuanMKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlTWFuYWdlci5qcwpAQCAtNTEsMTQgKzUx
LDYgQEAgV2ViSW5zcGVjdG9yLkZpbGVNYW5hZ2VyLnByb3RvdHlwZSA9IHsKICAgICB9LAogCiAg
ICAgLyoqCi0gICAgICogQHJldHVybiB7Ym9vbGVhbn0KLSAgICAgKi8KLSAgICBjYW5BcHBlbmQ6
IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBJbnNwZWN0b3JGcm9udGVuZEhvc3Qu
Y2FuU2F2ZSgpICYmICgiYXBwZW5kIiBpbiBJbnNwZWN0b3JGcm9udGVuZEhvc3QpOwotICAgIH0s
Ci0KLSAgICAvKioKICAgICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsCiAgICAgICogQHBhcmFtIHtz
dHJpbmd9IGNvbnRlbnQKICAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGZvcmNlU2F2ZUFzCkBAIC0x
MDUsNiArOTcsMTQgQEAgV2ViSW5zcGVjdG9yLkZpbGVNYW5hZ2VyLnByb3RvdHlwZSA9IHsKICAg
ICAvKioKICAgICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsCiAgICAgICovCisgICAgY2xvc2U6IGZ1
bmN0aW9uKHVybCkKKyAgICB7CisgICAgICAgIEluc3BlY3RvckZyb250ZW5kSG9zdC5jbG9zZSh1
cmwpOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsCisgICAg
ICovCiAgICAgYXBwZW5kZWRUb1VSTDogZnVuY3Rpb24odXJsKQogICAgIHsKICAgICAgICAgdGhp
cy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkZpbGVNYW5hZ2VyLkV2ZW50
VHlwZXMuQXBwZW5kZWRUb1VSTCwgdXJsKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvRmlsZVV0aWxzLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9GaWxlVXRpbHMuanMKaW5kZXggN2U5NWJkZmM4OWI5YTJiYTVjMjJmMGFhYjJj
ZjhkNzc3MDBlYmRhYS4uZDZhMWRlYzZjYTM2N2MxM2NlY2JhYmQ3MDFkN2NkZThiMmY3NmUyNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlVXRpbHMu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlVXRpbHMuanMK
QEAgLTM4NSw2ICszODUsNyBAQCBXZWJJbnNwZWN0b3IuRmlsZU91dHB1dFN0cmVhbS5wcm90b3R5
cGUgPSB7CiAgICAgICAgIGlmICh0aGlzLl93cml0ZUNhbGxiYWNrcy5sZW5ndGgpCiAgICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIFdlYkluc3BlY3Rvci5maWxlTWFuYWdlci5yZW1vdmVFdmVu
dExpc3RlbmVyKFdlYkluc3BlY3Rvci5GaWxlTWFuYWdlci5FdmVudFR5cGVzLkFwcGVuZGVkVG9V
UkwsIHRoaXMuX29uQXBwZW5kRG9uZSwgdGhpcyk7CisgICAgICAgIFdlYkluc3BlY3Rvci5maWxl
TWFuYWdlci5jbG9zZSh0aGlzLl9maWxlTmFtZSk7CiAgICAgfSwKIAogICAgIC8qKgpAQCAtMzk1
LDggKzM5NiwxMCBAQCBXZWJJbnNwZWN0b3IuRmlsZU91dHB1dFN0cmVhbS5wcm90b3R5cGUgPSB7
CiAgICAgICAgIGlmIChldmVudC5kYXRhICE9PSB0aGlzLl9maWxlTmFtZSkKICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgaWYgKCF0aGlzLl93cml0ZUNhbGxiYWNrcy5sZW5ndGgpIHsKLSAg
ICAgICAgICAgIGlmICh0aGlzLl9jbG9zZWQpCisgICAgICAgICAgICBpZiAodGhpcy5fY2xvc2Vk
KSB7CiAgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmZpbGVNYW5hZ2VyLnJlbW92ZUV2ZW50
TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkZpbGVNYW5hZ2VyLkV2ZW50VHlwZXMuQXBwZW5kZWRUb1VS
TCwgdGhpcy5fb25BcHBlbmREb25lLCB0aGlzKTsKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0
b3IuZmlsZU1hbmFnZXIuY2xvc2UodGhpcy5fZmlsZU5hbWUpOworICAgICAgICAgICAgfQogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAgIHZhciBjYWxsYmFjayA9IHRoaXMu
X3dyaXRlQ2FsbGJhY2tzLnNoaWZ0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0hhbmRsZXJSZWdpc3RyeS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvSGFuZGxlclJlZ2lzdHJ5LmpzCmluZGV4IDVjOGNjNzRkMjg2YTdmN2Zi
MzMwNTIwM2RkNWQzZTExOGViNTEwZGIuLjJiYTI1MDMyZGI0NzIzMDQyMmQ3ZGNmMzIyNzBjN2Jk
NDA1ZmQ5MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
SGFuZGxlclJlZ2lzdHJ5LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvSGFuZGxlclJlZ2lzdHJ5LmpzCkBAIC0xMzIsNyArMTMyLDkgQEAgV2ViSW5zcGVjdG9yLkhh
bmRsZXJSZWdpc3RyeS5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgZnVuY3Rpb24gZG9TYXZlKGZv
cmNlU2F2ZUFzLCBjb250ZW50KQogICAgICAgICB7Ci0gICAgICAgICAgICBXZWJJbnNwZWN0b3Iu
ZmlsZU1hbmFnZXIuc2F2ZShjb250ZW50UHJvdmlkZXIuY29udGVudFVSTCgpLCBjb250ZW50LCBm
b3JjZVNhdmVBcyk7CisgICAgICAgICAgICB2YXIgdXJsID0gY29udGVudFByb3ZpZGVyLmNvbnRl
bnRVUkwoKTsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5maWxlTWFuYWdlci5zYXZlKHVybCwg
Y29udGVudCwgZm9yY2VTYXZlQXMpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmZpbGVNYW5h
Z2VyLmNsb3NlKHVybCk7CiAgICAgICAgIH0KIAogICAgICAgICBmdW5jdGlvbiBzYXZlKGZvcmNl
U2F2ZUFzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9I
ZWFwU25hcHNob3RWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9I
ZWFwU25hcHNob3RWaWV3LmpzCmluZGV4IGEwOTRiNDU4YTRmYzVlYzFkNDYzYjcwMzc0MDlhNjlm
MmI3NGM5NWMuLmNjZDM2MzBhNjQxNDQzMjExZjJjMTZmMmNjMmRiZDc0YTc2NmIxZDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90Vmll
dy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hv
dFZpZXcuanMKQEAgLTk1Myw3ICs5NTMsNyBAQCBXZWJJbnNwZWN0b3IuSGVhcFByb2ZpbGVIZWFk
ZXIucHJvdG90eXBlID0gewogICAgICAqLwogICAgIGNhblNhdmVUb0ZpbGU6IGZ1bmN0aW9uKCkK
ICAgICB7Ci0gICAgICAgIHJldHVybiAhdGhpcy5mcm9tRmlsZSgpICYmIHRoaXMuX3NuYXBzaG90
UHJveHkgJiYgIXRoaXMuX3JlY2VpdmVyICYmIFdlYkluc3BlY3Rvci5maWxlTWFuYWdlci5jYW5B
cHBlbmQoKTsKKyAgICAgICAgcmV0dXJuICF0aGlzLmZyb21GaWxlKCkgJiYgISF0aGlzLl9zbmFw
c2hvdFByb3h5ICYmICF0aGlzLl9yZWNlaXZlcjsKICAgICB9LAogCiAgICAgLyoqCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5k
SG9zdFN0dWIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3Rv
ckZyb250ZW5kSG9zdFN0dWIuanMKaW5kZXggZDcwNmI1OTc3NjM5N2IxYWI3Mjc3ZjNmZGY3MzYw
MWI5YTZlMjhkNi4uNzljOTIzYzkzOTJkYWQ0MzQxOWYwYTIzY2ZlOTBlZDU2NzgwOTRiYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9u
dGVuZEhvc3RTdHViLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
SW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5qcwpAQCAtMzgsNiArMzgsNyBAQCBXZWJJbnNwZWN0
b3IuSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1YiA9IGZ1bmN0aW9uKCkKIHsKICAgICB0aGlzLl9h
dHRhY2hlZFdpbmRvd0hlaWdodCA9IDA7CiAgICAgdGhpcy5pc1N0dWIgPSB0cnVlOworICAgIHRo
aXMuX2ZpbGVCdWZmZXJzID0ge307CiAgICAgV2ViSW5zcGVjdG9yLmRvY3VtZW50Q29weUV2ZW50
RmlyZWQgPSB0aGlzLmRvY3VtZW50Q29weS5iaW5kKHRoaXMpOwogfQogCkBAIC0xNDMsMjMgKzE0
NCw0MSBAQCBXZWJJbnNwZWN0b3IuSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5wcm90b3R5cGUg
PSB7CiAKICAgICBzYXZlOiBmdW5jdGlvbih1cmwsIGNvbnRlbnQsIGZvcmNlU2F2ZUFzKQogICAg
IHsKLSAgICAgICAgdmFyIGJsb2IgPSBuZXcgQmxvYihbY29udGVudF0sIHsgdHlwZTogImFwcGxp
Y2F0aW9uL29jdGV0LXN0cmVhbSIgfSk7CisgICAgICAgIGlmICh0aGlzLl9maWxlQnVmZmVyc1t1
cmxdKQorICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJDb25jdXJyZW50IGZpbGUgbW9kaWZp
Y2F0aW9uIGRlbmllZC4iKTsKIAotICAgICAgICB2YXIgZnIgPSBuZXcgRmlsZVJlYWRlcigpOwot
ICAgICAgICBmci5vbmxvYWQgPSBmdW5jdGlvbihlKSB7Ci0gICAgICAgICAgICAvLyBGb3JjZSBk
b3dubG9hZAotICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uID0gdGhpcy5yZXN1bHQ7Ci0gICAg
ICAgIH0KLSAgICAgICAgZnIucmVhZEFzRGF0YVVSTChibG9iKTsKKyAgICAgICAgdGhpcy5fZmls
ZUJ1ZmZlcnNbdXJsXSA9IFtjb250ZW50XTsKKyAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigp
IHsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5maWxlTWFuYWdlci5zYXZlZFVSTCh1cmwpOwor
ICAgICAgICB9LCAwKTsKICAgICB9LAogCi0gICAgY2FuQXBwZW5kOiBmdW5jdGlvbigpCisgICAg
YXBwZW5kOiBmdW5jdGlvbih1cmwsIGNvbnRlbnQpCiAgICAgewotICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgIHZhciBidWZmZXIgPSB0aGlzLl9maWxlQnVmZmVyc1t1cmxdOworICAgICAg
ICBpZiAoIWJ1ZmZlcikKKyAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiRmlsZSBpcyBub3Qg
b3BlbiBmb3Igd3JpdGUgeWV0LiIpOworCisgICAgICAgIGJ1ZmZlci5wdXNoKGNvbnRlbnQpOwor
ICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgV2ViSW5zcGVjdG9y
LmZpbGVNYW5hZ2VyLmFwcGVuZGVkVG9VUkwodXJsKTsKKyAgICAgICAgfSwgMCk7CiAgICAgfSwK
IAotICAgIGFwcGVuZDogZnVuY3Rpb24odXJsLCBjb250ZW50KQorICAgIGNsb3NlOiBmdW5jdGlv
bih1cmwpCiAgICAgeworICAgICAgICB2YXIgY29udGVudCA9IHRoaXMuX2ZpbGVCdWZmZXJzW3Vy
bF07CisgICAgICAgIGRlbGV0ZSB0aGlzLl9maWxlQnVmZmVyc1t1cmxdOworCisgICAgICAgIGlm
ICghY29udGVudCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB2YXIgYmxvYiA9IG5l
dyBCbG9iKGNvbnRlbnQsIHsgdHlwZTogImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIgfSk7Cisg
ICAgICAgIHZhciBvYmplY3RVcmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTsK
KyAgICAgICAgd2luZG93LmxvY2F0aW9uID0gb2JqZWN0VXJsOworICAgICAgICBzZXRUaW1lb3V0
KGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgd2luZG93LlVSTC5yZXZva2VPYmplY3RVUkwob2Jq
ZWN0VXJsKTsKKyAgICAgICAgfSwgMCk7CiAgICAgfSwKIAogICAgIHNlbmRNZXNzYWdlVG9CYWNr
ZW5kOiBmdW5jdGlvbihtZXNzYWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvU291cmNlRnJhbWUuanMKaW5kZXggN2NjYjk0ZDQ1ZTgzN2JiZTQwNzI2MDdhODcx
YmI5NWU4YTBjYzRjMC4uNWE1YmIwNjY5Zjc1YTA4NjkzZDIwOTAyODhlZTE0NWRlZWRhNDE2ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGcmFt
ZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1l
LmpzCkBAIC02NDcsOCArNjQ3LDEwIEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5
cGUgPSB7CiAKICAgICAgICAgdmFyIGNvbnRlbnQgPSB0aGlzLl90ZXh0RWRpdG9yLnRleHQoKTsK
ICAgICAgICAgdGhpcy5jb21taXRFZGl0aW5nKGNvbnRlbnQpOwotICAgICAgICBpZiAodGhpcy5f
dXJsICYmIFdlYkluc3BlY3Rvci5maWxlTWFuYWdlci5pc1VSTFNhdmVkKHRoaXMuX3VybCkpCisg
ICAgICAgIGlmICh0aGlzLl91cmwgJiYgV2ViSW5zcGVjdG9yLmZpbGVNYW5hZ2VyLmlzVVJMU2F2
ZWQodGhpcy5fdXJsKSkgewogICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmZpbGVNYW5hZ2VyLnNh
dmUodGhpcy5fdXJsLCBjb250ZW50LCBmYWxzZSk7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3Iu
ZmlsZU1hbmFnZXIuY2xvc2UodGhpcy5fdXJsKTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICB9LAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL2V4dGVybnMuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2V4
dGVybnMuanMKaW5kZXggYmE1YmJjOWZlZjEyZGNjNTdhMTkzOTBjNjMzYWQ3NjZlYTZlMDAzMi4u
YWIzZTVlZWRlODljM2NhOTNkOWNjMjMxMmRhMmY0NDFjZDU2MGZmNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9leHRlcm5zLmpzCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvZXh0ZXJucy5qcwpAQCAtMTM4LDcgKzEzOCw3IEBA
IEluc3BlY3RvckZyb250ZW5kSG9zdEFQSS5wcm90b3R5cGUuY29weVRleHQgPSBmdW5jdGlvbih0
ZXh0KSB7fQogSW5zcGVjdG9yRnJvbnRlbmRIb3N0QVBJLnByb3RvdHlwZS5vcGVuSW5OZXdUYWIg
PSBmdW5jdGlvbih1cmwpIHt9CiBJbnNwZWN0b3JGcm9udGVuZEhvc3RBUEkucHJvdG90eXBlLmNh
blNhdmUgPSBmdW5jdGlvbigpIHt9CiBJbnNwZWN0b3JGcm9udGVuZEhvc3RBUEkucHJvdG90eXBl
LnNhdmUgPSBmdW5jdGlvbih1cmwsIGNvbnRlbnQsIGZvcmNlU2F2ZUFzKSB7fQotSW5zcGVjdG9y
RnJvbnRlbmRIb3N0QVBJLnByb3RvdHlwZS5jYW5BcHBlbmQgPSBmdW5jdGlvbigpIHt9CitJbnNw
ZWN0b3JGcm9udGVuZEhvc3RBUEkucHJvdG90eXBlLmNsb3NlID0gZnVuY3Rpb24odXJsKSB7fQog
SW5zcGVjdG9yRnJvbnRlbmRIb3N0QVBJLnByb3RvdHlwZS5hcHBlbmQgPSBmdW5jdGlvbih1cmws
IGNvbnRlbnQpIHt9CiBJbnNwZWN0b3JGcm9udGVuZEhvc3RBUEkucHJvdG90eXBlLnNlbmRNZXNz
YWdlVG9CYWNrZW5kID0gZnVuY3Rpb24obWVzc2FnZSkge30KIEluc3BlY3RvckZyb250ZW5kSG9z
dEFQSS5wcm90b3R5cGUucmVjb3JkQWN0aW9uVGFrZW4gPSBmdW5jdGlvbihhY3Rpb25Db2RlKSB7
fQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168851</attachid>
            <date>2012-10-15 22:03:58 -0700</date>
            <delta_ts>2012-10-16 00:50:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99179-20121016090247.patch</filename>
            <type>text/plain</type>
            <size>11745</size>
            <attacher>eustas.bug</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNDA4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjBiYTgxZDVhMDc1NzM2
ZTFhOGZlMDgyZGIwNDkzYjE4MzU0ODQzMy4uYjc3NTIzZjFhNDZhY2RjYjM5MmMyNTRhZDY2YTlm
Mzk3ZTA0NmZkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEyLTEwLTE2ICBFdWdl
bmUgS2x5dWNobmlrb3YgIDxldXN0YXMuYnVnQGdtYWlsLmNvbT4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBTYXZpbmcgSEFSLCBzbmFwc2hvdHMgYW5kIHRpbWVsaW5lIGRhdGEgZG8gbm90IHdv
cmsgaW4gcmVtb3RlIGRlYnVnZ2luZyBtb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05OTE3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZGVkIG1ldGhvZCAiY2xvc2UiIHRvIEluc3BlY3RvckZyb250
ZW5kSG9zdC4KKyAgICAgICAgU3ltYW50aWNhbGx5LCB0aGlzIG1ldGhvZCBmb3JjZXMgdG8gZmx1
c2ggYWxsIHVuc2F2ZWQgYnVmZmVycyBmb3IKKyAgICAgICAgc3BlY2lmaWVkIGZpbGUuIEluIG5h
dGl2ZSBpbXBsZW1lbnRhdGlvbiB0aGlzIHR1cm5zIHRvIGJlIG5vLW9wLgorCisgICAgICAgIElu
IHN0dWIgaW1wbGVtZW50YXRpb24gImNsb3NlIiBjYXVzZXMgY29tcGlsYXRpb24gb2YgYmxvYiBv
YmplY3QgYW4KKyAgICAgICAgbmF2aWdhdGluZyB0byBibG9iLXNjaGVtYSB1cmwuCisKKyAgICAg
ICAgUmVtb3ZlZCAiY2FuQXBwZW5kIiwgYXMgYXBwZW5kaW5nIGluIG5vdyBzdXBwdXJ0ZWQKKyAg
ICAgICAgYnkgYWxsIGltcGxlbWVudGF0aW9ucy4KKworICAgICAgICBSZXBhY2VkIHNjaGVtYSAi
ZGF0YSIgd2l0aCAiYmxvYiIgaW4gSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1YiAic2F2ZSIKKyAg
ICAgICAgdG8gYXZvaWQgb3V0LW9mLW1lbW9yeSBlcnJvcnMuCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckZyb250ZW5kSG9zdDo6Y2xvc2UpOiBDb21waWxlcyBibG9iIG9iamVjdCBhbmQKKyAgICAgICAg
bmF2aWdhdGVzIHRvIGJsb2Itb2JqZWN0IHVybC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaDogQWRkZWQgImNsb3NlIiBtZXRo
b2QuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGw6IERpdHRv
LgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRmlsZU1hbmFnZXIuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuRmlsZU1hbmFnZXIucHJvdG90eXBlLmNsb3NlKTogUHJveHkgdG8gSW5z
cGVjdG9yRnJvbnRlbmQuCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlVXRpbHMu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsZU91dHB1dFN0cmVhbS5wcm90b3R5cGUuY2xv
c2UpOgorICAgICAgICBJbnZva2UgImNsb3NlIiBvbiBGaWxlTWFuYWdlci4KKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5GaWxlT3V0cHV0U3RyZWFtLnByb3RvdHlwZS5fb25BcHBlbmREb25lKTogRGl0
dG8uCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9IYW5kbGVyUmVnaXN0cnkuanM6IEFk
ZGVkIG1hbmRhdG9yeSAiY2xvc2UiIGNhbGwuCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9IZWFwU25hcHNob3RWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhlYXBQcm9maWxl
SGVhZGVyLnByb3RvdHlwZS5jYW5TYXZlVG9GaWxlKTogRml4ZWQgY2hlY2suCisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLmpzOgorICAgICAg
ICAoLldlYkluc3BlY3Rvci5JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViKToKKyAgICAgICAgQWRk
ZWQgImFwcGVuZGFibGUiIGJlaGF2aW91ciBlbXVsYXRpb24uCisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qczogQWRkZWQgbWFuZGF0b3J5ICJjbG9zZSIgY2FsbC4K
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2V4dGVybnMuanM6IFJlcGxhY2VkICJjYW5B
cHBlbmQiIHdpdGggImNsb3NlIgorCiAyMDEyLTEwLTE1ICBQYWJsbyBGbG91cmV0ICA8cGFibG9m
QG1vdG9yb2xhLmNvbT4KIAogICAgICAgICBBZGQgZm9yY2UgcGFyYW1ldGVyIHRvIERPTVRva2Vu
TGlzdC50b2dnbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZEhvc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZy
b250ZW5kSG9zdC5jcHAKaW5kZXggZTdiMDIyMDBlZjk3NzI4NTEwZWQ0ZDA4NjMzZjJkNDcwMjQ0
NWFiMC4uMjYxNjllYjg0MjE0ZmI1MzU0MDZhMDg3Y2IzY2MzZGM3MTgzNWQ4YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKQEAg
LTI1MCw2ICsyNTAsOCBAQCB2b2lkIEluc3BlY3RvckZyb250ZW5kSG9zdDo6YXBwZW5kKGNvbnN0
IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIGNvbnRlbnQpCiAgICAgICAgIG1fY2xpZW50LT5h
cHBlbmQodXJsLCBjb250ZW50KTsKIH0KIAordm9pZCBJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OmNs
b3NlKGNvbnN0IFN0cmluZyYgLyogdXJsICovKSB7IH0KKwogYm9vbCBJbnNwZWN0b3JGcm9udGVu
ZEhvc3Q6OmNhbkluc3BlY3RXb3JrZXJzKCkKIHsKICNpZiBFTkFCTEUoV09SS0VSUykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaAppbmRleCBk
NWFlNTFkODA2NzA2MWQzMTY5MjFjYmUzM2MwOGExMDJkZTQ1NWE3Li45M2ViNDI3MjI2MmFiOWZk
ZTEyN2JmN2ZkNDFjNjlhNWQ2ZTg2ZjJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oCkBAIC03Nyw2ICs3Nyw3IEBAIHB1YmxpYzoKICAg
ICBib29sIGNhblNhdmUoKTsKICAgICB2b2lkIHNhdmUoY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0
IFN0cmluZyYgY29udGVudCwgYm9vbCBmb3JjZVNhdmVBcyk7CiAgICAgdm9pZCBhcHBlbmQoY29u
c3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgY29udGVudCk7CisgICAgdm9pZCBjbG9zZShj
b25zdCBTdHJpbmcmIHVybCk7CiAKICAgICBib29sIGNhbkluc3BlY3RXb3JrZXJzKCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3Qu
aWRsIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGwK
aW5kZXggOGRkYzlhNmZkOTNkMDUwNTY2YjNmMWM0ZTRjN2NhYjhjMDlmNTA4Zi4uMGVkZDA2OWZi
ZjdhMzdkNmY5ZTc2OGUxMzcyYjU1MzhhYzNkZjM4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGwKQEAgLTU0LDYgKzU0LDcgQEAK
ICAgICBib29sZWFuIGNhblNhdmUoKTsKICAgICB2b2lkIHNhdmUoaW4gRE9NU3RyaW5nIHVybCwg
aW4gRE9NU3RyaW5nIGNvbnRlbnQsIGluIGJvb2xlYW4gZm9yY2VTYXZlQXMpOwogICAgIHZvaWQg
YXBwZW5kKGluIERPTVN0cmluZyB1cmwsIGluIERPTVN0cmluZyBjb250ZW50KTsKKyAgICB2b2lk
IGNsb3NlKGluIERPTVN0cmluZyB1cmwpOwogCiAgICAgYm9vbGVhbiBjYW5JbnNwZWN0V29ya2Vy
cygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Zp
bGVNYW5hZ2VyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlTWFu
YWdlci5qcwppbmRleCA2YjEwOGQzZjBiZmJkODI1NjhiZWJjNDk5ZjlhMmVlMWNkNjcyZjM3Li5i
Yjg4NzM0ZTY1ZWQwMDU2MGEwNTY4NTNhNGIzYjFlY2FiYWE0OWJjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVNYW5hZ2VyLmpzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZU1hbmFnZXIuanMKQEAgLTUxLDE0ICs1
MSw2IEBAIFdlYkluc3BlY3Rvci5GaWxlTWFuYWdlci5wcm90b3R5cGUgPSB7CiAgICAgfSwKIAog
ICAgIC8qKgotICAgICAqIEByZXR1cm4ge2Jvb2xlYW59Ci0gICAgICovCi0gICAgY2FuQXBwZW5k
OiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICByZXR1cm4gSW5zcGVjdG9yRnJvbnRlbmRIb3N0
LmNhblNhdmUoKSAmJiAoImFwcGVuZCIgaW4gSW5zcGVjdG9yRnJvbnRlbmRIb3N0KTsKLSAgICB9
LAotCi0gICAgLyoqCiAgICAgICogQHBhcmFtIHtzdHJpbmd9IHVybAogICAgICAqIEBwYXJhbSB7
c3RyaW5nfSBjb250ZW50CiAgICAgICogQHBhcmFtIHtib29sZWFufSBmb3JjZVNhdmVBcwpAQCAt
MTA1LDYgKzk3LDE0IEBAIFdlYkluc3BlY3Rvci5GaWxlTWFuYWdlci5wcm90b3R5cGUgPSB7CiAg
ICAgLyoqCiAgICAgICogQHBhcmFtIHtzdHJpbmd9IHVybAogICAgICAqLworICAgIGNsb3NlOiBm
dW5jdGlvbih1cmwpCisgICAgeworICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3QuY2xvc2Uo
dXJsKTsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJpbmd9IHVybAorICAg
ICAqLwogICAgIGFwcGVuZGVkVG9VUkw6IGZ1bmN0aW9uKHVybCkKICAgICB7CiAgICAgICAgIHRo
aXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5GaWxlTWFuYWdlci5FdmVu
dFR5cGVzLkFwcGVuZGVkVG9VUkwsIHVybCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVVdGlscy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvRmlsZVV0aWxzLmpzCmluZGV4IDdlOTViZGZjODliOWEyYmE1YzIyZjBhYWIy
Y2Y4ZDc3NzAwZWJkYWEuLmQ2YTFkZWM2Y2EzNjdjMTNjZWNiYWJkNzAxZDdjZGU4YjJmNzZlMjUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVV0aWxz
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVV0aWxzLmpz
CkBAIC0zODUsNiArMzg1LDcgQEAgV2ViSW5zcGVjdG9yLkZpbGVPdXRwdXRTdHJlYW0ucHJvdG90
eXBlID0gewogICAgICAgICBpZiAodGhpcy5fd3JpdGVDYWxsYmFja3MubGVuZ3RoKQogICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICBXZWJJbnNwZWN0b3IuZmlsZU1hbmFnZXIucmVtb3ZlRXZl
bnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRmlsZU1hbmFnZXIuRXZlbnRUeXBlcy5BcHBlbmRlZFRv
VVJMLCB0aGlzLl9vbkFwcGVuZERvbmUsIHRoaXMpOworICAgICAgICBXZWJJbnNwZWN0b3IuZmls
ZU1hbmFnZXIuY2xvc2UodGhpcy5fZmlsZU5hbWUpOwogICAgIH0sCiAKICAgICAvKioKQEAgLTM5
NSw4ICszOTYsMTAgQEAgV2ViSW5zcGVjdG9yLkZpbGVPdXRwdXRTdHJlYW0ucHJvdG90eXBlID0g
ewogICAgICAgICBpZiAoZXZlbnQuZGF0YSAhPT0gdGhpcy5fZmlsZU5hbWUpCiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIGlmICghdGhpcy5fd3JpdGVDYWxsYmFja3MubGVuZ3RoKSB7Ci0g
ICAgICAgICAgICBpZiAodGhpcy5fY2xvc2VkKQorICAgICAgICAgICAgaWYgKHRoaXMuX2Nsb3Nl
ZCkgewogICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5maWxlTWFuYWdlci5yZW1vdmVFdmVu
dExpc3RlbmVyKFdlYkluc3BlY3Rvci5GaWxlTWFuYWdlci5FdmVudFR5cGVzLkFwcGVuZGVkVG9V
UkwsIHRoaXMuX29uQXBwZW5kRG9uZSwgdGhpcyk7CisgICAgICAgICAgICAgICAgV2ViSW5zcGVj
dG9yLmZpbGVNYW5hZ2VyLmNsb3NlKHRoaXMuX2ZpbGVOYW1lKTsKKyAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICB2YXIgY2FsbGJhY2sgPSB0aGlz
Ll93cml0ZUNhbGxiYWNrcy5zaGlmdCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9IYW5kbGVyUmVnaXN0cnkuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0hhbmRsZXJSZWdpc3RyeS5qcwppbmRleCA1YzhjYzc0ZDI4NmE3Zjdm
YjMzMDUyMDNkZDVkM2UxMThlYjUxMGRiLi4yYmEyNTAzMmRiNDcyMzA0MjJkN2RjZjMyMjcwYzdi
ZDQwNWZkOTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0hhbmRsZXJSZWdpc3RyeS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0hhbmRsZXJSZWdpc3RyeS5qcwpAQCAtMTMyLDcgKzEzMiw5IEBAIFdlYkluc3BlY3Rvci5I
YW5kbGVyUmVnaXN0cnkucHJvdG90eXBlID0gewogCiAgICAgICAgIGZ1bmN0aW9uIGRvU2F2ZShm
b3JjZVNhdmVBcywgY29udGVudCkKICAgICAgICAgewotICAgICAgICAgICAgV2ViSW5zcGVjdG9y
LmZpbGVNYW5hZ2VyLnNhdmUoY29udGVudFByb3ZpZGVyLmNvbnRlbnRVUkwoKSwgY29udGVudCwg
Zm9yY2VTYXZlQXMpOworICAgICAgICAgICAgdmFyIHVybCA9IGNvbnRlbnRQcm92aWRlci5jb250
ZW50VVJMKCk7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZmlsZU1hbmFnZXIuc2F2ZSh1cmws
IGNvbnRlbnQsIGZvcmNlU2F2ZUFzKTsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5maWxlTWFu
YWdlci5jbG9zZSh1cmwpOwogICAgICAgICB9CiAKICAgICAgICAgZnVuY3Rpb24gc2F2ZShmb3Jj
ZVNhdmVBcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
SGVhcFNuYXBzaG90Vmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
SGVhcFNuYXBzaG90Vmlldy5qcwppbmRleCBhMDk0YjQ1OGE0ZmM1ZWMxZDQ2M2I3MDM3NDA5YTY5
ZjJiNzRjOTVjLi5jY2QzNjMwYTY0MTQ0MzIxMWYyYzE2ZjJjYzJkYmQ3NGE3NjZiMWQ2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdFZp
ZXcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNo
b3RWaWV3LmpzCkBAIC05NTMsNyArOTUzLDcgQEAgV2ViSW5zcGVjdG9yLkhlYXBQcm9maWxlSGVh
ZGVyLnByb3RvdHlwZSA9IHsKICAgICAgKi8KICAgICBjYW5TYXZlVG9GaWxlOiBmdW5jdGlvbigp
CiAgICAgewotICAgICAgICByZXR1cm4gIXRoaXMuZnJvbUZpbGUoKSAmJiB0aGlzLl9zbmFwc2hv
dFByb3h5ICYmICF0aGlzLl9yZWNlaXZlciAmJiBXZWJJbnNwZWN0b3IuZmlsZU1hbmFnZXIuY2Fu
QXBwZW5kKCk7CisgICAgICAgIHJldHVybiAhdGhpcy5mcm9tRmlsZSgpICYmICEhdGhpcy5fc25h
cHNob3RQcm94eSAmJiAhdGhpcy5fcmVjZWl2ZXI7CiAgICAgfSwKIAogICAgIC8qKgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVu
ZEhvc3RTdHViLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0
b3JGcm9udGVuZEhvc3RTdHViLmpzCmluZGV4IGQ3MDZiNTk3NzYzOTdiMWFiNzI3N2YzZmRmNzM2
MDFiOWE2ZTI4ZDYuLjc5YzkyM2M5MzkyZGFkNDM0MTlmMGEyM2NmZTkwZWQ1Njc4MDk0YmIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yRnJv
bnRlbmRIb3N0U3R1Yi5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0luc3BlY3RvckZyb250ZW5kSG9zdFN0dWIuanMKQEAgLTM4LDYgKzM4LDcgQEAgV2ViSW5zcGVj
dG9yLkluc3BlY3RvckZyb250ZW5kSG9zdFN0dWIgPSBmdW5jdGlvbigpCiB7CiAgICAgdGhpcy5f
YXR0YWNoZWRXaW5kb3dIZWlnaHQgPSAwOwogICAgIHRoaXMuaXNTdHViID0gdHJ1ZTsKKyAgICB0
aGlzLl9maWxlQnVmZmVycyA9IHt9OwogICAgIFdlYkluc3BlY3Rvci5kb2N1bWVudENvcHlFdmVu
dEZpcmVkID0gdGhpcy5kb2N1bWVudENvcHkuYmluZCh0aGlzKTsKIH0KIApAQCAtMTQzLDIzICsx
NDQsNDEgQEAgV2ViSW5zcGVjdG9yLkluc3BlY3RvckZyb250ZW5kSG9zdFN0dWIucHJvdG90eXBl
ID0gewogCiAgICAgc2F2ZTogZnVuY3Rpb24odXJsLCBjb250ZW50LCBmb3JjZVNhdmVBcykKICAg
ICB7Ci0gICAgICAgIHZhciBibG9iID0gbmV3IEJsb2IoW2NvbnRlbnRdLCB7IHR5cGU6ICJhcHBs
aWNhdGlvbi9vY3RldC1zdHJlYW0iIH0pOworICAgICAgICBpZiAodGhpcy5fZmlsZUJ1ZmZlcnNb
dXJsXSkKKyAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQ29uY3VycmVudCBmaWxlIG1vZGlm
aWNhdGlvbiBkZW5pZWQuIik7CiAKLSAgICAgICAgdmFyIGZyID0gbmV3IEZpbGVSZWFkZXIoKTsK
LSAgICAgICAgZnIub25sb2FkID0gZnVuY3Rpb24oZSkgewotICAgICAgICAgICAgLy8gRm9yY2Ug
ZG93bmxvYWQKLSAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IHRoaXMucmVzdWx0OwotICAg
ICAgICB9Ci0gICAgICAgIGZyLnJlYWRBc0RhdGFVUkwoYmxvYik7CisgICAgICAgIHRoaXMuX2Zp
bGVCdWZmZXJzW3VybF0gPSBbY29udGVudF07CisgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24o
KSB7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZmlsZU1hbmFnZXIuc2F2ZWRVUkwodXJsKTsK
KyAgICAgICAgfSwgMCk7CiAgICAgfSwKIAotICAgIGNhbkFwcGVuZDogZnVuY3Rpb24oKQorICAg
IGFwcGVuZDogZnVuY3Rpb24odXJsLCBjb250ZW50KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICB2YXIgYnVmZmVyID0gdGhpcy5fZmlsZUJ1ZmZlcnNbdXJsXTsKKyAgICAg
ICAgaWYgKCFidWZmZXIpCisgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkZpbGUgaXMgbm90
IG9wZW4gZm9yIHdyaXRlIHlldC4iKTsKKworICAgICAgICBidWZmZXIucHVzaChjb250ZW50KTsK
KyAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rv
ci5maWxlTWFuYWdlci5hcHBlbmRlZFRvVVJMKHVybCk7CisgICAgICAgIH0sIDApOwogICAgIH0s
CiAKLSAgICBhcHBlbmQ6IGZ1bmN0aW9uKHVybCwgY29udGVudCkKKyAgICBjbG9zZTogZnVuY3Rp
b24odXJsKQogICAgIHsKKyAgICAgICAgdmFyIGNvbnRlbnQgPSB0aGlzLl9maWxlQnVmZmVyc1t1
cmxdOworICAgICAgICBkZWxldGUgdGhpcy5fZmlsZUJ1ZmZlcnNbdXJsXTsKKworICAgICAgICBp
ZiAoIWNvbnRlbnQpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdmFyIGJsb2IgPSBu
ZXcgQmxvYihjb250ZW50LCB7IHR5cGU6ICJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iIH0pOwor
ICAgICAgICB2YXIgb2JqZWN0VXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7
CisgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IG9iamVjdFVybDsKKyAgICAgICAgc2V0VGltZW91
dChmdW5jdGlvbigpIHsKKyAgICAgICAgICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKG9i
amVjdFVybCk7CisgICAgICAgIH0sIDApOwogICAgIH0sCiAKICAgICBzZW5kTWVzc2FnZVRvQmFj
a2VuZDogZnVuY3Rpb24obWVzc2FnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpzCmluZGV4IDdjY2I5NGQ0NWU4MzdiYmU0MDcyNjA3YTg3
MWJiOTVlOGEwY2M0YzAuLjVhNWJiMDY2OWY3NWEwODY5M2QyMDkwMjg4ZWUxNDVkZWVkYTQxNmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJh
bWUuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGcmFt
ZS5qcwpAQCAtNjQ3LDggKzY0NywxMCBAQCBXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90
eXBlID0gewogCiAgICAgICAgIHZhciBjb250ZW50ID0gdGhpcy5fdGV4dEVkaXRvci50ZXh0KCk7
CiAgICAgICAgIHRoaXMuY29tbWl0RWRpdGluZyhjb250ZW50KTsKLSAgICAgICAgaWYgKHRoaXMu
X3VybCAmJiBXZWJJbnNwZWN0b3IuZmlsZU1hbmFnZXIuaXNVUkxTYXZlZCh0aGlzLl91cmwpKQor
ICAgICAgICBpZiAodGhpcy5fdXJsICYmIFdlYkluc3BlY3Rvci5maWxlTWFuYWdlci5pc1VSTFNh
dmVkKHRoaXMuX3VybCkpIHsKICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5maWxlTWFuYWdlci5z
YXZlKHRoaXMuX3VybCwgY29udGVudCwgZmFsc2UpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9y
LmZpbGVNYW5hZ2VyLmNsb3NlKHRoaXMuX3VybCk7CisgICAgICAgIH0KICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgfSwKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9leHRlcm5zLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9l
eHRlcm5zLmpzCmluZGV4IGJhNWJiYzlmZWYxMmRjYzU3YTE5MzkwYzYzM2FkNzY2ZWE2ZTAwMzIu
LmFiM2U1ZWVkZTg5YzNjYTkzZDljYzIzMTJkYTJmNDQxY2Q1NjBmZjcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvZXh0ZXJucy5qcworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2V4dGVybnMuanMKQEAgLTEzOCw3ICsxMzgsNyBA
QCBJbnNwZWN0b3JGcm9udGVuZEhvc3RBUEkucHJvdG90eXBlLmNvcHlUZXh0ID0gZnVuY3Rpb24o
dGV4dCkge30KIEluc3BlY3RvckZyb250ZW5kSG9zdEFQSS5wcm90b3R5cGUub3BlbkluTmV3VGFi
ID0gZnVuY3Rpb24odXJsKSB7fQogSW5zcGVjdG9yRnJvbnRlbmRIb3N0QVBJLnByb3RvdHlwZS5j
YW5TYXZlID0gZnVuY3Rpb24oKSB7fQogSW5zcGVjdG9yRnJvbnRlbmRIb3N0QVBJLnByb3RvdHlw
ZS5zYXZlID0gZnVuY3Rpb24odXJsLCBjb250ZW50LCBmb3JjZVNhdmVBcykge30KLUluc3BlY3Rv
ckZyb250ZW5kSG9zdEFQSS5wcm90b3R5cGUuY2FuQXBwZW5kID0gZnVuY3Rpb24oKSB7fQorSW5z
cGVjdG9yRnJvbnRlbmRIb3N0QVBJLnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uKHVybCkge30K
IEluc3BlY3RvckZyb250ZW5kSG9zdEFQSS5wcm90b3R5cGUuYXBwZW5kID0gZnVuY3Rpb24odXJs
LCBjb250ZW50KSB7fQogSW5zcGVjdG9yRnJvbnRlbmRIb3N0QVBJLnByb3RvdHlwZS5zZW5kTWVz
c2FnZVRvQmFja2VuZCA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHt9CiBJbnNwZWN0b3JGcm9udGVuZEhv
c3RBUEkucHJvdG90eXBlLnJlY29yZEFjdGlvblRha2VuID0gZnVuY3Rpb24oYWN0aW9uQ29kZSkg
e30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168879</attachid>
            <date>2012-10-16 00:50:05 -0700</date>
            <delta_ts>2012-10-16 06:26:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99179-20121016114854.patch</filename>
            <type>text/plain</type>
            <size>11773</size>
            <attacher>eustas.bug</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNDE3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGM3YmQ4NTQ0NTFiZDhl
OTZmOWRmZmI3MDNlOWZjYWRlNzA5MjVjYy4uNjNlZGRjN2RjZTExNDY2M2RlMWEyMTNmOTNhMjI4
ODJhNTQ2YTc2YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEyLTEwLTE2ICBFdWdl
bmUgS2x5dWNobmlrb3YgIDxldXN0YXMuYnVnQGdtYWlsLmNvbT4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBTYXZpbmcgSEFSLCBzbmFwc2hvdHMgYW5kIHRpbWVsaW5lIGRhdGEgZG8gbm90IHdv
cmsgaW4gcmVtb3RlIGRlYnVnZ2luZyBtb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05OTE3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZGVkIG1ldGhvZCAiY2xvc2UiIHRvIEluc3BlY3RvckZyb250
ZW5kSG9zdC4KKyAgICAgICAgU3ltYW50aWNhbGx5LCB0aGlzIG1ldGhvZCBmb3JjZXMgdG8gZmx1
c2ggYWxsIHVuc2F2ZWQgYnVmZmVycyBmb3IKKyAgICAgICAgc3BlY2lmaWVkIGZpbGUuIEluIG5h
dGl2ZSBpbXBsZW1lbnRhdGlvbiB0aGlzIHR1cm5zIHRvIGJlIG5vLW9wLgorCisgICAgICAgIElu
IHN0dWIgaW1wbGVtZW50YXRpb24gImNsb3NlIiBjYXVzZXMgY29tcGlsYXRpb24gb2YgYmxvYiBv
YmplY3QgYW4KKyAgICAgICAgbmF2aWdhdGluZyB0byBibG9iLXNjaGVtYSB1cmwuCisKKyAgICAg
ICAgUmVtb3ZlZCAiY2FuQXBwZW5kIiwgYXMgYXBwZW5kaW5nIGluIG5vdyBzdXBwdXJ0ZWQKKyAg
ICAgICAgYnkgYWxsIGltcGxlbWVudGF0aW9ucy4KKworICAgICAgICBSZXBhY2VkIHNjaGVtYSAi
ZGF0YSIgd2l0aCAiYmxvYiIgaW4gSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1YiAic2F2ZSIKKyAg
ICAgICAgdG8gYXZvaWQgb3V0LW9mLW1lbW9yeSBlcnJvcnMuCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckZyb250ZW5kSG9zdDo6Y2xvc2UpOiBDb21waWxlcyBibG9iIG9iamVjdCBhbmQKKyAgICAgICAg
bmF2aWdhdGVzIHRvIGJsb2Itb2JqZWN0IHVybC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaDogQWRkZWQgImNsb3NlIiBtZXRo
b2QuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGw6IERpdHRv
LgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRmlsZU1hbmFnZXIuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuRmlsZU1hbmFnZXIucHJvdG90eXBlLmNsb3NlKTogUHJveHkgdG8gSW5z
cGVjdG9yRnJvbnRlbmQuCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlVXRpbHMu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsZU91dHB1dFN0cmVhbS5wcm90b3R5cGUuY2xv
c2UpOgorICAgICAgICBJbnZva2UgImNsb3NlIiBvbiBGaWxlTWFuYWdlci4KKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5GaWxlT3V0cHV0U3RyZWFtLnByb3RvdHlwZS5fb25BcHBlbmREb25lKTogRGl0
dG8uCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9IYW5kbGVyUmVnaXN0cnkuanM6IEFk
ZGVkIG1hbmRhdG9yeSAiY2xvc2UiIGNhbGwuCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9IZWFwU25hcHNob3RWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhlYXBQcm9maWxl
SGVhZGVyLnByb3RvdHlwZS5jYW5TYXZlVG9GaWxlKTogRml4ZWQgY2hlY2suCisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLmpzOgorICAgICAg
ICAoLldlYkluc3BlY3Rvci5JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViKToKKyAgICAgICAgQWRk
ZWQgImFwcGVuZGFibGUiIGJlaGF2aW91ciBlbXVsYXRpb24uCisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qczogQWRkZWQgbWFuZGF0b3J5ICJjbG9zZSIgY2FsbC4K
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2V4dGVybnMuanM6IFJlcGxhY2VkICJjYW5B
cHBlbmQiIHdpdGggImNsb3NlIgorCiAyMDEyLTEwLTE1ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVy
eXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHJlc3RvcmUgd2F0Y2gg
ZXhwcmVzc2lvbiBleHBhbnNpb24gc3RhdGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKaW5kZXggZTdiMDIyMDBlZjk3NzI4NTEwZWQ0
ZDA4NjMzZjJkNDcwMjQ0NWFiMC4uMjYxNjllYjg0MjE0ZmI1MzU0MDZhMDg3Y2IzY2MzZGM3MTgz
NWQ4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250
ZW5kSG9zdC5jcHAKQEAgLTI1MCw2ICsyNTAsOCBAQCB2b2lkIEluc3BlY3RvckZyb250ZW5kSG9z
dDo6YXBwZW5kKGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIGNvbnRlbnQpCiAgICAg
ICAgIG1fY2xpZW50LT5hcHBlbmQodXJsLCBjb250ZW50KTsKIH0KIAordm9pZCBJbnNwZWN0b3JG
cm9udGVuZEhvc3Q6OmNsb3NlKGNvbnN0IFN0cmluZyYgLyogdXJsICovKSB7IH0KKwogYm9vbCBJ
bnNwZWN0b3JGcm9udGVuZEhvc3Q6OmNhbkluc3BlY3RXb3JrZXJzKCkKIHsKICNpZiBFTkFCTEUo
V09SS0VSUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JG
cm9udGVuZEhvc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVu
ZEhvc3QuaAppbmRleCBkNWFlNTFkODA2NzA2MWQzMTY5MjFjYmUzM2MwOGExMDJkZTQ1NWE3Li45
M2ViNDI3MjI2MmFiOWZkZTEyN2JmN2ZkNDFjNjlhNWQ2ZTg2ZjJiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oCkBAIC03Nyw2ICs3Nyw3
IEBAIHB1YmxpYzoKICAgICBib29sIGNhblNhdmUoKTsKICAgICB2b2lkIHNhdmUoY29uc3QgU3Ry
aW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgY29udGVudCwgYm9vbCBmb3JjZVNhdmVBcyk7CiAgICAg
dm9pZCBhcHBlbmQoY29uc3QgU3RyaW5nJiB1cmwsIGNvbnN0IFN0cmluZyYgY29udGVudCk7Cisg
ICAgdm9pZCBjbG9zZShjb25zdCBTdHJpbmcmIHVybCk7CiAKICAgICBib29sIGNhbkluc3BlY3RX
b3JrZXJzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JGcm9udGVuZEhvc3QuaWRsIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZy
b250ZW5kSG9zdC5pZGwKaW5kZXggOGRkYzlhNmZkOTNkMDUwNTY2YjNmMWM0ZTRjN2NhYjhjMDlm
NTA4Zi4uMGVkZDA2OWZiZjdhMzdkNmY5ZTc2OGUxMzcyYjU1MzhhYzNkZjM4MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGwKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGwKQEAg
LTU0LDYgKzU0LDcgQEAKICAgICBib29sZWFuIGNhblNhdmUoKTsKICAgICB2b2lkIHNhdmUoaW4g
RE9NU3RyaW5nIHVybCwgaW4gRE9NU3RyaW5nIGNvbnRlbnQsIGluIGJvb2xlYW4gZm9yY2VTYXZl
QXMpOwogICAgIHZvaWQgYXBwZW5kKGluIERPTVN0cmluZyB1cmwsIGluIERPTVN0cmluZyBjb250
ZW50KTsKKyAgICB2b2lkIGNsb3NlKGluIERPTVN0cmluZyB1cmwpOwogCiAgICAgYm9vbGVhbiBj
YW5JbnNwZWN0V29ya2VycygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0ZpbGVNYW5hZ2VyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9GaWxlTWFuYWdlci5qcwppbmRleCA2YjEwOGQzZjBiZmJkODI1NjhiZWJjNDk5Zjlh
MmVlMWNkNjcyZjM3Li5iYjg4NzM0ZTY1ZWQwMDU2MGEwNTY4NTNhNGIzYjFlY2FiYWE0OWJjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVNYW5hZ2Vy
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZU1hbmFnZXIu
anMKQEAgLTUxLDE0ICs1MSw2IEBAIFdlYkluc3BlY3Rvci5GaWxlTWFuYWdlci5wcm90b3R5cGUg
PSB7CiAgICAgfSwKIAogICAgIC8qKgotICAgICAqIEByZXR1cm4ge2Jvb2xlYW59Ci0gICAgICov
Ci0gICAgY2FuQXBwZW5kOiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICByZXR1cm4gSW5zcGVj
dG9yRnJvbnRlbmRIb3N0LmNhblNhdmUoKSAmJiAoImFwcGVuZCIgaW4gSW5zcGVjdG9yRnJvbnRl
bmRIb3N0KTsKLSAgICB9LAotCi0gICAgLyoqCiAgICAgICogQHBhcmFtIHtzdHJpbmd9IHVybAog
ICAgICAqIEBwYXJhbSB7c3RyaW5nfSBjb250ZW50CiAgICAgICogQHBhcmFtIHtib29sZWFufSBm
b3JjZVNhdmVBcwpAQCAtMTA1LDYgKzk3LDE0IEBAIFdlYkluc3BlY3Rvci5GaWxlTWFuYWdlci5w
cm90b3R5cGUgPSB7CiAgICAgLyoqCiAgICAgICogQHBhcmFtIHtzdHJpbmd9IHVybAogICAgICAq
LworICAgIGNsb3NlOiBmdW5jdGlvbih1cmwpCisgICAgeworICAgICAgICBJbnNwZWN0b3JGcm9u
dGVuZEhvc3QuY2xvc2UodXJsKTsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtz
dHJpbmd9IHVybAorICAgICAqLwogICAgIGFwcGVuZGVkVG9VUkw6IGZ1bmN0aW9uKHVybCkKICAg
ICB7CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5G
aWxlTWFuYWdlci5FdmVudFR5cGVzLkFwcGVuZGVkVG9VUkwsIHVybCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVVdGlscy5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVV0aWxzLmpzCmluZGV4IDdlOTViZGZjODli
OWEyYmE1YzIyZjBhYWIyY2Y4ZDc3NzAwZWJkYWEuLmQ2YTFkZWM2Y2EzNjdjMTNjZWNiYWJkNzAx
ZDdjZGU4YjJmNzZlMjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvRmlsZVV0aWxzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvRmlsZVV0aWxzLmpzCkBAIC0zODUsNiArMzg1LDcgQEAgV2ViSW5zcGVjdG9yLkZpbGVPdXRw
dXRTdHJlYW0ucHJvdG90eXBlID0gewogICAgICAgICBpZiAodGhpcy5fd3JpdGVDYWxsYmFja3Mu
bGVuZ3RoKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBXZWJJbnNwZWN0b3IuZmlsZU1h
bmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRmlsZU1hbmFnZXIuRXZlbnRU
eXBlcy5BcHBlbmRlZFRvVVJMLCB0aGlzLl9vbkFwcGVuZERvbmUsIHRoaXMpOworICAgICAgICBX
ZWJJbnNwZWN0b3IuZmlsZU1hbmFnZXIuY2xvc2UodGhpcy5fZmlsZU5hbWUpOwogICAgIH0sCiAK
ICAgICAvKioKQEAgLTM5NSw4ICszOTYsMTAgQEAgV2ViSW5zcGVjdG9yLkZpbGVPdXRwdXRTdHJl
YW0ucHJvdG90eXBlID0gewogICAgICAgICBpZiAoZXZlbnQuZGF0YSAhPT0gdGhpcy5fZmlsZU5h
bWUpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGlmICghdGhpcy5fd3JpdGVDYWxsYmFj
a3MubGVuZ3RoKSB7Ci0gICAgICAgICAgICBpZiAodGhpcy5fY2xvc2VkKQorICAgICAgICAgICAg
aWYgKHRoaXMuX2Nsb3NlZCkgewogICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5maWxlTWFu
YWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5GaWxlTWFuYWdlci5FdmVudFR5
cGVzLkFwcGVuZGVkVG9VUkwsIHRoaXMuX29uQXBwZW5kRG9uZSwgdGhpcyk7CisgICAgICAgICAg
ICAgICAgV2ViSW5zcGVjdG9yLmZpbGVNYW5hZ2VyLmNsb3NlKHRoaXMuX2ZpbGVOYW1lKTsKKyAg
ICAgICAgICAgIH0KICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgICAgICB2YXIg
Y2FsbGJhY2sgPSB0aGlzLl93cml0ZUNhbGxiYWNrcy5zaGlmdCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IYW5kbGVyUmVnaXN0cnkuanMgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hhbmRsZXJSZWdpc3RyeS5qcwppbmRleCA1
YzhjYzc0ZDI4NmE3ZjdmYjMzMDUyMDNkZDVkM2UxMThlYjUxMGRiLi4yYmEyNTAzMmRiNDcyMzA0
MjJkN2RjZjMyMjcwYzdiZDQwNWZkOTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0hhbmRsZXJSZWdpc3RyeS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0hhbmRsZXJSZWdpc3RyeS5qcwpAQCAtMTMyLDcgKzEzMiw5IEBA
IFdlYkluc3BlY3Rvci5IYW5kbGVyUmVnaXN0cnkucHJvdG90eXBlID0gewogCiAgICAgICAgIGZ1
bmN0aW9uIGRvU2F2ZShmb3JjZVNhdmVBcywgY29udGVudCkKICAgICAgICAgewotICAgICAgICAg
ICAgV2ViSW5zcGVjdG9yLmZpbGVNYW5hZ2VyLnNhdmUoY29udGVudFByb3ZpZGVyLmNvbnRlbnRV
UkwoKSwgY29udGVudCwgZm9yY2VTYXZlQXMpOworICAgICAgICAgICAgdmFyIHVybCA9IGNvbnRl
bnRQcm92aWRlci5jb250ZW50VVJMKCk7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZmlsZU1h
bmFnZXIuc2F2ZSh1cmwsIGNvbnRlbnQsIGZvcmNlU2F2ZUFzKTsKKyAgICAgICAgICAgIFdlYklu
c3BlY3Rvci5maWxlTWFuYWdlci5jbG9zZSh1cmwpOwogICAgICAgICB9CiAKICAgICAgICAgZnVu
Y3Rpb24gc2F2ZShmb3JjZVNhdmVBcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90Vmlldy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90Vmlldy5qcwppbmRleCBhMDk0YjQ1OGE0ZmM1ZWMx
ZDQ2M2I3MDM3NDA5YTY5ZjJiNzRjOTVjLi5jY2QzNjMwYTY0MTQ0MzIxMWYyYzE2ZjJjYzJkYmQ3
NGE3NjZiMWQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0hlYXBTbmFwc2hvdFZpZXcuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9IZWFwU25hcHNob3RWaWV3LmpzCkBAIC05NTMsNyArOTUzLDcgQEAgV2ViSW5zcGVjdG9y
LkhlYXBQcm9maWxlSGVhZGVyLnByb3RvdHlwZSA9IHsKICAgICAgKi8KICAgICBjYW5TYXZlVG9G
aWxlOiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICByZXR1cm4gIXRoaXMuZnJvbUZpbGUoKSAm
JiB0aGlzLl9zbmFwc2hvdFByb3h5ICYmICF0aGlzLl9yZWNlaXZlciAmJiBXZWJJbnNwZWN0b3Iu
ZmlsZU1hbmFnZXIuY2FuQXBwZW5kKCk7CisgICAgICAgIHJldHVybiAhdGhpcy5mcm9tRmlsZSgp
ICYmICEhdGhpcy5fc25hcHNob3RQcm94eSAmJiAhdGhpcy5fcmVjZWl2ZXI7CiAgICAgfSwKIAog
ICAgIC8qKgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9J
bnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLmpzCmluZGV4IGQ3MDZiNTk3NzYzOTdi
MWFiNzI3N2YzZmRmNzM2MDFiOWE2ZTI4ZDYuLmY3MGVjYjJkZGIyMzY2ODk0NTc1MDBiNTY4YmIw
ZjQ2MjQ3OTkyYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5kSG9zdFN0dWIuanMKQEAgLTM4LDYgKzM4
LDcgQEAgV2ViSW5zcGVjdG9yLkluc3BlY3RvckZyb250ZW5kSG9zdFN0dWIgPSBmdW5jdGlvbigp
CiB7CiAgICAgdGhpcy5fYXR0YWNoZWRXaW5kb3dIZWlnaHQgPSAwOwogICAgIHRoaXMuaXNTdHVi
ID0gdHJ1ZTsKKyAgICB0aGlzLl9maWxlQnVmZmVycyA9IHt9OwogICAgIFdlYkluc3BlY3Rvci5k
b2N1bWVudENvcHlFdmVudEZpcmVkID0gdGhpcy5kb2N1bWVudENvcHkuYmluZCh0aGlzKTsKIH0K
IApAQCAtMTQzLDIzICsxNDQsMzkgQEAgV2ViSW5zcGVjdG9yLkluc3BlY3RvckZyb250ZW5kSG9z
dFN0dWIucHJvdG90eXBlID0gewogCiAgICAgc2F2ZTogZnVuY3Rpb24odXJsLCBjb250ZW50LCBm
b3JjZVNhdmVBcykKICAgICB7Ci0gICAgICAgIHZhciBibG9iID0gbmV3IEJsb2IoW2NvbnRlbnRd
LCB7IHR5cGU6ICJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iIH0pOworICAgICAgICBpZiAodGhp
cy5fZmlsZUJ1ZmZlcnNbdXJsXSkKKyAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiQ29uY3Vy
cmVudCBmaWxlIG1vZGlmaWNhdGlvbiBkZW5pZWQuIik7CiAKLSAgICAgICAgdmFyIGZyID0gbmV3
IEZpbGVSZWFkZXIoKTsKLSAgICAgICAgZnIub25sb2FkID0gZnVuY3Rpb24oZSkgewotICAgICAg
ICAgICAgLy8gRm9yY2UgZG93bmxvYWQKLSAgICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IHRo
aXMucmVzdWx0OwotICAgICAgICB9Ci0gICAgICAgIGZyLnJlYWRBc0RhdGFVUkwoYmxvYik7Cisg
ICAgICAgIHRoaXMuX2ZpbGVCdWZmZXJzW3VybF0gPSBbY29udGVudF07CisgICAgICAgIHNldFRp
bWVvdXQoV2ViSW5zcGVjdG9yLmZpbGVNYW5hZ2VyLnNhdmVkVVJMLmJpbmQoV2ViSW5zcGVjdG9y
LmZpbGVNYW5hZ2VyLCB1cmwpLCAwKTsKICAgICB9LAogCi0gICAgY2FuQXBwZW5kOiBmdW5jdGlv
bigpCisgICAgYXBwZW5kOiBmdW5jdGlvbih1cmwsIGNvbnRlbnQpCiAgICAgewotICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgIHZhciBidWZmZXIgPSB0aGlzLl9maWxlQnVmZmVyc1t1cmxd
OworICAgICAgICBpZiAoIWJ1ZmZlcikKKyAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcigiRmls
ZSBpcyBub3Qgb3BlbiBmb3Igd3JpdGUgeWV0LiIpOworCisgICAgICAgIGJ1ZmZlci5wdXNoKGNv
bnRlbnQpOworICAgICAgICBzZXRUaW1lb3V0KFdlYkluc3BlY3Rvci5maWxlTWFuYWdlci5hcHBl
bmRlZFRvVVJMLmJpbmQoV2ViSW5zcGVjdG9yLmZpbGVNYW5hZ2VyLCB1cmwpLCAwKTsKICAgICB9
LAogCi0gICAgYXBwZW5kOiBmdW5jdGlvbih1cmwsIGNvbnRlbnQpCisgICAgY2xvc2U6IGZ1bmN0
aW9uKHVybCkKICAgICB7CisgICAgICAgIHZhciBjb250ZW50ID0gdGhpcy5fZmlsZUJ1ZmZlcnNb
dXJsXTsKKyAgICAgICAgZGVsZXRlIHRoaXMuX2ZpbGVCdWZmZXJzW3VybF07CisKKyAgICAgICAg
aWYgKCFjb250ZW50KQorICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHZhciBibG9iID0g
bmV3IEJsb2IoY29udGVudCwgeyB0eXBlOiAiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiB9KTsK
KyAgICAgICAgdmFyIG9iamVjdFVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2Ip
OworICAgICAgICB3aW5kb3cubG9jYXRpb24gPSBvYmplY3RVcmw7CisKKyAgICAgICAgZnVuY3Rp
b24gY2xlYW51cCgpIHsKKyAgICAgICAgICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKG9i
amVjdFVybCk7CisgICAgICAgIH0KKyAgICAgICAgc2V0VGltZW91dChjbGVhbnVwLCAwKTsKICAg
ICB9LAogCiAgICAgc2VuZE1lc3NhZ2VUb0JhY2tlbmQ6IGZ1bmN0aW9uKG1lc3NhZ2UpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qcwppbmRl
eCA3Y2NiOTRkNDVlODM3YmJlNDA3MjYwN2E4NzFiYjk1ZThhMGNjNGMwLi41YTViYjA2NjlmNzVh
MDg2OTNkMjA5MDI4OGVlMTQ1ZGVlZGE0MTZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanMKQEAgLTY0Nyw4ICs2NDcsMTAgQEAgV2Vi
SW5zcGVjdG9yLlNvdXJjZUZyYW1lLnByb3RvdHlwZSA9IHsKIAogICAgICAgICB2YXIgY29udGVu
dCA9IHRoaXMuX3RleHRFZGl0b3IudGV4dCgpOwogICAgICAgICB0aGlzLmNvbW1pdEVkaXRpbmco
Y29udGVudCk7Ci0gICAgICAgIGlmICh0aGlzLl91cmwgJiYgV2ViSW5zcGVjdG9yLmZpbGVNYW5h
Z2VyLmlzVVJMU2F2ZWQodGhpcy5fdXJsKSkKKyAgICAgICAgaWYgKHRoaXMuX3VybCAmJiBXZWJJ
bnNwZWN0b3IuZmlsZU1hbmFnZXIuaXNVUkxTYXZlZCh0aGlzLl91cmwpKSB7CiAgICAgICAgICAg
ICBXZWJJbnNwZWN0b3IuZmlsZU1hbmFnZXIuc2F2ZSh0aGlzLl91cmwsIGNvbnRlbnQsIGZhbHNl
KTsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5maWxlTWFuYWdlci5jbG9zZSh0aGlzLl91cmwp
OworICAgICAgICB9CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0sCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvZXh0ZXJucy5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvZXh0ZXJucy5qcwppbmRleCBiYTViYmM5ZmVmMTJk
Y2M1N2ExOTM5MGM2MzNhZDc2NmVhNmUwMDMyLi5hYjNlNWVlZGU4OWMzY2E5M2Q5Y2MyMzEyZGEy
ZjQ0MWNkNTYwZmY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL2V4dGVybnMuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9l
eHRlcm5zLmpzCkBAIC0xMzgsNyArMTM4LDcgQEAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0QVBJLnBy
b3RvdHlwZS5jb3B5VGV4dCA9IGZ1bmN0aW9uKHRleHQpIHt9CiBJbnNwZWN0b3JGcm9udGVuZEhv
c3RBUEkucHJvdG90eXBlLm9wZW5Jbk5ld1RhYiA9IGZ1bmN0aW9uKHVybCkge30KIEluc3BlY3Rv
ckZyb250ZW5kSG9zdEFQSS5wcm90b3R5cGUuY2FuU2F2ZSA9IGZ1bmN0aW9uKCkge30KIEluc3Bl
Y3RvckZyb250ZW5kSG9zdEFQSS5wcm90b3R5cGUuc2F2ZSA9IGZ1bmN0aW9uKHVybCwgY29udGVu
dCwgZm9yY2VTYXZlQXMpIHt9Ci1JbnNwZWN0b3JGcm9udGVuZEhvc3RBUEkucHJvdG90eXBlLmNh
bkFwcGVuZCA9IGZ1bmN0aW9uKCkge30KK0luc3BlY3RvckZyb250ZW5kSG9zdEFQSS5wcm90b3R5
cGUuY2xvc2UgPSBmdW5jdGlvbih1cmwpIHt9CiBJbnNwZWN0b3JGcm9udGVuZEhvc3RBUEkucHJv
dG90eXBlLmFwcGVuZCA9IGZ1bmN0aW9uKHVybCwgY29udGVudCkge30KIEluc3BlY3RvckZyb250
ZW5kSG9zdEFQSS5wcm90b3R5cGUuc2VuZE1lc3NhZ2VUb0JhY2tlbmQgPSBmdW5jdGlvbihtZXNz
YWdlKSB7fQogSW5zcGVjdG9yRnJvbnRlbmRIb3N0QVBJLnByb3RvdHlwZS5yZWNvcmRBY3Rpb25U
YWtlbiA9IGZ1bmN0aW9uKGFjdGlvbkNvZGUpIHt9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168934</attachid>
            <date>2012-10-16 06:26:36 -0700</date>
            <delta_ts>2012-10-17 05:36:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99179-20121016172525.patch</filename>
            <type>text/plain</type>
            <size>11774</size>
            <attacher>eustas.bug</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNDQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2MyOGM1OGZkZDQwM2Mw
ZmYyZmQyMzZhNzIwNzFmZDUwZDgzMzU0NS4uZGMwYzM5MzM1YzQ4NjdhNzBiMDcwY2QxOWMwYTc1
ZTBkYThiMTNkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEyLTEwLTE2ICBFdWdl
bmUgS2x5dWNobmlrb3YgIDxldXN0YXMuYnVnQGdtYWlsLmNvbT4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBTYXZpbmcgSEFSLCBzbmFwc2hvdHMgYW5kIHRpbWVsaW5lIGRhdGEgZG8gbm90IHdv
cmsgaW4gcmVtb3RlIGRlYnVnZ2luZyBtb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05OTE3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZGVkIG1ldGhvZCAiY2xvc2UiIHRvIEluc3BlY3RvckZyb250
ZW5kSG9zdC4KKyAgICAgICAgU3ltYW50aWNhbGx5LCB0aGlzIG1ldGhvZCBmb3JjZXMgdG8gZmx1
c2ggYWxsIHVuc2F2ZWQgYnVmZmVycyBmb3IKKyAgICAgICAgc3BlY2lmaWVkIGZpbGUuIEluIG5h
dGl2ZSBpbXBsZW1lbnRhdGlvbiB0aGlzIHR1cm5zIHRvIGJlIG5vLW9wLgorCisgICAgICAgIElu
IHN0dWIgaW1wbGVtZW50YXRpb24gImNsb3NlIiBjYXVzZXMgY29tcGlsYXRpb24gb2YgYmxvYiBv
YmplY3QgYW4KKyAgICAgICAgbmF2aWdhdGluZyB0byBibG9iLXNjaGVtYSB1cmwuCisKKyAgICAg
ICAgUmVtb3ZlZCAiY2FuQXBwZW5kIiwgYXMgYXBwZW5kaW5nIGluIG5vdyBzdXBwdXJ0ZWQKKyAg
ICAgICAgYnkgYWxsIGltcGxlbWVudGF0aW9ucy4KKworICAgICAgICBSZXBhY2VkIHNjaGVtYSAi
ZGF0YSIgd2l0aCAiYmxvYiIgaW4gSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1YiAic2F2ZSIKKyAg
ICAgICAgdG8gYXZvaWQgb3V0LW9mLW1lbW9yeSBlcnJvcnMuCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckZyb250ZW5kSG9zdDo6Y2xvc2UpOiBDb21waWxlcyBibG9iIG9iamVjdCBhbmQKKyAgICAgICAg
bmF2aWdhdGVzIHRvIGJsb2Itb2JqZWN0IHVybC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaDogQWRkZWQgImNsb3NlIiBtZXRo
b2QuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGw6IERpdHRv
LgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRmlsZU1hbmFnZXIuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuRmlsZU1hbmFnZXIucHJvdG90eXBlLmNsb3NlKTogUHJveHkgdG8gSW5z
cGVjdG9yRnJvbnRlbmQuCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlVXRpbHMu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsZU91dHB1dFN0cmVhbS5wcm90b3R5cGUuY2xv
c2UpOgorICAgICAgICBJbnZva2UgImNsb3NlIiBvbiBGaWxlTWFuYWdlci4KKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5GaWxlT3V0cHV0U3RyZWFtLnByb3RvdHlwZS5fb25BcHBlbmREb25lKTogRGl0
dG8uCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9IYW5kbGVyUmVnaXN0cnkuanM6IEFk
ZGVkIG1hbmRhdG9yeSAiY2xvc2UiIGNhbGwuCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9IZWFwU25hcHNob3RWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhlYXBQcm9maWxl
SGVhZGVyLnByb3RvdHlwZS5jYW5TYXZlVG9GaWxlKTogRml4ZWQgY2hlY2suCisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLmpzOgorICAgICAg
ICAoLldlYkluc3BlY3Rvci5JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViKToKKyAgICAgICAgQWRk
ZWQgImFwcGVuZGFibGUiIGJlaGF2aW91ciBlbXVsYXRpb24uCisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qczogQWRkZWQgbWFuZGF0b3J5ICJjbG9zZSIgY2FsbC4K
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2V4dGVybnMuanM6IFJlcGxhY2VkICJjYW5B
cHBlbmQiIHdpdGggImNsb3NlIgorCiAyMDEyLTEwLTE2ICBMdWtlIE1hY3BoZXJzb24gICA8bWFj
cGhlcnNvbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSGFuZGxlIENTU1Byb3BlcnR5T3BhY2l0
eSBpbiBTdHlsZUJ1aWxkZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JGcm9udGVuZEhvc3QuY3BwCmluZGV4IGU3YjAyMjAwZWY5NzcyODUxMGVkNGQwODYzM2Yy
ZDQ3MDI0NDVhYjAuLjI2MTY5ZWI4NDIxNGZiNTM1NDA2YTA4N2NiM2NjM2RjNzE4MzVkOGMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3Qu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3Qu
Y3BwCkBAIC0yNTAsNiArMjUwLDggQEAgdm9pZCBJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OmFwcGVu
ZChjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiBjb250ZW50KQogICAgICAgICBtX2Ns
aWVudC0+YXBwZW5kKHVybCwgY29udGVudCk7CiB9CiAKK3ZvaWQgSW5zcGVjdG9yRnJvbnRlbmRI
b3N0OjpjbG9zZShjb25zdCBTdHJpbmcmIC8qIHVybCAqLykgeyB9CisKIGJvb2wgSW5zcGVjdG9y
RnJvbnRlbmRIb3N0OjpjYW5JbnNwZWN0V29ya2VycygpCiB7CiAjaWYgRU5BQkxFKFdPUktFUlMp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRI
b3N0LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgK
aW5kZXggZDVhZTUxZDgwNjcwNjFkMzE2OTIxY2JlMzNjMDhhMTAyZGU0NTVhNy4uOTNlYjQyNzIy
NjJhYjlmZGUxMjdiZjdmZDQxYzY5YTVkNmU4NmYyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaApAQCAtNzcsNiArNzcsNyBAQCBwdWJs
aWM6CiAgICAgYm9vbCBjYW5TYXZlKCk7CiAgICAgdm9pZCBzYXZlKGNvbnN0IFN0cmluZyYgdXJs
LCBjb25zdCBTdHJpbmcmIGNvbnRlbnQsIGJvb2wgZm9yY2VTYXZlQXMpOwogICAgIHZvaWQgYXBw
ZW5kKGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIGNvbnRlbnQpOworICAgIHZvaWQg
Y2xvc2UoY29uc3QgU3RyaW5nJiB1cmwpOwogCiAgICAgYm9vbCBjYW5JbnNwZWN0V29ya2Vycygp
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRl
bmRIb3N0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhv
c3QuaWRsCmluZGV4IDhkZGM5YTZmZDkzZDA1MDU2NmIzZjFjNGU0YzdjYWI4YzA5ZjUwOGYuLjBl
ZGQwNjlmYmY3YTM3ZDZmOWU3NjhlMTM3MmI1NTM4YWMzZGYzODMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsCkBAIC01NCw2ICs1
NCw3IEBACiAgICAgYm9vbGVhbiBjYW5TYXZlKCk7CiAgICAgdm9pZCBzYXZlKGluIERPTVN0cmlu
ZyB1cmwsIGluIERPTVN0cmluZyBjb250ZW50LCBpbiBib29sZWFuIGZvcmNlU2F2ZUFzKTsKICAg
ICB2b2lkIGFwcGVuZChpbiBET01TdHJpbmcgdXJsLCBpbiBET01TdHJpbmcgY29udGVudCk7Cisg
ICAgdm9pZCBjbG9zZShpbiBET01TdHJpbmcgdXJsKTsKIAogICAgIGJvb2xlYW4gY2FuSW5zcGVj
dFdvcmtlcnMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9GaWxlTWFuYWdlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RmlsZU1hbmFnZXIuanMKaW5kZXggNmIxMDhkM2YwYmZiZDgyNTY4YmViYzQ5OWY5YTJlZTFjZDY3
MmYzNy4uYmI4ODczNGU2NWVkMDA1NjBhMDU2ODUzYTRiM2IxZWNhYmFhNDliYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlTWFuYWdlci5qcworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVNYW5hZ2VyLmpzCkBAIC01
MSwxNCArNTEsNiBAQCBXZWJJbnNwZWN0b3IuRmlsZU1hbmFnZXIucHJvdG90eXBlID0gewogICAg
IH0sCiAKICAgICAvKioKLSAgICAgKiBAcmV0dXJuIHtib29sZWFufQotICAgICAqLwotICAgIGNh
bkFwcGVuZDogZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgcmV0dXJuIEluc3BlY3RvckZyb250
ZW5kSG9zdC5jYW5TYXZlKCkgJiYgKCJhcHBlbmQiIGluIEluc3BlY3RvckZyb250ZW5kSG9zdCk7
Ci0gICAgfSwKLQotICAgIC8qKgogICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwKICAgICAgKiBA
cGFyYW0ge3N0cmluZ30gY29udGVudAogICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gZm9yY2VTYXZl
QXMKQEAgLTEwNSw2ICs5NywxNCBAQCBXZWJJbnNwZWN0b3IuRmlsZU1hbmFnZXIucHJvdG90eXBl
ID0gewogICAgIC8qKgogICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwKICAgICAgKi8KKyAgICBj
bG9zZTogZnVuY3Rpb24odXJsKQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0
LmNsb3NlKHVybCk7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1
cmwKKyAgICAgKi8KICAgICBhcHBlbmRlZFRvVVJMOiBmdW5jdGlvbih1cmwpCiAgICAgewogICAg
ICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuRmlsZU1hbmFn
ZXIuRXZlbnRUeXBlcy5BcHBlbmRlZFRvVVJMLCB1cmwpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlVXRpbHMuanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVVdGlscy5qcwppbmRleCA3ZTk1YmRmYzg5YjlhMmJhNWMy
MmYwYWFiMmNmOGQ3NzcwMGViZGFhLi5kNmExZGVjNmNhMzY3YzEzY2VjYmFiZDcwMWQ3Y2RlOGIy
Zjc2ZTI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0Zp
bGVVdGlscy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVV
dGlscy5qcwpAQCAtMzg1LDYgKzM4NSw3IEBAIFdlYkluc3BlY3Rvci5GaWxlT3V0cHV0U3RyZWFt
LnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKHRoaXMuX3dyaXRlQ2FsbGJhY2tzLmxlbmd0aCkK
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgV2ViSW5zcGVjdG9yLmZpbGVNYW5hZ2VyLnJl
bW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkZpbGVNYW5hZ2VyLkV2ZW50VHlwZXMuQXBw
ZW5kZWRUb1VSTCwgdGhpcy5fb25BcHBlbmREb25lLCB0aGlzKTsKKyAgICAgICAgV2ViSW5zcGVj
dG9yLmZpbGVNYW5hZ2VyLmNsb3NlKHRoaXMuX2ZpbGVOYW1lKTsKICAgICB9LAogCiAgICAgLyoq
CkBAIC0zOTUsOCArMzk2LDEwIEBAIFdlYkluc3BlY3Rvci5GaWxlT3V0cHV0U3RyZWFtLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgaWYgKGV2ZW50LmRhdGEgIT09IHRoaXMuX2ZpbGVOYW1lKQogICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICBpZiAoIXRoaXMuX3dyaXRlQ2FsbGJhY2tzLmxlbmd0
aCkgewotICAgICAgICAgICAgaWYgKHRoaXMuX2Nsb3NlZCkKKyAgICAgICAgICAgIGlmICh0aGlz
Ll9jbG9zZWQpIHsKICAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZmlsZU1hbmFnZXIucmVt
b3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRmlsZU1hbmFnZXIuRXZlbnRUeXBlcy5BcHBl
bmRlZFRvVVJMLCB0aGlzLl9vbkFwcGVuZERvbmUsIHRoaXMpOworICAgICAgICAgICAgICAgIFdl
Ykluc3BlY3Rvci5maWxlTWFuYWdlci5jbG9zZSh0aGlzLl9maWxlTmFtZSk7CisgICAgICAgICAg
ICB9CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgdmFyIGNhbGxiYWNr
ID0gdGhpcy5fd3JpdGVDYWxsYmFja3Muc2hpZnQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGFuZGxlclJlZ2lzdHJ5LmpzIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IYW5kbGVyUmVnaXN0cnkuanMKaW5kZXggNWM4Y2M3NGQy
ODZhN2Y3ZmIzMzA1MjAzZGQ1ZDNlMTE4ZWI1MTBkYi4uMmJhMjUwMzJkYjQ3MjMwNDIyZDdkY2Yz
MjI3MGM3YmQ0MDVmZDkxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9IYW5kbGVyUmVnaXN0cnkuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9IYW5kbGVyUmVnaXN0cnkuanMKQEAgLTEzMiw3ICsxMzIsOSBAQCBXZWJJbnNw
ZWN0b3IuSGFuZGxlclJlZ2lzdHJ5LnByb3RvdHlwZSA9IHsKIAogICAgICAgICBmdW5jdGlvbiBk
b1NhdmUoZm9yY2VTYXZlQXMsIGNvbnRlbnQpCiAgICAgICAgIHsKLSAgICAgICAgICAgIFdlYklu
c3BlY3Rvci5maWxlTWFuYWdlci5zYXZlKGNvbnRlbnRQcm92aWRlci5jb250ZW50VVJMKCksIGNv
bnRlbnQsIGZvcmNlU2F2ZUFzKTsKKyAgICAgICAgICAgIHZhciB1cmwgPSBjb250ZW50UHJvdmlk
ZXIuY29udGVudFVSTCgpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmZpbGVNYW5hZ2VyLnNh
dmUodXJsLCBjb250ZW50LCBmb3JjZVNhdmVBcyk7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3Iu
ZmlsZU1hbmFnZXIuY2xvc2UodXJsKTsKICAgICAgICAgfQogCiAgICAgICAgIGZ1bmN0aW9uIHNh
dmUoZm9yY2VTYXZlQXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0hlYXBTbmFwc2hvdFZpZXcuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0hlYXBTbmFwc2hvdFZpZXcuanMKaW5kZXggYTA5NGI0NThhNGZjNWVjMWQ0NjNiNzAz
NzQwOWE2OWYyYjc0Yzk1Yy4uY2NkMzYzMGE2NDE0NDMyMTFmMmMxNmYyY2MyZGJkNzRhNzY2YjFk
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25h
cHNob3RWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGVh
cFNuYXBzaG90Vmlldy5qcwpAQCAtOTUzLDcgKzk1Myw3IEBAIFdlYkluc3BlY3Rvci5IZWFwUHJv
ZmlsZUhlYWRlci5wcm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgY2FuU2F2ZVRvRmlsZTogZnVu
Y3Rpb24oKQogICAgIHsKLSAgICAgICAgcmV0dXJuICF0aGlzLmZyb21GaWxlKCkgJiYgdGhpcy5f
c25hcHNob3RQcm94eSAmJiAhdGhpcy5fcmVjZWl2ZXIgJiYgV2ViSW5zcGVjdG9yLmZpbGVNYW5h
Z2VyLmNhbkFwcGVuZCgpOworICAgICAgICByZXR1cm4gIXRoaXMuZnJvbUZpbGUoKSAmJiAhIXRo
aXMuX3NuYXBzaG90UHJveHkgJiYgIXRoaXMuX3JlY2VpdmVyOwogICAgIH0sCiAKICAgICAvKioK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9y
RnJvbnRlbmRIb3N0U3R1Yi5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
SW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5qcwppbmRleCBkNzA2YjU5Nzc2Mzk3YjFhYjcyNzdm
M2ZkZjczNjAxYjlhNmUyOGQ2Li5kNDQ2ZTMzNDhkOTIwZWE1MTQwNzljZWYwOTRiNzg2ZGJkODgw
NDE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3Bl
Y3RvckZyb250ZW5kSG9zdFN0dWIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLmpzCkBAIC0zOCw2ICszOCw3IEBAIFdl
Ykluc3BlY3Rvci5JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViID0gZnVuY3Rpb24oKQogewogICAg
IHRoaXMuX2F0dGFjaGVkV2luZG93SGVpZ2h0ID0gMDsKICAgICB0aGlzLmlzU3R1YiA9IHRydWU7
CisgICAgdGhpcy5fZmlsZUJ1ZmZlcnMgPSB7fTsKICAgICBXZWJJbnNwZWN0b3IuZG9jdW1lbnRD
b3B5RXZlbnRGaXJlZCA9IHRoaXMuZG9jdW1lbnRDb3B5LmJpbmQodGhpcyk7CiB9CiAKQEAgLTE0
MywyMyArMTQ0LDQwIEBAIFdlYkluc3BlY3Rvci5JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLnBy
b3RvdHlwZSA9IHsKIAogICAgIHNhdmU6IGZ1bmN0aW9uKHVybCwgY29udGVudCwgZm9yY2VTYXZl
QXMpCiAgICAgewotICAgICAgICB2YXIgYmxvYiA9IG5ldyBCbG9iKFtjb250ZW50XSwgeyB0eXBl
OiAiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiB9KTsKKyAgICAgICAgaWYgKHRoaXMuX2ZpbGVC
dWZmZXJzW3VybF0pCisgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkNvbmN1cnJlbnQgZmls
ZSBtb2RpZmljYXRpb24gZGVuaWVkLiIpOwogCi0gICAgICAgIHZhciBmciA9IG5ldyBGaWxlUmVh
ZGVyKCk7Ci0gICAgICAgIGZyLm9ubG9hZCA9IGZ1bmN0aW9uKGUpIHsKLSAgICAgICAgICAgIC8v
IEZvcmNlIGRvd25sb2FkCi0gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24gPSB0aGlzLnJlc3Vs
dDsKLSAgICAgICAgfQotICAgICAgICBmci5yZWFkQXNEYXRhVVJMKGJsb2IpOworICAgICAgICB0
aGlzLl9maWxlQnVmZmVyc1t1cmxdID0gW2NvbnRlbnRdOworICAgICAgICBzZXRUaW1lb3V0KFdl
Ykluc3BlY3Rvci5maWxlTWFuYWdlci5zYXZlZFVSTC5iaW5kKFdlYkluc3BlY3Rvci5maWxlTWFu
YWdlciwgdXJsKSwgMCk7CiAgICAgfSwKIAotICAgIGNhbkFwcGVuZDogZnVuY3Rpb24oKQorICAg
IGFwcGVuZDogZnVuY3Rpb24odXJsLCBjb250ZW50KQogICAgIHsKLSAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICB2YXIgYnVmZmVyID0gdGhpcy5fZmlsZUJ1ZmZlcnNbdXJsXTsKKyAgICAg
ICAgaWYgKCFidWZmZXIpCisgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkZpbGUgaXMgbm90
IG9wZW4gZm9yIHdyaXRlIHlldC4iKTsKKworICAgICAgICBidWZmZXIucHVzaChjb250ZW50KTsK
KyAgICAgICAgc2V0VGltZW91dChXZWJJbnNwZWN0b3IuZmlsZU1hbmFnZXIuYXBwZW5kZWRUb1VS
TC5iaW5kKFdlYkluc3BlY3Rvci5maWxlTWFuYWdlciwgdXJsKSwgMCk7CiAgICAgfSwKIAotICAg
IGFwcGVuZDogZnVuY3Rpb24odXJsLCBjb250ZW50KQorICAgIGNsb3NlOiBmdW5jdGlvbih1cmwp
CiAgICAgeworICAgICAgICB2YXIgY29udGVudCA9IHRoaXMuX2ZpbGVCdWZmZXJzW3VybF07Cisg
ICAgICAgIGRlbGV0ZSB0aGlzLl9maWxlQnVmZmVyc1t1cmxdOworCisgICAgICAgIGlmICghY29u
dGVudCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB2YXIgYmxvYiA9IG5ldyBCbG9i
KGNvbnRlbnQsIHsgdHlwZTogImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIgfSk7CisgICAgICAg
IHZhciBvYmplY3RVcmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTsKKyAgICAg
ICAgd2luZG93LmxvY2F0aW9uID0gb2JqZWN0VXJsOworCisgICAgICAgIGZ1bmN0aW9uIGNsZWFu
dXAoKQorICAgICAgICB7CisgICAgICAgICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTChv
YmplY3RVcmwpOworICAgICAgICB9CisgICAgICAgIHNldFRpbWVvdXQoY2xlYW51cCwgMCk7CiAg
ICAgfSwKIAogICAgIHNlbmRNZXNzYWdlVG9CYWNrZW5kOiBmdW5jdGlvbihtZXNzYWdlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5q
cyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUuanMKaW5k
ZXggN2NjYjk0ZDQ1ZTgzN2JiZTQwNzI2MDdhODcxYmI5NWU4YTBjYzRjMC4uNWE1YmIwNjY5Zjc1
YTA4NjkzZDIwOTAyODhlZTE0NWRlZWRhNDE2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZUZyYW1lLmpzCkBAIC02NDcsOCArNjQ3LDEwIEBAIFdl
Ykluc3BlY3Rvci5Tb3VyY2VGcmFtZS5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgdmFyIGNvbnRl
bnQgPSB0aGlzLl90ZXh0RWRpdG9yLnRleHQoKTsKICAgICAgICAgdGhpcy5jb21taXRFZGl0aW5n
KGNvbnRlbnQpOwotICAgICAgICBpZiAodGhpcy5fdXJsICYmIFdlYkluc3BlY3Rvci5maWxlTWFu
YWdlci5pc1VSTFNhdmVkKHRoaXMuX3VybCkpCisgICAgICAgIGlmICh0aGlzLl91cmwgJiYgV2Vi
SW5zcGVjdG9yLmZpbGVNYW5hZ2VyLmlzVVJMU2F2ZWQodGhpcy5fdXJsKSkgewogICAgICAgICAg
ICAgV2ViSW5zcGVjdG9yLmZpbGVNYW5hZ2VyLnNhdmUodGhpcy5fdXJsLCBjb250ZW50LCBmYWxz
ZSk7CisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZmlsZU1hbmFnZXIuY2xvc2UodGhpcy5fdXJs
KTsKKyAgICAgICAgfQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9LAogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2V4dGVybnMuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2V4dGVybnMuanMKaW5kZXggYmE1YmJjOWZlZjEy
ZGNjNTdhMTkzOTBjNjMzYWQ3NjZlYTZlMDAzMi4uYWIzZTVlZWRlODljM2NhOTNkOWNjMjMxMmRh
MmY0NDFjZDU2MGZmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9leHRlcm5zLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
ZXh0ZXJucy5qcwpAQCAtMTM4LDcgKzEzOCw3IEBAIEluc3BlY3RvckZyb250ZW5kSG9zdEFQSS5w
cm90b3R5cGUuY29weVRleHQgPSBmdW5jdGlvbih0ZXh0KSB7fQogSW5zcGVjdG9yRnJvbnRlbmRI
b3N0QVBJLnByb3RvdHlwZS5vcGVuSW5OZXdUYWIgPSBmdW5jdGlvbih1cmwpIHt9CiBJbnNwZWN0
b3JGcm9udGVuZEhvc3RBUEkucHJvdG90eXBlLmNhblNhdmUgPSBmdW5jdGlvbigpIHt9CiBJbnNw
ZWN0b3JGcm9udGVuZEhvc3RBUEkucHJvdG90eXBlLnNhdmUgPSBmdW5jdGlvbih1cmwsIGNvbnRl
bnQsIGZvcmNlU2F2ZUFzKSB7fQotSW5zcGVjdG9yRnJvbnRlbmRIb3N0QVBJLnByb3RvdHlwZS5j
YW5BcHBlbmQgPSBmdW5jdGlvbigpIHt9CitJbnNwZWN0b3JGcm9udGVuZEhvc3RBUEkucHJvdG90
eXBlLmNsb3NlID0gZnVuY3Rpb24odXJsKSB7fQogSW5zcGVjdG9yRnJvbnRlbmRIb3N0QVBJLnBy
b3RvdHlwZS5hcHBlbmQgPSBmdW5jdGlvbih1cmwsIGNvbnRlbnQpIHt9CiBJbnNwZWN0b3JGcm9u
dGVuZEhvc3RBUEkucHJvdG90eXBlLnNlbmRNZXNzYWdlVG9CYWNrZW5kID0gZnVuY3Rpb24obWVz
c2FnZSkge30KIEluc3BlY3RvckZyb250ZW5kSG9zdEFQSS5wcm90b3R5cGUucmVjb3JkQWN0aW9u
VGFrZW4gPSBmdW5jdGlvbihhY3Rpb25Db2RlKSB7fQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169158</attachid>
            <date>2012-10-17 04:48:17 -0700</date>
            <delta_ts>2012-10-17 07:30:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99179-20121017154704.patch</filename>
            <type>text/plain</type>
            <size>11799</size>
            <attacher>eustas.bug</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTM3NDM3ZmYzMWFhNzU0
NzhmYTZkMTJhYjA1MTZjMjQ2MjY5N2U1YS4uNjA2NzU4Y2QzOGMyYmM0MjNmNmJmNGY3MDkyNjYx
ZjkxNTRmYmFhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEyLTEwLTE3ICBFdWdl
bmUgS2x5dWNobmlrb3YgIDxldXN0YXMuYnVnQGdtYWlsLmNvbT4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBTYXZpbmcgSEFSLCBzbmFwc2hvdHMgYW5kIHRpbWVsaW5lIGRhdGEgZG8gbm90IHdv
cmsgaW4gcmVtb3RlIGRlYnVnZ2luZyBtb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05OTE3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZGVkIG1ldGhvZCAiY2xvc2UiIHRvIEluc3BlY3RvckZyb250
ZW5kSG9zdC4KKyAgICAgICAgU3ltYW50aWNhbGx5LCB0aGlzIG1ldGhvZCBmb3JjZXMgdG8gZmx1
c2ggYWxsIHVuc2F2ZWQgYnVmZmVycyBmb3IKKyAgICAgICAgc3BlY2lmaWVkIGZpbGUuIEluIG5h
dGl2ZSBpbXBsZW1lbnRhdGlvbiB0aGlzIHR1cm5zIHRvIGJlIG5vLW9wLgorCisgICAgICAgIElu
IHN0dWIgaW1wbGVtZW50YXRpb24gImNsb3NlIiBjYXVzZXMgY29tcGlsYXRpb24gb2YgYmxvYiBv
YmplY3QgYW4KKyAgICAgICAgbmF2aWdhdGluZyB0byBibG9iLXNjaGVtYSB1cmwuCisKKyAgICAg
ICAgUmVtb3ZlZCAiY2FuQXBwZW5kIiwgYXMgYXBwZW5kaW5nIGluIG5vdyBzdXBwdXJ0ZWQKKyAg
ICAgICAgYnkgYWxsIGltcGxlbWVudGF0aW9ucy4KKworICAgICAgICBSZXBhY2VkIHNjaGVtYSAi
ZGF0YSIgd2l0aCAiYmxvYiIgaW4gSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1YiAic2F2ZSIKKyAg
ICAgICAgdG8gYXZvaWQgb3V0LW9mLW1lbW9yeSBlcnJvcnMuCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckZyb250ZW5kSG9zdDo6Y2xvc2UpOiBDb21waWxlcyBibG9iIG9iamVjdCBhbmQKKyAgICAgICAg
bmF2aWdhdGVzIHRvIGJsb2Itb2JqZWN0IHVybC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaDogQWRkZWQgImNsb3NlIiBtZXRo
b2QuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGw6IERpdHRv
LgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRmlsZU1hbmFnZXIuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuRmlsZU1hbmFnZXIucHJvdG90eXBlLmNsb3NlKTogUHJveHkgdG8gSW5z
cGVjdG9yRnJvbnRlbmQuCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlVXRpbHMu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsZU91dHB1dFN0cmVhbS5wcm90b3R5cGUuY2xv
c2UpOgorICAgICAgICBJbnZva2UgImNsb3NlIiBvbiBGaWxlTWFuYWdlci4KKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5GaWxlT3V0cHV0U3RyZWFtLnByb3RvdHlwZS5fb25BcHBlbmREb25lKTogRGl0
dG8uCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9IYW5kbGVyUmVnaXN0cnkuanM6IEFk
ZGVkIG1hbmRhdG9yeSAiY2xvc2UiIGNhbGwuCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9IZWFwU25hcHNob3RWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhlYXBQcm9maWxl
SGVhZGVyLnByb3RvdHlwZS5jYW5TYXZlVG9GaWxlKTogRml4ZWQgY2hlY2suCisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLmpzOgorICAgICAg
ICAoLldlYkluc3BlY3Rvci5JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViKToKKyAgICAgICAgQWRk
ZWQgImFwcGVuZGFibGUiIGJlaGF2aW91ciBlbXVsYXRpb24uCisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qczogQWRkZWQgbWFuZGF0b3J5ICJjbG9zZSIgY2FsbC4K
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2V4dGVybnMuanM6IFJlcGxhY2VkICJjYW5B
cHBlbmQiIHdpdGggImNsb3NlIgorCiAyMDEyLTEwLTE2ICBKdWxpZW4gQ2hhZmZyYWl4ICA8amNo
YWZmcmFpeEB3ZWJraXQub3JnPgogCiAgICAgICAgIE1ha2UgUmVuZGVyT2JqZWN0IGRlc3RydWN0
aW9uIGR1cmluZyBkZXRhY2ggYSB0b3AtZG93biBvcGVyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAKaW5kZXggZTdiMDIyMDBl
Zjk3NzI4NTEwZWQ0ZDA4NjMzZjJkNDcwMjQ0NWFiMC4uODk1YWIwMzgzZmI3ZjJlMjcxNmZiNDNk
YWE4Y2QwZDExOWJiNzYwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kSG9zdC5jcHAKQEAgLTI1MCw2ICsyNTAsMTAgQEAgdm9pZCBJbnNwZWN0
b3JGcm9udGVuZEhvc3Q6OmFwcGVuZChjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiBj
b250ZW50KQogICAgICAgICBtX2NsaWVudC0+YXBwZW5kKHVybCwgY29udGVudCk7CiB9CiAKK3Zv
aWQgSW5zcGVjdG9yRnJvbnRlbmRIb3N0OjpjbG9zZShjb25zdCBTdHJpbmcmKQoreworfQorCiBi
b29sIEluc3BlY3RvckZyb250ZW5kSG9zdDo6Y2FuSW5zcGVjdFdvcmtlcnMoKQogewogI2lmIEVO
QUJMRShXT1JLRVJTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kSG9zdC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZy
b250ZW5kSG9zdC5oCmluZGV4IGQ1YWU1MWQ4MDY3MDYxZDMxNjkyMWNiZTMzYzA4YTEwMmRlNDU1
YTcuLjkzZWI0MjcyMjYyYWI5ZmRlMTI3YmY3ZmQ0MWM2OWE1ZDZlODZmMmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgKQEAgLTc3LDYg
Kzc3LDcgQEAgcHVibGljOgogICAgIGJvb2wgY2FuU2F2ZSgpOwogICAgIHZvaWQgc2F2ZShjb25z
dCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiBjb250ZW50LCBib29sIGZvcmNlU2F2ZUFzKTsK
ICAgICB2b2lkIGFwcGVuZChjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiBjb250ZW50
KTsKKyAgICB2b2lkIGNsb3NlKGNvbnN0IFN0cmluZyYgdXJsKTsKIAogICAgIGJvb2wgY2FuSW5z
cGVjdFdvcmtlcnMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kSG9zdC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yRnJvbnRlbmRIb3N0LmlkbAppbmRleCA4ZGRjOWE2ZmQ5M2QwNTA1NjZiM2YxYzRlNGM3Y2Fi
OGMwOWY1MDhmLi4wZWRkMDY5ZmJmN2EzN2Q2ZjllNzY4ZTEzNzJiNTUzOGFjM2RmMzgzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0Lmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0Lmlk
bApAQCAtNTQsNiArNTQsNyBAQAogICAgIGJvb2xlYW4gY2FuU2F2ZSgpOwogICAgIHZvaWQgc2F2
ZShpbiBET01TdHJpbmcgdXJsLCBpbiBET01TdHJpbmcgY29udGVudCwgaW4gYm9vbGVhbiBmb3Jj
ZVNhdmVBcyk7CiAgICAgdm9pZCBhcHBlbmQoaW4gRE9NU3RyaW5nIHVybCwgaW4gRE9NU3RyaW5n
IGNvbnRlbnQpOworICAgIHZvaWQgY2xvc2UoaW4gRE9NU3RyaW5nIHVybCk7CiAKICAgICBib29s
ZWFuIGNhbkluc3BlY3RXb3JrZXJzKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvRmlsZU1hbmFnZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0ZpbGVNYW5hZ2VyLmpzCmluZGV4IDZiMTA4ZDNmMGJmYmQ4MjU2OGJlYmM0
OTlmOWEyZWUxY2Q2NzJmMzcuLmJiODg3MzRlNjVlZDAwNTYwYTA1Njg1M2E0YjNiMWVjYWJhYTQ5
YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZU1h
bmFnZXIuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlTWFu
YWdlci5qcwpAQCAtNTEsMTQgKzUxLDYgQEAgV2ViSW5zcGVjdG9yLkZpbGVNYW5hZ2VyLnByb3Rv
dHlwZSA9IHsKICAgICB9LAogCiAgICAgLyoqCi0gICAgICogQHJldHVybiB7Ym9vbGVhbn0KLSAg
ICAgKi8KLSAgICBjYW5BcHBlbmQ6IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBJ
bnNwZWN0b3JGcm9udGVuZEhvc3QuY2FuU2F2ZSgpICYmICgiYXBwZW5kIiBpbiBJbnNwZWN0b3JG
cm9udGVuZEhvc3QpOwotICAgIH0sCi0KLSAgICAvKioKICAgICAgKiBAcGFyYW0ge3N0cmluZ30g
dXJsCiAgICAgICogQHBhcmFtIHtzdHJpbmd9IGNvbnRlbnQKICAgICAgKiBAcGFyYW0ge2Jvb2xl
YW59IGZvcmNlU2F2ZUFzCkBAIC0xMDUsNiArOTcsMTQgQEAgV2ViSW5zcGVjdG9yLkZpbGVNYW5h
Z2VyLnByb3RvdHlwZSA9IHsKICAgICAvKioKICAgICAgKiBAcGFyYW0ge3N0cmluZ30gdXJsCiAg
ICAgICovCisgICAgY2xvc2U6IGZ1bmN0aW9uKHVybCkKKyAgICB7CisgICAgICAgIEluc3BlY3Rv
ckZyb250ZW5kSG9zdC5jbG9zZSh1cmwpOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFy
YW0ge3N0cmluZ30gdXJsCisgICAgICovCiAgICAgYXBwZW5kZWRUb1VSTDogZnVuY3Rpb24odXJs
KQogICAgIHsKICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVj
dG9yLkZpbGVNYW5hZ2VyLkV2ZW50VHlwZXMuQXBwZW5kZWRUb1VSTCwgdXJsKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZVV0aWxzLmpzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlVXRpbHMuanMKaW5kZXggN2U5NWJk
ZmM4OWI5YTJiYTVjMjJmMGFhYjJjZjhkNzc3MDBlYmRhYS4uZDZhMWRlYzZjYTM2N2MxM2NlY2Jh
YmQ3MDFkN2NkZThiMmY3NmUyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9GaWxlVXRpbHMuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9GaWxlVXRpbHMuanMKQEAgLTM4NSw2ICszODUsNyBAQCBXZWJJbnNwZWN0b3IuRmls
ZU91dHB1dFN0cmVhbS5wcm90b3R5cGUgPSB7CiAgICAgICAgIGlmICh0aGlzLl93cml0ZUNhbGxi
YWNrcy5sZW5ndGgpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIFdlYkluc3BlY3Rvci5m
aWxlTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5GaWxlTWFuYWdlci5F
dmVudFR5cGVzLkFwcGVuZGVkVG9VUkwsIHRoaXMuX29uQXBwZW5kRG9uZSwgdGhpcyk7CisgICAg
ICAgIFdlYkluc3BlY3Rvci5maWxlTWFuYWdlci5jbG9zZSh0aGlzLl9maWxlTmFtZSk7CiAgICAg
fSwKIAogICAgIC8qKgpAQCAtMzk1LDggKzM5NiwxMCBAQCBXZWJJbnNwZWN0b3IuRmlsZU91dHB1
dFN0cmVhbS5wcm90b3R5cGUgPSB7CiAgICAgICAgIGlmIChldmVudC5kYXRhICE9PSB0aGlzLl9m
aWxlTmFtZSkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgaWYgKCF0aGlzLl93cml0ZUNh
bGxiYWNrcy5sZW5ndGgpIHsKLSAgICAgICAgICAgIGlmICh0aGlzLl9jbG9zZWQpCisgICAgICAg
ICAgICBpZiAodGhpcy5fY2xvc2VkKSB7CiAgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmZp
bGVNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkZpbGVNYW5hZ2VyLkV2
ZW50VHlwZXMuQXBwZW5kZWRUb1VSTCwgdGhpcy5fb25BcHBlbmREb25lLCB0aGlzKTsKKyAgICAg
ICAgICAgICAgICBXZWJJbnNwZWN0b3IuZmlsZU1hbmFnZXIuY2xvc2UodGhpcy5fZmlsZU5hbWUp
OworICAgICAgICAgICAgfQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAgICAgICAg
IHZhciBjYWxsYmFjayA9IHRoaXMuX3dyaXRlQ2FsbGJhY2tzLnNoaWZ0KCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hhbmRsZXJSZWdpc3RyeS5qcyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGFuZGxlclJlZ2lzdHJ5LmpzCmlu
ZGV4IDVjOGNjNzRkMjg2YTdmN2ZiMzMwNTIwM2RkNWQzZTExOGViNTEwZGIuLjJiYTI1MDMyZGI0
NzIzMDQyMmQ3ZGNmMzIyNzBjN2JkNDA1ZmQ5MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvSGFuZGxlclJlZ2lzdHJ5LmpzCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGFuZGxlclJlZ2lzdHJ5LmpzCkBAIC0xMzIsNyArMTMy
LDkgQEAgV2ViSW5zcGVjdG9yLkhhbmRsZXJSZWdpc3RyeS5wcm90b3R5cGUgPSB7CiAKICAgICAg
ICAgZnVuY3Rpb24gZG9TYXZlKGZvcmNlU2F2ZUFzLCBjb250ZW50KQogICAgICAgICB7Ci0gICAg
ICAgICAgICBXZWJJbnNwZWN0b3IuZmlsZU1hbmFnZXIuc2F2ZShjb250ZW50UHJvdmlkZXIuY29u
dGVudFVSTCgpLCBjb250ZW50LCBmb3JjZVNhdmVBcyk7CisgICAgICAgICAgICB2YXIgdXJsID0g
Y29udGVudFByb3ZpZGVyLmNvbnRlbnRVUkwoKTsKKyAgICAgICAgICAgIFdlYkluc3BlY3Rvci5m
aWxlTWFuYWdlci5zYXZlKHVybCwgY29udGVudCwgZm9yY2VTYXZlQXMpOworICAgICAgICAgICAg
V2ViSW5zcGVjdG9yLmZpbGVNYW5hZ2VyLmNsb3NlKHVybCk7CiAgICAgICAgIH0KIAogICAgICAg
ICBmdW5jdGlvbiBzYXZlKGZvcmNlU2F2ZUFzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3RWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3RWaWV3LmpzCmluZGV4IGEwOTRiNDU4YTRm
YzVlYzFkNDYzYjcwMzc0MDlhNjlmMmI3NGM5NWMuLmNjZDM2MzBhNjQxNDQzMjExZjJjMTZmMmNj
MmRiZDc0YTc2NmIxZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvSGVhcFNuYXBzaG90Vmlldy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL0hlYXBTbmFwc2hvdFZpZXcuanMKQEAgLTk1Myw3ICs5NTMsNyBAQCBXZWJJbnNw
ZWN0b3IuSGVhcFByb2ZpbGVIZWFkZXIucHJvdG90eXBlID0gewogICAgICAqLwogICAgIGNhblNh
dmVUb0ZpbGU6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIHJldHVybiAhdGhpcy5mcm9tRmls
ZSgpICYmIHRoaXMuX3NuYXBzaG90UHJveHkgJiYgIXRoaXMuX3JlY2VpdmVyICYmIFdlYkluc3Bl
Y3Rvci5maWxlTWFuYWdlci5jYW5BcHBlbmQoKTsKKyAgICAgICAgcmV0dXJuICF0aGlzLmZyb21G
aWxlKCkgJiYgISF0aGlzLl9zbmFwc2hvdFByb3h5ICYmICF0aGlzLl9yZWNlaXZlcjsKICAgICB9
LAogCiAgICAgLyoqCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0luc3BlY3RvckZyb250ZW5kSG9zdFN0dWIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5kSG9zdFN0dWIuanMKaW5kZXggZDcwNmI1OTc3
NjM5N2IxYWI3Mjc3ZjNmZGY3MzYwMWI5YTZlMjhkNi4uOTgxMTlmM2FiZTM1Mjc0OGRjMDQyZWRm
NzU0Y2QxZWI0Yzg0ZDRkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLmpzCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5qcwpAQCAtMzgs
NiArMzgsNyBAQCBXZWJJbnNwZWN0b3IuSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1YiA9IGZ1bmN0
aW9uKCkKIHsKICAgICB0aGlzLl9hdHRhY2hlZFdpbmRvd0hlaWdodCA9IDA7CiAgICAgdGhpcy5p
c1N0dWIgPSB0cnVlOworICAgIHRoaXMuX2ZpbGVCdWZmZXJzID0ge307CiAgICAgV2ViSW5zcGVj
dG9yLmRvY3VtZW50Q29weUV2ZW50RmlyZWQgPSB0aGlzLmRvY3VtZW50Q29weS5iaW5kKHRoaXMp
OwogfQogCkBAIC0xNDMsMjMgKzE0NCw0MCBAQCBXZWJJbnNwZWN0b3IuSW5zcGVjdG9yRnJvbnRl
bmRIb3N0U3R1Yi5wcm90b3R5cGUgPSB7CiAKICAgICBzYXZlOiBmdW5jdGlvbih1cmwsIGNvbnRl
bnQsIGZvcmNlU2F2ZUFzKQogICAgIHsKLSAgICAgICAgdmFyIGJsb2IgPSBuZXcgQmxvYihbY29u
dGVudF0sIHsgdHlwZTogImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSIgfSk7CisgICAgICAgIGlm
ICh0aGlzLl9maWxlQnVmZmVyc1t1cmxdKQorICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJD
b25jdXJyZW50IGZpbGUgbW9kaWZpY2F0aW9uIGRlbmllZC4iKTsKIAotICAgICAgICB2YXIgZnIg
PSBuZXcgRmlsZVJlYWRlcigpOwotICAgICAgICBmci5vbmxvYWQgPSBmdW5jdGlvbihlKSB7Ci0g
ICAgICAgICAgICAvLyBGb3JjZSBkb3dubG9hZAotICAgICAgICAgICAgd2luZG93LmxvY2F0aW9u
ID0gdGhpcy5yZXN1bHQ7Ci0gICAgICAgIH0KLSAgICAgICAgZnIucmVhZEFzRGF0YVVSTChibG9i
KTsKKyAgICAgICAgdGhpcy5fZmlsZUJ1ZmZlcnNbdXJsXSA9IFtjb250ZW50XTsKKyAgICAgICAg
c2V0VGltZW91dChXZWJJbnNwZWN0b3IuZmlsZU1hbmFnZXIuc2F2ZWRVUkwuYmluZChXZWJJbnNw
ZWN0b3IuZmlsZU1hbmFnZXIsIHVybCksIDApOwogICAgIH0sCiAKLSAgICBjYW5BcHBlbmQ6IGZ1
bmN0aW9uKCkKKyAgICBhcHBlbmQ6IGZ1bmN0aW9uKHVybCwgY29udGVudCkKICAgICB7Ci0gICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgdmFyIGJ1ZmZlciA9IHRoaXMuX2ZpbGVCdWZmZXJz
W3VybF07CisgICAgICAgIGlmICghYnVmZmVyKQorICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9y
KCJGaWxlIGlzIG5vdCBvcGVuIGZvciB3cml0ZSB5ZXQuIik7CisKKyAgICAgICAgYnVmZmVyLnB1
c2goY29udGVudCk7CisgICAgICAgIHNldFRpbWVvdXQoV2ViSW5zcGVjdG9yLmZpbGVNYW5hZ2Vy
LmFwcGVuZGVkVG9VUkwuYmluZChXZWJJbnNwZWN0b3IuZmlsZU1hbmFnZXIsIHVybCksIDApOwog
ICAgIH0sCiAKLSAgICBhcHBlbmQ6IGZ1bmN0aW9uKHVybCwgY29udGVudCkKKyAgICBjbG9zZTog
ZnVuY3Rpb24odXJsKQogICAgIHsKKyAgICAgICAgdmFyIGNvbnRlbnQgPSB0aGlzLl9maWxlQnVm
ZmVyc1t1cmxdOworICAgICAgICBkZWxldGUgdGhpcy5fZmlsZUJ1ZmZlcnNbdXJsXTsKKworICAg
ICAgICBpZiAoIWNvbnRlbnQpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdmFyIGJs
b2IgPSBuZXcgQmxvYihjb250ZW50LCB7IHR5cGU6ICJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0i
IH0pOworICAgICAgICB2YXIgb2JqZWN0VXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwo
YmxvYik7CisgICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IG9iamVjdFVybCArICIjIiArIHVybDsK
KworICAgICAgICBmdW5jdGlvbiBjbGVhbnVwKCkKKyAgICAgICAgeworICAgICAgICAgICAgd2lu
ZG93LlVSTC5yZXZva2VPYmplY3RVUkwob2JqZWN0VXJsKTsKKyAgICAgICAgfQorICAgICAgICBz
ZXRUaW1lb3V0KGNsZWFudXAsIDApOwogICAgIH0sCiAKICAgICBzZW5kTWVzc2FnZVRvQmFja2Vu
ZDogZnVuY3Rpb24obWVzc2FnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvU291cmNlRnJhbWUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1NvdXJjZUZyYW1lLmpzCmluZGV4IDdjY2I5NGQ0NWU4MzdiYmU0MDcyNjA3YTg3MWJi
OTVlOGEwY2M0YzAuLjVhNWJiMDY2OWY3NWEwODY5M2QyMDkwMjg4ZWUxNDVkZWVkYTQxNmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlRnJhbWUu
anMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5q
cwpAQCAtNjQ3LDggKzY0NywxMCBAQCBXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUucHJvdG90eXBl
ID0gewogCiAgICAgICAgIHZhciBjb250ZW50ID0gdGhpcy5fdGV4dEVkaXRvci50ZXh0KCk7CiAg
ICAgICAgIHRoaXMuY29tbWl0RWRpdGluZyhjb250ZW50KTsKLSAgICAgICAgaWYgKHRoaXMuX3Vy
bCAmJiBXZWJJbnNwZWN0b3IuZmlsZU1hbmFnZXIuaXNVUkxTYXZlZCh0aGlzLl91cmwpKQorICAg
ICAgICBpZiAodGhpcy5fdXJsICYmIFdlYkluc3BlY3Rvci5maWxlTWFuYWdlci5pc1VSTFNhdmVk
KHRoaXMuX3VybCkpIHsKICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5maWxlTWFuYWdlci5zYXZl
KHRoaXMuX3VybCwgY29udGVudCwgZmFsc2UpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmZp
bGVNYW5hZ2VyLmNsb3NlKHRoaXMuX3VybCk7CisgICAgICAgIH0KICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgfSwKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9leHRlcm5zLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9leHRl
cm5zLmpzCmluZGV4IGJhNWJiYzlmZWYxMmRjYzU3YTE5MzkwYzYzM2FkNzY2ZWE2ZTAwMzIuLmFi
M2U1ZWVkZTg5YzNjYTkzZDljYzIzMTJkYTJmNDQxY2Q1NjBmZjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvZXh0ZXJucy5qcworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2V4dGVybnMuanMKQEAgLTEzOCw3ICsxMzgsNyBAQCBJ
bnNwZWN0b3JGcm9udGVuZEhvc3RBUEkucHJvdG90eXBlLmNvcHlUZXh0ID0gZnVuY3Rpb24odGV4
dCkge30KIEluc3BlY3RvckZyb250ZW5kSG9zdEFQSS5wcm90b3R5cGUub3BlbkluTmV3VGFiID0g
ZnVuY3Rpb24odXJsKSB7fQogSW5zcGVjdG9yRnJvbnRlbmRIb3N0QVBJLnByb3RvdHlwZS5jYW5T
YXZlID0gZnVuY3Rpb24oKSB7fQogSW5zcGVjdG9yRnJvbnRlbmRIb3N0QVBJLnByb3RvdHlwZS5z
YXZlID0gZnVuY3Rpb24odXJsLCBjb250ZW50LCBmb3JjZVNhdmVBcykge30KLUluc3BlY3RvckZy
b250ZW5kSG9zdEFQSS5wcm90b3R5cGUuY2FuQXBwZW5kID0gZnVuY3Rpb24oKSB7fQorSW5zcGVj
dG9yRnJvbnRlbmRIb3N0QVBJLnByb3RvdHlwZS5jbG9zZSA9IGZ1bmN0aW9uKHVybCkge30KIElu
c3BlY3RvckZyb250ZW5kSG9zdEFQSS5wcm90b3R5cGUuYXBwZW5kID0gZnVuY3Rpb24odXJsLCBj
b250ZW50KSB7fQogSW5zcGVjdG9yRnJvbnRlbmRIb3N0QVBJLnByb3RvdHlwZS5zZW5kTWVzc2Fn
ZVRvQmFja2VuZCA9IGZ1bmN0aW9uKG1lc3NhZ2UpIHt9CiBJbnNwZWN0b3JGcm9udGVuZEhvc3RB
UEkucHJvdG90eXBlLnJlY29yZEFjdGlvblRha2VuID0gZnVuY3Rpb24oYWN0aW9uQ29kZSkge30K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169182</attachid>
            <date>2012-10-17 07:30:33 -0700</date>
            <delta_ts>2012-11-15 18:43:03 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99179-20121017182919.patch</filename>
            <type>text/plain</type>
            <size>12245</size>
            <attacher>eustas.bug</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxNTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGVkNTQ1MTQyYzEyYTlm
ZTdjYmQxMmQ3OGE4NmU1MWMxYTc3NTgwZS4uMjk1N2RhN2NiMmRhYTBlZWRlNGJlNDAxNjllN2Jk
OWE2ODI5NjdkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDEyLTEwLTE3ICBFdWdl
bmUgS2x5dWNobmlrb3YgIDxldXN0YXMuYnVnQGdtYWlsLmNvbT4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBTYXZpbmcgSEFSLCBzbmFwc2hvdHMgYW5kIHRpbWVsaW5lIGRhdGEgZG8gbm90IHdv
cmsgaW4gcmVtb3RlIGRlYnVnZ2luZyBtb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD05OTE3OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIEFkZGVkIG1ldGhvZCAiY2xvc2UiIHRvIEluc3BlY3RvckZyb250
ZW5kSG9zdC4KKyAgICAgICAgU3ltYW50aWNhbGx5LCB0aGlzIG1ldGhvZCBmb3JjZXMgdG8gZmx1
c2ggYWxsIHVuc2F2ZWQgYnVmZmVycyBmb3IKKyAgICAgICAgc3BlY2lmaWVkIGZpbGUuIEluIG5h
dGl2ZSBpbXBsZW1lbnRhdGlvbiB0aGlzIHR1cm5zIHRvIGJlIG5vLW9wLgorCisgICAgICAgIElu
IHN0dWIgaW1wbGVtZW50YXRpb24gImNsb3NlIiBjYXVzZXMgY29tcGlsYXRpb24gb2YgYmxvYiBv
YmplY3QgYW4KKyAgICAgICAgbmF2aWdhdGluZyB0byBibG9iLXNjaGVtYSB1cmwuCisKKyAgICAg
ICAgUmVtb3ZlZCAiY2FuQXBwZW5kIiwgYXMgYXBwZW5kaW5nIGluIG5vdyBzdXBwdXJ0ZWQKKyAg
ICAgICAgYnkgYWxsIGltcGxlbWVudGF0aW9ucy4KKworICAgICAgICBSZXBhY2VkIHNjaGVtYSAi
ZGF0YSIgd2l0aCAiYmxvYiIgaW4gSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1YiAic2F2ZSIKKyAg
ICAgICAgdG8gYXZvaWQgb3V0LW9mLW1lbW9yeSBlcnJvcnMuCisKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckZyb250ZW5kSG9zdDo6Y2xvc2UpOiBDb21waWxlcyBibG9iIG9iamVjdCBhbmQKKyAgICAgICAg
bmF2aWdhdGVzIHRvIGJsb2Itb2JqZWN0IHVybC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAg
ICAqIGluc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaDogQWRkZWQgImNsb3NlIiBtZXRo
b2QuCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5pZGw6IERpdHRv
LgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRmlsZU1hbmFnZXIuanM6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuRmlsZU1hbmFnZXIucHJvdG90eXBlLmNsb3NlKTogUHJveHkgdG8gSW5z
cGVjdG9yRnJvbnRlbmQuCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlVXRpbHMu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRmlsZU91dHB1dFN0cmVhbS5wcm90b3R5cGUuY2xv
c2UpOgorICAgICAgICBJbnZva2UgImNsb3NlIiBvbiBGaWxlTWFuYWdlci4KKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5GaWxlT3V0cHV0U3RyZWFtLnByb3RvdHlwZS5fb25BcHBlbmREb25lKTogRGl0
dG8uCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9IYW5kbGVyUmVnaXN0cnkuanM6IEFk
ZGVkIG1hbmRhdG9yeSAiY2xvc2UiIGNhbGwuCisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVu
ZC9IZWFwU25hcHNob3RWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhlYXBQcm9maWxl
SGVhZGVyLnByb3RvdHlwZS5jYW5TYXZlVG9GaWxlKTogRml4ZWQgY2hlY2suCisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViLmpzOgorICAgICAg
ICAoLldlYkluc3BlY3Rvci5JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHViKToKKyAgICAgICAgQWRk
ZWQgImFwcGVuZGFibGUiIGJlaGF2aW91ciBlbXVsYXRpb24uCisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9Tb3VyY2VGcmFtZS5qczogQWRkZWQgbWFuZGF0b3J5ICJjbG9zZSIgY2FsbC4K
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2V4dGVybnMuanM6IFJlcGxhY2VkICJjYW5B
cHBlbmQiIHdpdGggImNsb3NlIgorCiAyMDEyLTEwLTE3ICBQYXZlbCBGZWxkbWFuICA8cGZlbGRt
YW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGRpc3BsYXkgImRpc2Nv
bm5lY3RlZCIgbWVzc2FnZSB3aGVuIHJlbW90ZSBkZWJ1Z2dpbmcgdGVybWluYXRlcwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9zdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcAppbmRl
eCBlN2IwMjIwMGVmOTc3Mjg1MTBlZDRkMDg2MzNmMmQ0NzAyNDQ1YWIwLi44OTVhYjAzODNmYjdm
MmUyNzE2ZmI0M2RhYThjZDBkMTE5YmI3NjA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNwcApAQCAtMjUwLDYgKzI1MCwxMCBAQCB2
b2lkIEluc3BlY3RvckZyb250ZW5kSG9zdDo6YXBwZW5kKGNvbnN0IFN0cmluZyYgdXJsLCBjb25z
dCBTdHJpbmcmIGNvbnRlbnQpCiAgICAgICAgIG1fY2xpZW50LT5hcHBlbmQodXJsLCBjb250ZW50
KTsKIH0KIAordm9pZCBJbnNwZWN0b3JGcm9udGVuZEhvc3Q6OmNsb3NlKGNvbnN0IFN0cmluZyYp
Cit7Cit9CisKIGJvb2wgSW5zcGVjdG9yRnJvbnRlbmRIb3N0OjpjYW5JbnNwZWN0V29ya2Vycygp
CiB7CiAjaWYgRU5BQkxFKFdPUktFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yRnJvbnRlbmRIb3N0LmgKaW5kZXggZDVhZTUxZDgwNjcwNjFkMzE2OTIxY2JlMzNj
MDhhMTAyZGU0NTVhNy4uOTNlYjQyNzIyNjJhYjlmZGUxMjdiZjdmZDQxYzY5YTVkNmU4NmYyYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckZyb250ZW5kSG9z
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3Qu
aApAQCAtNzcsNiArNzcsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBjYW5TYXZlKCk7CiAgICAgdm9p
ZCBzYXZlKGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIGNvbnRlbnQsIGJvb2wgZm9y
Y2VTYXZlQXMpOwogICAgIHZvaWQgYXBwZW5kKGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJp
bmcmIGNvbnRlbnQpOworICAgIHZvaWQgY2xvc2UoY29uc3QgU3RyaW5nJiB1cmwpOwogCiAgICAg
Ym9vbCBjYW5JbnNwZWN0V29ya2VycygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JGcm9udGVuZEhvc3QuaWRsCmluZGV4IDhkZGM5YTZmZDkzZDA1MDU2NmIz
ZjFjNGU0YzdjYWI4YzA5ZjUwOGYuLjBlZGQwNjlmYmY3YTM3ZDZmOWU3NjhlMTM3MmI1NTM4YWMz
ZGYzODMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9u
dGVuZEhvc3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JGcm9u
dGVuZEhvc3QuaWRsCkBAIC01NCw2ICs1NCw3IEBACiAgICAgYm9vbGVhbiBjYW5TYXZlKCk7CiAg
ICAgdm9pZCBzYXZlKGluIERPTVN0cmluZyB1cmwsIGluIERPTVN0cmluZyBjb250ZW50LCBpbiBi
b29sZWFuIGZvcmNlU2F2ZUFzKTsKICAgICB2b2lkIGFwcGVuZChpbiBET01TdHJpbmcgdXJsLCBp
biBET01TdHJpbmcgY29udGVudCk7CisgICAgdm9pZCBjbG9zZShpbiBET01TdHJpbmcgdXJsKTsK
IAogICAgIGJvb2xlYW4gY2FuSW5zcGVjdFdvcmtlcnMoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlTWFuYWdlci5qcyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRmlsZU1hbmFnZXIuanMKaW5kZXggNmIxMDhkM2YwYmZi
ZDgyNTY4YmViYzQ5OWY5YTJlZTFjZDY3MmYzNy4uYmI4ODczNGU2NWVkMDA1NjBhMDU2ODUzYTRi
M2IxZWNhYmFhNDliYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9GaWxlTWFuYWdlci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0ZpbGVNYW5hZ2VyLmpzCkBAIC01MSwxNCArNTEsNiBAQCBXZWJJbnNwZWN0b3IuRmlsZU1h
bmFnZXIucHJvdG90eXBlID0gewogICAgIH0sCiAKICAgICAvKioKLSAgICAgKiBAcmV0dXJuIHti
b29sZWFufQotICAgICAqLwotICAgIGNhbkFwcGVuZDogZnVuY3Rpb24oKQotICAgIHsKLSAgICAg
ICAgcmV0dXJuIEluc3BlY3RvckZyb250ZW5kSG9zdC5jYW5TYXZlKCkgJiYgKCJhcHBlbmQiIGlu
IEluc3BlY3RvckZyb250ZW5kSG9zdCk7Ci0gICAgfSwKLQotICAgIC8qKgogICAgICAqIEBwYXJh
bSB7c3RyaW5nfSB1cmwKICAgICAgKiBAcGFyYW0ge3N0cmluZ30gY29udGVudAogICAgICAqIEBw
YXJhbSB7Ym9vbGVhbn0gZm9yY2VTYXZlQXMKQEAgLTEwNSw2ICs5NywxNCBAQCBXZWJJbnNwZWN0
b3IuRmlsZU1hbmFnZXIucHJvdG90eXBlID0gewogICAgIC8qKgogICAgICAqIEBwYXJhbSB7c3Ry
aW5nfSB1cmwKICAgICAgKi8KKyAgICBjbG9zZTogZnVuY3Rpb24odXJsKQorICAgIHsKKyAgICAg
ICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LmNsb3NlKHVybCk7CisgICAgfSwKKworICAgIC8qKgor
ICAgICAqIEBwYXJhbSB7c3RyaW5nfSB1cmwKKyAgICAgKi8KICAgICBhcHBlbmRlZFRvVVJMOiBm
dW5jdGlvbih1cmwpCiAgICAgewogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVy
cyhXZWJJbnNwZWN0b3IuRmlsZU1hbmFnZXIuRXZlbnRUeXBlcy5BcHBlbmRlZFRvVVJMLCB1cmwp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9GaWxlVXRp
bHMuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVVdGlscy5qcwpp
bmRleCA3ZTk1YmRmYzg5YjlhMmJhNWMyMmYwYWFiMmNmOGQ3NzcwMGViZGFhLi5kNmExZGVjNmNh
MzY3YzEzY2VjYmFiZDcwMWQ3Y2RlOGIyZjc2ZTI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVVdGlscy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0ZpbGVVdGlscy5qcwpAQCAtMzg1LDYgKzM4NSw3IEBAIFdlYklu
c3BlY3Rvci5GaWxlT3V0cHV0U3RyZWFtLnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKHRoaXMu
X3dyaXRlQ2FsbGJhY2tzLmxlbmd0aCkKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgV2Vi
SW5zcGVjdG9yLmZpbGVNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkZp
bGVNYW5hZ2VyLkV2ZW50VHlwZXMuQXBwZW5kZWRUb1VSTCwgdGhpcy5fb25BcHBlbmREb25lLCB0
aGlzKTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLmZpbGVNYW5hZ2VyLmNsb3NlKHRoaXMuX2ZpbGVO
YW1lKTsKICAgICB9LAogCiAgICAgLyoqCkBAIC0zOTUsOCArMzk2LDEwIEBAIFdlYkluc3BlY3Rv
ci5GaWxlT3V0cHV0U3RyZWFtLnByb3RvdHlwZSA9IHsKICAgICAgICAgaWYgKGV2ZW50LmRhdGEg
IT09IHRoaXMuX2ZpbGVOYW1lKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBpZiAoIXRo
aXMuX3dyaXRlQ2FsbGJhY2tzLmxlbmd0aCkgewotICAgICAgICAgICAgaWYgKHRoaXMuX2Nsb3Nl
ZCkKKyAgICAgICAgICAgIGlmICh0aGlzLl9jbG9zZWQpIHsKICAgICAgICAgICAgICAgICBXZWJJ
bnNwZWN0b3IuZmlsZU1hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRmls
ZU1hbmFnZXIuRXZlbnRUeXBlcy5BcHBlbmRlZFRvVVJMLCB0aGlzLl9vbkFwcGVuZERvbmUsIHRo
aXMpOworICAgICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5maWxlTWFuYWdlci5jbG9zZSh0aGlz
Ll9maWxlTmFtZSk7CisgICAgICAgICAgICB9CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
IH0KICAgICAgICAgdmFyIGNhbGxiYWNrID0gdGhpcy5fd3JpdGVDYWxsYmFja3Muc2hpZnQoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSGFuZGxlclJl
Z2lzdHJ5LmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IYW5kbGVyUmVn
aXN0cnkuanMKaW5kZXggMzc5ZWI0MzVlNzNiMzA4YzEwM2QwNzM2NTBlOGViY2NiZGU4YjZiZi4u
OTlkMWJiZmE3YWU4N2FkNjI0NjA0NmFlNjJmMDk4NDEzMWQ5YWM4OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IYW5kbGVyUmVnaXN0cnkuanMKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IYW5kbGVyUmVnaXN0cnkuanMKQEAg
LTEzMiw3ICsxMzIsOSBAQCBXZWJJbnNwZWN0b3IuSGFuZGxlclJlZ2lzdHJ5LnByb3RvdHlwZSA9
IHsKIAogICAgICAgICBmdW5jdGlvbiBkb1NhdmUoZm9yY2VTYXZlQXMsIGNvbnRlbnQpCiAgICAg
ICAgIHsKLSAgICAgICAgICAgIFdlYkluc3BlY3Rvci5maWxlTWFuYWdlci5zYXZlKGNvbnRlbnRQ
cm92aWRlci5jb250ZW50VVJMKCksIGNvbnRlbnQsIGZvcmNlU2F2ZUFzKTsKKyAgICAgICAgICAg
IHZhciB1cmwgPSBjb250ZW50UHJvdmlkZXIuY29udGVudFVSTCgpOworICAgICAgICAgICAgV2Vi
SW5zcGVjdG9yLmZpbGVNYW5hZ2VyLnNhdmUodXJsLCBjb250ZW50LCBmb3JjZVNhdmVBcyk7Cisg
ICAgICAgICAgICBXZWJJbnNwZWN0b3IuZmlsZU1hbmFnZXIuY2xvc2UodXJsKTsKICAgICAgICAg
fQogCiAgICAgICAgIGZ1bmN0aW9uIHNhdmUoZm9yY2VTYXZlQXMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdFZpZXcuanMgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hlYXBTbmFwc2hvdFZpZXcuanMKaW5kZXgg
YTA5NGI0NThhNGZjNWVjMWQ0NjNiNzAzNzQwOWE2OWYyYjc0Yzk1Yy4uY2NkMzYzMGE2NDE0NDMy
MTFmMmMxNmYyY2MyZGJkNzRhNzY2YjFkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9IZWFwU25hcHNob3RWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvSGVhcFNuYXBzaG90Vmlldy5qcwpAQCAtOTUzLDcgKzk1Myw3
IEBAIFdlYkluc3BlY3Rvci5IZWFwUHJvZmlsZUhlYWRlci5wcm90b3R5cGUgPSB7CiAgICAgICov
CiAgICAgY2FuU2F2ZVRvRmlsZTogZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgcmV0dXJuICF0
aGlzLmZyb21GaWxlKCkgJiYgdGhpcy5fc25hcHNob3RQcm94eSAmJiAhdGhpcy5fcmVjZWl2ZXIg
JiYgV2ViSW5zcGVjdG9yLmZpbGVNYW5hZ2VyLmNhbkFwcGVuZCgpOworICAgICAgICByZXR1cm4g
IXRoaXMuZnJvbUZpbGUoKSAmJiAhIXRoaXMuX3NuYXBzaG90UHJveHkgJiYgIXRoaXMuX3JlY2Vp
dmVyOwogICAgIH0sCiAKICAgICAvKioKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5qcyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRIb3N0U3R1Yi5qcwppbmRl
eCBjZTNhMzBhYWU1ZmI0NzM2YjU2YzQ5ODE1YTkzMGRmZDVjY2ExOGNkLi4zMDQ5NGYyMWNkYzg0
MGZmZjVlY2U4ZTMyZDhiMGFiYzk5OWNmNmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5kSG9zdFN0dWIuanMKKysrIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEhvc3RTdHVi
LmpzCkBAIC0zOCw2ICszOCw3IEBAIFdlYkluc3BlY3Rvci5JbnNwZWN0b3JGcm9udGVuZEhvc3RT
dHViID0gZnVuY3Rpb24oKQogewogICAgIHRoaXMuX2F0dGFjaGVkV2luZG93SGVpZ2h0ID0gMDsK
ICAgICB0aGlzLmlzU3R1YiA9IHRydWU7CisgICAgdGhpcy5fZmlsZUJ1ZmZlcnMgPSB7fTsKICAg
ICBXZWJJbnNwZWN0b3IuZG9jdW1lbnRDb3B5RXZlbnRGaXJlZCA9IHRoaXMuZG9jdW1lbnRDb3B5
LmJpbmQodGhpcyk7CiB9CiAKQEAgLTE0MywyMyArMTQ0LDQzIEBAIFdlYkluc3BlY3Rvci5JbnNw
ZWN0b3JGcm9udGVuZEhvc3RTdHViLnByb3RvdHlwZSA9IHsKIAogICAgIHNhdmU6IGZ1bmN0aW9u
KHVybCwgY29udGVudCwgZm9yY2VTYXZlQXMpCiAgICAgewotICAgICAgICB2YXIgYmxvYiA9IG5l
dyBCbG9iKFtjb250ZW50XSwgeyB0eXBlOiAiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtIiB9KTsK
KyAgICAgICAgaWYgKHRoaXMuX2ZpbGVCdWZmZXJzW3VybF0pCisgICAgICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoIkNvbmN1cnJlbnQgZmlsZSBtb2RpZmljYXRpb24gZGVuaWVkLiIpOwogCi0gICAg
ICAgIHZhciBmciA9IG5ldyBGaWxlUmVhZGVyKCk7Ci0gICAgICAgIGZyLm9ubG9hZCA9IGZ1bmN0
aW9uKGUpIHsKLSAgICAgICAgICAgIC8vIEZvcmNlIGRvd25sb2FkCi0gICAgICAgICAgICB3aW5k
b3cubG9jYXRpb24gPSB0aGlzLnJlc3VsdDsKLSAgICAgICAgfQotICAgICAgICBmci5yZWFkQXNE
YXRhVVJMKGJsb2IpOworICAgICAgICB0aGlzLl9maWxlQnVmZmVyc1t1cmxdID0gW2NvbnRlbnRd
OworICAgICAgICBzZXRUaW1lb3V0KFdlYkluc3BlY3Rvci5maWxlTWFuYWdlci5zYXZlZFVSTC5i
aW5kKFdlYkluc3BlY3Rvci5maWxlTWFuYWdlciwgdXJsKSwgMCk7CiAgICAgfSwKIAotICAgIGNh
bkFwcGVuZDogZnVuY3Rpb24oKQorICAgIGFwcGVuZDogZnVuY3Rpb24odXJsLCBjb250ZW50KQog
ICAgIHsKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB2YXIgYnVmZmVyID0gdGhpcy5f
ZmlsZUJ1ZmZlcnNbdXJsXTsKKyAgICAgICAgaWYgKCFidWZmZXIpCisgICAgICAgICAgICB0aHJv
dyBuZXcgRXJyb3IoIkZpbGUgaXMgbm90IG9wZW4gZm9yIHdyaXRlIHlldC4iKTsKKworICAgICAg
ICBidWZmZXIucHVzaChjb250ZW50KTsKKyAgICAgICAgc2V0VGltZW91dChXZWJJbnNwZWN0b3Iu
ZmlsZU1hbmFnZXIuYXBwZW5kZWRUb1VSTC5iaW5kKFdlYkluc3BlY3Rvci5maWxlTWFuYWdlciwg
dXJsKSwgMCk7CiAgICAgfSwKIAotICAgIGFwcGVuZDogZnVuY3Rpb24odXJsLCBjb250ZW50KQor
ICAgIGNsb3NlOiBmdW5jdGlvbih1cmwpCiAgICAgeworICAgICAgICB2YXIgY29udGVudCA9IHRo
aXMuX2ZpbGVCdWZmZXJzW3VybF07CisgICAgICAgIGRlbGV0ZSB0aGlzLl9maWxlQnVmZmVyc1t1
cmxdOworCisgICAgICAgIGlmICghY29udGVudCkKKyAgICAgICAgICAgIHJldHVybjsKKworICAg
ICAgICB2YXIgbGFzdFNsYXNoSW5kZXggPSB1cmwubGFzdEluZGV4T2YoIi8iKTsKKyAgICAgICAg
dmFyIGZpbGVOYW1lU3VmZml4ID0gKGxhc3RTbGFzaEluZGV4ID09PSAtMSkgPyB1cmwgOiB1cmwu
c3Vic3RyaW5nKGxhc3RTbGFzaEluZGV4ICsgMSk7CisKKyAgICAgICAgdmFyIGJsb2IgPSBuZXcg
QmxvYihjb250ZW50LCB7IHR5cGU6ICJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0iIH0pOworICAg
ICAgICB2YXIgb2JqZWN0VXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7Cisg
ICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9IG9iamVjdFVybCArICIjIiArIGZpbGVOYW1lU3VmZml4
OworCisgICAgICAgIGZ1bmN0aW9uIGNsZWFudXAoKQorICAgICAgICB7CisgICAgICAgICAgICB3
aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTChvYmplY3RVcmwpOworICAgICAgICB9CisgICAgICAg
IHNldFRpbWVvdXQoY2xlYW51cCwgMCk7CiAgICAgfSwKIAogICAgIHNlbmRNZXNzYWdlVG9CYWNr
ZW5kOiBmdW5jdGlvbihtZXNzYWdlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9VSVNvdXJjZUNvZGUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL1VJU291cmNlQ29kZS5qcwppbmRleCBjZjQ0ZDk0MDA5MjllZGMyNzEzMTQ1YmNh
NmJhZjZmNzRlMzUwN2M2Li5lOWM1ZjI2ZGI2YmFkMmU0NDMzMDVjMDAzYzY2NmU0NDA4OTc0MTJi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1VJU291cmNl
Q29kZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1VJU291cmNl
Q29kZS5qcwpAQCAtMTkyLDggKzE5MiwxMCBAQCBXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlLnBy
b3RvdHlwZSA9IHsKICAgICAgICAgZGVsZXRlIHRoaXMuX3dvcmtpbmdDb3B5OwogICAgICAgICB0
aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuVUlTb3VyY2VDb2RlLkV2
ZW50cy5Xb3JraW5nQ29weUNvbW1pdHRlZCwge29sZFdvcmtpbmdDb3B5OiBvbGRXb3JraW5nQ29w
eSwgd29ya2luZ0NvcHk6IHRoaXMud29ya2luZ0NvcHkoKX0pOwogICAgICAgICBXZWJJbnNwZWN0
b3Iud29ya3NwYWNlLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuV29ya3Nw
YWNlLkV2ZW50cy5VSVNvdXJjZUNvZGVDb250ZW50Q29tbWl0dGVkLCB7IHVpU291cmNlQ29kZTog
dGhpcywgY29udGVudDogdGhpcy5fY29udGVudCB9KTsKLSAgICAgICAgaWYgKHRoaXMuX3VybCAm
JiBXZWJJbnNwZWN0b3IuZmlsZU1hbmFnZXIuaXNVUkxTYXZlZCh0aGlzLl91cmwpKQorICAgICAg
ICBpZiAodGhpcy5fdXJsICYmIFdlYkluc3BlY3Rvci5maWxlTWFuYWdlci5pc1VSTFNhdmVkKHRo
aXMuX3VybCkpIHsKICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5maWxlTWFuYWdlci5zYXZlKHRo
aXMuX3VybCwgdGhpcy5fY29udGVudCwgZmFsc2UpOworICAgICAgICAgICAgV2ViSW5zcGVjdG9y
LmZpbGVNYW5hZ2VyLmNsb3NlKHRoaXMuX3VybCk7CisgICAgICAgIH0KICAgICB9LAogCiAgICAg
LyoqCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2V4dGVy
bnMuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2V4dGVybnMuanMKaW5k
ZXggYmE1YmJjOWZlZjEyZGNjNTdhMTkzOTBjNjMzYWQ3NjZlYTZlMDAzMi4uYWIzZTVlZWRlODlj
M2NhOTNkOWNjMjMxMmRhMmY0NDFjZDU2MGZmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9leHRlcm5zLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvZXh0ZXJucy5qcwpAQCAtMTM4LDcgKzEzOCw3IEBAIEluc3BlY3RvckZy
b250ZW5kSG9zdEFQSS5wcm90b3R5cGUuY29weVRleHQgPSBmdW5jdGlvbih0ZXh0KSB7fQogSW5z
cGVjdG9yRnJvbnRlbmRIb3N0QVBJLnByb3RvdHlwZS5vcGVuSW5OZXdUYWIgPSBmdW5jdGlvbih1
cmwpIHt9CiBJbnNwZWN0b3JGcm9udGVuZEhvc3RBUEkucHJvdG90eXBlLmNhblNhdmUgPSBmdW5j
dGlvbigpIHt9CiBJbnNwZWN0b3JGcm9udGVuZEhvc3RBUEkucHJvdG90eXBlLnNhdmUgPSBmdW5j
dGlvbih1cmwsIGNvbnRlbnQsIGZvcmNlU2F2ZUFzKSB7fQotSW5zcGVjdG9yRnJvbnRlbmRIb3N0
QVBJLnByb3RvdHlwZS5jYW5BcHBlbmQgPSBmdW5jdGlvbigpIHt9CitJbnNwZWN0b3JGcm9udGVu
ZEhvc3RBUEkucHJvdG90eXBlLmNsb3NlID0gZnVuY3Rpb24odXJsKSB7fQogSW5zcGVjdG9yRnJv
bnRlbmRIb3N0QVBJLnByb3RvdHlwZS5hcHBlbmQgPSBmdW5jdGlvbih1cmwsIGNvbnRlbnQpIHt9
CiBJbnNwZWN0b3JGcm9udGVuZEhvc3RBUEkucHJvdG90eXBlLnNlbmRNZXNzYWdlVG9CYWNrZW5k
ID0gZnVuY3Rpb24obWVzc2FnZSkge30KIEluc3BlY3RvckZyb250ZW5kSG9zdEFQSS5wcm90b3R5
cGUucmVjb3JkQWN0aW9uVGFrZW4gPSBmdW5jdGlvbihhY3Rpb25Db2RlKSB7fQo=
</data>
<flag name="review"
          id="182384"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>