<?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>124326</bug_id>
          
          <creation_ts>2013-11-13 17:44:21 -0800</creation_ts>
          <short_desc>Web Inspector: implement Page.captureScreenshot in the backend</short_desc>
          <delta_ts>2013-12-05 16:54:54 -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</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>124325</dependson>
          <blocked>125322</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brian Burg">burg</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>graouts</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>joepeck</cc>
    
    <cc>philn</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>950459</commentid>
    <comment_count>0</comment_count>
    <who name="Brian Burg">burg</who>
    <bug_when>2013-11-13 17:44:21 -0800</bug_when>
    <thetext>patch forthcoming</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950460</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-11-13 17:44:39 -0800</bug_when>
    <thetext>&lt;rdar://problem/15465594&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950700</commentid>
    <comment_count>2</comment_count>
      <attachid>216946</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2013-11-14 09:14:34 -0800</bug_when>
    <thetext>Created attachment 216946
v1.0</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950702</commentid>
    <comment_count>3</comment_count>
    <who name="Brian Burg">burg</who>
    <bug_when>2013-11-14 09:15:35 -0800</bug_when>
    <thetext>Depends on patch in 124325. Going to attempt writing a test...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950754</commentid>
    <comment_count>4</comment_count>
      <attachid>216946</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2013-11-14 10:39:44 -0800</bug_when>
    <thetext>Comment on attachment 216946
v1.0

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

&gt; Source/WebCore/inspector/InspectorClient.h:91
&gt; +    virtual bool captureScreenshot(int /*x*/, int /*y*/, int /*width*/, int /*height*/, bool /*usePageCoordinates*/, String* /*outData*/)

We usually just drop the names if they are not used.

&gt; Source/WebCore/inspector/protocol/Page.json:348
&gt;              &quot;name&quot;: &quot;captureScreenshot&quot;,
&gt;              &quot;description&quot;: &quot;Capture page screenshot.&quot;,

I wonder if we should rename this to something better? We don&apos;t aren&apos;t compatible with Chrome&apos;s now that we have parameters.

&gt; Source/WebKit/mac/WebCoreSupport/WebInspectorClient.mm:202
&gt; +bool WebInspectorClient::captureScreenshot(int x, int y, int width, int height, bool usePageCoordinates, String* outData)

We will need to add this to Windows as well. Can you look at that or file a bug?

&gt; Source/WebKit/mac/WebCoreSupport/WebInspectorClient.mm:208
&gt; +    DEFINE_STATIC_LOCAL(String, pngMimeType, (ASCIILiteral(&quot;image/png&quot;)));

I don&apos;t think using a static local for this helps much. Just pass the ASCIILiteral to toDataURL.

&gt; Source/WebKit2/WebProcess/WebCoreSupport/WebInspectorClient.cpp:97
&gt; +    DEFINE_STATIC_LOCAL(String, pngMimeType, (ASCIILiteral(&quot;image/png&quot;)));

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>950776</commentid>
    <comment_count>5</comment_count>
      <attachid>216946</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-11-14 11:26:03 -0800</bug_when>
    <thetext>Comment on attachment 216946
v1.0

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

&gt;&gt; Source/WebCore/inspector/protocol/Page.json:348
&gt;&gt;              &quot;description&quot;: &quot;Capture page screenshot.&quot;,
&gt; 
&gt; I wonder if we should rename this to something better? We don&apos;t aren&apos;t compatible with Chrome&apos;s now that we have parameters.

I agree. I imagine there could be a number of screenshot APIs:

  1. Screenshot of the visible page (viewport on OS X, fake viewport on iOS / mobile)
  2. Screenshot of the entire page (1 big image)
  3. Screenshot of a section of the page (arbitrary, element bounds, maybe a layer&apos;s bounds)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951829</commentid>
    <comment_count>6</comment_count>
      <attachid>217242</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2013-11-18 15:19:34 -0800</bug_when>
    <thetext>Created attachment 217242
rebased patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951834</commentid>
    <comment_count>7</comment_count>
      <attachid>217242</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-11-18 15:28:22 -0800</bug_when>
    <thetext>Comment on attachment 217242
rebased patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        * WebCore.xcodeproj/project.pbxproj:

Say what you did.

&gt; Source/WebInspectorUI/ChangeLog:6
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=124326
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).

Ditto.

&gt; Source/WebKit/mac/ChangeLog:8
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        * WebCoreSupport/WebInspectorClient.h:

Ditto.

&gt; Source/WebKit2/ChangeLog:8
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        * WebProcess/WebCoreSupport/WebInspectorClient.cpp:

Ditto.

&gt; Source/WebCore/inspector/InspectorClient.h:91
&gt; +    virtual bool capturePageSnapshot(int, int, int, int, bool, String*) { return false; }

You should name those ints (put the  parameter names in comments). Can it be a rect?

&gt; Source/WebCore/inspector/InspectorPageAgent.h:132
&gt; +    virtual void capturePageSnapshot(ErrorString*, const int* x, const int* y, const int* width, const int* height, const bool* usePageCoordinates, String* outData);

What are x and y relative to? Document? Frame? Viewport?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951874</commentid>
    <comment_count>8</comment_count>
      <attachid>217251</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2013-11-18 16:37:18 -0800</bug_when>
    <thetext>Created attachment 217251
v1.1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>951876</commentid>
    <comment_count>9</comment_count>
      <attachid>217242</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-11-18 16:41:59 -0800</bug_when>
    <thetext>Comment on attachment 217242
rebased patch

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

&gt; Source/WebCore/WebCore.xcodeproj/project.pbxproj:885
&gt; +		22BD9F7F1353625C009BD102 /* ImageBufferData.h in Headers */ = {isa = PBXBuildFile; fileRef = 22BD9F7D1353625C009BD102 /* ImageBufferData.h */; settings = {ATTRIBUTES = (Private, ); }; };
&gt; +		22BD9F81135364FE009BD102 /* ImageBufferDataCG.h in Headers */ = {isa = PBXBuildFile; fileRef = 22BD9F80135364FE009BD102 /* ImageBufferDataCG.h */; settings = {ATTRIBUTES = (Private, ); }; };

Nit: With the other comments, if this stays in WebCore you won&apos;t need to export these files or symbols in WebCore.exp.in.

&gt; Source/WebCore/inspector/InspectorPageAgent.cpp:1269
&gt; +            result = m_client-&gt;capturePageSnapshot(viewport.x(), viewport.y(), viewport.width(), viewport.height(), false, outData);

Nit: Why the client? (see later comment)

&gt; Source/WebCore/inspector/protocol/Page.json:348
&gt; +            &quot;name&quot;: &quot;capturePageSnapshot&quot;,
&gt; +            &quot;description&quot;: &quot;Capture a snapshot of the page using the supplied rectangle. If any arguments are missing, the entire viewport is captured.&quot;,

I don&apos;t want to dwell on naming and prevent landing, but I think having separate function names for different operations would be cleaner. Then an x/y/width/height specific function could have non-optional arguments.

&gt; Source/WebCore/inspector/protocol/Page.json:354
&gt; +                { &quot;name&quot;: &quot;usePageCoordinates&quot;, &quot;type&quot;: &quot;boolean&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Indicates whether the provided parameters are in page coordinates or in viewport coordinates (the default).&quot; }

Rather then a boolean, an enum type could be used. That could later extend this list of &quot;page&quot; / &quot;viewport&quot; to maybe include something else in the future (document + frameId?)

&gt; Source/WebKit/mac/WebCoreSupport/WebInspectorClient.h:76
&gt; +    virtual bool capturePageSnapshot(int x, int y, int width, int height, bool usePageCoordinates, String* outData);

Why implement this in the client at all? r- for this unless I&apos;m overlooking something.

It doesn&apos;t look like any port specific work is being done in the different port implementations of capturePageSnapshot. it seem like this could just be in InspectorPageAgent, then all ports get to take advantage of it.

&gt; Source/WebKit2/WebProcess/WebCoreSupport/WebInspectorClient.cpp:104
&gt; +    *outData = snapshot-&gt;toDataURL(&quot;image/png&quot;);

Nit: ASCIILiteral(&quot;image/png&quot;) because this is a C string literal that is turning into a WTF::String.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952326</commentid>
    <comment_count>10</comment_count>
      <attachid>217362</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2013-11-19 17:02:14 -0800</bug_when>
    <thetext>Created attachment 217362
v3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952329</commentid>
    <comment_count>11</comment_count>
    <who name="Brian Burg">burg</who>
    <bug_when>2013-11-19 17:03:17 -0800</bug_when>
    <thetext>Addressed JoePeck&apos;s comments in patch v3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952332</commentid>
    <comment_count>12</comment_count>
      <attachid>217362</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-11-19 17:10:49 -0800</bug_when>
    <thetext>Comment on attachment 217362
v3

Attachment 217362 did not pass efl-ews (efl):
Output: http://webkit-queues.appspot.com/results/29658011</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952334</commentid>
    <comment_count>13</comment_count>
      <attachid>217362</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-11-19 17:19:05 -0800</bug_when>
    <thetext>Comment on attachment 217362
v3

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

I like this much better then the previous patch! r=me but some nits worth addressing.

&gt; Source/WebCore/inspector/InspectorPageAgent.cpp:1268
&gt; +    Frame* frame = mainFrame();
&gt; +    if (!frame) {
&gt; +        *errorString = &quot;No main frame&quot;;
&gt; +        return;
&gt; +    }

Nit: This if check and error is unnecessary. The mainFrame will never be null. This is a side effect of old code. mainFrame() should actually return a reference:

    Frame* InspectorPageAgent::mainFrame()
    {
        // FIXME: This should return a Frame&amp;
        return &amp;m_page-&gt;mainFrame();
    }

&gt; Source/WebCore/inspector/InspectorPageAgent.cpp:1278
&gt; +        *errorString = &quot;Could not capture snapshot&quot;;

Nit: Heh, because ErrorStyle is a typedef of String, we can ASCIILiteral(...) the strings assigned to it.

&gt; Source/WebCore/inspector/InspectorPageAgent.cpp:1291
&gt; +    Frame* frame = mainFrame();
&gt; +    if (!frame) {
&gt; +        *errorString = &quot;No main frame&quot;;
&gt; +        return;
&gt; +    }

Ditto.

&gt; Source/WebCore/inspector/InspectorPageAgent.cpp:1301
&gt; +        *errorString = &quot;Could not capture snapshot&quot;;

Ditto.

&gt; Source/WebCore/inspector/protocol/Page.json:354
&gt; +            &quot;description&quot;: &quot;Capture a snapshot of a the specified node that does not include unrelated layers.&quot;,

Typo: &quot;of a the&quot; =&gt; &quot;of the&quot;

&gt; Source/WebInspectorUI/UserInterface/InspectorBackendCommands.js:-337
&gt; -InspectorBackend.registerCommand(&quot;Page.captureScreenshot&quot;, [], [&quot;data&quot;]);

I would suggest retroactively removing the iOS 7 legacy Page.captureScreenshot APIs. We don&apos;t want to expose it via its InspectorBackendCommands because it wouldn&apos;t really work anyways. This would entail:

    1. Removing Page.captureScreenshot from Source/WebInspectorUI/Inspector-iOS-7.0.json
    2. Regenerating Legacy BackendCommands.js files by running: Source/WebInspectorUI/Scripts/update-InspectorBackendCommands.rb</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952337</commentid>
    <comment_count>14</comment_count>
      <attachid>217362</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-11-19 17:33:16 -0800</bug_when>
    <thetext>Comment on attachment 217362
v3

Attachment 217362 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/29658015</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952340</commentid>
    <comment_count>15</comment_count>
      <attachid>217362</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-11-19 17:39:32 -0800</bug_when>
    <thetext>Comment on attachment 217362
v3

Attachment 217362 did not pass win-ews (win):
Output: http://webkit-queues.appspot.com/results/29968002</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952347</commentid>
    <comment_count>16</comment_count>
      <attachid>217362</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-11-19 17:46:56 -0800</bug_when>
    <thetext>Comment on attachment 217362
v3

Attachment 217362 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/30008001</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952396</commentid>
    <comment_count>17</comment_count>
      <attachid>217362</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-11-19 20:20:59 -0800</bug_when>
    <thetext>Comment on attachment 217362
v3

Attachment 217362 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/29828046</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>952501</commentid>
    <comment_count>18</comment_count>
      <attachid>217362</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-11-20 02:02:18 -0800</bug_when>
    <thetext>Comment on attachment 217362
v3

Attachment 217362 did not pass gtk-ews (gtk):
Output: http://webkit-queues.appspot.com/results/30128028</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957081</commentid>
    <comment_count>19</comment_count>
      <attachid>218550</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2013-12-05 15:51:28 -0800</bug_when>
    <thetext>Created attachment 218550
v3.1 - fix style nits of v3, re-run EWS after 124325 landed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957086</commentid>
    <comment_count>20</comment_count>
      <attachid>218550</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2013-12-05 16:26:59 -0800</bug_when>
    <thetext>Comment on attachment 218550
v3.1 - fix style nits of v3, re-run EWS after 124325 landed

Gosh, it would be really nice to add a protocol test for this. Could you do that in a follow-up?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957090</commentid>
    <comment_count>21</comment_count>
      <attachid>218550</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-05 16:54:50 -0800</bug_when>
    <thetext>Comment on attachment 218550
v3.1 - fix style nits of v3, re-run EWS after 124325 landed

Clearing flags on attachment: 218550

Committed r160202: &lt;http://trac.webkit.org/changeset/160202&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957091</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-12-05 16:54:54 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>216946</attachid>
            <date>2013-11-14 09:14:34 -0800</date>
            <delta_ts>2013-11-18 15:19:31 -0800</delta_ts>
            <desc>v1.0</desc>
            <filename>bug-124326-20131114091433.patch</filename>
            <type>text/plain</type>
            <size>14530</size>
            <attacher name="Brian Burg">burg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5MjY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWVhNmQ2NzAzZTYwNWVi
M2RiMzBjY2Q5MDJlNTA0ZWJkZWVhMzc0MS4uOWY4MjYxOTY0MjNkYTdmNTc2NTE5MjJkMzU0YWFj
ZDZlZDA0YjE5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEzLTExLTE0ICBCcmlh
biBKLiBCdXJnICA8YnVyZ0Bjcy53YXNoaW5ndG9uLmVkdT4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBpbXBsZW1lbnQgUGFnZS5jYXB0dXJlU2NyZWVuc2hvdCBpbiB0aGUgYmFja2VuZC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNDMyNgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBNYWtlIEZyYW1lU25hcHNob3QuaCBwcml2YXRlLgor
ICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDbGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvckNsaWVudDo6Y2FwdHVyZVNjcmVlbnNob3QpOgorICAgICAgICAqIGluc3BlY3Rv
ci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUGFn
ZUFnZW50OjpjYXB0dXJlU2NyZWVuc2hvdCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rv
clBhZ2VBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9wcm90b2NvbC9QYWdlLmpzb246CisK
IDIwMTMtMTEtMTMgIEJyaWFuIEouIEJ1cmcgIDxidXJnQGNzLndhc2hpbmd0b24uZWR1PgogCiAg
ICAgICAgIENvbnNvbGlkYXRlIHZhcmlvdXMgZnJhbWUgc25hcHNob3QgY2FwYWJpbGl0aWVzLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5kZXggZTQyNjljZGIwZTZlZWFmOTAzZmZlZjZiODA1OTM5
MmZjYWYxMWY0Mi4uMDkyZmUxZWYxNTI2Y2NlODFjMjY1YjU4YzJiOTg4YTJkY2M4NjE0ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTMtMTEtMTQgIEJyaWFu
IEouIEJ1cmcgIDxidXJnQGNzLndhc2hpbmd0b24uZWR1PgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IGltcGxlbWVudCBQYWdlLmNhcHR1cmVTY3JlZW5zaG90IGluIHRoZSBiYWNrZW5kLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0MzI2CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50ZXJm
YWNlL0luc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qczoKKwogMjAxMy0xMS0xMyAgSm9zZXBoIFBl
Y29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFNw
bGl0IEluc3BlY3Rvci5qc29uIGludG8gaW5kaXZpZHVhbCBkb21haW4ganNvbiBmaWxlcwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCmluZGV4IDFmZTQ0OGM0MThjNTk1ZmJhZjM5YjcwNjZjOTEyMTc4NjY3OGY3ZWIu
LjZiMTg1ODRmZTdjYTVmMTI2NGMzOWVkZjAzMTg4ZDM4YTU2MjQ2NGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMy0xMS0xNCAgQnJpYW4gSi4gQnVyZyAgPGJ1cmdAY3Mu
d2FzaGluZ3Rvbi5lZHU+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogaW1wbGVtZW50IFBhZ2Uu
Y2FwdHVyZVNjcmVlbnNob3QgaW4gdGhlIGJhY2tlbmQuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQzMjYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNs
aWVudC5oOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbToK
KyAgICAgICAgKFdlYkluc3BlY3RvckNsaWVudDo6Y2FwdHVyZVNjcmVlbnNob3QpOgorCiAyMDEz
LTExLTEzICBCcmlhbiBKLiBCdXJnICA8YnVyZ0Bjcy53YXNoaW5ndG9uLmVkdT4KIAogICAgICAg
ICBDb25zb2xpZGF0ZSB2YXJpb3VzIGZyYW1lIHNuYXBzaG90IGNhcGFiaWxpdGllcy4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCBhZWI5ZmYzMGUxODIxZmI4NjQyOTdhODljYmQ4YTc2YzYwNDgyMThmLi4xZmY1YmY2
ZjlmMzM2YzEwYTQxNDM2NjljMWE1MTA0NjMwYTY1MmI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTQgQEAKKzIwMTMtMTEtMTQgIEJyaWFuIEouIEJ1cmcgIDxidXJnQGNzLndhc2hpbmd0b24uZWR1
PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGltcGxlbWVudCBQYWdlLmNhcHR1cmVTY3JlZW5z
aG90IGluIHRoZSBiYWNrZW5kLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTI0MzI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVu
dC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkluc3BlY3RvckNsaWVudDo6Y2FwdHVyZVNjcmVl
bnNob3QpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9y
Q2xpZW50Lmg6CisKIDIwMTMtMTEtMTMgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4K
IAogICAgICAgICBbQ29jb2FdIEFkZCBXS05TRXJyb3IKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBhNDY2NjI2M2JjYjRkMWIzNDI0
ZWQwNjk3MGQwM2I3N2U5MzEwZjY5Li5lNDU3ZTEwMjNjOTdiMWY4MzUwZjUzYTE2MjJmYTdiY2I0
M2Y4MGNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC01MjM2LDcgKzUyMzYsNyBAQAogCQlDM0NGMTdBNjE1QjAwNjNGMDAyNzZE
MzkgLyogSWRUYXJnZXRPYnNlcnZlclJlZ2lzdHJ5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMzQ0YxN0EyMTVCMDA2M0YwMDI3NkQzOSAvKiBJZFRh
cmdldE9ic2VydmVyUmVnaXN0cnkuY3BwICovOyB9OwogCQlDM0NGMTdBNzE1QjAwNjNGMDAyNzZE
MzkgLyogSWRUYXJnZXRPYnNlcnZlclJlZ2lzdHJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDM0NGMTdBMzE1QjAwNjNGMDAyNzZEMzkgLyogSWRUYXJn
ZXRPYnNlcnZlclJlZ2lzdHJ5LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJQzRDRDYyOTIxODM0NkJFQTAwN0VCQUYxIC8qIEZyYW1lU25hcHNob3Qu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzRDRDYy
OTAxODM0NkJFQTAwN0VCQUYxIC8qIEZyYW1lU25hcHNob3QuY3BwICovOyB9OwotCQlDNENENjI5
MzE4MzQ2QkVBMDA3RUJBRjEgLyogRnJhbWVTbmFwc2hvdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzRDRDYyOTExODM0NkJFQTAwN0VCQUYxIC8qIEZy
YW1lU25hcHNob3QuaCAqLzsgfTsKKwkJQzRDRDYyOTMxODM0NkJFQTAwN0VCQUYxIC8qIEZyYW1l
U25hcHNob3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEM0Q0Q2MjkxMTgzNDZCRUEwMDdFQkFGMSAvKiBGcmFtZVNuYXBzaG90LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQzUwQjU2MTYxMjExOUQyMzAw
OEI0NkUwIC8qIEdyb3VwU2V0dGluZ3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQzUwQjU2MTQxMjExOUQyMzAwOEI0NkUwIC8qIEdyb3VwU2V0dGlu
Z3MuY3BwICovOyB9OwogCQlDNTBCNTYxNzEyMTE5RDIzMDA4QjQ2RTAgLyogR3JvdXBTZXR0aW5n
cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQzUwQjU2
MTUxMjExOUQyMzAwOEI0NkUwIC8qIEdyb3VwU2V0dGluZ3MuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDNTBEMEU4MjBGRjQyNzI5MDBBQzI2NDQg
LyogU3RvcmFnZU5hbWVzcGFjZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDNTBEMEU4MDBGRjQyNzI5MDBBQzI2NDQgLyogU3RvcmFnZU5hbWVzcGFj
ZS5jcHAgKi87IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ2xpZW50LmgK
aW5kZXggNzBhMTljOTE3NTgzNjZhMzlkNjAwY2QyYWE3ODY3N2UxN2U0MjQwYy4uZTY3ZWMxZDgy
ZDM2MDFkYjc3MTI0M2Y5NTY2NTBjYTVlNzY5ZWYyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDbGllbnQuaApAQCAtODgsNyArODgsMTAgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCBnZXRBbGxvY2F0ZWRPYmplY3RzKEhhc2hTZXQ8Y29uc3Qgdm9pZCo+JikgeyB9
CiAgICAgdmlydHVhbCB2b2lkIGR1bXBVbmNvdW50ZWRBbGxvY2F0ZWRPYmplY3RzKGNvbnN0IEhh
c2hNYXA8Y29uc3Qgdm9pZCosIHNpemVfdD4mKSB7IH0KIAotICAgIHZpcnR1YWwgYm9vbCBjYXB0
dXJlU2NyZWVuc2hvdChTdHJpbmcqKSB7IHJldHVybiBmYWxzZTsgfQorICAgIHZpcnR1YWwgYm9v
bCBjYXB0dXJlU2NyZWVuc2hvdChpbnQgLyp4Ki8sIGludCAvKnkqLywgaW50IC8qd2lkdGgqLywg
aW50IC8qaGVpZ2h0Ki8sIGJvb2wgLyp1c2VQYWdlQ29vcmRpbmF0ZXMqLywgU3RyaW5nKiAvKm91
dERhdGEqLykKKyAgICB7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CiAKICAgICB2aXJ0
dWFsIGJvb2wgaGFuZGxlSmF2YVNjcmlwdERpYWxvZyhib29sLCBjb25zdCBTdHJpbmcqKSB7IHJl
dHVybiBmYWxzZTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yUGFnZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQ
YWdlQWdlbnQuY3BwCmluZGV4IGUxMzZkMTExMzgwYTI4YTFkNDc2N2YyZDEyMDg4ZTY4NDhkNmIw
YWYuLmIxNzRmMmE2ZmEwNzU3ZTY1OWM2MTViNDMzY2EzMDI5NzFjNGMxZDggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCkBAIC0xMjU1LDkg
KzEyNTUsOSBAQCB2b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6c2V0Q29tcG9zaXRpbmdCb3JkZXJz
VmlzaWJsZShFcnJvclN0cmluZyosIGJvb2wgdmlzaWJsZQogICAgIG1fcGFnZS0+c2V0dGluZ3Mo
KS5zZXRTaG93UmVwYWludENvdW50ZXIodmlzaWJsZSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yUGFn
ZUFnZW50OjpjYXB0dXJlU2NyZWVuc2hvdChFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIFN0cmlu
ZyogZGF0YSkKK3ZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpjYXB0dXJlU2NyZWVuc2hvdChFcnJv
clN0cmluZyogZXJyb3JTdHJpbmcsIGludCB4LCBpbnQgeSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0
LCBjb25zdCBib29sKiB1c2VQYWdlQ29vcmRpbmF0ZXMsIFN0cmluZyogb3V0RGF0YSkKIHsKLSAg
ICBpZiAoIW1fY2xpZW50LT5jYXB0dXJlU2NyZWVuc2hvdChkYXRhKSkKKyAgICBpZiAoIW1fY2xp
ZW50LT5jYXB0dXJlU2NyZWVuc2hvdCh4LCB5LCB3aWR0aCwgaGVpZ2h0LCAqdXNlUGFnZUNvb3Jk
aW5hdGVzLCBvdXREYXRhKSkKICAgICAgICAgKmVycm9yU3RyaW5nID0gIkNvdWxkIG5vdCBjYXB0
dXJlIHNjcmVlbnNob3QiOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yUGFnZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVj
dG9yUGFnZUFnZW50LmgKaW5kZXggNzY0NWY0NDBjN2I0OTJhZDZlNzBkYzliNGNlNWNmZmUxNmNh
NDA3My4uNjdhMjhmYmVhMjczMWYxMTc2YTE2MjI5ZTkwNGFiNTVjNTA1YTRhMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaApAQCAtMTI5LDcgKzEy
OSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0RW11bGF0ZWRNZWRpYShFcnJvclN0
cmluZyosIGNvbnN0IFN0cmluZyYpOwogICAgIHZpcnR1YWwgdm9pZCBnZXRDb21wb3NpdGluZ0Jv
cmRlcnNWaXNpYmxlKEVycm9yU3RyaW5nKiwgYm9vbCogb3V0X3BhcmFtKTsKICAgICB2aXJ0dWFs
IHZvaWQgc2V0Q29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZShFcnJvclN0cmluZyosIGJvb2wpOwot
ICAgIHZpcnR1YWwgdm9pZCBjYXB0dXJlU2NyZWVuc2hvdChFcnJvclN0cmluZyosIFN0cmluZyog
ZGF0YSk7CisgICAgdmlydHVhbCB2b2lkIGNhcHR1cmVTY3JlZW5zaG90KEVycm9yU3RyaW5nKiwg
aW50IHgsIGludCB5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQsIGNvbnN0IGJvb2wqIHVzZVBhZ2VD
b29yZGluYXRlcywgU3RyaW5nKiBvdXREYXRhKTsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlSmF2
YVNjcmlwdERpYWxvZyhFcnJvclN0cmluZyosIGJvb2wgYWNjZXB0LCBjb25zdCBTdHJpbmcqIHBy
b21wdFRleHQpOwogICAgIHZpcnR1YWwgdm9pZCBhcmNoaXZlKEVycm9yU3RyaW5nKiwgU3RyaW5n
KiBkYXRhKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3Byb3RvY29s
L1BhZ2UuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9QYWdlLmpzb24K
aW5kZXggN2VlMWY2OGMxNThiMjc5NTRjNGJlNTgwZTk2ZmMyYWJmZmYyYWZhMy4uNDg5MDFkNjYx
MmY4ZDE1MWZiYWQwZDczM2I3MGM2YmQ5NzU1MmM3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL3Byb3RvY29sL1BhZ2UuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvcHJvdG9jb2wvUGFnZS5qc29uCkBAIC0zNDYsNiArMzQ2LDEzIEBACiAgICAgICAgIHsK
ICAgICAgICAgICAgICJuYW1lIjogImNhcHR1cmVTY3JlZW5zaG90IiwKICAgICAgICAgICAgICJk
ZXNjcmlwdGlvbiI6ICJDYXB0dXJlIHBhZ2Ugc2NyZWVuc2hvdC4iLAorICAgICAgICAgICAgInBh
cmFtZXRlcnMiOiBbCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ4IiwgInR5cGUiOiAiaW50
ZWdlciIsICJkZXNjcmlwdGlvbiI6ICJYIGNvb3JkaW5hdGUiIH0sCisgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJ5IiwgInR5cGUiOiAiaW50ZWdlciIsICJkZXNjcmlwdGlvbiI6ICJZIGNvb3Jk
aW5hdGUiIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ3aWR0aCIsICJ0eXBlIjogImlu
dGVnZXIiLCAiZGVzY3JpcHRpb24iOiAiUmVjdGFuZ2xlIHdpZHRoIiB9LAorICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAiaGVpZ2h0IiwgInR5cGUiOiAiaW50ZWdlciIsICJkZXNjcmlwdGlvbiI6
ICJSZWN0YW5nbGUgaGVpZ2h0IiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidXNlUGFn
ZUNvb3JkaW5hdGVzIiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNj
cmlwdGlvbiI6ICJJbmRpY2F0ZXMgd2hldGhlciB0aGUgcHJvdmlkZWQgcGFyYW1ldGVycyBhcmUg
aW4gcGFnZSBjb29yZGluYXRlcyBvciBpbiB2aWV3cG9ydCBjb29yZGluYXRlcyAodGhlIGRlZmF1
bHQpLiIgfQorICAgICAgICAgICAgXSwKICAgICAgICAgICAgICJyZXR1cm5zIjogWwogICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAiZGF0YSIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlv
biI6ICJCYXNlNjQtZW5jb2RlZCBpbWFnZSBkYXRhIChQTkcpLiIgfQogICAgICAgICAgICAgXQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW5zcGVjdG9y
QmFja2VuZENvbW1hbmRzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
SW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCmluZGV4IDJhMjBhMDhjNjM4ZGRhYzk4ODMxYjQy
YzFjYzYzNDc1ZDNhYWI2MmEuLjIwMzY0ZTlhOTMzMTE0MWQxOTNlNDY0NWRiY2ZmOWQ2MTkyNjdk
ZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0luc3Bl
Y3RvckJhY2tlbmRDb21tYW5kcy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMKQEAgLTMzNCw3ICszMzQsNyBAQCBJ
bnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5zZXRUb3VjaEVtdWxhdGlvbkVu
YWJsZWQiLCBbeyJuYW1lIjogImVuYQogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQo
IlBhZ2Uuc2V0RW11bGF0ZWRNZWRpYSIsIFt7Im5hbWUiOiAibWVkaWEiLCAidHlwZSI6ICJzdHJp
bmciLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVy
Q29tbWFuZCgiUGFnZS5nZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlIiwgW10sIFsicmVzdWx0
Il0pOwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIlBhZ2Uuc2V0Q29tcG9zaXRp
bmdCb3JkZXJzVmlzaWJsZSIsIFt7Im5hbWUiOiAidmlzaWJsZSIsICJ0eXBlIjogImJvb2xlYW4i
LCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7Ci1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29t
bWFuZCgiUGFnZS5jYXB0dXJlU2NyZWVuc2hvdCIsIFtdLCBbImRhdGEiXSk7CitJbnNwZWN0b3JC
YWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5jYXB0dXJlU2NyZWVuc2hvdCIsIFt7Im5hbWUi
OiAieCIsICJ0eXBlIjogIm51bWJlciJ9LCB7Im5hbWUiOiAieSIsICJ0eXBlIjogIm51bWJlciJ9
LCB7Im5hbWUiOiAid2lkdGgiLCAidHlwZSI6ICJudW1iZXIifSwgeyJuYW1lIjogImhlaWdodCIs
ICJ0eXBlIjogIm51bWJlciJ9LCB7Im5hbWUiOiAidXNlUGFnZUNvb3JkaW5hdGVzIiwgInR5cGUi
OiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWV9XSwgWyJkYXRhIl0pOwogSW5zcGVjdG9yQmFj
a2VuZC5yZWdpc3RlckNvbW1hbmQoIlBhZ2UuaGFuZGxlSmF2YVNjcmlwdERpYWxvZyIsIFt7Im5h
bWUiOiAiYWNjZXB0IiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IGZhbHNlfSwgeyJu
YW1lIjogInByb21wdFRleHQiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiB0cnVlfV0s
IFtdKTsKIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJQYWdlLmFyY2hpdmUiLCBb
XSwgWyJkYXRhIl0pOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3Vw
cG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBw
b3J0L1dlYkluc3BlY3RvckNsaWVudC5oCmluZGV4IDU1MWFmN2YxNmQzZTMxZTQ0Y2NiNjRmYjk3
NjQ3ZjdkN2U1ZTZjNTIuLjE2YTZlZTY2MzQzNmJkZDY3ZTg1MjhjZGUwZDA3YjliMzVlOTAzMTAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3Rv
ckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3Bl
Y3RvckNsaWVudC5oCkBAIC03Myw2ICs3Myw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
aGlnaGxpZ2h0KCkgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGhpZGVIaWdobGlnaHQoKSBP
VkVSUklERTsKIAorICAgIHZpcnR1YWwgYm9vbCBjYXB0dXJlU2NyZWVuc2hvdChpbnQgeCwgaW50
IHksIGludCB3aWR0aCwgaW50IGhlaWdodCwgYm9vbCB1c2VQYWdlQ29vcmRpbmF0ZXMsIFN0cmlu
Zyogb3V0RGF0YSk7CiAgICAgdmlydHVhbCB2b2lkIGRpZFNldFNlYXJjaGluZ0Zvck5vZGUoYm9v
bCkgT1ZFUlJJREU7CiAKICAgICB2aXJ0dWFsIGJvb2wgc2VuZE1lc3NhZ2VUb0Zyb250ZW5kKGNv
bnN0IFN0cmluZyYpIE9WRVJSSURFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2Vi
Q29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tCmluZGV4IGU0MzhjNmRmM2RiYmU1ZjM3
Yjc1ZmUxYzg2OTk0Njg4MmU1MTA2MzYuLjY5OTkxOTk2NDk2MTkwY2RmNWM5YTE4ODA1MzMxNjhk
ZjFlN2U1YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dl
Ykluc3BlY3RvckNsaWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9y
dC9XZWJJbnNwZWN0b3JDbGllbnQubW0KQEAgLTQzLDYgKzQzLDcgQEAKICNpbXBvcnQgIldlYlVJ
RGVsZWdhdGUuaCIKICNpbXBvcnQgIldlYlZpZXdJbnRlcm5hbC5oIgogI2ltcG9ydCA8YWxnb3Jp
dGhtPgorI2ltcG9ydCA8V2ViQ29yZS9GcmFtZVNuYXBzaG90Lmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L0luc3BlY3RvckNvbnRyb2xsZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvSW5zcGVjdG9yRnJvbnRl
bmRDbGllbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvTWFpbkZyYW1lLmg+CkBAIC01NCw2ICs1NSw3
IEBACiAjaW1wb3J0IDxXZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaD4KICNpbXBvcnQgPHd0Zi9QYXNz
T3duUHRyLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9CYXNlNjQuaD4KKyNpbXBvcnQgPHd0Zi90ZXh0
L1N0cmluZ0NvbmNhdGVuYXRlLmg+CiAKICNpZiBFTkFCTEUoUkVNT1RFX0lOU1BFQ1RPUikKICNp
bXBvcnQgIldlYkluc3BlY3RvckNsaWVudFJlZ2lzdHJ5LmgiCkBAIC0xOTcsNiArMTk5LDIzIEBA
IHZvaWQgV2ViSW5zcGVjdG9yQ2xpZW50OjpoaWRlSGlnaGxpZ2h0KCkKICAgICBbbV9oaWdobGln
aHRlci5nZXQoKSBoaWRlSGlnaGxpZ2h0XTsKIH0KIAorYm9vbCBXZWJJbnNwZWN0b3JDbGllbnQ6
OmNhcHR1cmVTY3JlZW5zaG90KGludCB4LCBpbnQgeSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBi
b29sIHVzZVBhZ2VDb29yZGluYXRlcywgU3RyaW5nKiBvdXREYXRhKQoreworICAgIFdlYkNvcmU6
OkZyYW1lKiBmcmFtZSA9IGNvcmUoW21fd2ViVmlldyBtYWluRnJhbWVdKTsKKyAgICBpZiAoIWZy
YW1lKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0
cmluZywgcG5nTWltZVR5cGUsIChBU0NJSUxpdGVyYWwoImltYWdlL3BuZyIpKSk7CisgICAgSW50
UmVjdCBpbWFnZVJlY3QgPSBJbnRSZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpOworICAgIHN0ZDo6
dW5pcXVlX3B0cjxGcmFtZVNuYXBzaG90PiBzbmFwc2hvdCA9IEZyYW1lU25hcHNob3Q6OmNyZWF0
ZUZyb21SZWN0KCpmcmFtZSwgaW1hZ2VSZWN0LCB0cnVlLCAhdXNlUGFnZUNvb3JkaW5hdGVzKTsK
KyAgICBpZiAoIXNuYXBzaG90KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAqb3V0RGF0
YSA9IHNuYXBzaG90LT50b0RhdGFVUkwocG5nTWltZVR5cGUpOworICAgIHJldHVybiB0cnVlOwor
fQorCisKIHZvaWQgV2ViSW5zcGVjdG9yQ2xpZW50OjpkaWRTZXRTZWFyY2hpbmdGb3JOb2RlKGJv
b2wgZW5hYmxlZCkKIHsKICAgICBXZWJJbnNwZWN0b3IgKmluc3BlY3RvciA9IFttX3dlYlZpZXcg
aW5zcGVjdG9yXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcAppbmRleCAxMzFlNTJjNmVm
NWE1ZDAyMGUzMzg2NWI3NWVjYTQ0NDZlYzA2OGU1Li5lNzBiZTkzOTUzN2Q2MDM1NDc2YmY0MDQ1
MGI3OWM5NjUzMjJkMjBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwCkBAIC0zMCw2
ICszMCw4IEBACiAKICNpbmNsdWRlICJXZWJJbnNwZWN0b3IuaCIKICNpbmNsdWRlICJXZWJQYWdl
LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVT
bmFwc2hvdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSW5zcGVjdG9yQ29udHJvbGxlci5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUGFnZS5oPgogCkBAIC04Niw2ICs4OCwyMiBAQCB2b2lkIFdlYkluc3Bl
Y3RvckNsaWVudDo6aGlkZUhpZ2hsaWdodCgpCiAgICAgICAgIG1fcGFnZS0+dW5pbnN0YWxsUGFn
ZU92ZXJsYXkobV9oaWdobGlnaHRPdmVybGF5LCB0cnVlKTsKIH0KIAorYm9vbCBXZWJJbnNwZWN0
b3JDbGllbnQ6OmNhcHR1cmVTY3JlZW5zaG90KGludCB4LCBpbnQgeSwgaW50IHdpZHRoLCBpbnQg
aGVpZ2h0LCBib29sIHVzZVBhZ2VDb29yZGluYXRlcywgU3RyaW5nKiBvdXREYXRhKQoreworICAg
IFdlYkNvcmU6OkZyYW1lKiBmcmFtZSA9IG1fcGFnZS0+bWFpbkZyYW1lKCk7CisgICAgaWYgKCFm
cmFtZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChT
dHJpbmcsIHBuZ01pbWVUeXBlLCAoQVNDSUlMaXRlcmFsKCJpbWFnZS9wbmciKSkpOworICAgIElu
dFJlY3QgaW1hZ2VSZWN0ID0gSW50UmVjdCh4LCB5LCB3aWR0aCwgaGVpZ2h0KTsKKyAgICBzdGQ6
OnVuaXF1ZV9wdHI8RnJhbWVTbmFwc2hvdD4gc25hcHNob3QgPSBGcmFtZVNuYXBzaG90OjpjcmVh
dGVGcm9tUmVjdCgqZnJhbWUsIGltYWdlUmVjdCwgdHJ1ZSwgIXVzZVBhZ2VDb29yZGluYXRlcyk7
CisgICAgaWYgKCFzbmFwc2hvdCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgKm91dERh
dGEgPSBzbmFwc2hvdC0+dG9EYXRhVVJMKHBuZ01pbWVUeXBlKTsKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKwogYm9vbCBXZWJJbnNwZWN0b3JDbGllbnQ6OnNlbmRNZXNzYWdlVG9Gcm9udGVuZChjb25z
dCBTdHJpbmcmIG1lc3NhZ2UpCiB7CiAgICAgV2ViSW5zcGVjdG9yKiBpbnNwZWN0b3IgPSBtX3Bh
Z2UtPmluc3BlY3RvcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKaW5kZXggM2VlMmVhODJh
NWVjNjE1ODMzZTczNDUyOGFlZTNlZDQxZTUxYjhiYy4uZDQwN2RhZTE5MzYxN2I2MGM1YWUyNWE0
NTY1MWY4ZGM0MjI0NDVkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oCkBAIC02MSw2ICs2
MSw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGhpZ2hsaWdodCgpIE9WRVJSSURFOwog
ICAgIHZpcnR1YWwgdm9pZCBoaWRlSGlnaGxpZ2h0KCkgT1ZFUlJJREU7CiAKKyAgICB2aXJ0dWFs
IGJvb2wgY2FwdHVyZVNjcmVlbnNob3QoaW50IHgsIGludCB5LCBpbnQgd2lkdGgsIGludCBoZWln
aHQsIGJvb2wgdXNlUGFnZUNvb3JkaW5hdGVzLCBTdHJpbmcqIG91dERhdGEpOworCiAgICAgdmly
dHVhbCBib29sIHNlbmRNZXNzYWdlVG9Gcm9udGVuZChjb25zdCBTdHJpbmcmKSBPVkVSUklERTsK
IAogICAgIHZpcnR1YWwgYm9vbCBzdXBwb3J0c0ZyYW1lSW5zdHJ1bWVudGF0aW9uKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217242</attachid>
            <date>2013-11-18 15:19:34 -0800</date>
            <delta_ts>2013-11-19 17:02:07 -0800</delta_ts>
            <desc>rebased patch</desc>
            <filename>bug-124326-20131118151933.patch</filename>
            <type>text/plain</type>
            <size>17466</size>
            <attacher name="Brian Burg">burg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5NDU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODQyZGJmMmQ0NTc4YTQy
YTYzMDY3Zjg4MmU5ZDA5YjY4MTYyOTAzZi4uOTBiZTU4NTM4ZWM1YTcxNjVjMTQyMmU4ZTQ1M2Ew
NjQxNzBlMTkxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIwIEBACiAyMDEzLTExLTE4ICBCcmlh
biBKLiBCdXJnICA8YnVyZ0Bjcy53YXNoaW5ndG9uLmVkdT4KIAorICAgICAgICBXZWIgSW5zcGVj
dG9yOiBpbXBsZW1lbnQgUGFnZS5jYXB0dXJlU2NyZWVuc2hvdCBpbiB0aGUgYmFja2VuZC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNDMyNgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JD
bGllbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNsaWVudDo6Y2FwdHVyZVNjcmVl
bnNob3QpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUGFnZUFnZW50OjpjYXB0dXJlU2NyZWVuc2hvdCk6Cisg
ICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oOgorICAgICAgICAqIGluc3Bl
Y3Rvci9wcm90b2NvbC9QYWdlLmpzb246CisKKzIwMTMtMTEtMTYgIEJyaWFuIEouIEJ1cmcgIDxi
dXJnQGNzLndhc2hpbmd0b24uZWR1PgorCiAgICAgICAgIENvbnNvbGlkYXRlIHZhcmlvdXMgZnJh
bWUgc25hcHNob3QgY2FwYWJpbGl0aWVzLgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTI0MzI1CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IDcw
MDY5YmFlMmE0ZDBlNTAzMmIyZGZmNjNmY2RmZTc1ZGM0M2MwMGIuLmUzYzI1NmIzM2IyZmJlZGMy
ODM4NTNmNzNlYmY0OWExMzZkZjE0YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEyIEBACisyMDEzLTExLTE2ICBCcmlhbiBKLiBCdXJnICA8YnVyZ0Bjcy53YXNoaW5ndG9u
LmVkdT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBpbXBsZW1lbnQgUGFnZS5jYXB0dXJlU2Ny
ZWVuc2hvdCBpbiB0aGUgYmFja2VuZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTEyNDMyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMu
anM6CisKIDIwMTMtMTEtMTUgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAog
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBOZXcgY29sb3IgcGlja2VyCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5k
ZXggYzBkOGRmYTJiZjE4M2E2OTZmYWQwMmUxMWExMDU0MTMwODdkMWRkZi4uYzg3NWZhMzVlNzc0
YjYwMzJlMTM0ZWEzYzJiZGVmMDM3NDllNDZlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9t
YWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSw1ICsx
LDE2IEBACiAyMDEzLTExLTE4ICBCcmlhbiBKLiBCdXJnICA8YnVyZ0Bjcy53YXNoaW5ndG9uLmVk
dT4KIAorICAgICAgICBXZWIgSW5zcGVjdG9yOiBpbXBsZW1lbnQgUGFnZS5jYXB0dXJlU2NyZWVu
c2hvdCBpbiB0aGUgYmFja2VuZC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyNDMyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lmg6CisgICAg
ICAgICogV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1tOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yQ2xpZW50OjpjYXB0dXJlU2NyZWVuc2hvdCk6CisKKzIwMTMtMTEtMTggIEJyaWFu
IEouIEJ1cmcgIDxidXJnQGNzLndhc2hpbmd0b24uZWR1PgorCiAgICAgICAgIENvbnNvbGlkYXRl
IHZhcmlvdXMgZnJhbWUgc25hcHNob3QgY2FwYWJpbGl0aWVzLgogICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0MzI1CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA3NTAx
NTBjZGY0ZjViMmE2YzBmMzkyMjEwZWJlMzQ2MGU3M2MzZTQyLi42OTk2OGIwY2Q3ZWQyZTA5NGM4
NjVkMDZhYzg4Yzg4NDA4OTJhNTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTMt
MTEtMTggIEJyaWFuIEouIEJ1cmcgIDxidXJnQGNzLndhc2hpbmd0b24uZWR1PgorCisgICAgICAg
IFdlYiBJbnNwZWN0b3I6IGltcGxlbWVudCBQYWdlLmNhcHR1cmVTY3JlZW5zaG90IGluIHRoZSBi
YWNrZW5kLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTI0MzI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYkluc3BlY3RvckNsaWVudDo6Y2FwdHVyZVNjcmVlbnNob3QpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lmg6CisK
IDIwMTMtMTEtMTggIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAg
ICAgICBUaGUgUGFnZUxvYWRTdGF0ZSBvYmplY3Qgc2hvdWxkIGtlZXAgdHJhY2sgb2YgdGhlIGN1
cnJlbnQgVVJMCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDhjZGQxZmY2ZTM0YmYzNmZiOWE2NDhl
ODY4YjI0NzBjZmJlNzBlNDkuLjRkNGZiNTY4Y2VjNDc5YjZlZjE5NDA4ODJiMzI2MDg4ODZjNGQ3
NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC02OTMsNiArNjkzLDcgQEAgX19aTjdXZWJDb3Jl
MTdkcmF3TGF5ZXJDb250ZW50c0VQOUNHQ29udGV4dFBOU18xNVBsYXRmb3JtQ0FMYXllckVSTjNX
VEY2VmVjdG9ySU4KIF9fWk43V2ViQ29yZTE3bGFuZ3VhZ2VEaWRDaGFuZ2VFdgogX19aTjdXZWJD
b3JlMTdvcGVuVGVtcG9yYXJ5RmlsZUVSS04zV1RGNlN0cmluZ0VSaQogX19aTjdXZWJDb3JlMTdz
ZXRDb29raWVzRnJvbURPTUVSS05TXzIxTmV0d29ya1N0b3JhZ2VTZXNzaW9uRVJLTlNfM1VSTEVT
NV9SS04zV1RGNlN0cmluZ0UKK19fWk43V2ViQ29yZTE3c25hcHNob3RGcmFtZVJlY3RFUk5TXzVG
cmFtZUVSS05TXzdJbnRSZWN0RWoKIF9fWk43V2ViQ29yZTE3c1JHQkNvbG9yU3BhY2VSZWZFdgog
X19aTjdXZWJDb3JlMTd1c2VyVmlzaWJsZVN0cmluZ0VQNU5TVVJMCiBfX1pON1dlYkNvcmUxOERP
TVdpbmRvd0V4dGVuc2lvbkMxRVBOU181RnJhbWVFUk5TXzE1RE9NV3JhcHBlcldvcmxkRQpAQCAt
MTQyMSw2ICsxNDIyLDcgQEAgX19aTks3V2ViQ29yZTExSGlzdG9yeUl0ZW04Y2hpbGRyZW5Fdgog
X19aTks3V2ViQ29yZTExSGlzdG9yeUl0ZW04cmVmZXJyZXJFdgogX19aTks3V2ViQ29yZTExSGlz
dG9yeUl0ZW05dXJsU3RyaW5nRXYKIF9fWk5LN1dlYkNvcmUxMUhpc3RvcnlJdGVtOXZpZXdTdGF0
ZUV2CitfX1pOSzdXZWJDb3JlMTFJbWFnZUJ1ZmZlcjl0b0RhdGFVUkxFUktOM1dURjZTdHJpbmdF
UEtkTlMwXzE2Q29vcmRpbmF0ZVN5c3RlbUUKIF9fWk5LN1dlYkNvcmUxMVJlbmRlckxheWVyMTlh
YnNvbHV0ZUJvdW5kaW5nQm94RXYKIF9fWk5LN1dlYkNvcmUxMVJlbmRlckxheWVyMjRuZWVkc0Nv
bXBvc2l0ZWRTY3JvbGxpbmdFdgogX19aTks3V2ViQ29yZTExUmVuZGVyU3R5bGUxMWZvbnRNZXRy
aWNzRXYKQEAgLTE5NTIsNiArMTk1NCw3IEBAIF9fWk43V2ViQ29yZTEwaGFuZEN1cnNvckV2CiBf
X1pON1dlYkNvcmUxMUNhY2hlZEltYWdlNWltYWdlRXYKIF9fWk43V2ViQ29yZTExZ2xvYmFsUG9p
bnRFUks4X05TUG9pbnRQOE5TV2luZG93CiBfX1pON1dlYkNvcmUxMXRvVXNlclNwYWNlRVJLN19O
U1JlY3RQOE5TV2luZG93CitfX1pON1dlYkNvcmUxMUltYWdlQnVmZmVyRDFFdgogX19aTjdXZWJD
b3JlMTJFdmVudEhhbmRsZXIxMG1vdXNlTW92ZWRFUDdOU0V2ZW50CiBfX1pON1dlYkNvcmUxMkV2
ZW50SGFuZGxlcjEwd2hlZWxFdmVudEVQN05TRXZlbnQKIF9fWk43V2ViQ29yZTEyRXZlbnRIYW5k
bGVyMTJtb3VzZURyYWdnZWRFUDdOU0V2ZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMWRkZDE3ZTM5NWRhMmQ4MjY3ZTIxM2Uw
YzVlNTJmYTZjZWUxZDc3MS4uMzM0MDE3ZDgxZDY2NjFjMzZlNDZmY2I1MDgxNDgwY2Q1ZGY2MTIy
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtODgxLDggKzg4MSw4IEBACiAJCTIyNzc3NzYwMTM0NURFQTkwMDhFQTQ1NSAvKiBJ
bnNwZWN0b3JGcm9udGVuZENoYW5uZWwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDIyNzc3NzVGMTM0NURFQTkwMDhFQTQ1NSAvKiBJbnNwZWN0b3JGcm9u
dGVuZENoYW5uZWwuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkyMjhDMjg0NTEwRDgyNTAwMDA5RDBEMEUgLyogU2NyaXB0V3JhcHBhYmxlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyMjhDMjg0NDEwRDgy
NTAwMDA5RDBEMEUgLyogU2NyaXB0V3JhcHBhYmxlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMjI5MkIyN0MxMzU2NjY5NDAwQ0YxMUVGIC8qIElt
YWdlQnVmZmVyRGF0YUNHLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDIyOTJCMjdCMTM1NjY2OTQwMENGMTFFRiAvKiBJbWFnZUJ1ZmZlckRhdGFDRy5j
cHAgKi87IH07Ci0JCTIyQkQ5RjdGMTM1MzYyNUMwMDlCRDEwMiAvKiBJbWFnZUJ1ZmZlckRhdGEu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIyQkQ5RjdE
MTM1MzYyNUMwMDlCRDEwMiAvKiBJbWFnZUJ1ZmZlckRhdGEuaCAqLzsgfTsKLQkJMjJCRDlGODEx
MzUzNjRGRTAwOUJEMTAyIC8qIEltYWdlQnVmZmVyRGF0YUNHLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyMkJEOUY4MDEzNTM2NEZFMDA5QkQxMDIgLyog
SW1hZ2VCdWZmZXJEYXRhQ0cuaCAqLzsgfTsKKwkJMjJCRDlGN0YxMzUzNjI1QzAwOUJEMTAyIC8q
IEltYWdlQnVmZmVyRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMjJCRDlGN0QxMzUzNjI1QzAwOUJEMTAyIC8qIEltYWdlQnVmZmVyRGF0YS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTIyQkQ5Rjgx
MTM1MzY0RkUwMDlCRDEwMiAvKiBJbWFnZUJ1ZmZlckRhdGFDRy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjJCRDlGODAxMzUzNjRGRTAwOUJEMTAyIC8q
IEltYWdlQnVmZmVyRGF0YUNHLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMjREOTEyOTExM0NBOTUxRTAwRDIxOTE1IC8qIEpTU1ZHQWx0R2x5cGhE
ZWZFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDI0RDkxMjhGMTNDQTk1MUUwMEQyMTkxNSAvKiBKU1NWR0FsdEdseXBoRGVmRWxlbWVudC5j
cHAgKi87IH07CiAJCTI0RDkxMjkyMTNDQTk1MUUwMEQyMTkxNSAvKiBKU1NWR0FsdEdseXBoRGVm
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MjREOTEyOTAxM0NBOTUxRTAwRDIxOTE1IC8qIEpTU1ZHQWx0R2x5cGhEZWZFbGVtZW50LmggKi87
IH07CiAJCTI0RDkxMjk1MTNDQTk1NjEwMEQyMTkxNSAvKiBKU1NWR0FsdEdseXBoSXRlbUVsZW1l
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjRE
OTEyOTMxM0NBOTU2MTAwRDIxOTE1IC8qIEpTU1ZHQWx0R2x5cGhJdGVtRWxlbWVudC5jcHAgKi87
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ2xpZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ2xpZW50LmgKaW5kZXggNzBh
MTljOTE3NTgzNjZhMzlkNjAwY2QyYWE3ODY3N2UxN2U0MjQwYy4uMmRjMGYwZTEwNjM5NTQ4ZWIx
NjQwZTU4MzM3ZTQwYmNmNzMxMDRmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JDbGllbnQuaApAQCAtODgsNyArODgsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lk
IGdldEFsbG9jYXRlZE9iamVjdHMoSGFzaFNldDxjb25zdCB2b2lkKj4mKSB7IH0KICAgICB2aXJ0
dWFsIHZvaWQgZHVtcFVuY291bnRlZEFsbG9jYXRlZE9iamVjdHMoY29uc3QgSGFzaE1hcDxjb25z
dCB2b2lkKiwgc2l6ZV90PiYpIHsgfQogCi0gICAgdmlydHVhbCBib29sIGNhcHR1cmVTY3JlZW5z
aG90KFN0cmluZyopIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIGNhcHR1cmVQ
YWdlU25hcHNob3QoaW50LCBpbnQsIGludCwgaW50LCBib29sLCBTdHJpbmcqKSB7IHJldHVybiBm
YWxzZTsgfQogCiAgICAgdmlydHVhbCBib29sIGhhbmRsZUphdmFTY3JpcHREaWFsb2coYm9vbCwg
Y29uc3QgU3RyaW5nKikgeyByZXR1cm4gZmFsc2U7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcAppbmRleCAzMjQ3ZDNkMDBiNzNhMmRlMTUy
MDViMzQ2NTVkMzhjMmJmNDUzYWEwLi4yNmU0OWQ3M2Y3NmQ2ZTBkMGZmN2M1MjEyYTVhOTlhNjkz
ZmM1ZTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFn
ZUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFn
ZW50LmNwcApAQCAtMTI1Niw5ICsxMjU2LDIxIEBAIHZvaWQgSW5zcGVjdG9yUGFnZUFnZW50Ojpz
ZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKEVycm9yU3RyaW5nKiwgYm9vbCB2aXNpYmxlCiAg
ICAgbV9wYWdlLT5zZXR0aW5ncygpLnNldFNob3dSZXBhaW50Q291bnRlcih2aXNpYmxlKTsKIH0K
IAotdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OmNhcHR1cmVTY3JlZW5zaG90KEVycm9yU3RyaW5n
KiBlcnJvclN0cmluZywgU3RyaW5nKiBkYXRhKQordm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OmNh
cHR1cmVQYWdlU25hcHNob3QoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBpbnQqIHgs
IGNvbnN0IGludCogeSwgY29uc3QgaW50KiB3aWR0aCwgY29uc3QgaW50KiBoZWlnaHQsIGNvbnN0
IGJvb2wqIHVzZVBhZ2VDb29yZGluYXRlcywgU3RyaW5nKiBvdXREYXRhKQogewotICAgIGlmICgh
bV9jbGllbnQtPmNhcHR1cmVTY3JlZW5zaG90KGRhdGEpKQorICAgIGJvb2wgcmVzdWx0ID0gZmFs
c2U7CisKKyAgICBpZiAoeCAmJiB5ICYmIHdpZHRoICYmIGhlaWdodCkgeworICAgICAgICBib29s
IHVzZVBhZ2VDb29yZGluYXRlc1ZhbHVlID0gdXNlUGFnZUNvb3JkaW5hdGVzID8gKnVzZVBhZ2VD
b29yZGluYXRlcyA6IHRydWU7CisgICAgICAgIHJlc3VsdCA9IG1fY2xpZW50LT5jYXB0dXJlUGFn
ZVNuYXBzaG90KCp4LCAqeSwgKndpZHRoLCAqaGVpZ2h0LCB1c2VQYWdlQ29vcmRpbmF0ZXNWYWx1
ZSwgb3V0RGF0YSk7CisgICAgfSBlbHNlIGlmIChGcmFtZSogZnJhbWUgPSBtYWluRnJhbWUoKSkg
eworICAgICAgICBpZiAoRnJhbWVWaWV3KiB2aWV3ID0gZnJhbWUtPnZpZXcoKSkgeworICAgICAg
ICAgICAgSW50UmVjdCB2aWV3cG9ydCA9IGVuY2xvc2luZ0ludFJlY3Qodmlldy0+dmlld3BvcnRD
b25zdHJhaW5lZFZpc2libGVDb250ZW50UmVjdCgpKTsKKyAgICAgICAgICAgIHJlc3VsdCA9IG1f
Y2xpZW50LT5jYXB0dXJlUGFnZVNuYXBzaG90KHZpZXdwb3J0LngoKSwgdmlld3BvcnQueSgpLCB2
aWV3cG9ydC53aWR0aCgpLCB2aWV3cG9ydC5oZWlnaHQoKSwgZmFsc2UsIG91dERhdGEpOworICAg
ICAgICB9CisgICAgfQorCisgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgICplcnJvclN0cmluZyA9
ICJDb3VsZCBub3QgY2FwdHVyZSBzY3JlZW5zaG90IjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oCmluZGV4IDhmNGJkNDQ4ZGJkOGFiOGViYzIw
MTM5NjhlMTU1NTNlZmUxYjRjNmIuLjNhMTcwODE5YzA0ZTQ4OTM3MmVhYzYwYjQxMmQ2YWE3NmFj
NDQzMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdl
QWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50
LmgKQEAgLTEyOSw3ICsxMjksNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldEVtdWxh
dGVkTWVkaWEoRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmKTsKICAgICB2aXJ0dWFsIHZvaWQg
Z2V0Q29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZShFcnJvclN0cmluZyosIGJvb2wqIG91dF9wYXJh
bSk7CiAgICAgdmlydHVhbCB2b2lkIHNldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUoRXJyb3JT
dHJpbmcqLCBib29sKTsKLSAgICB2aXJ0dWFsIHZvaWQgY2FwdHVyZVNjcmVlbnNob3QoRXJyb3JT
dHJpbmcqLCBTdHJpbmcqIGRhdGEpOworICAgIHZpcnR1YWwgdm9pZCBjYXB0dXJlUGFnZVNuYXBz
aG90KEVycm9yU3RyaW5nKiwgY29uc3QgaW50KiB4LCBjb25zdCBpbnQqIHksIGNvbnN0IGludCog
d2lkdGgsIGNvbnN0IGludCogaGVpZ2h0LCBjb25zdCBib29sKiB1c2VQYWdlQ29vcmRpbmF0ZXMs
IFN0cmluZyogb3V0RGF0YSk7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUphdmFTY3JpcHREaWFs
b2coRXJyb3JTdHJpbmcqLCBib29sIGFjY2VwdCwgY29uc3QgU3RyaW5nKiBwcm9tcHRUZXh0KTsK
ICAgICB2aXJ0dWFsIHZvaWQgYXJjaGl2ZShFcnJvclN0cmluZyosIFN0cmluZyogZGF0YSk7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9QYWdlLmpzb24g
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvUGFnZS5qc29uCmluZGV4IDdlZTFm
NjhjMTU4YjI3OTU0YzRiZTU4MGU5NmZjMmFiZmZmMmFmYTMuLjVlNGZjMTNkY2MzNDFhMWQ1YmQx
MzQ4MDA5Y2ZmMzU1YmYzZGRjMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9wcm90b2NvbC9QYWdlLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3Byb3Rv
Y29sL1BhZ2UuanNvbgpAQCAtMzQ0LDggKzM0NCwxNSBAQAogICAgICAgICAgICAgXQogICAgICAg
ICB9LAogICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJjYXB0dXJlU2NyZWVuc2hvdCIs
Ci0gICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ2FwdHVyZSBwYWdlIHNjcmVlbnNob3QuIiwK
KyAgICAgICAgICAgICJuYW1lIjogImNhcHR1cmVQYWdlU25hcHNob3QiLAorICAgICAgICAgICAg
ImRlc2NyaXB0aW9uIjogIkNhcHR1cmUgYSBzbmFwc2hvdCBvZiB0aGUgcGFnZSB1c2luZyB0aGUg
c3VwcGxpZWQgcmVjdGFuZ2xlLiBJZiBhbnkgYXJndW1lbnRzIGFyZSBtaXNzaW5nLCB0aGUgZW50
aXJlIHZpZXdwb3J0IGlzIGNhcHR1cmVkLiIsCisgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsK
KyAgICAgICAgICAgICAgICB7ICJuYW1lIjogIngiLCAidHlwZSI6ICJpbnRlZ2VyIiwgIm9wdGlv
bmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlggY29vcmRpbmF0ZSIgfSwKKyAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogInkiLCAidHlwZSI6ICJpbnRlZ2VyIiwgIm9wdGlvbmFsIjogdHJ1ZSwg
ImRlc2NyaXB0aW9uIjogIlkgY29vcmRpbmF0ZSIgfSwKKyAgICAgICAgICAgICAgICB7ICJuYW1l
IjogIndpZHRoIiwgInR5cGUiOiAiaW50ZWdlciIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlw
dGlvbiI6ICJSZWN0YW5nbGUgd2lkdGgiIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJo
ZWlnaHQiLCAidHlwZSI6ICJpbnRlZ2VyIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9u
IjogIlJlY3RhbmdsZSBoZWlnaHQiIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ1c2VQ
YWdlQ29vcmRpbmF0ZXMiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRl
c2NyaXB0aW9uIjogIkluZGljYXRlcyB3aGV0aGVyIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzIGFy
ZSBpbiBwYWdlIGNvb3JkaW5hdGVzIG9yIGluIHZpZXdwb3J0IGNvb3JkaW5hdGVzICh0aGUgZGVm
YXVsdCkuIiB9CisgICAgICAgICAgICBdLAogICAgICAgICAgICAgInJldHVybnMiOiBbCiAgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJkYXRhIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0
aW9uIjogIkJhc2U2NC1lbmNvZGVkIGltYWdlIGRhdGEgKFBORykuIiB9CiAgICAgICAgICAgICBd
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbnNwZWN0
b3JCYWNrZW5kQ29tbWFuZHMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMKaW5kZXggMmEyMGEwOGM2MzhkZGFjOTg4MzFi
NDJjMWNjNjM0NzVkM2FhYjYyYS4uNDg4Mzg3MTgyZDllYzE2OTBiYjAyZTZkNGEyNjQzY2QyYzRk
ZTkwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW5z
cGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL0luc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcwpAQCAtMzM0LDcgKzMzNCw3IEBA
IEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJQYWdlLnNldFRvdWNoRW11bGF0aW9u
RW5hYmxlZCIsIFt7Im5hbWUiOiAiZW5hCiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFu
ZCgiUGFnZS5zZXRFbXVsYXRlZE1lZGlhIiwgW3sibmFtZSI6ICJtZWRpYSIsICJ0eXBlIjogInN0
cmluZyIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFtdKTsKIEluc3BlY3RvckJhY2tlbmQucmVnaXN0
ZXJDb21tYW5kKCJQYWdlLmdldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUiLCBbXSwgWyJyZXN1
bHQiXSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5zZXRDb21wb3Np
dGluZ0JvcmRlcnNWaXNpYmxlIiwgW3sibmFtZSI6ICJ2aXNpYmxlIiwgInR5cGUiOiAiYm9vbGVh
biIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFtdKTsKLUluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJD
b21tYW5kKCJQYWdlLmNhcHR1cmVTY3JlZW5zaG90IiwgW10sIFsiZGF0YSJdKTsKK0luc3BlY3Rv
ckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJQYWdlLmNhcHR1cmVQYWdlU25hcHNob3QiLCBbeyJu
YW1lIjogIngiLCAib3B0aW9uYWwiOiB0cnVlLCAidHlwZSI6ICJudW1iZXIifSwgeyJuYW1lIjog
InkiLCAib3B0aW9uYWwiOiB0cnVlLCAidHlwZSI6ICJudW1iZXIifSwgeyJuYW1lIjogIndpZHRo
IiwgIm9wdGlvbmFsIjogdHJ1ZSwgInR5cGUiOiAibnVtYmVyIn0sIHsibmFtZSI6ICJoZWlnaHQi
LCAib3B0aW9uYWwiOiB0cnVlLCAidHlwZSI6ICJudW1iZXIifSwgeyJuYW1lIjogInVzZVBhZ2VD
b29yZGluYXRlcyIsICJvcHRpb25hbCI6IHRydWUsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9u
YWwiOiB0cnVlfV0sIFsiZGF0YSJdKTsKIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5k
KCJQYWdlLmhhbmRsZUphdmFTY3JpcHREaWFsb2ciLCBbeyJuYW1lIjogImFjY2VwdCIsICJ0eXBl
IjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiBmYWxzZX0sIHsibmFtZSI6ICJwcm9tcHRUZXh0Iiwg
InR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogdHJ1ZX1dLCBbXSk7CiBJbnNwZWN0b3JCYWNr
ZW5kLnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5hcmNoaXZlIiwgW10sIFsiZGF0YSJdKTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGll
bnQuaAppbmRleCA1NTFhZjdmMTZkM2UzMWU0NGNjYjY0ZmI5NzY0N2Y3ZDdlNWU2YzUyLi5hZTA5
MWFjNzkwY2M2ZTMxZTlkNWM2YzExMjk5NDU5ODhlN2E4MmQyIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaApAQCAtNzMs
NiArNzMsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGhpZ2hsaWdodCgpIE9WRVJSSURF
OwogICAgIHZpcnR1YWwgdm9pZCBoaWRlSGlnaGxpZ2h0KCkgT1ZFUlJJREU7CiAKKyAgICB2aXJ0
dWFsIGJvb2wgY2FwdHVyZVBhZ2VTbmFwc2hvdChpbnQgeCwgaW50IHksIGludCB3aWR0aCwgaW50
IGhlaWdodCwgYm9vbCB1c2VQYWdlQ29vcmRpbmF0ZXMsIFN0cmluZyogb3V0RGF0YSk7CiAgICAg
dmlydHVhbCB2b2lkIGRpZFNldFNlYXJjaGluZ0Zvck5vZGUoYm9vbCkgT1ZFUlJJREU7CiAKICAg
ICB2aXJ0dWFsIGJvb2wgc2VuZE1lc3NhZ2VUb0Zyb250ZW5kKGNvbnN0IFN0cmluZyYpIE9WRVJS
SURFOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5z
cGVjdG9yQ2xpZW50Lm1tIGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5z
cGVjdG9yQ2xpZW50Lm1tCmluZGV4IGU0MzhjNmRmM2RiYmU1ZjM3Yjc1ZmUxYzg2OTk0Njg4MmU1
MTA2MzYuLmJhZjA5ZDA2OTdjMGRhOGU5MzE2YmM4NTdlNjk2Yzg4ZGY0ZTFhMmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGll
bnQubW0KQEAgLTQzLDYgKzQzLDggQEAKICNpbXBvcnQgIldlYlVJRGVsZWdhdGUuaCIKICNpbXBv
cnQgIldlYlZpZXdJbnRlcm5hbC5oIgogI2ltcG9ydCA8YWxnb3JpdGhtPgorI2ltcG9ydCA8V2Vi
Q29yZS9GcmFtZVNuYXBzaG90dGluZy5oPgorI2ltcG9ydCA8V2ViQ29yZS9JbWFnZUJ1ZmZlci5o
PgogI2ltcG9ydCA8V2ViQ29yZS9JbnNwZWN0b3JDb250cm9sbGVyLmg+CiAjaW1wb3J0IDxXZWJD
b3JlL0luc3BlY3RvckZyb250ZW5kQ2xpZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL01haW5GcmFt
ZS5oPgpAQCAtNTQsNiArNTYsNyBAQAogI2ltcG9ydCA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+
CiAjaW1wb3J0IDx3dGYvUGFzc093blB0ci5oPgogI2ltcG9ydCA8d3RmL3RleHQvQmFzZTY0Lmg+
CisjaW1wb3J0IDx3dGYvdGV4dC9TdHJpbmdDb25jYXRlbmF0ZS5oPgogCiAjaWYgRU5BQkxFKFJF
TU9URV9JTlNQRUNUT1IpCiAjaW1wb3J0ICJXZWJJbnNwZWN0b3JDbGllbnRSZWdpc3RyeS5oIgpA
QCAtMTk3LDYgKzIwMCwyMyBAQCB2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6aGlkZUhpZ2hsaWdo
dCgpCiAgICAgW21faGlnaGxpZ2h0ZXIuZ2V0KCkgaGlkZUhpZ2hsaWdodF07CiB9CiAKK2Jvb2wg
V2ViSW5zcGVjdG9yQ2xpZW50OjpjYXB0dXJlUGFnZVNuYXBzaG90KGludCB4LCBpbnQgeSwgaW50
IHdpZHRoLCBpbnQgaGVpZ2h0LCBib29sIHVzZVBhZ2VDb29yZGluYXRlcywgU3RyaW5nKiBvdXRE
YXRhKQoreworICAgIFdlYkNvcmU6OkZyYW1lKiBmcmFtZSA9IGNvcmUoW21fd2ViVmlldyBtYWlu
RnJhbWVdKTsKKyAgICBpZiAoIWZyYW1lKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBJ
bnRSZWN0IGltYWdlUmVjdCA9IEludFJlY3QoeCwgeSwgd2lkdGgsIGhlaWdodCk7CisgICAgU25h
cHNob3RPcHRpb25zIG9wdGlvbnMgPSAhdXNlUGFnZUNvb3JkaW5hdGVzID8gU25hcHNob3RPcHRp
b25zSW5WaWV3Q29vcmRpbmF0ZXMgOiAwOworICAgIHN0ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZl
cj4gc25hcHNob3QgPSBzbmFwc2hvdEZyYW1lUmVjdCgqZnJhbWUsIGltYWdlUmVjdCwgb3B0aW9u
cyk7CisgICAgaWYgKCFzbmFwc2hvdCkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgKm91
dERhdGEgPSBzbmFwc2hvdC0+dG9EYXRhVVJMKCJpbWFnZS9wbmciKTsKKyAgICByZXR1cm4gdHJ1
ZTsKK30KKworCiB2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6ZGlkU2V0U2VhcmNoaW5nRm9yTm9k
ZShib29sIGVuYWJsZWQpCiB7CiAgICAgV2ViSW5zcGVjdG9yICppbnNwZWN0b3IgPSBbbV93ZWJW
aWV3IGluc3BlY3Rvcl07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHAKaW5kZXggMTMxZTUy
YzZlZjVhNWQwMjBlMzM4NjViNzVlY2E0NDQ2ZWMwNjhlNS4uNTBlMDU5ODE4NjlhNjQyZWI2NDZl
ODI1MTQ1Y2IwMWRmZmEyNzBlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcApAQCAt
MzAsNiArMzAsOSBAQAogCiAjaW5jbHVkZSAiV2ViSW5zcGVjdG9yLmgiCiAjaW5jbHVkZSAiV2Vi
UGFnZS5oIgorI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0Zy
YW1lU25hcHNob3R0aW5nLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9JbWFnZUJ1ZmZlci5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvSW5zcGVjdG9yQ29udHJvbGxlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UGFnZS5oPgogCkBAIC04Niw2ICs4OSwyMiBAQCB2b2lkIFdlYkluc3BlY3RvckNsaWVudDo6aGlk
ZUhpZ2hsaWdodCgpCiAgICAgICAgIG1fcGFnZS0+dW5pbnN0YWxsUGFnZU92ZXJsYXkobV9oaWdo
bGlnaHRPdmVybGF5LCB0cnVlKTsKIH0KIAorYm9vbCBXZWJJbnNwZWN0b3JDbGllbnQ6OmNhcHR1
cmVQYWdlU25hcHNob3QoaW50IHgsIGludCB5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQsIGJvb2wg
dXNlUGFnZUNvb3JkaW5hdGVzLCBTdHJpbmcqIG91dERhdGEpCit7CisgICAgV2ViQ29yZTo6RnJh
bWUqIGZyYW1lID0gbV9wYWdlLT5tYWluRnJhbWUoKTsKKyAgICBpZiAoIWZyYW1lKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisKKyAgICBJbnRSZWN0IGltYWdlUmVjdCA9IEludFJlY3QoeCwgeSwg
d2lkdGgsIGhlaWdodCk7CisgICAgU25hcHNob3RPcHRpb25zIG9wdGlvbnMgPSAhdXNlUGFnZUNv
b3JkaW5hdGVzID8gU25hcHNob3RPcHRpb25zSW5WaWV3Q29vcmRpbmF0ZXMgOiAwOworICAgIHN0
ZDo6dW5pcXVlX3B0cjxJbWFnZUJ1ZmZlcj4gc25hcHNob3QgPSBzbmFwc2hvdEZyYW1lUmVjdCgq
ZnJhbWUsIGltYWdlUmVjdCwgb3B0aW9ucyk7CisgICAgaWYgKCFzbmFwc2hvdCkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgKm91dERhdGEgPSBzbmFwc2hvdC0+dG9EYXRhVVJMKCJpbWFn
ZS9wbmciKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogYm9vbCBXZWJJbnNwZWN0b3JDbGllbnQ6
OnNlbmRNZXNzYWdlVG9Gcm9udGVuZChjb25zdCBTdHJpbmcmIG1lc3NhZ2UpCiB7CiAgICAgV2Vi
SW5zcGVjdG9yKiBpbnNwZWN0b3IgPSBtX3BhZ2UtPmluc3BlY3RvcigpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGll
bnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVj
dG9yQ2xpZW50LmgKaW5kZXggM2VlMmVhODJhNWVjNjE1ODMzZTczNDUyOGFlZTNlZDQxZTUxYjhi
Yy4uZmE5ZGM3Yjc4NjEyODFiYTFhZmU5MzY0NTY4NDc3NDE5N2Y3NmE2NiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGll
bnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYklu
c3BlY3RvckNsaWVudC5oCkBAIC02MSw2ICs2MSw4IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2
b2lkIGhpZ2hsaWdodCgpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBoaWRlSGlnaGxpZ2h0
KCkgT1ZFUlJJREU7CiAKKyAgICB2aXJ0dWFsIGJvb2wgY2FwdHVyZVBhZ2VTbmFwc2hvdChpbnQg
eCwgaW50IHksIGludCB3aWR0aCwgaW50IGhlaWdodCwgYm9vbCB1c2VQYWdlQ29vcmRpbmF0ZXMs
IFN0cmluZyogb3V0RGF0YSk7CisKICAgICB2aXJ0dWFsIGJvb2wgc2VuZE1lc3NhZ2VUb0Zyb250
ZW5kKGNvbnN0IFN0cmluZyYpIE9WRVJSSURFOwogCiAgICAgdmlydHVhbCBib29sIHN1cHBvcnRz
RnJhbWVJbnN0cnVtZW50YXRpb24oKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217251</attachid>
            <date>2013-11-18 16:37:18 -0800</date>
            <delta_ts>2013-11-19 17:02:10 -0800</delta_ts>
            <desc>v1.1</desc>
            <filename>bug-124326-20131118163718.patch</filename>
            <type>text/plain</type>
            <size>17770</size>
            <attacher name="Brian Burg">burg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5NDU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODQyZGJmMmQ0NTc4YTQy
YTYzMDY3Zjg4MmU5ZDA5YjY4MTYyOTAzZi4uMDliMjYwZjNkYThkNjhlMTUzZmVhZTU4Njk5ZWIy
MmI2NTE1YjY1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIxIEBACiAyMDEzLTExLTE4ICBCcmlh
biBKLiBCdXJnICA8YnVyZ0Bjcy53YXNoaW5ndG9uLmVkdT4KIAorICAgICAgICBXZWIgSW5zcGVj
dG9yOiBpbXBsZW1lbnQgUGFnZS5jYXB0dXJlUGFnZVNuYXBzaG90IGluIHRoZSBiYWNrZW5kLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0MzI2CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IE1ha2UgSW1hZ2VCdWZmZXIuaCBhbmQKKyAgICAg
ICAgSW1hZ2VCdWZmZXJDRy5oIHByaXZhdGUgaGVhZGVycy4KKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDbGllbnQ6OmNh
cHR1cmVQYWdlU25hcHNob3QpOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
UGFnZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6Y2Fw
dHVyZVBhZ2VTbmFwc2hvdCk6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQ
YWdlQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvdG9jb2wvUGFnZS5qc29uOiBhZGRl
ZCBjYXB0dXJlUGFnZVNuYXBzaG90IG1ldGhvZC4KKworMjAxMy0xMS0xNiAgQnJpYW4gSi4gQnVy
ZyAgPGJ1cmdAY3Mud2FzaGluZ3Rvbi5lZHU+CisKICAgICAgICAgQ29uc29saWRhdGUgdmFyaW91
cyBmcmFtZSBzbmFwc2hvdCBjYXBhYmlsaXRpZXMuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQzMjUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5k
ZXggNzAwNjliYWUyYTRkMGU1MDMyYjJkZmY2M2ZjZGZlNzVkYzQzYzAwYi4uZTNjMjU2YjMzYjJm
YmVkYzI4Mzg1M2Y3M2ViZjQ5YTEzNmRmMTRhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTIgQEAKKzIwMTMtMTEtMTYgIEJyaWFuIEouIEJ1cmcgIDxidXJnQGNzLndhc2hp
bmd0b24uZWR1PgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGltcGxlbWVudCBQYWdlLmNhcHR1
cmVTY3JlZW5zaG90IGluIHRoZSBiYWNrZW5kLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0MzI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0luc3BlY3RvckJhY2tlbmRDb21t
YW5kcy5qczoKKwogMjAxMy0xMS0xNSAgQW50b2luZSBRdWludCAgPGdyYW91dHNAYXBwbGUuY29t
PgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IE5ldyBjb2xvciBwaWNrZXIKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwppbmRleCBjMGQ4ZGZhMmJmMTgzYTY5NmZhZDAyZTExYTEwNTQxMzA4N2QxZGRmLi5iMjI1ZDk4
OWRmNTZhNmQxNjU5Y2M3NzU4YTNlMWYyOGJhZDc4MTg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0x
LDUgKzEsMTYgQEAKIDIwMTMtMTEtMTggIEJyaWFuIEouIEJ1cmcgIDxidXJnQGNzLndhc2hpbmd0
b24uZWR1PgogCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IGltcGxlbWVudCBQYWdlLmNhcHR1cmVQ
YWdlU25hcHNob3QgaW4gdGhlIGJhY2tlbmQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMjQzMjYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5o
OgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5tbToKKyAgICAg
ICAgKFdlYkluc3BlY3RvckNsaWVudDo6Y2FwdHVyZVNjcmVlbnNob3QpOiBBZGRlZCwgdXNlcyBz
bmFwc2hvdEZyYW1lUmVjdC4KKworMjAxMy0xMS0xOCAgQnJpYW4gSi4gQnVyZyAgPGJ1cmdAY3Mu
d2FzaGluZ3Rvbi5lZHU+CisKICAgICAgICAgQ29uc29saWRhdGUgdmFyaW91cyBmcmFtZSBzbmFw
c2hvdCBjYXBhYmlsaXRpZXMuCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xMjQzMjUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDc1MDE1MGNkZjRmNWIyYTZjMGYzOTIy
MTBlYmUzNDYwZTczYzNlNDIuLjVmYTBhMDg1ODg1NmRkNDJmYjQ5NjBlOGZmOGQyMGE5MjkzNjUy
MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMy0xMS0xOCAgQnJpYW4gSi4gQnVy
ZyAgPGJ1cmdAY3Mud2FzaGluZ3Rvbi5lZHU+CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogaW1w
bGVtZW50IFBhZ2UuY2FwdHVyZVBhZ2VTbmFwc2hvdCBpbiB0aGUgYmFja2VuZC4KKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNDMyNgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJJ
bnNwZWN0b3JDbGllbnQ6OmNhcHR1cmVTY3JlZW5zaG90KTogQWRkZWQsIHVzZXMgc25hcHNob3RG
cmFtZVJlY3QuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0
b3JDbGllbnQuaDoKKwogMjAxMy0xMS0xOCAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBw
bGUuY29tPgogCiAgICAgICAgIFRoZSBQYWdlTG9hZFN0YXRlIG9iamVjdCBzaG91bGQga2VlcCB0
cmFjayBvZiB0aGUgY3VycmVudCBVUkwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggOGNkZDFmZjZl
MzRiZjM2ZmI5YTY0OGU4NjhiMjQ3MGNmYmU3MGU0OS4uNGQ0ZmI1NjhjZWM0NzliNmVmMTk0MDg4
MmIzMjYwODg4NmM0ZDc1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAu
aW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTY5Myw2ICs2OTMsNyBA
QCBfX1pON1dlYkNvcmUxN2RyYXdMYXllckNvbnRlbnRzRVA5Q0dDb250ZXh0UE5TXzE1UGxhdGZv
cm1DQUxheWVyRVJOM1dURjZWZWN0b3JJTgogX19aTjdXZWJDb3JlMTdsYW5ndWFnZURpZENoYW5n
ZUV2CiBfX1pON1dlYkNvcmUxN29wZW5UZW1wb3JhcnlGaWxlRVJLTjNXVEY2U3RyaW5nRVJpCiBf
X1pON1dlYkNvcmUxN3NldENvb2tpZXNGcm9tRE9NRVJLTlNfMjFOZXR3b3JrU3RvcmFnZVNlc3Np
b25FUktOU18zVVJMRVM1X1JLTjNXVEY2U3RyaW5nRQorX19aTjdXZWJDb3JlMTdzbmFwc2hvdEZy
YW1lUmVjdEVSTlNfNUZyYW1lRVJLTlNfN0ludFJlY3RFagogX19aTjdXZWJDb3JlMTdzUkdCQ29s
b3JTcGFjZVJlZkV2CiBfX1pON1dlYkNvcmUxN3VzZXJWaXNpYmxlU3RyaW5nRVA1TlNVUkwKIF9f
Wk43V2ViQ29yZTE4RE9NV2luZG93RXh0ZW5zaW9uQzFFUE5TXzVGcmFtZUVSTlNfMTVET01XcmFw
cGVyV29ybGRFCkBAIC0xNDIxLDYgKzE0MjIsNyBAQCBfX1pOSzdXZWJDb3JlMTFIaXN0b3J5SXRl
bThjaGlsZHJlbkV2CiBfX1pOSzdXZWJDb3JlMTFIaXN0b3J5SXRlbThyZWZlcnJlckV2CiBfX1pO
SzdXZWJDb3JlMTFIaXN0b3J5SXRlbTl1cmxTdHJpbmdFdgogX19aTks3V2ViQ29yZTExSGlzdG9y
eUl0ZW05dmlld1N0YXRlRXYKK19fWk5LN1dlYkNvcmUxMUltYWdlQnVmZmVyOXRvRGF0YVVSTEVS
S04zV1RGNlN0cmluZ0VQS2ROUzBfMTZDb29yZGluYXRlU3lzdGVtRQogX19aTks3V2ViQ29yZTEx
UmVuZGVyTGF5ZXIxOWFic29sdXRlQm91bmRpbmdCb3hFdgogX19aTks3V2ViQ29yZTExUmVuZGVy
TGF5ZXIyNG5lZWRzQ29tcG9zaXRlZFNjcm9sbGluZ0V2CiBfX1pOSzdXZWJDb3JlMTFSZW5kZXJT
dHlsZTExZm9udE1ldHJpY3NFdgpAQCAtMTk1Miw2ICsxOTU0LDcgQEAgX19aTjdXZWJDb3JlMTBo
YW5kQ3Vyc29yRXYKIF9fWk43V2ViQ29yZTExQ2FjaGVkSW1hZ2U1aW1hZ2VFdgogX19aTjdXZWJD
b3JlMTFnbG9iYWxQb2ludEVSSzhfTlNQb2ludFA4TlNXaW5kb3cKIF9fWk43V2ViQ29yZTExdG9V
c2VyU3BhY2VFUks3X05TUmVjdFA4TlNXaW5kb3cKK19fWk43V2ViQ29yZTExSW1hZ2VCdWZmZXJE
MUV2CiBfX1pON1dlYkNvcmUxMkV2ZW50SGFuZGxlcjEwbW91c2VNb3ZlZEVQN05TRXZlbnQKIF9f
Wk43V2ViQ29yZTEyRXZlbnRIYW5kbGVyMTB3aGVlbEV2ZW50RVA3TlNFdmVudAogX19aTjdXZWJD
b3JlMTJFdmVudEhhbmRsZXIxMm1vdXNlRHJhZ2dlZEVQN05TRXZlbnQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAxZGRkMTdlMzk1
ZGEyZDgyNjdlMjEzZTBjNWU1MmZhNmNlZTFkNzcxLi4zMzQwMTdkODFkNjY2MWMzNmU0NmZjYjUw
ODE0ODBjZDVkZjYxMjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC04ODEsOCArODgxLDggQEAKIAkJMjI3Nzc3NjAxMzQ1REVB
OTAwOEVBNDU1IC8qIEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjI3Nzc3NUYxMzQ1REVBOTAwOEVBNDU1IC8q
IEluc3BlY3RvckZyb250ZW5kQ2hhbm5lbC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCTIyOEMyODQ1MTBEODI1MDAwMDlEMEQwRSAvKiBTY3JpcHRX
cmFwcGFibGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDIyOEMyODQ0MTBEODI1MDAwMDlEMEQwRSAvKiBTY3JpcHRXcmFwcGFibGUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyMjkyQjI3QzEzNTY2Njk0
MDBDRjExRUYgLyogSW1hZ2VCdWZmZXJEYXRhQ0cuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjI5MkIyN0IxMzU2NjY5NDAwQ0YxMUVGIC8qIEltYWdl
QnVmZmVyRGF0YUNHLmNwcCAqLzsgfTsKLQkJMjJCRDlGN0YxMzUzNjI1QzAwOUJEMTAyIC8qIElt
YWdlQnVmZmVyRGF0YS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMjJCRDlGN0QxMzUzNjI1QzAwOUJEMTAyIC8qIEltYWdlQnVmZmVyRGF0YS5oICovOyB9
OwotCQkyMkJEOUY4MTEzNTM2NEZFMDA5QkQxMDIgLyogSW1hZ2VCdWZmZXJEYXRhQ0cuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDIyQkQ5RjgwMTM1MzY0
RkUwMDlCRDEwMiAvKiBJbWFnZUJ1ZmZlckRhdGFDRy5oICovOyB9OworCQkyMkJEOUY3RjEzNTM2
MjVDMDA5QkQxMDIgLyogSW1hZ2VCdWZmZXJEYXRhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyMkJEOUY3RDEzNTM2MjVDMDA5QkQxMDIgLyogSW1hZ2VC
dWZmZXJEYXRhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJMjJCRDlGODExMzUzNjRGRTAwOUJEMTAyIC8qIEltYWdlQnVmZmVyRGF0YUNHLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyMkJEOUY4MDEzNTM2
NEZFMDA5QkQxMDIgLyogSW1hZ2VCdWZmZXJEYXRhQ0cuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyNEQ5MTI5MTEzQ0E5NTFFMDBEMjE5MTUgLyog
SlNTVkdBbHRHbHlwaERlZkVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMjREOTEyOEYxM0NBOTUxRTAwRDIxOTE1IC8qIEpTU1ZHQWx0R2x5
cGhEZWZFbGVtZW50LmNwcCAqLzsgfTsKIAkJMjREOTEyOTIxM0NBOTUxRTAwRDIxOTE1IC8qIEpT
U1ZHQWx0R2x5cGhEZWZFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyNEQ5MTI5MDEzQ0E5NTFFMDBEMjE5MTUgLyogSlNTVkdBbHRHbHlwaERl
ZkVsZW1lbnQuaCAqLzsgfTsKIAkJMjREOTEyOTUxM0NBOTU2MTAwRDIxOTE1IC8qIEpTU1ZHQWx0
R2x5cGhJdGVtRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyNEQ5MTI5MzEzQ0E5NTYxMDBEMjE5MTUgLyogSlNTVkdBbHRHbHlwaEl0ZW1F
bGVtZW50LmNwcCAqLzsgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDbGll
bnQuaAppbmRleCA3MGExOWM5MTc1ODM2NmEzOWQ2MDBjZDJhYTc4Njc3ZTE3ZTQyNDBjLi42Yzkx
MmZiMDQ5YmE1YmZjZTliMWE5NGI2M2Q1NjZhOWVlZjAzMmM2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNsaWVudC5oCkBAIC04OCw3ICs4OCw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgZ2V0QWxsb2NhdGVkT2JqZWN0cyhIYXNoU2V0PGNvbnN0IHZvaWQqPiYp
IHsgfQogICAgIHZpcnR1YWwgdm9pZCBkdW1wVW5jb3VudGVkQWxsb2NhdGVkT2JqZWN0cyhjb25z
dCBIYXNoTWFwPGNvbnN0IHZvaWQqLCBzaXplX3Q+JikgeyB9CiAKLSAgICB2aXJ0dWFsIGJvb2wg
Y2FwdHVyZVNjcmVlbnNob3QoU3RyaW5nKikgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFs
IGJvb2wgY2FwdHVyZVBhZ2VTbmFwc2hvdChpbnQgLyp4Ki8sIGludCAvKnkqLywgaW50IC8qd2lk
dGgqLywgaW50IC8qaGVpZ2h0Ki8sIGJvb2wgLyp1c2VQYWdlQ29vcmRpbmF0ZXMqLywgU3RyaW5n
KiAvKm91dERhdGFVUkwqLykgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIHZpcnR1YWwgYm9vbCBo
YW5kbGVKYXZhU2NyaXB0RGlhbG9nKGJvb2wsIGNvbnN0IFN0cmluZyopIHsgcmV0dXJuIGZhbHNl
OyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdl
QWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5j
cHAKaW5kZXggMzI0N2QzZDAwYjczYTJkZTE1MjA1YjM0NjU1ZDM4YzJiZjQ1M2FhMC4uMjZlNDlk
NzNmNzZkNmUwZDBmZjdjNTIxMmE1YTk5YTY5M2ZjNWU1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKQEAgLTEyNTYsOSArMTI1NiwyMSBA
QCB2b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6c2V0Q29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZShF
cnJvclN0cmluZyosIGJvb2wgdmlzaWJsZQogICAgIG1fcGFnZS0+c2V0dGluZ3MoKS5zZXRTaG93
UmVwYWludENvdW50ZXIodmlzaWJsZSk7CiB9CiAKLXZvaWQgSW5zcGVjdG9yUGFnZUFnZW50Ojpj
YXB0dXJlU2NyZWVuc2hvdChFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIFN0cmluZyogZGF0YSkK
K3ZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpjYXB0dXJlUGFnZVNuYXBzaG90KEVycm9yU3RyaW5n
KiBlcnJvclN0cmluZywgY29uc3QgaW50KiB4LCBjb25zdCBpbnQqIHksIGNvbnN0IGludCogd2lk
dGgsIGNvbnN0IGludCogaGVpZ2h0LCBjb25zdCBib29sKiB1c2VQYWdlQ29vcmRpbmF0ZXMsIFN0
cmluZyogb3V0RGF0YSkKIHsKLSAgICBpZiAoIW1fY2xpZW50LT5jYXB0dXJlU2NyZWVuc2hvdChk
YXRhKSkKKyAgICBib29sIHJlc3VsdCA9IGZhbHNlOworCisgICAgaWYgKHggJiYgeSAmJiB3aWR0
aCAmJiBoZWlnaHQpIHsKKyAgICAgICAgYm9vbCB1c2VQYWdlQ29vcmRpbmF0ZXNWYWx1ZSA9IHVz
ZVBhZ2VDb29yZGluYXRlcyA/ICp1c2VQYWdlQ29vcmRpbmF0ZXMgOiB0cnVlOworICAgICAgICBy
ZXN1bHQgPSBtX2NsaWVudC0+Y2FwdHVyZVBhZ2VTbmFwc2hvdCgqeCwgKnksICp3aWR0aCwgKmhl
aWdodCwgdXNlUGFnZUNvb3JkaW5hdGVzVmFsdWUsIG91dERhdGEpOworICAgIH0gZWxzZSBpZiAo
RnJhbWUqIGZyYW1lID0gbWFpbkZyYW1lKCkpIHsKKyAgICAgICAgaWYgKEZyYW1lVmlldyogdmll
dyA9IGZyYW1lLT52aWV3KCkpIHsKKyAgICAgICAgICAgIEludFJlY3Qgdmlld3BvcnQgPSBlbmNs
b3NpbmdJbnRSZWN0KHZpZXctPnZpZXdwb3J0Q29uc3RyYWluZWRWaXNpYmxlQ29udGVudFJlY3Qo
KSk7CisgICAgICAgICAgICByZXN1bHQgPSBtX2NsaWVudC0+Y2FwdHVyZVBhZ2VTbmFwc2hvdCh2
aWV3cG9ydC54KCksIHZpZXdwb3J0LnkoKSwgdmlld3BvcnQud2lkdGgoKSwgdmlld3BvcnQuaGVp
Z2h0KCksIGZhbHNlLCBvdXREYXRhKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGlmICghcmVz
dWx0KQogICAgICAgICAqZXJyb3JTdHJpbmcgPSAiQ291bGQgbm90IGNhcHR1cmUgc2NyZWVuc2hv
dCI7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQ
YWdlQWdlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQu
aAppbmRleCA4ZjRiZDQ0OGRiZDhhYjhlYmMyMDEzOTY4ZTE1NTUzZWZlMWI0YzZiLi4zYTE3MDgx
OWMwNGU0ODkzNzJlYWM2MGI0MTJkNmFhNzZhYzQ0MzM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oCkBAIC0xMjksNyArMTI5LDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBzZXRFbXVsYXRlZE1lZGlhKEVycm9yU3RyaW5nKiwgY29uc3Qg
U3RyaW5nJik7CiAgICAgdmlydHVhbCB2b2lkIGdldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUo
RXJyb3JTdHJpbmcqLCBib29sKiBvdXRfcGFyYW0pOwogICAgIHZpcnR1YWwgdm9pZCBzZXRDb21w
b3NpdGluZ0JvcmRlcnNWaXNpYmxlKEVycm9yU3RyaW5nKiwgYm9vbCk7Ci0gICAgdmlydHVhbCB2
b2lkIGNhcHR1cmVTY3JlZW5zaG90KEVycm9yU3RyaW5nKiwgU3RyaW5nKiBkYXRhKTsKKyAgICB2
aXJ0dWFsIHZvaWQgY2FwdHVyZVBhZ2VTbmFwc2hvdChFcnJvclN0cmluZyosIGNvbnN0IGludCog
eCwgY29uc3QgaW50KiB5LCBjb25zdCBpbnQqIHdpZHRoLCBjb25zdCBpbnQqIGhlaWdodCwgY29u
c3QgYm9vbCogdXNlUGFnZUNvb3JkaW5hdGVzLCBTdHJpbmcqIG91dERhdGEpOwogICAgIHZpcnR1
YWwgdm9pZCBoYW5kbGVKYXZhU2NyaXB0RGlhbG9nKEVycm9yU3RyaW5nKiwgYm9vbCBhY2NlcHQs
IGNvbnN0IFN0cmluZyogcHJvbXB0VGV4dCk7CiAgICAgdmlydHVhbCB2b2lkIGFyY2hpdmUoRXJy
b3JTdHJpbmcqLCBTdHJpbmcqIGRhdGEpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvcHJvdG9jb2wvUGFnZS5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3By
b3RvY29sL1BhZ2UuanNvbgppbmRleCA3ZWUxZjY4YzE1OGIyNzk1NGM0YmU1ODBlOTZmYzJhYmZm
ZjJhZmEzLi5iYzNmZGJlZmMxYTEzZWI2YWUyMWYyY2M3ZjFmYjI0ZTgwYTZjOTNiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvUGFnZS5qc29uCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9QYWdlLmpzb24KQEAgLTM0NCw4ICszNDQs
MTUgQEAKICAgICAgICAgICAgIF0KICAgICAgICAgfSwKICAgICAgICAgewotICAgICAgICAgICAg
Im5hbWUiOiAiY2FwdHVyZVNjcmVlbnNob3QiLAotICAgICAgICAgICAgImRlc2NyaXB0aW9uIjog
IkNhcHR1cmUgcGFnZSBzY3JlZW5zaG90LiIsCisgICAgICAgICAgICAibmFtZSI6ICJjYXB0dXJl
UGFnZVNuYXBzaG90IiwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDYXB0dXJlIGEgc25h
cHNob3Qgb2YgdGhlIHBhZ2UgdXNpbmcgdGhlIHJlY3RhbmdsZSBzdXBwbGllZCBpbiB2aWV3cG9y
dCBjb29yZGluYXRlcy4gSWYgYW55IGFyZ3VtZW50cyBhcmUgbWlzc2luZywgdGhlIGVudGlyZSB2
aWV3cG9ydCBpcyBjYXB0dXJlZC4iLAorICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCisgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJ4IiwgInR5cGUiOiAiaW50ZWdlciIsICJvcHRpb25hbCI6
IHRydWUsICJkZXNjcmlwdGlvbiI6ICJYIGNvb3JkaW5hdGUiIH0sCisgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJ5IiwgInR5cGUiOiAiaW50ZWdlciIsICJvcHRpb25hbCI6IHRydWUsICJkZXNj
cmlwdGlvbiI6ICJZIGNvb3JkaW5hdGUiIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ3
aWR0aCIsICJ0eXBlIjogImludGVnZXIiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24i
OiAiUmVjdGFuZ2xlIHdpZHRoIiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaGVpZ2h0
IiwgInR5cGUiOiAiaW50ZWdlciIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJS
ZWN0YW5nbGUgaGVpZ2h0IiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidXNlUGFnZUNv
b3JkaW5hdGVzIiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlw
dGlvbiI6ICJJbmRpY2F0ZXMgd2hldGhlciB0aGUgcHJvdmlkZWQgcGFyYW1ldGVycyBhcmUgaW4g
cGFnZSBjb29yZGluYXRlcyBvciBpbiB2aWV3cG9ydCBjb29yZGluYXRlcyAodGhlIGRlZmF1bHQp
LiIgfQorICAgICAgICAgICAgXSwKICAgICAgICAgICAgICJyZXR1cm5zIjogWwogICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAiZGF0YSIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6
ICJCYXNlNjQtZW5jb2RlZCBpbWFnZSBkYXRhIChQTkcpLiIgfQogICAgICAgICAgICAgXQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW5zcGVjdG9yQmFj
a2VuZENvbW1hbmRzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW5z
cGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCmluZGV4IDJhMjBhMDhjNjM4ZGRhYzk4ODMxYjQyYzFj
YzYzNDc1ZDNhYWI2MmEuLjQ4ODM4NzE4MmQ5ZWMxNjkwYmIwMmU2ZDRhMjY0M2NkMmM0ZGU5MDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0luc3BlY3Rv
ckJhY2tlbmRDb21tYW5kcy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMKQEAgLTMzNCw3ICszMzQsNyBAQCBJbnNw
ZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5zZXRUb3VjaEVtdWxhdGlvbkVuYWJs
ZWQiLCBbeyJuYW1lIjogImVuYQogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIlBh
Z2Uuc2V0RW11bGF0ZWRNZWRpYSIsIFt7Im5hbWUiOiAibWVkaWEiLCAidHlwZSI6ICJzdHJpbmci
LCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29t
bWFuZCgiUGFnZS5nZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlIiwgW10sIFsicmVzdWx0Il0p
OwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIlBhZ2Uuc2V0Q29tcG9zaXRpbmdC
b3JkZXJzVmlzaWJsZSIsIFt7Im5hbWUiOiAidmlzaWJsZSIsICJ0eXBlIjogImJvb2xlYW4iLCAi
b3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7Ci1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFu
ZCgiUGFnZS5jYXB0dXJlU2NyZWVuc2hvdCIsIFtdLCBbImRhdGEiXSk7CitJbnNwZWN0b3JCYWNr
ZW5kLnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5jYXB0dXJlUGFnZVNuYXBzaG90IiwgW3sibmFtZSI6
ICJ4IiwgIm9wdGlvbmFsIjogdHJ1ZSwgInR5cGUiOiAibnVtYmVyIn0sIHsibmFtZSI6ICJ5Iiwg
Im9wdGlvbmFsIjogdHJ1ZSwgInR5cGUiOiAibnVtYmVyIn0sIHsibmFtZSI6ICJ3aWR0aCIsICJv
cHRpb25hbCI6IHRydWUsICJ0eXBlIjogIm51bWJlciJ9LCB7Im5hbWUiOiAiaGVpZ2h0IiwgIm9w
dGlvbmFsIjogdHJ1ZSwgInR5cGUiOiAibnVtYmVyIn0sIHsibmFtZSI6ICJ1c2VQYWdlQ29vcmRp
bmF0ZXMiLCAib3B0aW9uYWwiOiB0cnVlLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjog
dHJ1ZX1dLCBbImRhdGEiXSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiUGFn
ZS5oYW5kbGVKYXZhU2NyaXB0RGlhbG9nIiwgW3sibmFtZSI6ICJhY2NlcHQiLCAidHlwZSI6ICJi
b29sZWFuIiwgIm9wdGlvbmFsIjogZmFsc2V9LCB7Im5hbWUiOiAicHJvbXB0VGV4dCIsICJ0eXBl
IjogInN0cmluZyIsICJvcHRpb25hbCI6IHRydWV9XSwgW10pOwogSW5zcGVjdG9yQmFja2VuZC5y
ZWdpc3RlckNvbW1hbmQoIlBhZ2UuYXJjaGl2ZSIsIFtdLCBbImRhdGEiXSk7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5o
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgK
aW5kZXggNTUxYWY3ZjE2ZDNlMzFlNDRjY2I2NGZiOTc2NDdmN2Q3ZTVlNmM1Mi4uYWUwOTFhYzc5
MGNjNmUzMWU5ZDVjNmMxMTI5OTQ1OTg4ZTdhODJkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dl
YktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmgKQEAgLTczLDYgKzcz
LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBoaWdobGlnaHQoKSBPVkVSUklERTsKICAg
ICB2aXJ0dWFsIHZvaWQgaGlkZUhpZ2hsaWdodCgpIE9WRVJSSURFOwogCisgICAgdmlydHVhbCBi
b29sIGNhcHR1cmVQYWdlU25hcHNob3QoaW50IHgsIGludCB5LCBpbnQgd2lkdGgsIGludCBoZWln
aHQsIGJvb2wgdXNlUGFnZUNvb3JkaW5hdGVzLCBTdHJpbmcqIG91dERhdGEpOwogICAgIHZpcnR1
YWwgdm9pZCBkaWRTZXRTZWFyY2hpbmdGb3JOb2RlKGJvb2wpIE9WRVJSSURFOwogCiAgICAgdmly
dHVhbCBib29sIHNlbmRNZXNzYWdlVG9Gcm9udGVuZChjb25zdCBTdHJpbmcmKSBPVkVSUklERTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3Rv
ckNsaWVudC5tbSBiL1NvdXJjZS9XZWJLaXQvbWFjL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3Rv
ckNsaWVudC5tbQppbmRleCBlNDM4YzZkZjNkYmJlNWYzN2I3NWZlMWM4Njk5NDY4ODJlNTEwNjM2
Li45ZGYxMjNiMWVhNTRmOWJkMmVmN2M0ZDUyYjRjNzBmNjhhOWVkOGYxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQubW0KKysr
IGIvU291cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lm1t
CkBAIC00Myw2ICs0Myw4IEBACiAjaW1wb3J0ICJXZWJVSURlbGVnYXRlLmgiCiAjaW1wb3J0ICJX
ZWJWaWV3SW50ZXJuYWwuaCIKICNpbXBvcnQgPGFsZ29yaXRobT4KKyNpbXBvcnQgPFdlYkNvcmUv
RnJhbWVTbmFwc2hvdHRpbmcuaD4KKyNpbXBvcnQgPFdlYkNvcmUvSW1hZ2VCdWZmZXIuaD4KICNp
bXBvcnQgPFdlYkNvcmUvSW5zcGVjdG9yQ29udHJvbGxlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9J
bnNwZWN0b3JGcm9udGVuZENsaWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9NYWluRnJhbWUuaD4K
QEAgLTU0LDYgKzU2LDcgQEAKICNpbXBvcnQgPFdlYktpdFN5c3RlbUludGVyZmFjZS5oPgogI2lt
cG9ydCA8d3RmL1Bhc3NPd25QdHIuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L0Jhc2U2NC5oPgorI2lt
cG9ydCA8d3RmL3RleHQvU3RyaW5nQ29uY2F0ZW5hdGUuaD4KIAogI2lmIEVOQUJMRShSRU1PVEVf
SU5TUEVDVE9SKQogI2ltcG9ydCAiV2ViSW5zcGVjdG9yQ2xpZW50UmVnaXN0cnkuaCIKQEAgLTE5
Nyw2ICsyMDAsMjMgQEAgdm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6OmhpZGVIaWdobGlnaHQoKQog
ICAgIFttX2hpZ2hsaWdodGVyLmdldCgpIGhpZGVIaWdobGlnaHRdOwogfQogCitib29sIFdlYklu
c3BlY3RvckNsaWVudDo6Y2FwdHVyZVBhZ2VTbmFwc2hvdChpbnQgeCwgaW50IHksIGludCB3aWR0
aCwgaW50IGhlaWdodCwgYm9vbCB1c2VQYWdlQ29vcmRpbmF0ZXMsIFN0cmluZyogb3V0RGF0YVVS
TCkKK3sKKyAgICBXZWJDb3JlOjpGcmFtZSogZnJhbWUgPSBjb3JlKFttX3dlYlZpZXcgbWFpbkZy
YW1lXSk7CisgICAgaWYgKCFmcmFtZSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgSW50
UmVjdCBpbWFnZVJlY3QgPSBJbnRSZWN0KHgsIHksIHdpZHRoLCBoZWlnaHQpOworICAgIFNuYXBz
aG90T3B0aW9ucyBvcHRpb25zID0gIXVzZVBhZ2VDb29yZGluYXRlcyA/IFNuYXBzaG90T3B0aW9u
c0luVmlld0Nvb3JkaW5hdGVzIDogMDsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+
IHNuYXBzaG90ID0gc25hcHNob3RGcmFtZVJlY3QoKmZyYW1lLCBpbWFnZVJlY3QsIG9wdGlvbnMp
OworICAgIGlmICghc25hcHNob3QpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICpvdXRE
YXRhVVJMID0gc25hcHNob3QtPnRvRGF0YVVSTCgiaW1hZ2UvcG5nIik7CisgICAgcmV0dXJuIHRy
dWU7Cit9CisKKwogdm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6OmRpZFNldFNlYXJjaGluZ0Zvck5v
ZGUoYm9vbCBlbmFibGVkKQogewogICAgIFdlYkluc3BlY3RvciAqaW5zcGVjdG9yID0gW21fd2Vi
VmlldyBpbnNwZWN0b3JdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwCmluZGV4IDEzMWU1
MmM2ZWY1YTVkMDIwZTMzODY1Yjc1ZWNhNDQ0NmVjMDY4ZTUuLjQxNDRjODAxZGU5MDVkNDg4ODA1
ZmJjOTE3YzMzNWVmZWE1NmMwNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHAKQEAg
LTMwLDYgKzMwLDkgQEAKIAogI2luY2x1ZGUgIldlYkluc3BlY3Rvci5oIgogI2luY2x1ZGUgIldl
YlBhZ2UuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9G
cmFtZVNuYXBzaG90dGluZy5oPgorI2luY2x1ZGUgPFdlYkNvcmUvSW1hZ2VCdWZmZXIuaD4KICNp
bmNsdWRlIDxXZWJDb3JlL0luc3BlY3RvckNvbnRyb2xsZXIuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L1BhZ2UuaD4KIApAQCAtODYsNiArODksMjIgQEAgdm9pZCBXZWJJbnNwZWN0b3JDbGllbnQ6Omhp
ZGVIaWdobGlnaHQoKQogICAgICAgICBtX3BhZ2UtPnVuaW5zdGFsbFBhZ2VPdmVybGF5KG1faGln
aGxpZ2h0T3ZlcmxheSwgdHJ1ZSk7CiB9CiAKK2Jvb2wgV2ViSW5zcGVjdG9yQ2xpZW50OjpjYXB0
dXJlUGFnZVNuYXBzaG90KGludCB4LCBpbnQgeSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LCBib29s
IHVzZVBhZ2VDb29yZGluYXRlcywgU3RyaW5nKiBvdXREYXRhVVJMKQoreworICAgIFdlYkNvcmU6
OkZyYW1lKiBmcmFtZSA9IG1fcGFnZS0+bWFpbkZyYW1lKCk7CisgICAgaWYgKCFmcmFtZSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgSW50UmVjdCBpbWFnZVJlY3QgPSBJbnRSZWN0KHgs
IHksIHdpZHRoLCBoZWlnaHQpOworICAgIFNuYXBzaG90T3B0aW9ucyBvcHRpb25zID0gIXVzZVBh
Z2VDb29yZGluYXRlcyA/IFNuYXBzaG90T3B0aW9uc0luVmlld0Nvb3JkaW5hdGVzIDogMDsKKyAg
ICBzdGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IHNuYXBzaG90ID0gc25hcHNob3RGcmFtZVJl
Y3QoKmZyYW1lLCBpbWFnZVJlY3QsIG9wdGlvbnMpOworICAgIGlmICghc25hcHNob3QpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgICpvdXREYXRhVVJMID0gc25hcHNob3QtPnRvRGF0YVVS
TCgiaW1hZ2UvcG5nIik7CisgICAgcmV0dXJuIHRydWU7Cit9CisKIGJvb2wgV2ViSW5zcGVjdG9y
Q2xpZW50OjpzZW5kTWVzc2FnZVRvRnJvbnRlbmQoY29uc3QgU3RyaW5nJiBtZXNzYWdlKQogewog
ICAgIFdlYkluc3BlY3RvciogaW5zcGVjdG9yID0gbV9wYWdlLT5pbnNwZWN0b3IoKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVj
dG9yQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
Ykluc3BlY3RvckNsaWVudC5oCmluZGV4IDNlZTJlYTgyYTVlYzYxNTgzM2U3MzQ1MjhhZWUzZWQ0
MWU1MWI4YmMuLmU1NDUzZWQxZDQxODlmYmViOTRiYzRiMjM4MjI0YmY4ZmNlNzlkYTUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVj
dG9yQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJJbnNwZWN0b3JDbGllbnQuaApAQCAtNjEsNiArNjEsOCBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgdm9pZCBoaWdobGlnaHQoKSBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgaGlkZUhp
Z2hsaWdodCgpIE9WRVJSSURFOwogCisgICAgdmlydHVhbCBib29sIGNhcHR1cmVQYWdlU25hcHNo
b3QoaW50IHgsIGludCB5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQsIGJvb2wgdXNlUGFnZUNvb3Jk
aW5hdGVzLCBTdHJpbmcqIG91dERhdGFVUkwpIE9WRVJSSURFOworCiAgICAgdmlydHVhbCBib29s
IHNlbmRNZXNzYWdlVG9Gcm9udGVuZChjb25zdCBTdHJpbmcmKSBPVkVSUklERTsKIAogICAgIHZp
cnR1YWwgYm9vbCBzdXBwb3J0c0ZyYW1lSW5zdHJ1bWVudGF0aW9uKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>217362</attachid>
            <date>2013-11-19 17:02:14 -0800</date>
            <delta_ts>2013-12-05 15:51:24 -0800</delta_ts>
            <desc>v3</desc>
            <filename>bug-124326-20131119170213.patch</filename>
            <type>text/plain</type>
            <size>10439</size>
            <attacher name="Brian Burg">burg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU5NDU2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODQyZGJmMmQ0NTc4YTQy
YTYzMDY3Zjg4MmU5ZDA5YjY4MTYyOTAzZi4uMDU4MGM1ZTRkZWJmMzJlODcyOTUzYTU0ZDgxYTAz
ZGQ5Y2QxNGYzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTExLTE5ICBCcmlh
biBKLiBCdXJnICA8YnVyZ0Bjcy53YXNoaW5ndG9uLmVkdT4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBleHBvc2Ugbm9kZSBhbmQgZnJhbWUgc25hcHNob3QgY2FwYWJpbGl0aWVzLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0MzI2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBhZGRzIHNuYXBz
aG90UmVjdCgpIGFuZCBzbmFwc2hvdE5vZGUoKSB0byB0aGUgUGFnZSBkb21haW4uCisgICAgICAg
IEJvdGggbWV0aG9kcyBjcmVhdGUgc25hcHNob3RzIHVzaW5nIEZyYW1lU25hcHNob3R0aW5nIEFQ
SXMKKyAgICAgICAgYW5kIHNlbmQgaW1hZ2VzIHRvIHRoZSBpbnNwZWN0b3IgZnJvbnRlbmQgYXMg
YSBkYXRhIFVSTC4KKworICAgICAgICBSZW1vdmUgdGhlIHVuaW1wbGVtZW50ZWQgUGFnZS5jYXB0
dXJlU2NyZWVuc2hvdCBBUEkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFn
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6c25hcHNob3RO
b2RlKTogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6OnNuYXBz
aG90UmVjdCk6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQu
aDoKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvdG9jb2wvUGFnZS5qc29uOiBBZGRlZCBuZXcgcHJv
dG9jb2wgQVBJcy4KKwogMjAxMy0xMS0xOCAgQnJpYW4gSi4gQnVyZyAgPGJ1cmdAY3Mud2FzaGlu
Z3Rvbi5lZHU+CiAKICAgICAgICAgQ29uc29saWRhdGUgdmFyaW91cyBmcmFtZSBzbmFwc2hvdCBj
YXBhYmlsaXRpZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA3MDA2OWJhZTJhNGQwZTUw
MzJiMmRmZjYzZmNkZmU3NWRjNDNjMDBiLi45ZDUwOTc5MWMwYTBiOGI0OTQzZTI0OWQ2N2QwMzJj
ZWEwNTZlNjAyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAx
My0xMS0xOSAgQnJpYW4gSi4gQnVyZyAgPGJ1cmdAY3Mud2FzaGluZ3Rvbi5lZHU+CisKKyAgICAg
ICAgV2ViIEluc3BlY3RvcjogZXhwb3NlIG5vZGUgYW5kIGZyYW1lIHNuYXBzaG90IGNhcGFiaWxp
dGllcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEy
NDMyNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFk
ZCBtZXRob2Qgc2lnbmF0dXJlcyBmb3Igc25hcHNob3ROb2RlKCkgYW5kIHNuYXBzaG90UmVjdCgp
LgorICAgICAgICBSZW1vdmUgbWV0aG9kIHNpZ25hdHVyZSBmb3IgdW5pbXBsZW1lbnRlZCBQYWdl
LmNhcHR1cmVTY3JlZW5zaG90LgorCisgICAgICAgICogVXNlckludGVyZmFjZS9JbnNwZWN0b3JC
YWNrZW5kQ29tbWFuZHMuanM6CisKIDIwMTMtMTEtMTUgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRz
QGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBOZXcgY29sb3IgcGlja2VyCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCmluZGV4
IDMyNDdkM2QwMGI3M2EyZGUxNTIwNWIzNDY1NWQzOGMyYmY0NTNhYTAuLmVhMzVhMDRmZTgzOGI2
NTgzYWM5MDA4YzNmNzAxN2ZhN2EyOWQyZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCkBAIC01MSwxNSArNTEsMTggQEAKICNpbmNsdWRl
ICJEb2N1bWVudExvYWRlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVM
b2FkZXIuaCIKKyNpbmNsdWRlICJGcmFtZVNuYXBzaG90dGluZy5oIgogI2luY2x1ZGUgIkZyYW1l
Vmlldy5oIgogI2luY2x1ZGUgIkdlb2xvY2F0aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkdl
b2xvY2F0aW9uRXJyb3IuaCIKICNpbmNsdWRlICJIVE1MRnJhbWVPd25lckVsZW1lbnQuaCIKICNp
bmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJJZGVudGlmaWVyc0ZhY3RvcnkuaCIKKyNp
bmNsdWRlICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0TWFuYWdlci5o
IgogI2luY2x1ZGUgIkluc3BlY3RvckFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50
LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yRE9NQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JG
cm9udGVuZC5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1
ZGUgIkluc3BlY3Rvck92ZXJsYXkuaCIKQEAgLTEyNTYsMTAgKzEyNTksNTAgQEAgdm9pZCBJbnNw
ZWN0b3JQYWdlQWdlbnQ6OnNldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUoRXJyb3JTdHJpbmcq
LCBib29sIHZpc2libGUKICAgICBtX3BhZ2UtPnNldHRpbmdzKCkuc2V0U2hvd1JlcGFpbnRDb3Vu
dGVyKHZpc2libGUpOwogfQogCi12b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6Y2FwdHVyZVNjcmVl
bnNob3QoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBTdHJpbmcqIGRhdGEpCit2b2lkIEluc3Bl
Y3RvclBhZ2VBZ2VudDo6c25hcHNob3ROb2RlKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgaW50
IG5vZGVJZCwgU3RyaW5nKiBvdXREYXRhVVJMKQogewotICAgIGlmICghbV9jbGllbnQtPmNhcHR1
cmVTY3JlZW5zaG90KGRhdGEpKQotICAgICAgICAqZXJyb3JTdHJpbmcgPSAiQ291bGQgbm90IGNh
cHR1cmUgc2NyZWVuc2hvdCI7CisgICAgRnJhbWUqIGZyYW1lID0gbWFpbkZyYW1lKCk7CisgICAg
aWYgKCFmcmFtZSkgeworICAgICAgICAqZXJyb3JTdHJpbmcgPSAiTm8gbWFpbiBmcmFtZSI7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBJbnNwZWN0b3JET01BZ2VudCogZG9tQWdlbnQg
PSBtX2luc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckRPTUFnZW50KCk7CisgICAgQVNTRVJU
KGRvbUFnZW50KTsKKyAgICBOb2RlKiBub2RlID0gZG9tQWdlbnQtPmFzc2VydE5vZGUoZXJyb3JT
dHJpbmcsIG5vZGVJZCk7CisgICAgaWYgKCFub2RlKQorICAgICAgICByZXR1cm47CisKKyAgICBz
dGQ6OnVuaXF1ZV9wdHI8SW1hZ2VCdWZmZXI+IHNuYXBzaG90ID0gV2ViQ29yZTo6c25hcHNob3RO
b2RlKCpmcmFtZSwgKm5vZGUpOworICAgIGlmICghc25hcHNob3QpIHsKKyAgICAgICAgKmVycm9y
U3RyaW5nID0gIkNvdWxkIG5vdCBjYXB0dXJlIHNuYXBzaG90IjsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKworICAgICpvdXREYXRhVVJMID0gc25hcHNob3QtPnRvRGF0YVVSTChBU0NJSUxpdGVy
YWwoImltYWdlL3BuZyIpKTsKK30KKwordm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OnNuYXBzaG90
UmVjdChFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGludCB4LCBpbnQgeSwgaW50IHdpZHRoLCBp
bnQgaGVpZ2h0LCBjb25zdCBTdHJpbmcmIGNvb3JkaW5hdGVTeXN0ZW0sIFN0cmluZyogb3V0RGF0
YVVSTCkKK3sKKyAgICBGcmFtZSogZnJhbWUgPSBtYWluRnJhbWUoKTsKKyAgICBpZiAoIWZyYW1l
KSB7CisgICAgICAgICplcnJvclN0cmluZyA9ICJObyBtYWluIGZyYW1lIjsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIFNuYXBzaG90T3B0aW9ucyBvcHRpb25zID0gU25hcHNob3RPcHRp
b25zTm9uZTsKKyAgICBpZiAoY29vcmRpbmF0ZVN5c3RlbSA9PSAiVmlld3BvcnQiKQorICAgICAg
ICBvcHRpb25zIHw9IFNuYXBzaG90T3B0aW9uc0luVmlld0Nvb3JkaW5hdGVzOworCisgICAgSW50
UmVjdCByZWN0YW5nbGUoeCwgeSwgd2lkdGgsIGhlaWdodCk7CisgICAgc3RkOjp1bmlxdWVfcHRy
PEltYWdlQnVmZmVyPiBzbmFwc2hvdCA9IHNuYXBzaG90RnJhbWVSZWN0KCpmcmFtZSwgcmVjdGFu
Z2xlLCBvcHRpb25zKTsKKworICAgIGlmICghc25hcHNob3QpIHsKKyAgICAgICAgKmVycm9yU3Ry
aW5nID0gIkNvdWxkIG5vdCBjYXB0dXJlIHNuYXBzaG90IjsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgICpvdXREYXRhVVJMID0gc25hcHNob3QtPnRvRGF0YVVSTChBU0NJSUxpdGVyYWwo
ImltYWdlL3BuZyIpKTsKIH0KIAogdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OmhhbmRsZUphdmFT
Y3JpcHREaWFsb2coRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBib29sIGFjY2VwdCwgY29uc3Qg
U3RyaW5nKiBwcm9tcHRUZXh0KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclBhZ2VBZ2VudC5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clBhZ2VBZ2VudC5oCmluZGV4IDhmNGJkNDQ4ZGJkOGFiOGViYzIwMTM5NjhlMTU1NTNlZmUxYjRj
NmIuLjY5NmMzNjBjNTUxNWYyZGM4YmU5YjRkNjhjMGIyOWQyYmM1NjRiYzUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmgKQEAgLTEyOSw3ICsxMjks
OCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNldEVtdWxhdGVkTWVkaWEoRXJyb3JTdHJp
bmcqLCBjb25zdCBTdHJpbmcmKTsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0Q29tcG9zaXRpbmdCb3Jk
ZXJzVmlzaWJsZShFcnJvclN0cmluZyosIGJvb2wqIG91dF9wYXJhbSk7CiAgICAgdmlydHVhbCB2
b2lkIHNldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUoRXJyb3JTdHJpbmcqLCBib29sKTsKLSAg
ICB2aXJ0dWFsIHZvaWQgY2FwdHVyZVNjcmVlbnNob3QoRXJyb3JTdHJpbmcqLCBTdHJpbmcqIGRh
dGEpOworICAgIHZpcnR1YWwgdm9pZCBzbmFwc2hvdE5vZGUoRXJyb3JTdHJpbmcqLCBpbnQgbm9k
ZUlkLCBTdHJpbmcqIG91dERhdGFVUkwpOworICAgIHZpcnR1YWwgdm9pZCBzbmFwc2hvdFJlY3Qo
RXJyb3JTdHJpbmcqLCBpbnQgeCwgaW50IHksIGludCB3aWR0aCwgaW50IGhlaWdodCwgY29uc3Qg
U3RyaW5nJiBjb29yZGluYXRlU3lzdGVtLCBTdHJpbmcqIG91dERhdGFVUkwpOwogICAgIHZpcnR1
YWwgdm9pZCBoYW5kbGVKYXZhU2NyaXB0RGlhbG9nKEVycm9yU3RyaW5nKiwgYm9vbCBhY2NlcHQs
IGNvbnN0IFN0cmluZyogcHJvbXB0VGV4dCk7CiAgICAgdmlydHVhbCB2b2lkIGFyY2hpdmUoRXJy
b3JTdHJpbmcqLCBTdHJpbmcqIGRhdGEpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvcHJvdG9jb2wvUGFnZS5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3By
b3RvY29sL1BhZ2UuanNvbgppbmRleCA3ZWUxZjY4YzE1OGIyNzk1NGM0YmU1ODBlOTZmYzJhYmZm
ZjJhZmEzLi5lMzVhMmY4NGUzZDExYmJmNWJhMTJmNmNhNDgzZmRkNDQwYzZjZmRiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvUGFnZS5qc29uCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9QYWdlLmpzb24KQEAgLTksNiArOSwxMiBA
QAogICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJlc291cmNlIHR5cGUgYXMgaXQgd2FzIHBl
cmNlaXZlZCBieSB0aGUgcmVuZGVyaW5nIGVuZ2luZS4iCiAgICAgICAgIH0sCiAgICAgICAgIHsK
KyAgICAgICAgICAgICJpZCI6ICJDb29yZGluYXRlU3lzdGVtIiwKKyAgICAgICAgICAgICJ0eXBl
IjogInN0cmluZyIsCisgICAgICAgICAgICAiZW51bSI6IFsiVmlld3BvcnQiLCAiUGFnZSJdLAor
ICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNvb3JkaW5hdGUgc3lzdGVtIHVzZWQgYnkgc3Vw
cGxpZWQgY29vcmRpbmF0ZXMuIgorICAgICAgICB9LAorICAgICAgICB7CiAgICAgICAgICAgICAi
aWQiOiAiRnJhbWUiLAogICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKICAgICAgICAgICAg
ICJkZXNjcmlwdGlvbiI6ICJJbmZvcm1hdGlvbiBhYm91dCB0aGUgRnJhbWUgb24gdGhlIHBhZ2Uu
IiwKQEAgLTM0NCwxMCArMzUwLDI3IEBACiAgICAgICAgICAgICBdCiAgICAgICAgIH0sCiAgICAg
ICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogImNhcHR1cmVTY3JlZW5zaG90IiwKLSAgICAgICAg
ICAgICJkZXNjcmlwdGlvbiI6ICJDYXB0dXJlIHBhZ2Ugc2NyZWVuc2hvdC4iLAorICAgICAgICAg
ICAgIm5hbWUiOiAic25hcHNob3ROb2RlIiwKKyAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJD
YXB0dXJlIGEgc25hcHNob3Qgb2YgYSB0aGUgc3BlY2lmaWVkIG5vZGUgdGhhdCBkb2VzIG5vdCBp
bmNsdWRlIHVucmVsYXRlZCBsYXllcnMuIiwKKyAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwor
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgIiRyZWYiOiAiRE9NLk5vZGVJZCIs
ICJkZXNjcmlwdGlvbiI6ICJJZCBvZiB0aGUgbm9kZSB0byBzbmFwc2hvdC4iIH0KKyAgICAgICAg
ICAgIF0sCisgICAgICAgICAgICAicmV0dXJucyI6IFsKKyAgICAgICAgICAgICAgICB7ICJuYW1l
IjogImRhdGFVUkwiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiQmFzZTY0LWVu
Y29kZWQgaW1hZ2UgZGF0YSAoUE5HKS4iIH0KKyAgICAgICAgICAgIF0KKyAgICAgICAgfSwKKyAg
ICAgICAgeworICAgICAgICAgICAgIm5hbWUiOiAic25hcHNob3RSZWN0IiwKKyAgICAgICAgICAg
ICJkZXNjcmlwdGlvbiI6ICJDYXB0dXJlIGEgc25hcHNob3Qgb2YgdGhlIHBhZ2Ugd2l0aGluIHRo
ZSBzcGVjaWZpZWQgcmVjdGFuZ2xlIGFuZCBjb29yZGluYXRlIHN5c3RlbS4iLAorICAgICAgICAg
ICAgInBhcmFtZXRlcnMiOiBbCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ4IiwgInR5cGUi
OiAiaW50ZWdlciIsICJkZXNjcmlwdGlvbiI6ICJYIGNvb3JkaW5hdGUiIH0sCisgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJ5IiwgInR5cGUiOiAiaW50ZWdlciIsICJkZXNjcmlwdGlvbiI6ICJZ
IGNvb3JkaW5hdGUiIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ3aWR0aCIsICJ0eXBl
IjogImludGVnZXIiLCAiZGVzY3JpcHRpb24iOiAiUmVjdGFuZ2xlIHdpZHRoIiB9LAorICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAiaGVpZ2h0IiwgInR5cGUiOiAiaW50ZWdlciIsICJkZXNjcmlw
dGlvbiI6ICJSZWN0YW5nbGUgaGVpZ2h0IiB9LAorICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
Y29vcmRpbmF0ZVN5c3RlbSIsICIkcmVmIjogIkNvb3JkaW5hdGVTeXN0ZW0iLCAiZGVzY3JpcHRp
b24iOiAiSW5kaWNhdGVzIHRoZSBjb29yZGluYXRlIHN5c3RlbSBvZiB0aGUgc3VwcGxpZWQgcmVj
dGFuZ2xlLiIgfQorICAgICAgICAgICAgXSwKICAgICAgICAgICAgICJyZXR1cm5zIjogWwotICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAiZGF0YSIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlw
dGlvbiI6ICJCYXNlNjQtZW5jb2RlZCBpbWFnZSBkYXRhIChQTkcpLiIgfQorICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAiZGF0YVVSTCIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6
ICJCYXNlNjQtZW5jb2RlZCBpbWFnZSBkYXRhIChQTkcpLiIgfQogICAgICAgICAgICAgXQogICAg
ICAgICB9LAogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMKaW5kZXggMmEy
MGEwOGM2MzhkZGFjOTg4MzFiNDJjMWNjNjM0NzVkM2FhYjYyYS4uZWUxMWZkOWI0MTc3MTgzMWVk
NGY0NzNjNDhjZWNlOGFjMTY0MTNjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0luc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcwpA
QCAtMjg5LDYgKzI4OSw3IEBAIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3
b3JrLnNldENhY2hlRGlzYWJsZWQiLCBbeyJuYW1lIjogImNhY2hlRGlzCiAvLyBQYWdlLgogSW5z
cGVjdG9yQmFja2VuZC5yZWdpc3RlclBhZ2VEaXNwYXRjaGVyID0gSW5zcGVjdG9yQmFja2VuZC5y
ZWdpc3RlckRvbWFpbkRpc3BhdGNoZXIuYmluZChJbnNwZWN0b3JCYWNrZW5kLCAiUGFnZSIpOwog
SW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckVudW0oIlBhZ2UuUmVzb3VyY2VUeXBlIiwge0RvY3Vt
ZW50OiAiRG9jdW1lbnQiLCBTdHlsZXNoZWV0OiAiU3R5bGVzaGVldCIsIEltYWdlOiAiSW1hZ2Ui
LCBGb250OiAiRm9udCIsIFNjcmlwdDogIlNjcmlwdCIsIFhIUjogIlhIUiIsIFdlYlNvY2tldDog
IldlYlNvY2tldCIsIE90aGVyOiAiT3RoZXIifSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVy
RW51bSgiUGFnZS5Db29yZGluYXRlU3lzdGVtIiwge1ZpZXdwb3J0OiAiVmlld3BvcnQiLCBQYWdl
OiAiUGFnZSJ9KTsKIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudCgiUGFnZS5kb21Db250
ZW50RXZlbnRGaXJlZCIsIFsidGltZXN0YW1wIl0pOwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3Rl
ckV2ZW50KCJQYWdlLmxvYWRFdmVudEZpcmVkIiwgWyJ0aW1lc3RhbXAiXSk7CiBJbnNwZWN0b3JC
YWNrZW5kLnJlZ2lzdGVyRXZlbnQoIlBhZ2UuZnJhbWVOYXZpZ2F0ZWQiLCBbImZyYW1lIl0pOwpA
QCAtMzM0LDcgKzMzNSw4IEBAIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJQYWdl
LnNldFRvdWNoRW11bGF0aW9uRW5hYmxlZCIsIFt7Im5hbWUiOiAiZW5hCiBJbnNwZWN0b3JCYWNr
ZW5kLnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5zZXRFbXVsYXRlZE1lZGlhIiwgW3sibmFtZSI6ICJt
ZWRpYSIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFtdKTsKIEluc3Bl
Y3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJQYWdlLmdldENvbXBvc2l0aW5nQm9yZGVyc1Zp
c2libGUiLCBbXSwgWyJyZXN1bHQiXSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFu
ZCgiUGFnZS5zZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlIiwgW3sibmFtZSI6ICJ2aXNpYmxl
IiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFtdKTsKLUluc3BlY3Rv
ckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJQYWdlLmNhcHR1cmVTY3JlZW5zaG90IiwgW10sIFsi
ZGF0YSJdKTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJQYWdlLnNuYXBzaG90
UmVjdCIsIFt7Im5hbWUiOiAieCIsICJ0eXBlIjogIm51bWJlciIsICJvcHRpb25hbCI6IGZhbHNl
fSwgeyJuYW1lIjogInkiLCAidHlwZSI6ICJudW1iZXIiLCAib3B0aW9uYWwiOiBmYWxzZX0sIHsi
bmFtZSI6ICJ3aWR0aCIsICJ0eXBlIjogIm51bWJlciIsICJvcHRpb25hbCI6IGZhbHNlfSwgeyJu
YW1lIjogImhlaWdodCIsICJ0eXBlIjogIm51bWJlciIsICJvcHRpb25hbCI6IGZhbHNlfSwgeyJu
YW1lIjogImNvb3JkaW5hdGVTeXN0ZW0iLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiBm
YWxzZX1dLCBbImRhdGFVUkwiXSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgi
UGFnZS5zbmFwc2hvdE5vZGUiLCBbeyJuYW1lIjogIm5vZGVJZCIsICJ0eXBlIjogIm51bWJlciIs
ICJvcHRpb25hbCI6IGZhbHNlfV0sIFsiZGF0YVVSTCJdKTsKIEluc3BlY3RvckJhY2tlbmQucmVn
aXN0ZXJDb21tYW5kKCJQYWdlLmhhbmRsZUphdmFTY3JpcHREaWFsb2ciLCBbeyJuYW1lIjogImFj
Y2VwdCIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiBmYWxzZX0sIHsibmFtZSI6ICJw
cm9tcHRUZXh0IiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogdHJ1ZX1dLCBbXSk7CiBJ
bnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5hcmNoaXZlIiwgW10sIFsiZGF0
YSJdKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>218550</attachid>
            <date>2013-12-05 15:51:28 -0800</date>
            <delta_ts>2013-12-05 16:54:50 -0800</delta_ts>
            <desc>v3.1 - fix style nits of v3, re-run EWS after 124325 landed</desc>
            <filename>bug-124326-20131205155127.patch</filename>
            <type>text/plain</type>
            <size>13099</size>
            <attacher name="Brian Burg">burg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwMTkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDE1OGJhYjJlOTk3MGZm
ZWFmMzhjMjVhYThmYmE3OGE5NmM4NTJlOC4uODU5MTA2ZWViNTZjNTFjZTZkMDkxMzkzMGYyOGZi
ZjI2MmM4OGQyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTEyLTA1ICBCcmlh
biBKLiBCdXJnICA8YnVyZ0Bjcy53YXNoaW5ndG9uLmVkdT4KKworICAgICAgICBXZWIgSW5zcGVj
dG9yOiBleHBvc2Ugbm9kZSBhbmQgZnJhbWUgc25hcHNob3QgY2FwYWJpbGl0aWVzLgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0MzI2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgSm9zZXBoIFBlY29yYXJvLgorCisgICAgICAgIFRoaXMgYWRkcyBzbmFw
c2hvdFJlY3QoKSBhbmQgc25hcHNob3ROb2RlKCkgdG8gdGhlIFBhZ2UgZG9tYWluLgorICAgICAg
ICBCb3RoIG1ldGhvZHMgY3JlYXRlIHNuYXBzaG90cyB1c2luZyBGcmFtZVNuYXBzaG90dGluZyBB
UElzCisgICAgICAgIGFuZCBzZW5kIGltYWdlcyB0byB0aGUgaW5zcGVjdG9yIGZyb250ZW5kIGFz
IGEgZGF0YSBVUkwuCisKKyAgICAgICAgUmVtb3ZlIHRoZSB1bmltcGxlbWVudGVkIFBhZ2UuY2Fw
dHVyZVNjcmVlbnNob3QgQVBJLgorCisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VB
Z2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQYWdlQWdlbnQ6OnNuYXBzaG90
Tm9kZSk6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUGFnZUFnZW50OjpzbmFw
c2hvdFJlY3QpOiBBZGRlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50
Lmg6CisgICAgICAgICogaW5zcGVjdG9yL3Byb3RvY29sL1BhZ2UuanNvbjogQWRkZWQgbmV3IHBy
b3RvY29sIEFQSXMuCisKIDIwMTMtMTItMDUgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxk
QGFwcGxlLmNvbT4KIAogICAgICAgICBDcm9wcGluZyBhbmQgZHJhd2luZyBJbWFnZUJ1ZmZlcnMg
cmVzdWx0cyBpbiB1bmluaXRpYWxpemVkIGRhdGEgYmVpbmcgc2hvd24KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hh
bmdlTG9nCmluZGV4IGEwYjhkNjcxZWI1NmZlYmY0Y2E5NGU5NmQwYzU5NGM5ODcyNmRkNzYuLjYy
OTY1ZTM0MDQxYWM0NGJiYzE2NWZjNTFjYTIwZWM0YTE5ODZlOTMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEzLTEyLTA1ICBCcmlhbiBKLiBCdXJnICA8YnVy
Z0Bjcy53YXNoaW5ndG9uLmVkdT4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBleHBvc2Ugbm9k
ZSBhbmQgZnJhbWUgc25hcHNob3QgY2FwYWJpbGl0aWVzLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI0MzI2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Sm9zZXBoIFBlY29yYXJvLgorCisgICAgICAgIEFkZCBtZXRob2Qgc2lnbmF0dXJlcyBmb3Igc25h
cHNob3ROb2RlKCkgYW5kIHNuYXBzaG90UmVjdCgpLgorICAgICAgICBSZW1vdmUgbWV0aG9kIHNp
Z25hdHVyZSBmb3IgdW5pbXBsZW1lbnRlZCBQYWdlLmNhcHR1cmVTY3JlZW5zaG90LgorCisgICAg
ICAgICogVXNlckludGVyZmFjZS9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanM6CisKIDIwMTMt
MTItMDQgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBDb2xvcldoZWVsIHVzZXMgb2xkIENvbG9yIGNvbnN0cnVjdG9yCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCmluZGV4IDczZDkw
NmQ5MGYwNzljNTE2MWFlYmJkZmU2MzE1MzNmN2MwNjg0NjguLjdlNThmMzY2YTBiMDdlNjI0Zjhm
NWIxMjM4NWVlOWJhNjg0OGU5ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JQYWdlQWdlbnQuY3BwCkBAIC01MSwxNSArNTEsMTggQEAKICNpbmNsdWRlICJEb2N1
bWVudExvYWRlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVMb2FkZXIu
aCIKKyNpbmNsdWRlICJGcmFtZVNuYXBzaG90dGluZy5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5o
IgogI2luY2x1ZGUgIkdlb2xvY2F0aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkdlb2xvY2F0
aW9uRXJyb3IuaCIKICNpbmNsdWRlICJIVE1MRnJhbWVPd25lckVsZW1lbnQuaCIKICNpbmNsdWRl
ICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJJZGVudGlmaWVyc0ZhY3RvcnkuaCIKKyNpbmNsdWRl
ICJJbWFnZUJ1ZmZlci5oIgogI2luY2x1ZGUgIkluamVjdGVkU2NyaXB0TWFuYWdlci5oIgogI2lu
Y2x1ZGUgIkluc3BlY3RvckFnZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCisj
aW5jbHVkZSAiSW5zcGVjdG9yRE9NQWdlbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JGcm9udGVu
ZC5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIklu
c3BlY3Rvck92ZXJsYXkuaCIKQEAgLTEyNTEsMTAgKzEyNTQsNDQgQEAgdm9pZCBJbnNwZWN0b3JQ
YWdlQWdlbnQ6OnNldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUoRXJyb3JTdHJpbmcqLCBib29s
IHZpc2libGUKICAgICBtX3BhZ2UtPnNldHRpbmdzKCkuc2V0U2hvd1JlcGFpbnRDb3VudGVyKHZp
c2libGUpOwogfQogCi12b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6Y2FwdHVyZVNjcmVlbnNob3Qo
RXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBTdHJpbmcqIGRhdGEpCit2b2lkIEluc3BlY3RvclBh
Z2VBZ2VudDo6c25hcHNob3ROb2RlKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgaW50IG5vZGVJ
ZCwgU3RyaW5nKiBvdXREYXRhVVJMKQogewotICAgIGlmICghbV9jbGllbnQtPmNhcHR1cmVTY3Jl
ZW5zaG90KGRhdGEpKQotICAgICAgICAqZXJyb3JTdHJpbmcgPSAiQ291bGQgbm90IGNhcHR1cmUg
c2NyZWVuc2hvdCI7CisgICAgRnJhbWUqIGZyYW1lID0gbWFpbkZyYW1lKCk7CisgICAgQVNTRVJU
KGZyYW1lKTsKKworICAgIEluc3BlY3RvckRPTUFnZW50KiBkb21BZ2VudCA9IG1faW5zdHJ1bWVu
dGluZ0FnZW50cy0+aW5zcGVjdG9yRE9NQWdlbnQoKTsKKyAgICBBU1NFUlQoZG9tQWdlbnQpOwor
ICAgIE5vZGUqIG5vZGUgPSBkb21BZ2VudC0+YXNzZXJ0Tm9kZShlcnJvclN0cmluZywgbm9kZUlk
KTsKKyAgICBpZiAoIW5vZGUpCisgICAgICAgIHJldHVybjsKKworICAgIHN0ZDo6dW5pcXVlX3B0
cjxJbWFnZUJ1ZmZlcj4gc25hcHNob3QgPSBXZWJDb3JlOjpzbmFwc2hvdE5vZGUoKmZyYW1lLCAq
bm9kZSk7CisgICAgaWYgKCFzbmFwc2hvdCkgeworICAgICAgICAqZXJyb3JTdHJpbmcgPSBBU0NJ
SUxpdGVyYWwoIkNvdWxkIG5vdCBjYXB0dXJlIHNuYXBzaG90Iik7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICAqb3V0RGF0YVVSTCA9IHNuYXBzaG90LT50b0RhdGFVUkwoQVNDSUlMaXRl
cmFsKCJpbWFnZS9wbmciKSk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpzbmFwc2hv
dFJlY3QoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBpbnQgeCwgaW50IHksIGludCB3aWR0aCwg
aW50IGhlaWdodCwgY29uc3QgU3RyaW5nJiBjb29yZGluYXRlU3lzdGVtLCBTdHJpbmcqIG91dERh
dGFVUkwpCit7CisgICAgRnJhbWUqIGZyYW1lID0gbWFpbkZyYW1lKCk7CisgICAgQVNTRVJUKGZy
YW1lKTsKKworICAgIFNuYXBzaG90T3B0aW9ucyBvcHRpb25zID0gU25hcHNob3RPcHRpb25zTm9u
ZTsKKyAgICBpZiAoY29vcmRpbmF0ZVN5c3RlbSA9PSAiVmlld3BvcnQiKQorICAgICAgICBvcHRp
b25zIHw9IFNuYXBzaG90T3B0aW9uc0luVmlld0Nvb3JkaW5hdGVzOworCisgICAgSW50UmVjdCBy
ZWN0YW5nbGUoeCwgeSwgd2lkdGgsIGhlaWdodCk7CisgICAgc3RkOjp1bmlxdWVfcHRyPEltYWdl
QnVmZmVyPiBzbmFwc2hvdCA9IHNuYXBzaG90RnJhbWVSZWN0KCpmcmFtZSwgcmVjdGFuZ2xlLCBv
cHRpb25zKTsKKworICAgIGlmICghc25hcHNob3QpIHsKKyAgICAgICAgKmVycm9yU3RyaW5nID0g
QVNDSUlMaXRlcmFsKCJDb3VsZCBub3QgY2FwdHVyZSBzbmFwc2hvdCIpOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgKm91dERhdGFVUkwgPSBzbmFwc2hvdC0+dG9EYXRhVVJMKEFTQ0lJ
TGl0ZXJhbCgiaW1hZ2UvcG5nIikpOwogfQogCiB2b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6aGFu
ZGxlSmF2YVNjcmlwdERpYWxvZyhFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGJvb2wgYWNjZXB0
LCBjb25zdCBTdHJpbmcqIHByb21wdFRleHQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yUGFnZUFnZW50LmgKaW5kZXggYzEyMTE0MTcwN2MyMWNlMGE2MjQ0YjQzNGNkNGJm
ZDRjMWJlZWZlOS4uMTJlNGYyYzMzNjgwMDJiMzc4NDFhNGNkYjBjOTA2ODRmYzY5NGY2MCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaApAQCAtMTI5
LDcgKzEyOSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0RW11bGF0ZWRNZWRpYShF
cnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYpOwogICAgIHZpcnR1YWwgdm9pZCBnZXRDb21wb3Np
dGluZ0JvcmRlcnNWaXNpYmxlKEVycm9yU3RyaW5nKiwgYm9vbCogb3V0X3BhcmFtKTsKICAgICB2
aXJ0dWFsIHZvaWQgc2V0Q29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZShFcnJvclN0cmluZyosIGJv
b2wpOwotICAgIHZpcnR1YWwgdm9pZCBjYXB0dXJlU2NyZWVuc2hvdChFcnJvclN0cmluZyosIFN0
cmluZyogZGF0YSk7CisgICAgdmlydHVhbCB2b2lkIHNuYXBzaG90Tm9kZShFcnJvclN0cmluZyos
IGludCBub2RlSWQsIFN0cmluZyogb3V0RGF0YVVSTCk7CisgICAgdmlydHVhbCB2b2lkIHNuYXBz
aG90UmVjdChFcnJvclN0cmluZyosIGludCB4LCBpbnQgeSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0
LCBjb25zdCBTdHJpbmcmIGNvb3JkaW5hdGVTeXN0ZW0sIFN0cmluZyogb3V0RGF0YVVSTCk7CiAg
ICAgdmlydHVhbCB2b2lkIGhhbmRsZUphdmFTY3JpcHREaWFsb2coRXJyb3JTdHJpbmcqLCBib29s
IGFjY2VwdCwgY29uc3QgU3RyaW5nKiBwcm9tcHRUZXh0KTsKICAgICB2aXJ0dWFsIHZvaWQgYXJj
aGl2ZShFcnJvclN0cmluZyosIFN0cmluZyogZGF0YSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9QYWdlLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvcHJvdG9jb2wvUGFnZS5qc29uCmluZGV4IDdlZTFmNjhjMTU4YjI3OTU0YzRiZTU4MGU5
NmZjMmFiZmZmMmFmYTMuLmFmZmFhNzIyNGQ1YjQxNmJlZmM4ODE1YzNjNGMyODBlODcyOWNiZjIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9QYWdlLmpzb24K
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3Byb3RvY29sL1BhZ2UuanNvbgpAQCAtOSw2
ICs5LDEyIEBACiAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmVzb3VyY2UgdHlwZSBhcyBp
dCB3YXMgcGVyY2VpdmVkIGJ5IHRoZSByZW5kZXJpbmcgZW5naW5lLiIKICAgICAgICAgfSwKICAg
ICAgICAgeworICAgICAgICAgICAgImlkIjogIkNvb3JkaW5hdGVTeXN0ZW0iLAorICAgICAgICAg
ICAgInR5cGUiOiAic3RyaW5nIiwKKyAgICAgICAgICAgICJlbnVtIjogWyJWaWV3cG9ydCIsICJQ
YWdlIl0sCisgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ29vcmRpbmF0ZSBzeXN0ZW0gdXNl
ZCBieSBzdXBwbGllZCBjb29yZGluYXRlcy4iCisgICAgICAgIH0sCisgICAgICAgIHsKICAgICAg
ICAgICAgICJpZCI6ICJGcmFtZSIsCiAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAg
ICAgICAgICAgImRlc2NyaXB0aW9uIjogIkluZm9ybWF0aW9uIGFib3V0IHRoZSBGcmFtZSBvbiB0
aGUgcGFnZS4iLApAQCAtMzQ0LDEwICszNTAsMjcgQEAKICAgICAgICAgICAgIF0KICAgICAgICAg
fSwKICAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAiY2FwdHVyZVNjcmVlbnNob3QiLAot
ICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNhcHR1cmUgcGFnZSBzY3JlZW5zaG90LiIsCisg
ICAgICAgICAgICAibmFtZSI6ICJzbmFwc2hvdE5vZGUiLAorICAgICAgICAgICAgImRlc2NyaXB0
aW9uIjogIkNhcHR1cmUgYSBzbmFwc2hvdCBvZiB0aGUgc3BlY2lmaWVkIG5vZGUgdGhhdCBkb2Vz
IG5vdCBpbmNsdWRlIHVucmVsYXRlZCBsYXllcnMuIiwKKyAgICAgICAgICAgICJwYXJhbWV0ZXJz
IjogWworICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibm9kZUlkIiwgIiRyZWYiOiAiRE9NLk5v
ZGVJZCIsICJkZXNjcmlwdGlvbiI6ICJJZCBvZiB0aGUgbm9kZSB0byBzbmFwc2hvdC4iIH0KKyAg
ICAgICAgICAgIF0sCisgICAgICAgICAgICAicmV0dXJucyI6IFsKKyAgICAgICAgICAgICAgICB7
ICJuYW1lIjogImRhdGFVUkwiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiQmFz
ZTY0LWVuY29kZWQgaW1hZ2UgZGF0YSAoUE5HKS4iIH0KKyAgICAgICAgICAgIF0KKyAgICAgICAg
fSwKKyAgICAgICAgeworICAgICAgICAgICAgIm5hbWUiOiAic25hcHNob3RSZWN0IiwKKyAgICAg
ICAgICAgICJkZXNjcmlwdGlvbiI6ICJDYXB0dXJlIGEgc25hcHNob3Qgb2YgdGhlIHBhZ2Ugd2l0
aGluIHRoZSBzcGVjaWZpZWQgcmVjdGFuZ2xlIGFuZCBjb29yZGluYXRlIHN5c3RlbS4iLAorICAg
ICAgICAgICAgInBhcmFtZXRlcnMiOiBbCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ4Iiwg
InR5cGUiOiAiaW50ZWdlciIsICJkZXNjcmlwdGlvbiI6ICJYIGNvb3JkaW5hdGUiIH0sCisgICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJ5IiwgInR5cGUiOiAiaW50ZWdlciIsICJkZXNjcmlwdGlv
biI6ICJZIGNvb3JkaW5hdGUiIH0sCisgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ3aWR0aCIs
ICJ0eXBlIjogImludGVnZXIiLCAiZGVzY3JpcHRpb24iOiAiUmVjdGFuZ2xlIHdpZHRoIiB9LAor
ICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiaGVpZ2h0IiwgInR5cGUiOiAiaW50ZWdlciIsICJk
ZXNjcmlwdGlvbiI6ICJSZWN0YW5nbGUgaGVpZ2h0IiB9LAorICAgICAgICAgICAgICAgIHsgIm5h
bWUiOiAiY29vcmRpbmF0ZVN5c3RlbSIsICIkcmVmIjogIkNvb3JkaW5hdGVTeXN0ZW0iLCAiZGVz
Y3JpcHRpb24iOiAiSW5kaWNhdGVzIHRoZSBjb29yZGluYXRlIHN5c3RlbSBvZiB0aGUgc3VwcGxp
ZWQgcmVjdGFuZ2xlLiIgfQorICAgICAgICAgICAgXSwKICAgICAgICAgICAgICJyZXR1cm5zIjog
WwotICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZGF0YSIsICJ0eXBlIjogInN0cmluZyIsICJk
ZXNjcmlwdGlvbiI6ICJCYXNlNjQtZW5jb2RlZCBpbWFnZSBkYXRhIChQTkcpLiIgfQorICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAiZGF0YVVSTCIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlw
dGlvbiI6ICJCYXNlNjQtZW5jb2RlZCBpbWFnZSBkYXRhIChQTkcpLiIgfQogICAgICAgICAgICAg
XQogICAgICAgICB9LAogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMKaW5k
ZXggMTEyZTUyZWYwMzk1MTZlMWVkYzM2NzkwYzY5NDAyYTA1OWNiNTQ3Ny4uYjI1MWFkMDU2Mzgz
YTI5ZDJhNmY2OTU0NzQyMDQ4ODdmNTE4OTBiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0luc3BlY3RvckJhY2tlbmRDb21tYW5k
cy5qcwpAQCAtMSw1ICsxLDYgQEAKIC8vIEZpbGUgaXMgZ2VuZXJhdGVkIGJ5IFNvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5CiAKKy8vIENvcHlyaWdodCAo
YykgMjAxMyBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAvLyBDb3B5cmlnaHQgKGMp
IDIwMTEgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAvLyBVc2Ug
b2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRo
YXQgY2FuIGJlCiAvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgpAQCAtMjg5LDYgKzI5MCw3
IEBAIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3b3JrLnNldENhY2hlRGlz
YWJsZWQiLCBbeyJuYW1lIjogImNhY2hlRGlzCiAvLyBQYWdlLgogSW5zcGVjdG9yQmFja2VuZC5y
ZWdpc3RlclBhZ2VEaXNwYXRjaGVyID0gSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRvbWFpbkRp
c3BhdGNoZXIuYmluZChJbnNwZWN0b3JCYWNrZW5kLCAiUGFnZSIpOwogSW5zcGVjdG9yQmFja2Vu
ZC5yZWdpc3RlckVudW0oIlBhZ2UuUmVzb3VyY2VUeXBlIiwge0RvY3VtZW50OiAiRG9jdW1lbnQi
LCBTdHlsZXNoZWV0OiAiU3R5bGVzaGVldCIsIEltYWdlOiAiSW1hZ2UiLCBGb250OiAiRm9udCIs
IFNjcmlwdDogIlNjcmlwdCIsIFhIUjogIlhIUiIsIFdlYlNvY2tldDogIldlYlNvY2tldCIsIE90
aGVyOiAiT3RoZXIifSk7CitJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51bSgiUGFnZS5Db29y
ZGluYXRlU3lzdGVtIiwge1ZpZXdwb3J0OiAiVmlld3BvcnQiLCBQYWdlOiAiUGFnZSJ9KTsKIElu
c3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudCgiUGFnZS5kb21Db250ZW50RXZlbnRGaXJlZCIs
IFsidGltZXN0YW1wIl0pOwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckV2ZW50KCJQYWdlLmxv
YWRFdmVudEZpcmVkIiwgWyJ0aW1lc3RhbXAiXSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVy
RXZlbnQoIlBhZ2UuZnJhbWVOYXZpZ2F0ZWQiLCBbImZyYW1lIl0pOwpAQCAtMzM0LDcgKzMzNiw4
IEBAIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJQYWdlLnNldFRvdWNoRW11bGF0
aW9uRW5hYmxlZCIsIFt7Im5hbWUiOiAiZW5hCiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29t
bWFuZCgiUGFnZS5zZXRFbXVsYXRlZE1lZGlhIiwgW3sibmFtZSI6ICJtZWRpYSIsICJ0eXBlIjog
InN0cmluZyIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFtdKTsKIEluc3BlY3RvckJhY2tlbmQucmVn
aXN0ZXJDb21tYW5kKCJQYWdlLmdldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUiLCBbXSwgWyJy
ZXN1bHQiXSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5zZXRDb21w
b3NpdGluZ0JvcmRlcnNWaXNpYmxlIiwgW3sibmFtZSI6ICJ2aXNpYmxlIiwgInR5cGUiOiAiYm9v
bGVhbiIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFtdKTsKLUluc3BlY3RvckJhY2tlbmQucmVnaXN0
ZXJDb21tYW5kKCJQYWdlLmNhcHR1cmVTY3JlZW5zaG90IiwgW10sIFsiZGF0YSJdKTsKK0luc3Bl
Y3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJQYWdlLnNuYXBzaG90Tm9kZSIsIFt7Im5hbWUi
OiAibm9kZUlkIiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgWyJkYXRh
VVJMIl0pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIlBhZ2Uuc25hcHNob3RS
ZWN0IiwgW3sibmFtZSI6ICJ4IiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogZmFsc2V9
LCB7Im5hbWUiOiAieSIsICJ0eXBlIjogIm51bWJlciIsICJvcHRpb25hbCI6IGZhbHNlfSwgeyJu
YW1lIjogIndpZHRoIiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogZmFsc2V9LCB7Im5h
bWUiOiAiaGVpZ2h0IiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogZmFsc2V9LCB7Im5h
bWUiOiAiY29vcmRpbmF0ZVN5c3RlbSIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IGZh
bHNlfV0sIFsiZGF0YVVSTCJdKTsKIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJQ
YWdlLmhhbmRsZUphdmFTY3JpcHREaWFsb2ciLCBbeyJuYW1lIjogImFjY2VwdCIsICJ0eXBlIjog
ImJvb2xlYW4iLCAib3B0aW9uYWwiOiBmYWxzZX0sIHsibmFtZSI6ICJwcm9tcHRUZXh0IiwgInR5
cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogdHJ1ZX1dLCBbXSk7CiBJbnNwZWN0b3JCYWNrZW5k
LnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5hcmNoaXZlIiwgW10sIFsiZGF0YSJdKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTGVnYWN5LzcuMC9JbnNw
ZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9MZWdhY3kvNy4wL0luc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcwppbmRleCBjN2VhY2Rm
YmJmMzIzYzBlMDcwODBhZWI2YzU1ZmEyMjhiOGRmYmNhLi5lZGQ5NDdjMTU5YTZiNTkzYmIzNTZh
YjVkZmQyNGI1N2Q1NTRhZGY5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9MZWdhY3kvNy4wL0luc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9MZWdhY3kvNy4wL0luc3BlY3RvckJh
Y2tlbmRDb21tYW5kcy5qcwpAQCAtMSw1ICsxLDYgQEAKIC8vIEZpbGUgaXMgZ2VuZXJhdGVkIGJ5
IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9Db2RlR2VuZXJhdG9ySW5zcGVjdG9yLnB5CiAKKy8v
IENvcHlyaWdodCAoYykgMjAxMyBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAvLyBD
b3B5cmlnaHQgKGMpIDIwMTEgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHls
ZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgpAQCAt
NjYsNyArNjcsNiBAQCBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5zZXRU
b3VjaEVtdWxhdGlvbkVuYWJsZWQiLCBbeyJuYW1lIjogImVuYQogSW5zcGVjdG9yQmFja2VuZC5y
ZWdpc3RlckNvbW1hbmQoIlBhZ2Uuc2V0RW11bGF0ZWRNZWRpYSIsIFt7Im5hbWUiOiAibWVkaWEi
LCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7CiBJbnNwZWN0b3JC
YWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5nZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxl
IiwgW10sIFsicmVzdWx0Il0pOwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIlBh
Z2Uuc2V0Q29tcG9zaXRpbmdCb3JkZXJzVmlzaWJsZSIsIFt7Im5hbWUiOiAidmlzaWJsZSIsICJ0
eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7Ci1JbnNwZWN0b3JCYWNr
ZW5kLnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5jYXB0dXJlU2NyZWVuc2hvdCIsIFtdLCBbImRhdGEi
XSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5oYW5kbGVKYXZhU2Ny
aXB0RGlhbG9nIiwgW3sibmFtZSI6ICJhY2NlcHQiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlv
bmFsIjogZmFsc2V9LCB7Im5hbWUiOiAicHJvbXB0VGV4dCIsICJ0eXBlIjogInN0cmluZyIsICJv
cHRpb25hbCI6IHRydWV9XSwgW10pOwogCiAvLyBSdW50aW1lLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1ZlcnNpb25zL0luc3BlY3Rvci1pT1MtNy4wLmpzb24gYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVmVyc2lvbnMvSW5zcGVjdG9yLWlPUy03LjAuanNvbgppbmRleCBlY2Vk
ZGQxZTg3ZmVhMjU5NDdhMDRhMTJmNWJlNTYyZGIyNTA5MTZiLi45ZDdmN2NkMWVlZGNmNzI5NzVl
NTIwZDc1ZWNjMTVkMmExY2Q5ODIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VmVyc2lvbnMvSW5zcGVjdG9yLWlPUy03LjAuanNvbgorKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVmVyc2lvbnMvSW5zcGVjdG9yLWlPUy03LjAuanNvbgpAQCAtNDExLDEzICs0MTEsNiBAQAog
ICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICB7Ci0gICAgICAg
ICAgICAgICAgIm5hbWUiOiAiY2FwdHVyZVNjcmVlbnNob3QiLAotICAgICAgICAgICAgICAgICJk
ZXNjcmlwdGlvbiI6ICJDYXB0dXJlIHBhZ2Ugc2NyZWVuc2hvdC4iLAotICAgICAgICAgICAgICAg
ICJyZXR1cm5zIjogWwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImRhdGEiLCAidHlw
ZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiQmFzZTY0LWVuY29kZWQgaW1hZ2UgZGF0YSAo
UE5HKS4iIH0KLSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAg
ewogICAgICAgICAgICAgICAgICJuYW1lIjogImhhbmRsZUphdmFTY3JpcHREaWFsb2ciLAogICAg
ICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBY2NlcHRzIG9yIGRpc21pc3NlcyBhIEphdmFT
Y3JpcHQgaW5pdGlhdGVkIGRpYWxvZyAoYWxlcnQsIGNvbmZpcm0sIHByb21wdCwgb3Igb25iZWZv
cmV1bmxvYWQpLiIsCiAgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>