<?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>112689</bug_id>
          
          <creation_ts>2013-03-19 06:24:13 -0700</creation_ts>
          <short_desc>Web Inspector: factor out node search controller from inspector.js</short_desc>
          <delta_ts>2013-03-28 06:25:59 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrey Kosyakov">caseq</reporter>
          <assigned_to name="Andrey Kosyakov">caseq</assigned_to>
          <cc>apavlov</cc>
    
    <cc>dglazkov</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>peter+ews</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>858214</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-03-19 06:24:13 -0700</bug_when>
    <thetext>This extracts the node search logic from inspector.js into a separate file, so it&apos;s easier to extend.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858224</commentid>
    <comment_count>1</comment_count>
      <attachid>193810</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-03-19 06:34:30 -0700</bug_when>
    <thetext>Created attachment 193810
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858353</commentid>
    <comment_count>2</comment_count>
      <attachid>193810</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-03-19 09:34:34 -0700</bug_when>
    <thetext>Comment on attachment 193810
Patch

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

&gt; Source/WebCore/inspector/front-end/AdvancedSearchController.js:47
&gt; +    return WebInspector.KeyboardShortcut.makeDescriptor(&quot;f&quot;, WebInspector.KeyboardShortcut.Modifiers.CtrlOrMeta | WebInspector.KeyboardShortcut.Modifiers.Shift);

It was Alt

&gt; Source/WebCore/inspector/front-end/InspectorFrontendAPI.js:110
&gt; +        if (WebInspector.nodeSearchController)

This is now called inspectElementMode</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858429</commentid>
    <comment_count>3</comment_count>
      <attachid>193854</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-03-19 10:28:15 -0700</bug_when>
    <thetext>Created attachment 193854
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858430</commentid>
    <comment_count>4</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-03-19 10:28:54 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 193810 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=193810&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/AdvancedSearchController.js:47
&gt; &gt; +    return WebInspector.KeyboardShortcut.makeDescriptor(&quot;f&quot;, WebInspector.KeyboardShortcut.Modifiers.CtrlOrMeta | WebInspector.KeyboardShortcut.Modifiers.Shift);
&gt; 
&gt; It was Alt

Oops! Thanks, rolled this part out.

&gt; &gt; Source/WebCore/inspector/front-end/InspectorFrontendAPI.js:110
&gt; &gt; +        if (WebInspector.nodeSearchController)
&gt; 
&gt; This is now called inspectElementMode

Renamed to elementInspectionController.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858437</commentid>
    <comment_count>5</comment_count>
      <attachid>193854</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-19 10:33:14 -0700</bug_when>
    <thetext>Comment on attachment 193854
Patch

Attachment 193854 did not pass cr-linux-debug-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17192608</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858439</commentid>
    <comment_count>6</comment_count>
      <attachid>193854</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-03-19 10:33:27 -0700</bug_when>
    <thetext>Comment on attachment 193854
Patch

Attachment 193854 did not pass qt-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/17213648</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858440</commentid>
    <comment_count>7</comment_count>
      <attachid>193854</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-19 10:33:50 -0700</bug_when>
    <thetext>Comment on attachment 193854
Patch

Attachment 193854 did not pass chromium-ews (chromium-xvfb):
Output: http://webkit-commit-queue.appspot.com/results/17242092</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858442</commentid>
    <comment_count>8</comment_count>
      <attachid>193854</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-03-19 10:37:00 -0700</bug_when>
    <thetext>Comment on attachment 193854
Patch

Attachment 193854 did not pass qt-wk2-ews (qt):
Output: http://webkit-commit-queue.appspot.com/results/17181606</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858456</commentid>
    <comment_count>9</comment_count>
      <attachid>193854</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2013-03-19 10:47:31 -0700</bug_when>
    <thetext>Comment on attachment 193854
Patch

Attachment 193854 did not pass cr-android-ews (chromium-android):
Output: http://webkit-commit-queue.appspot.com/results/17196514</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>858461</commentid>
    <comment_count>10</comment_count>
      <attachid>193860</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-03-19 10:49:58 -0700</bug_when>
    <thetext>Created attachment 193860
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859128</commentid>
    <comment_count>11</comment_count>
      <attachid>193860</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-03-20 00:44:45 -0700</bug_when>
    <thetext>Comment on attachment 193860
Patch

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

&gt; Source/WebCore/WebCore.vcproj/WebCore.vcproj:77701
&gt; +					RelativePath=&quot;..\inspector\front-end\ElementInspectionController.js&quot;

InspectElementModeController?

&gt; Source/WebCore/inspector/front-end/ElementInspectionController.js:34
&gt; +    this.toggleSearchButton = new WebInspector.StatusBarButton(WebInspector.UIString(&quot;Select an element in the page to inspect it.&quot;), &quot;node-search-status-bar-item&quot;);

Lets hide it.

&gt; Source/WebCore/inspector/front-end/inspector.js:97
&gt; +            mainStatusBar.insertBefore(this.elementInspectionController.toggleSearchButton.element, bottomStatusBarContainer);

You should encapsulate (hide) toggleSearchButton.

&gt; Source/WebCore/inspector/front-end/inspector.js:677
&gt; +    section.addKey(elementInspectionShortcut, WebInspector.UIString(&quot;Select node to inspect&quot;));

Why is &quot;Select node to inspect&quot; string here?

&gt; Source/WebCore/inspector/front-end/inspector.js:969
&gt; +    if (WebInspector.elementInspectionController &amp;&amp; WebInspector.elementInspectionController.enabled()) {

Can it be missing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859339</commentid>
    <comment_count>12</comment_count>
      <attachid>194038</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-03-20 06:31:50 -0700</bug_when>
    <thetext>Created attachment 194038
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859344</commentid>
    <comment_count>13</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-03-20 06:33:11 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=193860&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/WebCore.vcproj/WebCore.vcproj:77701
&gt; &gt; +					RelativePath=&quot;..\inspector\front-end\ElementInspectionController.js&quot;
&gt; 
&gt; InspectElementModeController?

Done.

&gt; &gt; Source/WebCore/inspector/front-end/ElementInspectionController.js:34
&gt; &gt; +    this.toggleSearchButton = new WebInspector.StatusBarButton(WebInspector.UIString(&quot;Select an element in the page to inspect it.&quot;), &quot;node-search-status-bar-item&quot;);
&gt; 
&gt; Lets hide it.

Done.

&gt; &gt; Source/WebCore/inspector/front-end/inspector.js:97
&gt; &gt; +            mainStatusBar.insertBefore(this.elementInspectionController.toggleSearchButton.element, bottomStatusBarContainer);
&gt; 
&gt; You should encapsulate (hide) toggleSearchButton.

Done.

&gt; &gt; Source/WebCore/inspector/front-end/inspector.js:677
&gt; &gt; +    section.addKey(elementInspectionShortcut, WebInspector.UIString(&quot;Select node to inspect&quot;));
&gt; 
&gt; Why is &quot;Select node to inspect&quot; string here?

This is done consistently with other shortcuts there. Am I missing something?

&gt; &gt; Source/WebCore/inspector/front-end/inspector.js:969
&gt; &gt; +    if (WebInspector.elementInspectionController &amp;&amp; WebInspector.elementInspectionController.enabled()) {
&gt; 
&gt; Can it be missing?

Yes, worker inspectors don&apos;t have it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>860049</commentid>
    <comment_count>14</comment_count>
      <attachid>194038</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-03-20 23:03:47 -0700</bug_when>
    <thetext>Comment on attachment 194038
Patch

Wrong patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861658</commentid>
    <comment_count>15</comment_count>
      <attachid>194593</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-03-22 10:46:54 -0700</bug_when>
    <thetext>Created attachment 194593
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>861662</commentid>
    <comment_count>16</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-03-22 10:47:25 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 194038 [details])
&gt; Wrong patch?

Yup, sorry for the mess. Fixed!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>865439</commentid>
    <comment_count>17</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2013-03-28 06:25:59 -0700</bug_when>
    <thetext>Committed r147105: &lt;http://trac.webkit.org/changeset/147105&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193810</attachid>
            <date>2013-03-19 06:34:30 -0700</date>
            <delta_ts>2013-03-19 10:28:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112689-20130319173020.patch</filename>
            <type>text/plain</type>
            <size>18127</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2VkYTg5MDU5MGZjMzFk
YzUwNGFlZjY3MGQyZjczOWViYzc1ZmM3ZC4uYmJlOWU1NzNhMjY5NGJhZDIwZTFhZjRmYTI3MzA1
M2Q1MWYwMzQ4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEzLTAzLTE5ICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogZmFjdG9yIG91dCBub2RlIHNlYXJjaCBjb250cm9sbGVyIGZyb20gaW5zcGVjdG9yLmpzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI2ODkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGp1c3Qg
ZXh0cmFjdHMgdGhlIGV4aXN0aW5nIGxvZ2ljIG9mIHRvZ2dsaW5nIG5vZGUgc2VhcmNoCisgICAg
ICAgIGZyb20gaW5zcGVjdG9yLmpzIGludG8gYSBjbGFzcyBvZiBpdHMgb3duLCBOb2RlU2VhcmNo
Q29udHJvbGxlci4KKyAgICAgICAgRHJpdmUtYnk6IGFkZCBDdHJsT3JNZXRhK1NoaWZ0K0MgdG8g
aGVscCBzY3JlZW4uCisgICAgICAgIAorICAgICAgICAqIFdlYkNvcmUuZ3lwaTogQWRkZWQgTm9k
ZVNlYXJjaENvbnRyb2xsZXIuanMuCisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2o6IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6
IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVy
czogRGl0dG8uCisgICAgICAgICogaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5OiBEaXR0
by4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0FkdmFuY2VkU2VhcmNoQ29udHJvbGxl
ci5qczogRHJpdmUtYnk6IHNpbXBsaWZ5IHNob3J0Y3V0IGNyZWF0aW9uLgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkFkdmFuY2VkU2VhcmNoQ29udHJvbGxlci5jcmVhdGVTaG9ydGN1dCk6CisgICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEFQSS5qczoKKyAgICAg
ICAgKEluc3BlY3RvckZyb250ZW5kQVBJLmVudGVySW5zcGVjdEVsZW1lbnRNb2RlKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL05vZGVTZWFyY2hDb250cm9sbGVyLmpzOiBBZGRlZC4K
KyAgICAgICAgKFdlYkluc3BlY3Rvci5Ob2RlU2VhcmNoQ29udHJvbGxlcik6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuTm9kZVNlYXJjaENvbnRyb2xsZXIuY3JlYXRlU2hvcnRjdXQpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLk5vZGVTZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5lbmFibGVkKToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5Ob2RlU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUuZGlz
YWJsZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTm9kZVNlYXJjaENvbnRyb2xsZXIucHJvdG90
eXBlLnRvZ2dsZVNlYXJjaC5jYWxsYmFjayk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTm9kZVNl
YXJjaENvbnRyb2xsZXIucHJvdG90eXBlLnRvZ2dsZVNlYXJjaCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuTm9kZVNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLmhhbmRsZVNob3J0Y3V0KToKKyAg
ICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmM6IEFkZGVkIE5vZGVTZWFyY2hD
b250cm9sbGVyLmpzLgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0
bWw6IERpdHRvLgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLl9jcmVhdGVHbG9iYWxTdGF0dXNCYXJJdGVtcyk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuX3JlZ2lzdGVyU2hvcnRjdXRzKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5kb2N1bWVudEtleURvd24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLl91cGRhdGVGb2N1
c2VkTm9kZSk6CisKIDIwMTMtMDMtMTkgIE1hcmlvIFNhbmNoZXogUHJhZGEgIDxtYXJpby5wcmFk
YUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBbR1RLXSBXcm9uZyBndWFyZCBVU0UoR0xYKSBpbiBS
ZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRW5n
bGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzIGIvU291cmNlL1dlYkNvcmUvRW5nbGlzaC5s
cHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IGI5NGQ5MWJhYmQwOGFjMmE1MjlkMTM3NDIy
N2I0OGQxOTE2YTJhOWUuLjYwOTNkOGMyNGQ3MDYzODYwZTEwY2E5MGNkMjRmNzJmNzIxNWQzOGQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5n
cy5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9FbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3Mu
anMKQEAgLTg3OSwzICs4NzksNCBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJUaGlzIGZpbGUgd2FzIGNo
YW5nZWQgZXh0ZXJuYWxseS4gV291bGQgeW91IGxpa2UgdG8gcmVsb2FkIGl0PwogbG9jYWxpemVk
U3RyaW5nc1siSXQgaXMgcmVjb21tZW5kZWQgdG8gcmVzdGFydCBpbnNwZWN0b3IgYWZ0ZXIgbWFr
aW5nIHRoZXNlIGNoYW5nZXMuIFdvdWxkIHlvdSBsaWtlIHRvIHJlc3RhcnQgaXQ/Il0gPSAiSXQg
aXMgcmVjb21tZW5kZWQgdG8gcmVzdGFydCBpbnNwZWN0b3IgYWZ0ZXIgbWFraW5nIHRoZXNlIGNo
YW5nZXMuIFdvdWxkIHlvdSBsaWtlIHRvIHJlc3RhcnQgaXQ/IjsKIGxvY2FsaXplZFN0cmluZ3Nb
IkxpbWl0IG51bWJlciBvZiBjYXB0dXJlZCBKUyBzdGFjayBmcmFtZXMiXSA9ICJMaW1pdCBudW1i
ZXIgb2YgY2FwdHVyZWQgSlMgc3RhY2sgZnJhbWVzIjsKIGxvY2FsaXplZFN0cmluZ3NbIkZyYW1l
cyB0byBjYXB0dXJlIl0gPSAiRnJhbWVzIHRvIGNhcHR1cmUiOworbG9jYWxpemVkU3RyaW5nc1si
U2VsZWN0IG5vZGUgdG8gaW5zcGVjdCJdID0gIlNlbGVjdCBub2RlIHRvIGluc3BlY3QiOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCmluZGV4IDRlYjliODU5NDQyYjRiNTk0ZDIxN2QxYmQ3YWYxNTk1MWNmNjEzMWQu
LjVhYzAzYzU2ODg0Njc2ZTdkYmNjNTE5M2RmOTg3NmE5YzRkNmVkYTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKQEAgLTUzODIsNiArNTM4Miw3IEBACiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVu
ZC9OZXR3b3JrUGFuZWxEZXNjcmlwdG9yLmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJv
bnQtZW5kL05ldHdvcmtSZXF1ZXN0LmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQt
ZW5kL05ldHdvcmtVSVNvdXJjZUNvZGVQcm92aWRlci5qcycsCisgICAgICAgICAgICAnaW5zcGVj
dG9yL2Zyb250LWVuZC9Ob2RlU2VhcmNoQ29udHJvbGxlci5qcycsCiAgICAgICAgICAgICAnaW5z
cGVjdG9yL2Zyb250LWVuZC9PYmplY3QuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9u
dC1lbmQvT2JqZWN0UG9wb3ZlckhlbHBlci5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zy
b250LWVuZC9PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5qcycsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGE3YzQ5M2ZkODVlMzBlYzU1NjljNmQ3
NWJlZjcyYzY1NGZhNjYyNjIuLmM2ZmNlNGQwMWI5MjIxN2EyZTNkMmQ2ZjQzZmQ0OWI3MjMyZmU5
NzkgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNw
cm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBA
IC03NzY5MCw2ICs3NzY5MCwxMCBAQAogCQkJCQk+CiAJCQkJPC9GaWxlPgogCQkJCTxGaWxlCisJ
CQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxOb2RlU2VhcmNoQ29udHJv
bGxlci5qcyIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQogCQkJCQlSZWxhdGl2ZVBh
dGg9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcT2JqZWN0LmpzIgogCQkJCQk+CiAJCQkJPC9GaWxl
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5k
ZXggYWFmMWVkMmFkYzZlY2I4Yjk4ODNiOWNiYzc2ZjFhOGJkNGI0MjEyZi4uMGFjNDM1NjllZjA2
MjUzODViZDNkOGVjNTdmYTc1NzM1ZDY5YTQ3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC0xMzUxNiw2ICsxMzUxNiw3IEBACiAgICAg
PE5vbmUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxOZXR3b3JrUGFuZWxEZXNjcmlw
dG9yLmpzIiAvPgogICAgIDxOb25lIEluY2x1ZGU9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcTmV0
d29ya1JlcXVlc3QuanMiIC8+CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGZyb250
LWVuZFxOZXR3b3JrVUlTb3VyY2VDb2RlUHJvdmlkZXIuanMiIC8+CisgICAgPE5vbmUgSW5jbHVk
ZT0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxOb2RlU2VhcmNoQ29udHJvbGxlci5qcyIgLz4KICAg
ICA8Tm9uZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXE9iamVjdC5qcyIgLz4KICAg
ICA8Tm9uZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXE9iamVjdFBvcG92ZXJIZWxw
ZXIuanMiIC8+CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxPYmpl
Y3RQcm9wZXJ0aWVzU2VjdGlvbi5qcyIgLz4KQEAgLTEzNjM4LDQgKzEzNjM5LDQgQEAKICAgPElt
cG9ydCBQcm9qZWN0PSIkKFZDVGFyZ2V0c1BhdGgpXE1pY3Jvc29mdC5DcHAudGFyZ2V0cyIgLz4K
ICAgPEltcG9ydEdyb3VwIExhYmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KICAgPC9JbXBvcnRHcm91
cD4KLTwvUHJvamVjdD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L1Byb2plY3Q+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9q
LmZpbHRlcnMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9q
LmZpbHRlcnMKaW5kZXggOWRhM2Y1ZTYxZjMzMjQxM2ZjMzY1NzQwMGRkNzdjNzM3NDM2NTJjZS4u
N2E4ODgwMDUxMjg2MDlhNjRlYjFkODBhZGJjOTU4NDhiNzY0NmQ3MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwpA
QCAtMTQ4ODEsNiArMTQ4ODEsOSBAQAogICAgIDxOb25lIEluY2x1ZGU9Ii4uXGluc3BlY3Rvclxm
cm9udC1lbmRcTmV0d29ya1VJU291cmNlQ29kZVByb3ZpZGVyLmpzIj4KICAgICAgIDxGaWx0ZXI+
aW5zcGVjdG9yXGZyb250LWVuZDwvRmlsdGVyPgogICAgIDwvTm9uZT4KKyAgICA8Tm9uZSBJbmNs
dWRlPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXE5vZGVTZWFyY2hDb250cm9sbGVyLmpzIj4KKyAg
ICAgIDxGaWx0ZXI+aW5zcGVjdG9yXGZyb250LWVuZDwvRmlsdGVyPgorICAgIDwvTm9uZT4KICAg
ICA8Tm9uZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXE9iamVjdC5qcyI+CiAgICAg
ICA8RmlsdGVyPmluc3BlY3Rvclxmcm9udC1lbmQ8L0ZpbHRlcj4KICAgICA8L05vbmU+CkBAIC0x
NTM0NSw0ICsxNTM0OCw0IEBACiAgICAgICA8RmlsdGVyPnJlbmRlcmluZzwvRmlsdGVyPgogICAg
IDwvQ3VzdG9tQnVpbGRTdGVwPgogICA8L0l0ZW1Hcm91cD4KLTwvUHJvamVjdD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCis8L1Byb2plY3Q+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQucHkgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvY29tcGlsZS1mcm9udC1lbmQucHkKaW5kZXggM2ZiNDk4YzgyNTNhODZmYTkwMzA2YjYwZGNm
NDBjOTNmYmNkMTJlNi4uNWI3NmMzNjVjNTJkNTZkYTVjYTcxNjVkMTg4MjEwZjBlYjNlMjI1MCAx
MDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5weQpAQCAt
MTgzLDYgKzE4Myw3IEBAIG1vZHVsZXMgPSBbCiAgICAgICAgICAgICAiRm9udFZpZXcuanMiLAog
ICAgICAgICAgICAgIkltYWdlVmlldy5qcyIsCiAgICAgICAgICAgICAiTmF0aXZlQnJlYWtwb2lu
dHNTaWRlYmFyUGFuZS5qcyIsCisgICAgICAgICAgICAiTm9kZVNlYXJjaENvbnRyb2xsZXIuanMi
LAogICAgICAgICAgICAgIk9iamVjdFBvcG92ZXJIZWxwZXIuanMiLAogICAgICAgICAgICAgIk9i
amVjdFByb3BlcnRpZXNTZWN0aW9uLmpzIiwKICAgICAgICAgICAgICJTb3VyY2VGcmFtZS5qcyIs
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0FkdmFuY2Vk
U2VhcmNoQ29udHJvbGxlci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
QWR2YW5jZWRTZWFyY2hDb250cm9sbGVyLmpzCmluZGV4IDIyZjUwMGU2MGY5MGNhYjQ3YWU5ZTli
ODZiYTI0Y2JiZWExNDk3NDkuLjczMzBlODNhNGExYzQ2ZTFlOTU3MGQ2NzJkMTE0MzA3OWM0MWUz
ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQWR2YW5j
ZWRTZWFyY2hDb250cm9sbGVyLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvQWR2YW5jZWRTZWFyY2hDb250cm9sbGVyLmpzCkBAIC00NCwxMCArNDQsNyBAQCBXZWJJ
bnNwZWN0b3IuQWR2YW5jZWRTZWFyY2hDb250cm9sbGVyID0gZnVuY3Rpb24oKQogICovCiBXZWJJ
bnNwZWN0b3IuQWR2YW5jZWRTZWFyY2hDb250cm9sbGVyLmNyZWF0ZVNob3J0Y3V0ID0gZnVuY3Rp
b24oKQogewotICAgIGlmIChXZWJJbnNwZWN0b3IuaXNNYWMoKSkKLSAgICAgICAgcmV0dXJuIFdl
Ykluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lm1ha2VEZXNjcmlwdG9yKCJmIiwgV2ViSW5zcGVj
dG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXJzLk1ldGEgfCBXZWJJbnNwZWN0b3IuS2V5Ym9h
cmRTaG9ydGN1dC5Nb2RpZmllcnMuQWx0KTsKLSAgICBlbHNlCi0gICAgICAgIHJldHVybiBXZWJJ
bnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5tYWtlRGVzY3JpcHRvcigiZiIsIFdlYkluc3BlY3Rv
ci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVycy5DdHJsIHwgV2ViSW5zcGVjdG9yLktleWJvYXJk
U2hvcnRjdXQuTW9kaWZpZXJzLlNoaWZ0KTsKKyAgICByZXR1cm4gV2ViSW5zcGVjdG9yLktleWJv
YXJkU2hvcnRjdXQubWFrZURlc2NyaXB0b3IoImYiLCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9y
dGN1dC5Nb2RpZmllcnMuQ3RybE9yTWV0YSB8IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
Lk1vZGlmaWVycy5TaGlmdCk7CiB9CiAKIFdlYkluc3BlY3Rvci5BZHZhbmNlZFNlYXJjaENvbnRy
b2xsZXIucHJvdG90eXBlID0gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEFQSS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRBUEkuanMKaW5kZXggZGIyYzkyNjg2Y2Vj
MWI5Y2Y2MDkwNTdjYTA1Y2M3OTUxZmU0ZjBkMi4uNmEyYThhNGQ3NDBlM2Y2ODUxNGJlNjY3NzQw
NGI2NzY4NWFjNmFlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9JbnNwZWN0b3JGcm9udGVuZEFQSS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5kQVBJLmpzCkBAIC0xMDcsNyArMTA3LDggQEAg
dmFyIEluc3BlY3RvckZyb250ZW5kQVBJID0gewogCiAgICAgZW50ZXJJbnNwZWN0RWxlbWVudE1v
ZGU6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIFdlYkluc3BlY3Rvci50b2dnbGVTZWFyY2hp
bmdGb3JOb2RlKCk7CisgICAgICAgIGlmIChXZWJJbnNwZWN0b3Iubm9kZVNlYXJjaENvbnRyb2xs
ZXIpCisgICAgICAgICAgICBXZWJJbnNwZWN0b3Iubm9kZVNlYXJjaENvbnRyb2xsZXIudG9nZ2xl
U2VhcmNoKCk7CiAgICAgfSwKIAogICAgIGZpbGVTeXN0ZW1zTG9hZGVkOiBmdW5jdGlvbihmaWxl
U3lzdGVtcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
Tm9kZVNlYXJjaENvbnRyb2xsZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL05vZGVTZWFyY2hDb250cm9sbGVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE3ODZhMTFjY2IwNDA2NzE5
MjcwZDIxNGM2NzZjNjU3Y2E0YjAyZDUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05vZGVTZWFyY2hDb250cm9sbGVyLmpzCkBAIC0wLDAgKzEs
ODIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAq
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICoKKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEdPT0dMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgR09PR0xFIElOQy4KKyAqIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworLyoqCisgKiBAY29uc3RydWN0b3IKKyAqLworV2ViSW5z
cGVjdG9yLk5vZGVTZWFyY2hDb250cm9sbGVyID0gZnVuY3Rpb24oKQoreworICAgIHRoaXMudG9n
Z2xlU2VhcmNoQnV0dG9uID0gbmV3IFdlYkluc3BlY3Rvci5TdGF0dXNCYXJCdXR0b24oV2ViSW5z
cGVjdG9yLlVJU3RyaW5nKCJTZWxlY3QgYW4gZWxlbWVudCBpbiB0aGUgcGFnZSB0byBpbnNwZWN0
IGl0LiIpLCAibm9kZS1zZWFyY2gtc3RhdHVzLWJhci1pdGVtIik7CisgICAgdGhpcy50b2dnbGVT
ZWFyY2hCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLnRvZ2dsZVNlYXJjaCwg
dGhpcyk7CisgICAgdGhpcy5fc2hvcnRjdXQgPSBXZWJJbnNwZWN0b3IuTm9kZVNlYXJjaENvbnRy
b2xsZXIuY3JlYXRlU2hvcnRjdXQoKTsKK30KKworV2ViSW5zcGVjdG9yLk5vZGVTZWFyY2hDb250
cm9sbGVyLmNyZWF0ZVNob3J0Y3V0ID0gZnVuY3Rpb24oKQoreworICAgIHJldHVybiBXZWJJbnNw
ZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5tYWtlRGVzY3JpcHRvcigiYyIsIFdlYkluc3BlY3Rvci5L
ZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVycy5DdHJsT3JNZXRhIHwgV2ViSW5zcGVjdG9yLktleWJv
YXJkU2hvcnRjdXQuTW9kaWZpZXJzLlNoaWZ0KTsKK30KKworV2ViSW5zcGVjdG9yLk5vZGVTZWFy
Y2hDb250cm9sbGVyLnByb3RvdHlwZSA9IHsKKyAgICBlbmFibGVkOiBmdW5jdGlvbigpCisgICAg
eworICAgICAgICByZXR1cm4gdGhpcy50b2dnbGVTZWFyY2hCdXR0b24udG9nZ2xlZDsKKyAgICB9
LAorCisgICAgZGlzYWJsZTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuZW5h
YmxlZCgpKQorICAgICAgICAgICAgdGhpcy50b2dnbGVTZWFyY2goKTsKKyAgICB9LAorCisgICAg
dG9nZ2xlU2VhcmNoOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICB2YXIgZW5hYmxlZCA9ICF0
aGlzLmVuYWJsZWQoKTsKKyAgICAgICAgLyoqCisgICAgICAgICAqIEBwYXJhbSB7P1Byb3RvY29s
LkVycm9yfSBlcnJvcgorICAgICAgICAgKi8KKyAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2soZXJy
b3IpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICghZXJyb3IpCisgICAgICAgICAgICAgICAg
dGhpcy50b2dnbGVTZWFyY2hCdXR0b24udG9nZ2xlZCA9IGVuYWJsZWQ7CisgICAgICAgIH0KKyAg
ICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnNldEluc3BlY3RNb2RlRW5hYmxlZChlbmFibGVk
LCBjYWxsYmFjay5iaW5kKHRoaXMpKTsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFt
IHtLZXlib2FyZEV2ZW50fSBldmVudAorICAgICAqIEByZXR1cm4ge2Jvb2xlYW59CisgICAgICov
CisgICAgaGFuZGxlU2hvcnRjdXQ6IGZ1bmN0aW9uKGV2ZW50KQorICAgIHsKKyAgICAgICAgaWYg
KFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lm1ha2VLZXlGcm9tRXZlbnQoZXZlbnQpICE9
PSB0aGlzLl9zaG9ydGN1dC5rZXkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg
IHRoaXMudG9nZ2xlU2VhcmNoKCk7CisgICAgICAgIGV2ZW50LmNvbnN1bWUodHJ1ZSk7CisgICAg
ICAgIHJldHVybiB0cnVlOworICAgIH0KK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvV2ViS2l0LnFyYwppbmRleCBjYjJhZGQ4MTNlNWRjMDcxZmUyNGE0NmZiMzRkNzBl
Y2MxZDhiNjI0Li43YjFlNjUyY2YwNDgzZjIzODZjMWMyZjBmODU3OWRlNjk0OTI2Zjc5IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMKKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCkBAIC0xMzIs
NiArMTMyLDcgQEAKICAgICA8ZmlsZT5OZXR3b3JrUGFuZWxEZXNjcmlwdG9yLmpzPC9maWxlPgog
ICAgIDxmaWxlPk5ldHdvcmtSZXF1ZXN0LmpzPC9maWxlPgogICAgIDxmaWxlPk5ldHdvcmtVSVNv
dXJjZUNvZGVQcm92aWRlci5qczwvZmlsZT4KKyAgICA8ZmlsZT5Ob2RlU2VhcmNoQ29udHJvbGxl
ci5qczwvZmlsZT4KICAgICA8ZmlsZT5PYmplY3QuanM8L2ZpbGU+CiAgICAgPGZpbGU+T2JqZWN0
UG9wb3ZlckhlbHBlci5qczwvZmlsZT4KICAgICA8ZmlsZT5PYmplY3RQcm9wZXJ0aWVzU2VjdGlv
bi5qczwvZmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvaW5zcGVjdG9yLmh0bWwgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2lu
c3BlY3Rvci5odG1sCmluZGV4IGQ5Y2U5OGJiY2Q2MmIwOGJiYWFhZDUwMTYxOGY2ZjNjM2JlOGJj
ZTYuLjNjYWJiNjYzZDljOTAwYTZmNDNmMjAxZDViMGFmYTVkMTlhZTJiOTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbApAQCAtMTY3
LDYgKzE2Nyw3IEBAIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iQ29va2llUGFyc2VyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQv
amF2YXNjcmlwdCIgc3JjPSJUb29sYmFyLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSJTZWFyY2hDb250cm9sbGVyLmpzIj48L3NjcmlwdD4KKyAg
ICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJOb2RlU2VhcmNoQ29udHJvbGxl
ci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
V29ya2VyTWFuYWdlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iVXNlck1ldHJpY3MuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0i
dGV4dC9qYXZhc2NyaXB0IiBzcmM9IlJ1bnRpbWVNb2RlbC5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCmluZGV4IDk4Njg2
MzBiYzEwMjgxNTQzOTJhZGE1OWMyYjEyOWIwNzM4ZDczYWEuLmJhZjY3ZWFkM2JhNDVlMTEyYzhk
ODU0ZTJmMzFjZjdjY2JiYmRhMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvaW5zcGVjdG9yLmpzCkBAIC05MywxMSArOTMsOCBAQCB2YXIgV2ViSW5zcGVjdG9y
ID0gewogICAgICAgICB0aGlzLl90b2dnbGVDb25zb2xlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIo
ImNsaWNrIiwgdGhpcy5fdG9nZ2xlQ29uc29sZUJ1dHRvbkNsaWNrZWQuYmluZCh0aGlzKSwgZmFs
c2UpOwogICAgICAgICBtYWluU3RhdHVzQmFyLmluc2VydEJlZm9yZSh0aGlzLl90b2dnbGVDb25z
b2xlQnV0dG9uLmVsZW1lbnQsIGJvdHRvbVN0YXR1c0JhckNvbnRhaW5lcik7CiAKLSAgICAgICAg
aWYgKCFXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdlci5pc1dvcmtlckZyb250ZW5kKCkpIHsKLSAg
ICAgICAgICAgIHRoaXMuX25vZGVTZWFyY2hCdXR0b24gPSBuZXcgV2ViSW5zcGVjdG9yLlN0YXR1
c0JhckJ1dHRvbihXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNlbGVjdCBhbiBlbGVtZW50IGluIHRo
ZSBwYWdlIHRvIGluc3BlY3QgaXQuIiksICJub2RlLXNlYXJjaC1zdGF0dXMtYmFyLWl0ZW0iKTsK
LSAgICAgICAgICAgIHRoaXMuX25vZGVTZWFyY2hCdXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xp
Y2siLCB0aGlzLnRvZ2dsZVNlYXJjaGluZ0Zvck5vZGUsIHRoaXMpOwotICAgICAgICAgICAgbWFp
blN0YXR1c0Jhci5pbnNlcnRCZWZvcmUodGhpcy5fbm9kZVNlYXJjaEJ1dHRvbi5lbGVtZW50LCBi
b3R0b21TdGF0dXNCYXJDb250YWluZXIpOwotICAgICAgICB9CisgICAgICAgIGlmICh0aGlzLm5v
ZGVTZWFyY2hDb250cm9sbGVyKQorICAgICAgICAgICAgbWFpblN0YXR1c0Jhci5pbnNlcnRCZWZv
cmUodGhpcy5ub2RlU2VhcmNoQ29udHJvbGxlci50b2dnbGVTZWFyY2hCdXR0b24uZWxlbWVudCwg
Ym90dG9tU3RhdHVzQmFyQ29udGFpbmVyKTsKIAogICAgICAgICBtYWluU3RhdHVzQmFyLmFwcGVu
ZENoaWxkKHRoaXMuc2V0dGluZ3NDb250cm9sbGVyLnN0YXR1c0Jhckl0ZW0pOwogICAgIH0sCkBA
IC0yNzMsMjAgKzI3MCw2IEBAIHZhciBXZWJJbnNwZWN0b3IgPSB7CiAgICAgICAgIEluc3BlY3Rv
ckZyb250ZW5kSG9zdC5zZXRab29tRmFjdG9yKFdlYkluc3BlY3Rvci5ab29tLlRhYmxlW2luZGV4
XSk7CiAgICAgfSwKIAotICAgIHRvZ2dsZVNlYXJjaGluZ0Zvck5vZGU6IGZ1bmN0aW9uKCkKLSAg
ICB7Ci0gICAgICAgIHZhciBlbmFibGVkID0gIXRoaXMuX25vZGVTZWFyY2hCdXR0b24udG9nZ2xl
ZDsKLSAgICAgICAgLyoqCi0gICAgICAgICAqIEBwYXJhbSB7P1Byb3RvY29sLkVycm9yfSBlcnJv
cgotICAgICAgICAgKi8KLSAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2soZXJyb3IpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIGlmICghZXJyb3IpCi0gICAgICAgICAgICAgICAgdGhpcy5fbm9kZVNl
YXJjaEJ1dHRvbi50b2dnbGVkID0gZW5hYmxlZDsKLSAgICAgICAgfQotICAgICAgICBXZWJJbnNw
ZWN0b3IuZG9tQWdlbnQuc2V0SW5zcGVjdE1vZGVFbmFibGVkKGVuYWJsZWQsIGNhbGxiYWNrLmJp
bmQodGhpcykpOwotICAgIH0sCi0KICAgICBfZGVidWdnZXJQYXVzZWQ6IGZ1bmN0aW9uKCkKICAg
ICB7CiAgICAgICAgIC8vIENyZWF0ZSBzY3JpcHRzIHBhbmVsIHVwb24gZGVtYW5kLgpAQCAtNDU2
LDYgKzQzOSw5IEBAIFdlYkluc3BlY3Rvci5fZG9Mb2FkZWREb25lV2l0aENhcGFiaWxpdGllcyA9
IGZ1bmN0aW9uKCkKIAogICAgIHRoaXMuc2VhcmNoQ29udHJvbGxlciA9IG5ldyBXZWJJbnNwZWN0
b3IuU2VhcmNoQ29udHJvbGxlcigpOwogICAgIHRoaXMuYWR2YW5jZWRTZWFyY2hDb250cm9sbGVy
ID0gbmV3IFdlYkluc3BlY3Rvci5BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIoKTsKKyAgICBpZiAo
IVdlYkluc3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLmlzV29ya2VyRnJvbnRlbmQoKSkKKyAgICAgICAg
dGhpcy5ub2RlU2VhcmNoQ29udHJvbGxlciA9IG5ldyBXZWJJbnNwZWN0b3IuTm9kZVNlYXJjaENv
bnRyb2xsZXIoKTsKKwogICAgIHRoaXMuc2V0dGluZ3NDb250cm9sbGVyID0gbmV3IFdlYkluc3Bl
Y3Rvci5TZXR0aW5nc0NvbnRyb2xsZXIoKTsKIAogICAgIHRoaXMuZG9tQnJlYWtwb2ludHNTaWRl
YmFyUGFuZSA9IG5ldyBXZWJJbnNwZWN0b3IuRE9NQnJlYWtwb2ludHNTaWRlYmFyUGFuZSgpOwpA
QCAtNjg3LDYgKzY3Myw5IEBAIFdlYkluc3BlY3Rvci5fcmVnaXN0ZXJTaG9ydGN1dHMgPSBmdW5j
dGlvbigpCiAgICAgdmFyIGFkdmFuY2VkU2VhcmNoU2hvcnRjdXQgPSBXZWJJbnNwZWN0b3IuQWR2
YW5jZWRTZWFyY2hDb250cm9sbGVyLmNyZWF0ZVNob3J0Y3V0KCk7CiAgICAgc2VjdGlvbi5hZGRL
ZXkoYWR2YW5jZWRTZWFyY2hTaG9ydGN1dCwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTZWFyY2gg
YWNyb3NzIGFsbCBzb3VyY2VzIikpOwogCisgICAgdmFyIG5vZGVTZWFyY2hTaG9ydGN1dCA9IFdl
Ykluc3BlY3Rvci5Ob2RlU2VhcmNoQ29udHJvbGxlci5jcmVhdGVTaG9ydGN1dCgpOworICAgIHNl
Y3Rpb24uYWRkS2V5KG5vZGVTZWFyY2hTaG9ydGN1dCwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJT
ZWxlY3Qgbm9kZSB0byBpbnNwZWN0IikpOworCiAgICAgdmFyIG9wZW5SZXNvdXJjZVNob3J0Y3V0
ID0gV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQubWFrZURlc2NyaXB0b3IoIm8iLCBXZWJJ
bnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllcnMuQ3RybE9yTWV0YSk7CiAgICAgc2Vj
dGlvbi5hZGRLZXkob3BlblJlc291cmNlU2hvcnRjdXQsIFdlYkluc3BlY3Rvci5VSVN0cmluZygi
R28gdG8gc291cmNlIikpOwogCkBAIC03NDIsNiArNzMxLDggQEAgV2ViSW5zcGVjdG9yLmRvY3Vt
ZW50S2V5RG93biA9IGZ1bmN0aW9uKGV2ZW50KQogICAgICAgICByZXR1cm47CiAgICAgaWYgKFdl
Ykluc3BlY3Rvci5hZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuaGFuZGxlU2hvcnRjdXQoZXZlbnQp
KQogICAgICAgICByZXR1cm47CisgICAgaWYgKFdlYkluc3BlY3Rvci5ub2RlU2VhcmNoQ29udHJv
bGxlciAmJiBXZWJJbnNwZWN0b3Iubm9kZVNlYXJjaENvbnRyb2xsZXIuaGFuZGxlU2hvcnRjdXQo
ZXZlbnQpKQorICAgICAgICByZXR1cm47CiAKICAgICBzd2l0Y2ggKGV2ZW50LmtleUlkZW50aWZp
ZXIpIHsKICAgICAgICAgY2FzZSAiVSswMDRGIjogLy8gTyBrZXkKQEAgLTc5NCwyMiArNzg1LDYg
QEAgV2ViSW5zcGVjdG9yLmRvY3VtZW50S2V5RG93biA9IGZ1bmN0aW9uKGV2ZW50KQogICAgICAg
ICAgICAgfQogICAgICAgICAgICAgYnJlYWs7CiAgICAgfQotCi0gICAgLy8gQ21kL0NvbnRyb2wg
KyBTaGlmdCArIEMgc2hvdWxkIGJlIGEgc2hvcnRjdXQgdG8gY2xpY2tpbmcgdGhlIE5vZGUgU2Vh
cmNoIEJ1dHRvbi4KLSAgICAvLyBUaGlzIHNob3J0Y3V0IG1hdGNoZXMgRmlyZWJ1Zy4KLSAgICBp
ZiAoZXZlbnQua2V5SWRlbnRpZmllciA9PT0gIlUrMDA0MyIpIHsgLy8gQyBrZXkKLSAgICAgICAg
aWYgKFdlYkluc3BlY3Rvci5pc01hYygpKQotICAgICAgICAgICAgdmFyIGlzTm9kZVNlYXJjaEtl
eSA9IGV2ZW50Lm1ldGFLZXkgJiYgIWV2ZW50LmN0cmxLZXkgJiYgIWV2ZW50LmFsdEtleSAmJiBl
dmVudC5zaGlmdEtleTsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgdmFyIGlzTm9kZVNlYXJj
aEtleSA9IGV2ZW50LmN0cmxLZXkgJiYgIWV2ZW50Lm1ldGFLZXkgJiYgIWV2ZW50LmFsdEtleSAm
JiBldmVudC5zaGlmdEtleTsKLQotICAgICAgICBpZiAoaXNOb2RlU2VhcmNoS2V5KSB7Ci0gICAg
ICAgICAgICB0aGlzLnRvZ2dsZVNlYXJjaGluZ0Zvck5vZGUoKTsKLSAgICAgICAgICAgIGV2ZW50
LmNvbnN1bWUodHJ1ZSk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAg
cmV0dXJuOwotICAgIH0KIH0KIAogV2ViSW5zcGVjdG9yLnBvc3REb2N1bWVudEtleURvd24gPSBm
dW5jdGlvbihldmVudCkKQEAgLTk4NCw5ICs5NTksOSBAQCBXZWJJbnNwZWN0b3IuZGV0YWNoZWQg
PSBmdW5jdGlvbihyZWFzb24pCiAKIFdlYkluc3BlY3Rvci5fdXBkYXRlRm9jdXNlZE5vZGUgPSBm
dW5jdGlvbihub2RlSWQpCiB7Ci0gICAgaWYgKFdlYkluc3BlY3Rvci5fbm9kZVNlYXJjaEJ1dHRv
bi50b2dnbGVkKSB7CisgICAgaWYgKFdlYkluc3BlY3Rvci5ub2RlU2VhcmNoQ29udHJvbGxlciAm
JiBXZWJJbnNwZWN0b3Iubm9kZVNlYXJjaENvbnRyb2xsZXIuZW5hYmxlZCgpKSB7CiAgICAgICAg
IEluc3BlY3RvckZyb250ZW5kSG9zdC5icmluZ1RvRnJvbnQoKTsKLSAgICAgICAgV2ViSW5zcGVj
dG9yLl9ub2RlU2VhcmNoQnV0dG9uLnRvZ2dsZWQgPSBmYWxzZTsKKyAgICAgICAgV2ViSW5zcGVj
dG9yLm5vZGVTZWFyY2hDb250cm9sbGVyLmRpc2FibGUoKTsKICAgICB9CiAgICAgV2ViSW5zcGVj
dG9yLnNob3dQYW5lbCgiZWxlbWVudHMiKS5yZXZlYWxBbmRTZWxlY3ROb2RlKG5vZGVJZCk7CiB9
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193854</attachid>
            <date>2013-03-19 10:28:15 -0700</date>
            <delta_ts>2013-03-19 10:49:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112689-20130319212405.patch</filename>
            <type>text/plain</type>
            <size>13392</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MjE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTRkMzM1NzViZGNmNzY5
YmE2MGUzZWY2MDg5Y2I3NTNiODI0NWExZi4uY2Q0MmNkZTkzZTE1ZjNmZDYwMDY5OTViOTdlMGI0
NTk5MDY4MGEzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTAzLTE5ICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogZmFjdG9yIG91dCBub2RlIHNlYXJjaCBjb250cm9sbGVyIGZyb20gaW5zcGVjdG9yLmpzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI2ODkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGp1c3Qg
ZXh0cmFjdHMgdGhlIGV4aXN0aW5nIGxvZ2ljIG9mIHRvZ2dsaW5nIG5vZGUgc2VhcmNoCisgICAg
ICAgIGZyb20gaW5zcGVjdG9yLmpzIGludG8gYSBjbGFzcyBvZiBpdHMgb3duLCBFbGVtZW50SW5z
cGVjdGlvbkNvbnRyb2xsZXIuCisgICAgICAgIERyaXZlLWJ5OiBhZGQgQ3RybE9yTWV0YStTaGlm
dCtDIHRvIGhlbHAgc2NyZWVuLgorCisgICAgICAgICogV2ViQ29yZS5neXBpOiBBZGRlZCBFbGVt
ZW50SW5zcGVjdGlvbkNvbnRyb2xsZXIuanMuCisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2o6IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2o6IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ou
ZmlsdGVyczogRGl0dG8uCisgICAgICAgICogaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5
OiBEaXR0by4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5k
QVBJLmpzOgorICAgICAgICAoSW5zcGVjdG9yRnJvbnRlbmRBUEkuZW50ZXJFbGVtZW50SW5zcGVj
dGlvbk1vZGUpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudEluc3BlY3Rp
b25Db250cm9sbGVyLmpzOiBBZGRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50SW5z
cGVjdGlvbkNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRJbnNwZWN0
aW9uQ29udHJvbGxlci5jcmVhdGVTaG9ydGN1dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRWxl
bWVudEluc3BlY3Rpb25Db250cm9sbGVyLnByb3RvdHlwZS5lbmFibGVkKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5FbGVtZW50SW5zcGVjdGlvbkNvbnRyb2xsZXIucHJvdG90eXBlLmRpc2FibGUp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRJbnNwZWN0aW9uQ29udHJvbGxlci5wcm90
b3R5cGUudG9nZ2xlU2VhcmNoLmNhbGxiYWNrKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVt
ZW50SW5zcGVjdGlvbkNvbnRyb2xsZXIucHJvdG90eXBlLnRvZ2dsZVNlYXJjaCk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuRWxlbWVudEluc3BlY3Rpb25Db250cm9sbGVyLnByb3RvdHlwZS5oYW5k
bGVTaG9ydGN1dCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjOiBB
ZGRlZCBFbGVtZW50SW5zcGVjdGlvbkNvbnRyb2xsZXIuanMuCisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbDogRGl0dG8uCisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9pbnNwZWN0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuX2NyZWF0ZUdsb2Jh
bFN0YXR1c0Jhckl0ZW1zKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5fcmVnaXN0ZXJTaG9ydGN1
dHMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmRvY3VtZW50S2V5RG93bik6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuX3VwZGF0ZUZvY3VzZWROb2RlKToKKwogMjAxMy0wMy0xOSAgQWxleGVpIEZp
bGlwcG92ICA8YWxwaEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogSW5j
cmVhc2UgRGF0YUdyaWQgZGVmYXVsdCBmb250IHNpemUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9FbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViQ29yZS9F
bmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggNjc4OTBjM2NkN2RiMzJlNjQx
ZTAyNmIyYmM3ZDE2MjNhODBmMzBmMy4uOTBhMDg0YmY3ZjYzZjJhYTlhMWM5ZTE2MmYyODI5NWUx
MGQ2YjJiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9sb2NhbGl6
ZWRTdHJpbmdzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovbG9jYWxpemVk
U3RyaW5ncy5qcwpAQCAtODgxLDMgKzg4MSw0IEBAIGxvY2FsaXplZFN0cmluZ3NbIlRoaXMgZmls
ZSB3YXMgY2hhbmdlZCBleHRlcm5hbGx5LiBXb3VsZCB5b3UgbGlrZSB0byByZWxvYWQgaXQ/CiBs
b2NhbGl6ZWRTdHJpbmdzWyJJdCBpcyByZWNvbW1lbmRlZCB0byByZXN0YXJ0IGluc3BlY3RvciBh
ZnRlciBtYWtpbmcgdGhlc2UgY2hhbmdlcy4gV291bGQgeW91IGxpa2UgdG8gcmVzdGFydCBpdD8i
XSA9ICJJdCBpcyByZWNvbW1lbmRlZCB0byByZXN0YXJ0IGluc3BlY3RvciBhZnRlciBtYWtpbmcg
dGhlc2UgY2hhbmdlcy4gV291bGQgeW91IGxpa2UgdG8gcmVzdGFydCBpdD8iOwogbG9jYWxpemVk
U3RyaW5nc1siTGltaXQgbnVtYmVyIG9mIGNhcHR1cmVkIEpTIHN0YWNrIGZyYW1lcyJdID0gIkxp
bWl0IG51bWJlciBvZiBjYXB0dXJlZCBKUyBzdGFjayBmcmFtZXMiOwogbG9jYWxpemVkU3RyaW5n
c1siRnJhbWVzIHRvIGNhcHR1cmUiXSA9ICJGcmFtZXMgdG8gY2FwdHVyZSI7Citsb2NhbGl6ZWRT
dHJpbmdzWyJTZWxlY3Qgbm9kZSB0byBpbnNwZWN0Il0gPSAiU2VsZWN0IG5vZGUgdG8gaW5zcGVj
dCI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMzVhNTE2NTQ2YTZlMzZhMGNmMjkzYjcyYWUzOWNjMDdk
OTZkZjM3NC4uZmQzOGQ4MWY0ZjFhNDUxNDk2ZjMzYjQ4NGU2OGNiYWMxZTQ2YmVjYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQpAQCAtNTM4Myw2ICs1MzgzLDcgQEAKICAgICAgICAgICAgICdpbnNwZWN0b3Iv
ZnJvbnQtZW5kL05ldHdvcmtQYW5lbERlc2NyaXB0b3IuanMnLAogICAgICAgICAgICAgJ2luc3Bl
Y3Rvci9mcm9udC1lbmQvTmV0d29ya1JlcXVlc3QuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rv
ci9mcm9udC1lbmQvTmV0d29ya1VJU291cmNlQ29kZVByb3ZpZGVyLmpzJywKKyAgICAgICAgICAg
ICdpbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRJbnNwZWN0aW9uQ29udHJvbGxlci5qcycsCiAg
ICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3QuanMnLAogICAgICAgICAgICAg
J2luc3BlY3Rvci9mcm9udC1lbmQvT2JqZWN0UG9wb3ZlckhlbHBlci5qcycsCiAgICAgICAgICAg
ICAnaW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5qcycsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGQxMTg2M2Q3
MDQ0ZWU5MDBlOTc3YTU5NjRlMGZlZTI0MTZkNDVjOGYuLmY2NjcyN2Y2NTQ2MGIwNTI2YmM2ZjY0
Y2IwZDY4ODZhZjI0Zjc5YTMgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qCkBAIC03NzY5OCw2ICs3NzY5OCwxMCBAQAogCQkJCQk+CiAJCQkJPC9GaWxl
PgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxF
bGVtZW50SW5zcGVjdGlvbkNvbnRyb2xsZXIuanMiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJ
PEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXE9iamVjdC5q
cyIKIAkJCQkJPgogCQkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IDNjMDI5YWQ5YTA0NWUyNGI1ZTZjMTI5NzQzMTU4MGI4
YmY1Y2VhODkuLmZhMzcxZWQzNTEyNTAwY2RhZWFhZDYzYWU0YmMxZDM4N2NiYzgwNzUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtMTM1
MTcsNiArMTM1MTcsNyBAQAogICAgIDxOb25lIEluY2x1ZGU9Ii4uXGluc3BlY3Rvclxmcm9udC1l
bmRcTmV0d29ya1BhbmVsRGVzY3JpcHRvci5qcyIgLz4KICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxp
bnNwZWN0b3JcZnJvbnQtZW5kXE5ldHdvcmtSZXF1ZXN0LmpzIiAvPgogICAgIDxOb25lIEluY2x1
ZGU9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcTmV0d29ya1VJU291cmNlQ29kZVByb3ZpZGVyLmpz
IiAvPgorICAgIDxOb25lIEluY2x1ZGU9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcRWxlbWVudElu
c3BlY3Rpb25Db250cm9sbGVyLmpzIiAvPgogICAgIDxOb25lIEluY2x1ZGU9Ii4uXGluc3BlY3Rv
clxmcm9udC1lbmRcT2JqZWN0LmpzIiAvPgogICAgIDxOb25lIEluY2x1ZGU9Ii4uXGluc3BlY3Rv
clxmcm9udC1lbmRcT2JqZWN0UG9wb3ZlckhlbHBlci5qcyIgLz4KICAgICA8Tm9uZSBJbmNsdWRl
PSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXE9iamVjdFByb3BlcnRpZXNTZWN0aW9uLmpzIiAvPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzCmluZGV4IDc4NGM2ZTU3NWU0NGVmZTI3M2E3MTEyMmM0N2NiOWU5ZGQ5OTU5MDcu
LjBjNWU4MjQ4NGYxMDg2MTNmOGZkMzBhOTMzNTllYjY2ZmY3ODhhMGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMK
QEAgLTE0ODg0LDYgKzE0ODg0LDkgQEAKICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3Jc
ZnJvbnQtZW5kXE5ldHdvcmtVSVNvdXJjZUNvZGVQcm92aWRlci5qcyI+CiAgICAgICA8RmlsdGVy
Pmluc3BlY3Rvclxmcm9udC1lbmQ8L0ZpbHRlcj4KICAgICA8L05vbmU+CisgICAgPE5vbmUgSW5j
bHVkZT0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxFbGVtZW50SW5zcGVjdGlvbkNvbnRyb2xsZXIu
anMiPgorICAgICAgPEZpbHRlcj5pbnNwZWN0b3JcZnJvbnQtZW5kPC9GaWx0ZXI+CisgICAgPC9O
b25lPgogICAgIDxOb25lIEluY2x1ZGU9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcT2JqZWN0Lmpz
Ij4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yXGZyb250LWVuZDwvRmlsdGVyPgogICAgIDwvTm9u
ZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9jb21waWxlLWZyb250LWVu
ZC5weSBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5weQppbmRl
eCA3ZTEwYWJjMTRjMDI0Y2I0MzRkZTI3MDMwNTY0MDQ3ZTZmZjQ5MzE5Li42YmVjYjYyOTk2NjI0
MjIyYmI4Y2MzNDA2YTgwNDkyZWQyZTM1OGUzIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQucHkKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5CkBAIC0xODQsNiArMTg0LDcgQEAgbW9kdWxlcyA9IFsK
ICAgICAgICAgICAgICJGb250Vmlldy5qcyIsCiAgICAgICAgICAgICAiSW1hZ2VWaWV3LmpzIiwK
ICAgICAgICAgICAgICJOYXRpdmVCcmVha3BvaW50c1NpZGViYXJQYW5lLmpzIiwKKyAgICAgICAg
ICAgICJFbGVtZW50SW5zcGVjdGlvbkNvbnRyb2xsZXIuanMiLAogICAgICAgICAgICAgIk9iamVj
dFBvcG92ZXJIZWxwZXIuanMiLAogICAgICAgICAgICAgIk9iamVjdFByb3BlcnRpZXNTZWN0aW9u
LmpzIiwKICAgICAgICAgICAgICJTb3VyY2VGcmFtZS5qcyIsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5kQVBJLmpzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEFQSS5qcwpp
bmRleCBkYjJjOTI2ODZjZWMxYjljZjYwOTA1N2NhMDVjYzc5NTFmZTRmMGQyLi4zNTU3MGNkNGJj
NjI0NDRkYjRjM2IzMWY4MjQ5NDBmOWUyNzUxNzNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5kQVBJLmpzCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRBUEkuanMKQEAg
LTEwNyw3ICsxMDcsOCBAQCB2YXIgSW5zcGVjdG9yRnJvbnRlbmRBUEkgPSB7CiAKICAgICBlbnRl
ckluc3BlY3RFbGVtZW50TW9kZTogZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgV2ViSW5zcGVj
dG9yLnRvZ2dsZVNlYXJjaGluZ0Zvck5vZGUoKTsKKyAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5l
bGVtZW50SW5zcGVjdGlvbkNvbnRyb2xsZXIpCisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZWxl
bWVudEluc3BlY3Rpb25Db250cm9sbGVyLnRvZ2dsZVNlYXJjaCgpOwogICAgIH0sCiAKICAgICBm
aWxlU3lzdGVtc0xvYWRlZDogZnVuY3Rpb24oZmlsZVN5c3RlbXMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMKaW5kZXggZWQ1OGM1N2U1ZTliNTkwOWI3
M2E1M2M1MTA2OWYxODJmYTMyNjZlYy4uMzMzMjBmNGM2NDNiNThlNDI5N2ZhY2IwMDMxMTg2NzEy
NjBiOThkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9X
ZWJLaXQucXJjCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0
LnFyYwpAQCAtMTMyLDYgKzEzMiw3IEBACiAgICAgPGZpbGU+TmV0d29ya1BhbmVsRGVzY3JpcHRv
ci5qczwvZmlsZT4KICAgICA8ZmlsZT5OZXR3b3JrUmVxdWVzdC5qczwvZmlsZT4KICAgICA8Zmls
ZT5OZXR3b3JrVUlTb3VyY2VDb2RlUHJvdmlkZXIuanM8L2ZpbGU+CisgICAgPGZpbGU+RWxlbWVu
dEluc3BlY3Rpb25Db250cm9sbGVyLmpzPC9maWxlPgogICAgIDxmaWxlPk9iamVjdC5qczwvZmls
ZT4KICAgICA8ZmlsZT5PYmplY3RQb3BvdmVySGVscGVyLmpzPC9maWxlPgogICAgIDxmaWxlPk9i
amVjdFByb3BlcnRpZXNTZWN0aW9uLmpzPC9maWxlPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbCBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKaW5kZXggZTkzMDI1NTMwNjQxNzEzYzky
Y2YzODFlYjQzYzZhZmUzMmNjNmM5My4uZjIzZDYzNGIxZjlkMzZkODNiN2IwNGExMjBjOGNlNDE4
ZGRlNjdmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9p
bnNwZWN0b3IuaHRtbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2lu
c3BlY3Rvci5odG1sCkBAIC0xNjgsNiArMTY4LDcgQEAgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAgICA8c2NyaXB0IHR5
cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJDb29raWVQYXJzZXIuanMiPjwvc2NyaXB0PgogICAg
IDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlRvb2xiYXIuanMiPjwvc2NyaXB0
PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlNlYXJjaENvbnRyb2xs
ZXIuanMiPjwvc2NyaXB0PgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
IkVsZW1lbnRJbnNwZWN0aW9uQ29udHJvbGxlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iV29ya2VyTWFuYWdlci5qcyI+PC9zY3JpcHQ+CiAg
ICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iVXNlck1ldHJpY3MuanMiPjwv
c2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlJ1bnRpbWVN
b2RlbC5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvaW5zcGVjdG9yLmpzCmluZGV4IDhlYjBkYWEzZjQxYmY5MTY3ZTNiZGIwZGFmNjk2ZWVhOGFm
ZjNkZmQuLjEyMjAyNWE1NTVjMDc5YjI4NDE2ZmNjOWUyYTIzOWRhMTNmZTZkZTQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCkBAIC05Mywx
MSArOTMsOCBAQCB2YXIgV2ViSW5zcGVjdG9yID0gewogICAgICAgICB0aGlzLl90b2dnbGVDb25z
b2xlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5fdG9nZ2xlQ29uc29sZUJ1
dHRvbkNsaWNrZWQuYmluZCh0aGlzKSwgZmFsc2UpOwogICAgICAgICBtYWluU3RhdHVzQmFyLmlu
c2VydEJlZm9yZSh0aGlzLl90b2dnbGVDb25zb2xlQnV0dG9uLmVsZW1lbnQsIGJvdHRvbVN0YXR1
c0JhckNvbnRhaW5lcik7CiAKLSAgICAgICAgaWYgKCFXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdl
ci5pc1dvcmtlckZyb250ZW5kKCkpIHsKLSAgICAgICAgICAgIHRoaXMuX25vZGVTZWFyY2hCdXR0
b24gPSBuZXcgV2ViSW5zcGVjdG9yLlN0YXR1c0JhckJ1dHRvbihXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIlNlbGVjdCBhbiBlbGVtZW50IGluIHRoZSBwYWdlIHRvIGluc3BlY3QgaXQuIiksICJub2Rl
LXNlYXJjaC1zdGF0dXMtYmFyLWl0ZW0iKTsKLSAgICAgICAgICAgIHRoaXMuX25vZGVTZWFyY2hC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLnRvZ2dsZVNlYXJjaGluZ0Zvck5v
ZGUsIHRoaXMpOwotICAgICAgICAgICAgbWFpblN0YXR1c0Jhci5pbnNlcnRCZWZvcmUodGhpcy5f
bm9kZVNlYXJjaEJ1dHRvbi5lbGVtZW50LCBib3R0b21TdGF0dXNCYXJDb250YWluZXIpOwotICAg
ICAgICB9CisgICAgICAgIGlmICh0aGlzLmVsZW1lbnRJbnNwZWN0aW9uQ29udHJvbGxlcikKKyAg
ICAgICAgICAgIG1haW5TdGF0dXNCYXIuaW5zZXJ0QmVmb3JlKHRoaXMuZWxlbWVudEluc3BlY3Rp
b25Db250cm9sbGVyLnRvZ2dsZVNlYXJjaEJ1dHRvbi5lbGVtZW50LCBib3R0b21TdGF0dXNCYXJD
b250YWluZXIpOwogCiAgICAgICAgIG1haW5TdGF0dXNCYXIuYXBwZW5kQ2hpbGQodGhpcy5zZXR0
aW5nc0NvbnRyb2xsZXIuc3RhdHVzQmFySXRlbSk7CiAgICAgfSwKQEAgLTI3MywyMCArMjcwLDYg
QEAgdmFyIFdlYkluc3BlY3RvciA9IHsKICAgICAgICAgSW5zcGVjdG9yRnJvbnRlbmRIb3N0LnNl
dFpvb21GYWN0b3IoV2ViSW5zcGVjdG9yLlpvb20uVGFibGVbaW5kZXhdKTsKICAgICB9LAogCi0g
ICAgdG9nZ2xlU2VhcmNoaW5nRm9yTm9kZTogZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgdmFy
IGVuYWJsZWQgPSAhdGhpcy5fbm9kZVNlYXJjaEJ1dHRvbi50b2dnbGVkOwotICAgICAgICAvKioK
LSAgICAgICAgICogQHBhcmFtIHs/UHJvdG9jb2wuRXJyb3J9IGVycm9yCi0gICAgICAgICAqLwot
ICAgICAgICBmdW5jdGlvbiBjYWxsYmFjayhlcnJvcikKLSAgICAgICAgewotICAgICAgICAgICAg
aWYgKCFlcnJvcikKLSAgICAgICAgICAgICAgICB0aGlzLl9ub2RlU2VhcmNoQnV0dG9uLnRvZ2ds
ZWQgPSBlbmFibGVkOwotICAgICAgICB9Ci0gICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5z
ZXRJbnNwZWN0TW9kZUVuYWJsZWQoZW5hYmxlZCwgY2FsbGJhY2suYmluZCh0aGlzKSk7Ci0gICAg
fSwKLQogICAgIF9kZWJ1Z2dlclBhdXNlZDogZnVuY3Rpb24oKQogICAgIHsKICAgICAgICAgLy8g
Q3JlYXRlIHNjcmlwdHMgcGFuZWwgdXBvbiBkZW1hbmQuCkBAIC00NTYsNiArNDM5LDkgQEAgV2Vi
SW5zcGVjdG9yLl9kb0xvYWRlZERvbmVXaXRoQ2FwYWJpbGl0aWVzID0gZnVuY3Rpb24oKQogCiAg
ICAgdGhpcy5zZWFyY2hDb250cm9sbGVyID0gbmV3IFdlYkluc3BlY3Rvci5TZWFyY2hDb250cm9s
bGVyKCk7CiAgICAgdGhpcy5hZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIgPSBuZXcgV2ViSW5zcGVj
dG9yLkFkdmFuY2VkU2VhcmNoQ29udHJvbGxlcigpOworICAgIGlmICghV2ViSW5zcGVjdG9yLldv
cmtlck1hbmFnZXIuaXNXb3JrZXJGcm9udGVuZCgpKQorICAgICAgICB0aGlzLmVsZW1lbnRJbnNw
ZWN0aW9uQ29udHJvbGxlciA9IG5ldyBXZWJJbnNwZWN0b3IuRWxlbWVudEluc3BlY3Rpb25Db250
cm9sbGVyKCk7CisKICAgICB0aGlzLnNldHRpbmdzQ29udHJvbGxlciA9IG5ldyBXZWJJbnNwZWN0
b3IuU2V0dGluZ3NDb250cm9sbGVyKCk7CiAKICAgICB0aGlzLmRvbUJyZWFrcG9pbnRzU2lkZWJh
clBhbmUgPSBuZXcgV2ViSW5zcGVjdG9yLkRPTUJyZWFrcG9pbnRzU2lkZWJhclBhbmUoKTsKQEAg
LTY4Nyw2ICs2NzMsOSBAQCBXZWJJbnNwZWN0b3IuX3JlZ2lzdGVyU2hvcnRjdXRzID0gZnVuY3Rp
b24oKQogICAgIHZhciBhZHZhbmNlZFNlYXJjaFNob3J0Y3V0ID0gV2ViSW5zcGVjdG9yLkFkdmFu
Y2VkU2VhcmNoQ29udHJvbGxlci5jcmVhdGVTaG9ydGN1dCgpOwogICAgIHNlY3Rpb24uYWRkS2V5
KGFkdmFuY2VkU2VhcmNoU2hvcnRjdXQsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2VhcmNoIGFj
cm9zcyBhbGwgc291cmNlcyIpKTsKIAorICAgIHZhciBlbGVtZW50SW5zcGVjdGlvblNob3J0Y3V0
ID0gV2ViSW5zcGVjdG9yLkVsZW1lbnRJbnNwZWN0aW9uQ29udHJvbGxlci5jcmVhdGVTaG9ydGN1
dCgpOworICAgIHNlY3Rpb24uYWRkS2V5KGVsZW1lbnRJbnNwZWN0aW9uU2hvcnRjdXQsIFdlYklu
c3BlY3Rvci5VSVN0cmluZygiU2VsZWN0IG5vZGUgdG8gaW5zcGVjdCIpKTsKKwogICAgIHZhciBv
cGVuUmVzb3VyY2VTaG9ydGN1dCA9IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lm1ha2VE
ZXNjcmlwdG9yKCJvIiwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZpZXJzLkN0
cmxPck1ldGEpOwogICAgIHNlY3Rpb24uYWRkS2V5KG9wZW5SZXNvdXJjZVNob3J0Y3V0LCBXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIkdvIHRvIHNvdXJjZSIpKTsKIApAQCAtNzQyLDYgKzczMSw4IEBA
IFdlYkluc3BlY3Rvci5kb2N1bWVudEtleURvd24gPSBmdW5jdGlvbihldmVudCkKICAgICAgICAg
cmV0dXJuOwogICAgIGlmIChXZWJJbnNwZWN0b3IuYWR2YW5jZWRTZWFyY2hDb250cm9sbGVyLmhh
bmRsZVNob3J0Y3V0KGV2ZW50KSkKICAgICAgICAgcmV0dXJuOworICAgIGlmIChXZWJJbnNwZWN0
b3IuZWxlbWVudEluc3BlY3Rpb25Db250cm9sbGVyICYmIFdlYkluc3BlY3Rvci5lbGVtZW50SW5z
cGVjdGlvbkNvbnRyb2xsZXIuaGFuZGxlU2hvcnRjdXQoZXZlbnQpKQorICAgICAgICByZXR1cm47
CiAKICAgICBzd2l0Y2ggKGV2ZW50LmtleUlkZW50aWZpZXIpIHsKICAgICAgICAgY2FzZSAiVSsw
MDRGIjogLy8gTyBrZXkKQEAgLTc5NCwyMiArNzg1LDYgQEAgV2ViSW5zcGVjdG9yLmRvY3VtZW50
S2V5RG93biA9IGZ1bmN0aW9uKGV2ZW50KQogICAgICAgICAgICAgfQogICAgICAgICAgICAgYnJl
YWs7CiAgICAgfQotCi0gICAgLy8gQ21kL0NvbnRyb2wgKyBTaGlmdCArIEMgc2hvdWxkIGJlIGEg
c2hvcnRjdXQgdG8gY2xpY2tpbmcgdGhlIE5vZGUgU2VhcmNoIEJ1dHRvbi4KLSAgICAvLyBUaGlz
IHNob3J0Y3V0IG1hdGNoZXMgRmlyZWJ1Zy4KLSAgICBpZiAoZXZlbnQua2V5SWRlbnRpZmllciA9
PT0gIlUrMDA0MyIpIHsgLy8gQyBrZXkKLSAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5pc01hYygp
KQotICAgICAgICAgICAgdmFyIGlzTm9kZVNlYXJjaEtleSA9IGV2ZW50Lm1ldGFLZXkgJiYgIWV2
ZW50LmN0cmxLZXkgJiYgIWV2ZW50LmFsdEtleSAmJiBldmVudC5zaGlmdEtleTsKLSAgICAgICAg
ZWxzZQotICAgICAgICAgICAgdmFyIGlzTm9kZVNlYXJjaEtleSA9IGV2ZW50LmN0cmxLZXkgJiYg
IWV2ZW50Lm1ldGFLZXkgJiYgIWV2ZW50LmFsdEtleSAmJiBldmVudC5zaGlmdEtleTsKLQotICAg
ICAgICBpZiAoaXNOb2RlU2VhcmNoS2V5KSB7Ci0gICAgICAgICAgICB0aGlzLnRvZ2dsZVNlYXJj
aGluZ0Zvck5vZGUoKTsKLSAgICAgICAgICAgIGV2ZW50LmNvbnN1bWUodHJ1ZSk7Ci0gICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuOwotICAgIH0KIH0KIAogV2Vi
SW5zcGVjdG9yLnBvc3REb2N1bWVudEtleURvd24gPSBmdW5jdGlvbihldmVudCkKQEAgLTk5MSw5
ICs5NjYsOSBAQCBXZWJJbnNwZWN0b3IudGFyZ2V0Q3Jhc2hlZCA9IGZ1bmN0aW9uKCkKIAogV2Vi
SW5zcGVjdG9yLl91cGRhdGVGb2N1c2VkTm9kZSA9IGZ1bmN0aW9uKG5vZGVJZCkKIHsKLSAgICBp
ZiAoV2ViSW5zcGVjdG9yLl9ub2RlU2VhcmNoQnV0dG9uLnRvZ2dsZWQpIHsKKyAgICBpZiAoV2Vi
SW5zcGVjdG9yLmVsZW1lbnRJbnNwZWN0aW9uQ29udHJvbGxlciAmJiBXZWJJbnNwZWN0b3IuZWxl
bWVudEluc3BlY3Rpb25Db250cm9sbGVyLmVuYWJsZWQoKSkgewogICAgICAgICBJbnNwZWN0b3JG
cm9udGVuZEhvc3QuYnJpbmdUb0Zyb250KCk7Ci0gICAgICAgIFdlYkluc3BlY3Rvci5fbm9kZVNl
YXJjaEJ1dHRvbi50b2dnbGVkID0gZmFsc2U7CisgICAgICAgIFdlYkluc3BlY3Rvci5lbGVtZW50
SW5zcGVjdGlvbkNvbnRyb2xsZXIuZGlzYWJsZSgpOwogICAgIH0KICAgICBXZWJJbnNwZWN0b3Iu
c2hvd1BhbmVsKCJlbGVtZW50cyIpLnJldmVhbEFuZFNlbGVjdE5vZGUobm9kZUlkKTsKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>193860</attachid>
            <date>2013-03-19 10:49:58 -0700</date>
            <delta_ts>2013-03-20 06:31:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112689-20130319214547.patch</filename>
            <type>text/plain</type>
            <size>16765</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MjE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTRkMzM1NzViZGNmNzY5
YmE2MGUzZWY2MDg5Y2I3NTNiODI0NWExZi4uY2Q0MmNkZTkzZTE1ZjNmZDYwMDY5OTViOTdlMGI0
NTk5MDY4MGEzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM3IEBACisyMDEzLTAzLTE5ICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogZmFjdG9yIG91dCBub2RlIHNlYXJjaCBjb250cm9sbGVyIGZyb20gaW5zcGVjdG9yLmpzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI2ODkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGp1c3Qg
ZXh0cmFjdHMgdGhlIGV4aXN0aW5nIGxvZ2ljIG9mIHRvZ2dsaW5nIG5vZGUgc2VhcmNoCisgICAg
ICAgIGZyb20gaW5zcGVjdG9yLmpzIGludG8gYSBjbGFzcyBvZiBpdHMgb3duLCBFbGVtZW50SW5z
cGVjdGlvbkNvbnRyb2xsZXIuCisgICAgICAgIERyaXZlLWJ5OiBhZGQgQ3RybE9yTWV0YStTaGlm
dCtDIHRvIGhlbHAgc2NyZWVuLgorCisgICAgICAgICogV2ViQ29yZS5neXBpOiBBZGRlZCBFbGVt
ZW50SW5zcGVjdGlvbkNvbnRyb2xsZXIuanMuCisgICAgICAgICogV2ViQ29yZS52Y3Byb2ovV2Vi
Q29yZS52Y3Byb2o6IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2o6IERpdHRvLgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ou
ZmlsdGVyczogRGl0dG8uCisgICAgICAgICogaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5
OiBEaXR0by4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5k
QVBJLmpzOgorICAgICAgICAoSW5zcGVjdG9yRnJvbnRlbmRBUEkuZW50ZXJFbGVtZW50SW5zcGVj
dGlvbk1vZGUpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudEluc3BlY3Rp
b25Db250cm9sbGVyLmpzOiBBZGRlZC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVtZW50SW5z
cGVjdGlvbkNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRJbnNwZWN0
aW9uQ29udHJvbGxlci5jcmVhdGVTaG9ydGN1dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRWxl
bWVudEluc3BlY3Rpb25Db250cm9sbGVyLnByb3RvdHlwZS5lbmFibGVkKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5FbGVtZW50SW5zcGVjdGlvbkNvbnRyb2xsZXIucHJvdG90eXBlLmRpc2FibGUp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLkVsZW1lbnRJbnNwZWN0aW9uQ29udHJvbGxlci5wcm90
b3R5cGUudG9nZ2xlU2VhcmNoLmNhbGxiYWNrKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5FbGVt
ZW50SW5zcGVjdGlvbkNvbnRyb2xsZXIucHJvdG90eXBlLnRvZ2dsZVNlYXJjaCk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuRWxlbWVudEluc3BlY3Rpb25Db250cm9sbGVyLnByb3RvdHlwZS5oYW5k
bGVTaG9ydGN1dCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjOiBB
ZGRlZCBFbGVtZW50SW5zcGVjdGlvbkNvbnRyb2xsZXIuanMuCisgICAgICAgICogaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbDogRGl0dG8uCisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9pbnNwZWN0b3IuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuX2NyZWF0ZUdsb2Jh
bFN0YXR1c0Jhckl0ZW1zKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5fcmVnaXN0ZXJTaG9ydGN1
dHMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLmRvY3VtZW50S2V5RG93bik6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuX3VwZGF0ZUZvY3VzZWROb2RlKToKKwogMjAxMy0wMy0xOSAgQWxleGVpIEZp
bGlwcG92ICA8YWxwaEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogSW5j
cmVhc2UgRGF0YUdyaWQgZGVmYXVsdCBmb250IHNpemUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9FbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMgYi9Tb3VyY2UvV2ViQ29yZS9F
bmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggNjc4OTBjM2NkN2RiMzJlNjQx
ZTAyNmIyYmM3ZDE2MjNhODBmMzBmMy4uOTBhMDg0YmY3ZjYzZjJhYTlhMWM5ZTE2MmYyODI5NWUx
MGQ2YjJiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9sb2NhbGl6
ZWRTdHJpbmdzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovbG9jYWxpemVk
U3RyaW5ncy5qcwpAQCAtODgxLDMgKzg4MSw0IEBAIGxvY2FsaXplZFN0cmluZ3NbIlRoaXMgZmls
ZSB3YXMgY2hhbmdlZCBleHRlcm5hbGx5LiBXb3VsZCB5b3UgbGlrZSB0byByZWxvYWQgaXQ/CiBs
b2NhbGl6ZWRTdHJpbmdzWyJJdCBpcyByZWNvbW1lbmRlZCB0byByZXN0YXJ0IGluc3BlY3RvciBh
ZnRlciBtYWtpbmcgdGhlc2UgY2hhbmdlcy4gV291bGQgeW91IGxpa2UgdG8gcmVzdGFydCBpdD8i
XSA9ICJJdCBpcyByZWNvbW1lbmRlZCB0byByZXN0YXJ0IGluc3BlY3RvciBhZnRlciBtYWtpbmcg
dGhlc2UgY2hhbmdlcy4gV291bGQgeW91IGxpa2UgdG8gcmVzdGFydCBpdD8iOwogbG9jYWxpemVk
U3RyaW5nc1siTGltaXQgbnVtYmVyIG9mIGNhcHR1cmVkIEpTIHN0YWNrIGZyYW1lcyJdID0gIkxp
bWl0IG51bWJlciBvZiBjYXB0dXJlZCBKUyBzdGFjayBmcmFtZXMiOwogbG9jYWxpemVkU3RyaW5n
c1siRnJhbWVzIHRvIGNhcHR1cmUiXSA9ICJGcmFtZXMgdG8gY2FwdHVyZSI7Citsb2NhbGl6ZWRT
dHJpbmdzWyJTZWxlY3Qgbm9kZSB0byBpbnNwZWN0Il0gPSAiU2VsZWN0IG5vZGUgdG8gaW5zcGVj
dCI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMzVhNTE2NTQ2YTZlMzZhMGNmMjkzYjcyYWUzOWNjMDdk
OTZkZjM3NC4uZmQzOGQ4MWY0ZjFhNDUxNDk2ZjMzYjQ4NGU2OGNiYWMxZTQ2YmVjYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQpAQCAtNTM4Myw2ICs1MzgzLDcgQEAKICAgICAgICAgICAgICdpbnNwZWN0b3Iv
ZnJvbnQtZW5kL05ldHdvcmtQYW5lbERlc2NyaXB0b3IuanMnLAogICAgICAgICAgICAgJ2luc3Bl
Y3Rvci9mcm9udC1lbmQvTmV0d29ya1JlcXVlc3QuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rv
ci9mcm9udC1lbmQvTmV0d29ya1VJU291cmNlQ29kZVByb3ZpZGVyLmpzJywKKyAgICAgICAgICAg
ICdpbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRJbnNwZWN0aW9uQ29udHJvbGxlci5qcycsCiAg
ICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3QuanMnLAogICAgICAgICAgICAg
J2luc3BlY3Rvci9mcm9udC1lbmQvT2JqZWN0UG9wb3ZlckhlbHBlci5qcycsCiAgICAgICAgICAg
ICAnaW5zcGVjdG9yL2Zyb250LWVuZC9PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5qcycsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IGQxMTg2M2Q3
MDQ0ZWU5MDBlOTc3YTU5NjRlMGZlZTI0MTZkNDVjOGYuLmY2NjcyN2Y2NTQ2MGIwNTI2YmM2ZjY0
Y2IwZDY4ODZhZjI0Zjc5YTMgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qCkBAIC03NzY5OCw2ICs3NzY5OCwxMCBAQAogCQkJCQk+CiAJCQkJPC9GaWxl
PgogCQkJCTxGaWxlCisJCQkJCVJlbGF0aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxF
bGVtZW50SW5zcGVjdGlvbkNvbnRyb2xsZXIuanMiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJ
PEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXE9iamVjdC5q
cyIKIAkJCQkJPgogCQkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IDNjMDI5YWQ5YTA0NWUyNGI1ZTZjMTI5NzQzMTU4MGI4
YmY1Y2VhODkuLmZhMzcxZWQzNTEyNTAwY2RhZWFhZDYzYWU0YmMxZDM4N2NiYzgwNzUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtMTM1
MTcsNiArMTM1MTcsNyBAQAogICAgIDxOb25lIEluY2x1ZGU9Ii4uXGluc3BlY3Rvclxmcm9udC1l
bmRcTmV0d29ya1BhbmVsRGVzY3JpcHRvci5qcyIgLz4KICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxp
bnNwZWN0b3JcZnJvbnQtZW5kXE5ldHdvcmtSZXF1ZXN0LmpzIiAvPgogICAgIDxOb25lIEluY2x1
ZGU9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcTmV0d29ya1VJU291cmNlQ29kZVByb3ZpZGVyLmpz
IiAvPgorICAgIDxOb25lIEluY2x1ZGU9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcRWxlbWVudElu
c3BlY3Rpb25Db250cm9sbGVyLmpzIiAvPgogICAgIDxOb25lIEluY2x1ZGU9Ii4uXGluc3BlY3Rv
clxmcm9udC1lbmRcT2JqZWN0LmpzIiAvPgogICAgIDxOb25lIEluY2x1ZGU9Ii4uXGluc3BlY3Rv
clxmcm9udC1lbmRcT2JqZWN0UG9wb3ZlckhlbHBlci5qcyIgLz4KICAgICA8Tm9uZSBJbmNsdWRl
PSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXE9iamVjdFByb3BlcnRpZXNTZWN0aW9uLmpzIiAvPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzCmluZGV4IDc4NGM2ZTU3NWU0NGVmZTI3M2E3MTEyMmM0N2NiOWU5ZGQ5OTU5MDcu
LjBjNWU4MjQ4NGYxMDg2MTNmOGZkMzBhOTMzNTllYjY2ZmY3ODhhMGYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMK
QEAgLTE0ODg0LDYgKzE0ODg0LDkgQEAKICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3Jc
ZnJvbnQtZW5kXE5ldHdvcmtVSVNvdXJjZUNvZGVQcm92aWRlci5qcyI+CiAgICAgICA8RmlsdGVy
Pmluc3BlY3Rvclxmcm9udC1lbmQ8L0ZpbHRlcj4KICAgICA8L05vbmU+CisgICAgPE5vbmUgSW5j
bHVkZT0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxFbGVtZW50SW5zcGVjdGlvbkNvbnRyb2xsZXIu
anMiPgorICAgICAgPEZpbHRlcj5pbnNwZWN0b3JcZnJvbnQtZW5kPC9GaWx0ZXI+CisgICAgPC9O
b25lPgogICAgIDxOb25lIEluY2x1ZGU9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcT2JqZWN0Lmpz
Ij4KICAgICAgIDxGaWx0ZXI+aW5zcGVjdG9yXGZyb250LWVuZDwvRmlsdGVyPgogICAgIDwvTm9u
ZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9jb21waWxlLWZyb250LWVu
ZC5weSBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5weQppbmRl
eCA3ZTEwYWJjMTRjMDI0Y2I0MzRkZTI3MDMwNTY0MDQ3ZTZmZjQ5MzE5Li42YmVjYjYyOTk2NjI0
MjIyYmI4Y2MzNDA2YTgwNDkyZWQyZTM1OGUzIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQucHkKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5CkBAIC0xODQsNiArMTg0LDcgQEAgbW9kdWxlcyA9IFsK
ICAgICAgICAgICAgICJGb250Vmlldy5qcyIsCiAgICAgICAgICAgICAiSW1hZ2VWaWV3LmpzIiwK
ICAgICAgICAgICAgICJOYXRpdmVCcmVha3BvaW50c1NpZGViYXJQYW5lLmpzIiwKKyAgICAgICAg
ICAgICJFbGVtZW50SW5zcGVjdGlvbkNvbnRyb2xsZXIuanMiLAogICAgICAgICAgICAgIk9iamVj
dFBvcG92ZXJIZWxwZXIuanMiLAogICAgICAgICAgICAgIk9iamVjdFByb3BlcnRpZXNTZWN0aW9u
LmpzIiwKICAgICAgICAgICAgICJTb3VyY2VGcmFtZS5qcyIsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0VsZW1lbnRJbnNwZWN0aW9uQ29udHJvbGxlci5q
cyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRWxlbWVudEluc3BlY3Rpb25D
b250cm9sbGVyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEzMmY2ZmU4MTAxOWJjMmFiMmI3MmE4YmE0M2M5NDlm
YjVhZmJiZDMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0VsZW1lbnRJbnNwZWN0aW9uQ29udHJvbGxlci5qcwpAQCAtMCwwICsxLDgyIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBHT09HTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEdPT0dMRSBJTkMuCisgKiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKy8qKgorICogQGNvbnN0cnVjdG9yCisgKi8KK1dlYkluc3BlY3Rvci5F
bGVtZW50SW5zcGVjdGlvbkNvbnRyb2xsZXIgPSBmdW5jdGlvbigpCit7CisgICAgdGhpcy50b2dn
bGVTZWFyY2hCdXR0b24gPSBuZXcgV2ViSW5zcGVjdG9yLlN0YXR1c0JhckJ1dHRvbihXZWJJbnNw
ZWN0b3IuVUlTdHJpbmcoIlNlbGVjdCBhbiBlbGVtZW50IGluIHRoZSBwYWdlIHRvIGluc3BlY3Qg
aXQuIiksICJub2RlLXNlYXJjaC1zdGF0dXMtYmFyLWl0ZW0iKTsKKyAgICB0aGlzLnRvZ2dsZVNl
YXJjaEJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMudG9nZ2xlU2VhcmNoLCB0
aGlzKTsKKyAgICB0aGlzLl9zaG9ydGN1dCA9IFdlYkluc3BlY3Rvci5FbGVtZW50SW5zcGVjdGlv
bkNvbnRyb2xsZXIuY3JlYXRlU2hvcnRjdXQoKTsKK30KKworV2ViSW5zcGVjdG9yLkVsZW1lbnRJ
bnNwZWN0aW9uQ29udHJvbGxlci5jcmVhdGVTaG9ydGN1dCA9IGZ1bmN0aW9uKCkKK3sKKyAgICBy
ZXR1cm4gV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQubWFrZURlc2NyaXB0b3IoImMiLCBX
ZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllcnMuQ3RybE9yTWV0YSB8IFdlYklu
c3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlmaWVycy5TaGlmdCk7Cit9CisKK1dlYkluc3Bl
Y3Rvci5FbGVtZW50SW5zcGVjdGlvbkNvbnRyb2xsZXIucHJvdG90eXBlID0geworICAgIGVuYWJs
ZWQ6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLnRvZ2dsZVNlYXJjaEJ1
dHRvbi50b2dnbGVkOworICAgIH0sCisKKyAgICBkaXNhYmxlOiBmdW5jdGlvbigpCisgICAgewor
ICAgICAgICBpZiAodGhpcy5lbmFibGVkKCkpCisgICAgICAgICAgICB0aGlzLnRvZ2dsZVNlYXJj
aCgpOworICAgIH0sCisKKyAgICB0b2dnbGVTZWFyY2g6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAg
ICAgIHZhciBlbmFibGVkID0gIXRoaXMuZW5hYmxlZCgpOworICAgICAgICAvKioKKyAgICAgICAg
ICogQHBhcmFtIHs/UHJvdG9jb2wuRXJyb3J9IGVycm9yCisgICAgICAgICAqLworICAgICAgICBm
dW5jdGlvbiBjYWxsYmFjayhlcnJvcikKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCFlcnJv
cikKKyAgICAgICAgICAgICAgICB0aGlzLnRvZ2dsZVNlYXJjaEJ1dHRvbi50b2dnbGVkID0gZW5h
YmxlZDsKKyAgICAgICAgfQorICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQuc2V0SW5zcGVj
dE1vZGVFbmFibGVkKGVuYWJsZWQsIGNhbGxiYWNrLmJpbmQodGhpcykpOworICAgIH0sCisKKyAg
ICAvKioKKyAgICAgKiBAcGFyYW0ge0tleWJvYXJkRXZlbnR9IGV2ZW50CisgICAgICogQHJldHVy
biB7Ym9vbGVhbn0KKyAgICAgKi8KKyAgICBoYW5kbGVTaG9ydGN1dDogZnVuY3Rpb24oZXZlbnQp
CisgICAgeworICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQubWFrZUtl
eUZyb21FdmVudChldmVudCkgIT09IHRoaXMuX3Nob3J0Y3V0LmtleSkKKyAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgdGhpcy50b2dnbGVTZWFyY2goKTsKKyAgICAgICAgZXZlbnQu
Y29uc3VtZSh0cnVlKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEFQ
SS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRl
bmRBUEkuanMKaW5kZXggZGIyYzkyNjg2Y2VjMWI5Y2Y2MDkwNTdjYTA1Y2M3OTUxZmU0ZjBkMi4u
MzU1NzBjZDRiYzYyNDQ0ZGI0YzNiMzFmODI0OTQwZjllMjc1MTczYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEFQSS5qcwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5k
QVBJLmpzCkBAIC0xMDcsNyArMTA3LDggQEAgdmFyIEluc3BlY3RvckZyb250ZW5kQVBJID0gewog
CiAgICAgZW50ZXJJbnNwZWN0RWxlbWVudE1vZGU6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAg
IFdlYkluc3BlY3Rvci50b2dnbGVTZWFyY2hpbmdGb3JOb2RlKCk7CisgICAgICAgIGlmIChXZWJJ
bnNwZWN0b3IuZWxlbWVudEluc3BlY3Rpb25Db250cm9sbGVyKQorICAgICAgICAgICAgV2ViSW5z
cGVjdG9yLmVsZW1lbnRJbnNwZWN0aW9uQ29udHJvbGxlci50b2dnbGVTZWFyY2goKTsKICAgICB9
LAogCiAgICAgZmlsZVN5c3RlbXNMb2FkZWQ6IGZ1bmN0aW9uKGZpbGVTeXN0ZW1zKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCmluZGV4IGVkNThjNTdl
NWU5YjU5MDliNzNhNTNjNTEwNjlmMTgyZmEzMjY2ZWMuLjMzMzIwZjRjNjQzYjU4ZTQyOTdmYWNi
MDAzMTE4NjcxMjYwYjk4ZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvV2ViS2l0LnFyYworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL1dlYktpdC5xcmMKQEAgLTEzMiw2ICsxMzIsNyBAQAogICAgIDxmaWxlPk5ldHdvcmtQYW5l
bERlc2NyaXB0b3IuanM8L2ZpbGU+CiAgICAgPGZpbGU+TmV0d29ya1JlcXVlc3QuanM8L2ZpbGU+
CiAgICAgPGZpbGU+TmV0d29ya1VJU291cmNlQ29kZVByb3ZpZGVyLmpzPC9maWxlPgorICAgIDxm
aWxlPkVsZW1lbnRJbnNwZWN0aW9uQ29udHJvbGxlci5qczwvZmlsZT4KICAgICA8ZmlsZT5PYmpl
Y3QuanM8L2ZpbGU+CiAgICAgPGZpbGU+T2JqZWN0UG9wb3ZlckhlbHBlci5qczwvZmlsZT4KICAg
ICA8ZmlsZT5PYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5qczwvZmlsZT4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCmluZGV4IGU5MzAyNTUz
MDY0MTcxM2M5MmNmMzgxZWI0M2M2YWZlMzJjYzZjOTMuLmYyM2Q2MzRiMWY5ZDM2ZDgzYjdiMDRh
MTIwYzhjZTQxOGRkZTY3ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9pbnNwZWN0b3IuaHRtbApAQCAtMTY4LDYgKzE2OCw3IEBAIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgICAg
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iQ29va2llUGFyc2VyLmpzIj48L3Nj
cmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJUb29sYmFyLmpz
Ij48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJTZWFy
Y2hDb250cm9sbGVyLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSJFbGVtZW50SW5zcGVjdGlvbkNvbnRyb2xsZXIuanMiPjwvc2NyaXB0PgogICAg
IDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ildvcmtlck1hbmFnZXIuanMiPjwv
c2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlVzZXJNZXRy
aWNzLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3Jj
PSJSdW50aW1lTW9kZWwuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwppbmRleCA4ZWIwZGFhM2Y0MWJmOTE2N2UzYmRiMGRh
ZjY5NmVlYThhZmYzZGZkLi4xMjIwMjVhNTU1YzA3OWIyODQxNmZjYzllMmEyMzlkYTEzZmU2ZGU0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rv
ci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5q
cwpAQCAtOTMsMTEgKzkzLDggQEAgdmFyIFdlYkluc3BlY3RvciA9IHsKICAgICAgICAgdGhpcy5f
dG9nZ2xlQ29uc29sZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMuX3RvZ2ds
ZUNvbnNvbGVCdXR0b25DbGlja2VkLmJpbmQodGhpcyksIGZhbHNlKTsKICAgICAgICAgbWFpblN0
YXR1c0Jhci5pbnNlcnRCZWZvcmUodGhpcy5fdG9nZ2xlQ29uc29sZUJ1dHRvbi5lbGVtZW50LCBi
b3R0b21TdGF0dXNCYXJDb250YWluZXIpOwogCi0gICAgICAgIGlmICghV2ViSW5zcGVjdG9yLldv
cmtlck1hbmFnZXIuaXNXb3JrZXJGcm9udGVuZCgpKSB7Ci0gICAgICAgICAgICB0aGlzLl9ub2Rl
U2VhcmNoQnV0dG9uID0gbmV3IFdlYkluc3BlY3Rvci5TdGF0dXNCYXJCdXR0b24oV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJTZWxlY3QgYW4gZWxlbWVudCBpbiB0aGUgcGFnZSB0byBpbnNwZWN0IGl0
LiIpLCAibm9kZS1zZWFyY2gtc3RhdHVzLWJhci1pdGVtIik7Ci0gICAgICAgICAgICB0aGlzLl9u
b2RlU2VhcmNoQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy50b2dnbGVTZWFy
Y2hpbmdGb3JOb2RlLCB0aGlzKTsKLSAgICAgICAgICAgIG1haW5TdGF0dXNCYXIuaW5zZXJ0QmVm
b3JlKHRoaXMuX25vZGVTZWFyY2hCdXR0b24uZWxlbWVudCwgYm90dG9tU3RhdHVzQmFyQ29udGFp
bmVyKTsKLSAgICAgICAgfQorICAgICAgICBpZiAodGhpcy5lbGVtZW50SW5zcGVjdGlvbkNvbnRy
b2xsZXIpCisgICAgICAgICAgICBtYWluU3RhdHVzQmFyLmluc2VydEJlZm9yZSh0aGlzLmVsZW1l
bnRJbnNwZWN0aW9uQ29udHJvbGxlci50b2dnbGVTZWFyY2hCdXR0b24uZWxlbWVudCwgYm90dG9t
U3RhdHVzQmFyQ29udGFpbmVyKTsKIAogICAgICAgICBtYWluU3RhdHVzQmFyLmFwcGVuZENoaWxk
KHRoaXMuc2V0dGluZ3NDb250cm9sbGVyLnN0YXR1c0Jhckl0ZW0pOwogICAgIH0sCkBAIC0yNzMs
MjAgKzI3MCw2IEBAIHZhciBXZWJJbnNwZWN0b3IgPSB7CiAgICAgICAgIEluc3BlY3RvckZyb250
ZW5kSG9zdC5zZXRab29tRmFjdG9yKFdlYkluc3BlY3Rvci5ab29tLlRhYmxlW2luZGV4XSk7CiAg
ICAgfSwKIAotICAgIHRvZ2dsZVNlYXJjaGluZ0Zvck5vZGU6IGZ1bmN0aW9uKCkKLSAgICB7Ci0g
ICAgICAgIHZhciBlbmFibGVkID0gIXRoaXMuX25vZGVTZWFyY2hCdXR0b24udG9nZ2xlZDsKLSAg
ICAgICAgLyoqCi0gICAgICAgICAqIEBwYXJhbSB7P1Byb3RvY29sLkVycm9yfSBlcnJvcgotICAg
ICAgICAgKi8KLSAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2soZXJyb3IpCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIGlmICghZXJyb3IpCi0gICAgICAgICAgICAgICAgdGhpcy5fbm9kZVNlYXJjaEJ1
dHRvbi50b2dnbGVkID0gZW5hYmxlZDsKLSAgICAgICAgfQotICAgICAgICBXZWJJbnNwZWN0b3Iu
ZG9tQWdlbnQuc2V0SW5zcGVjdE1vZGVFbmFibGVkKGVuYWJsZWQsIGNhbGxiYWNrLmJpbmQodGhp
cykpOwotICAgIH0sCi0KICAgICBfZGVidWdnZXJQYXVzZWQ6IGZ1bmN0aW9uKCkKICAgICB7CiAg
ICAgICAgIC8vIENyZWF0ZSBzY3JpcHRzIHBhbmVsIHVwb24gZGVtYW5kLgpAQCAtNDU2LDYgKzQz
OSw5IEBAIFdlYkluc3BlY3Rvci5fZG9Mb2FkZWREb25lV2l0aENhcGFiaWxpdGllcyA9IGZ1bmN0
aW9uKCkKIAogICAgIHRoaXMuc2VhcmNoQ29udHJvbGxlciA9IG5ldyBXZWJJbnNwZWN0b3IuU2Vh
cmNoQ29udHJvbGxlcigpOwogICAgIHRoaXMuYWR2YW5jZWRTZWFyY2hDb250cm9sbGVyID0gbmV3
IFdlYkluc3BlY3Rvci5BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIoKTsKKyAgICBpZiAoIVdlYklu
c3BlY3Rvci5Xb3JrZXJNYW5hZ2VyLmlzV29ya2VyRnJvbnRlbmQoKSkKKyAgICAgICAgdGhpcy5l
bGVtZW50SW5zcGVjdGlvbkNvbnRyb2xsZXIgPSBuZXcgV2ViSW5zcGVjdG9yLkVsZW1lbnRJbnNw
ZWN0aW9uQ29udHJvbGxlcigpOworCiAgICAgdGhpcy5zZXR0aW5nc0NvbnRyb2xsZXIgPSBuZXcg
V2ViSW5zcGVjdG9yLlNldHRpbmdzQ29udHJvbGxlcigpOwogCiAgICAgdGhpcy5kb21CcmVha3Bv
aW50c1NpZGViYXJQYW5lID0gbmV3IFdlYkluc3BlY3Rvci5ET01CcmVha3BvaW50c1NpZGViYXJQ
YW5lKCk7CkBAIC02ODcsNiArNjczLDkgQEAgV2ViSW5zcGVjdG9yLl9yZWdpc3RlclNob3J0Y3V0
cyA9IGZ1bmN0aW9uKCkKICAgICB2YXIgYWR2YW5jZWRTZWFyY2hTaG9ydGN1dCA9IFdlYkluc3Bl
Y3Rvci5BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuY3JlYXRlU2hvcnRjdXQoKTsKICAgICBzZWN0
aW9uLmFkZEtleShhZHZhbmNlZFNlYXJjaFNob3J0Y3V0LCBXZWJJbnNwZWN0b3IuVUlTdHJpbmco
IlNlYXJjaCBhY3Jvc3MgYWxsIHNvdXJjZXMiKSk7CiAKKyAgICB2YXIgZWxlbWVudEluc3BlY3Rp
b25TaG9ydGN1dCA9IFdlYkluc3BlY3Rvci5FbGVtZW50SW5zcGVjdGlvbkNvbnRyb2xsZXIuY3Jl
YXRlU2hvcnRjdXQoKTsKKyAgICBzZWN0aW9uLmFkZEtleShlbGVtZW50SW5zcGVjdGlvblNob3J0
Y3V0LCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNlbGVjdCBub2RlIHRvIGluc3BlY3QiKSk7CisK
ICAgICB2YXIgb3BlblJlc291cmNlU2hvcnRjdXQgPSBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9y
dGN1dC5tYWtlRGVzY3JpcHRvcigibyIsIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1v
ZGlmaWVycy5DdHJsT3JNZXRhKTsKICAgICBzZWN0aW9uLmFkZEtleShvcGVuUmVzb3VyY2VTaG9y
dGN1dCwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJHbyB0byBzb3VyY2UiKSk7CiAKQEAgLTc0Miw2
ICs3MzEsOCBAQCBXZWJJbnNwZWN0b3IuZG9jdW1lbnRLZXlEb3duID0gZnVuY3Rpb24oZXZlbnQp
CiAgICAgICAgIHJldHVybjsKICAgICBpZiAoV2ViSW5zcGVjdG9yLmFkdmFuY2VkU2VhcmNoQ29u
dHJvbGxlci5oYW5kbGVTaG9ydGN1dChldmVudCkpCiAgICAgICAgIHJldHVybjsKKyAgICBpZiAo
V2ViSW5zcGVjdG9yLmVsZW1lbnRJbnNwZWN0aW9uQ29udHJvbGxlciAmJiBXZWJJbnNwZWN0b3Iu
ZWxlbWVudEluc3BlY3Rpb25Db250cm9sbGVyLmhhbmRsZVNob3J0Y3V0KGV2ZW50KSkKKyAgICAg
ICAgcmV0dXJuOwogCiAgICAgc3dpdGNoIChldmVudC5rZXlJZGVudGlmaWVyKSB7CiAgICAgICAg
IGNhc2UgIlUrMDA0RiI6IC8vIE8ga2V5CkBAIC03OTQsMjIgKzc4NSw2IEBAIFdlYkluc3BlY3Rv
ci5kb2N1bWVudEtleURvd24gPSBmdW5jdGlvbihldmVudCkKICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIGJyZWFrOwogICAgIH0KLQotICAgIC8vIENtZC9Db250cm9sICsgU2hpZnQgKyBDIHNo
b3VsZCBiZSBhIHNob3J0Y3V0IHRvIGNsaWNraW5nIHRoZSBOb2RlIFNlYXJjaCBCdXR0b24uCi0g
ICAgLy8gVGhpcyBzaG9ydGN1dCBtYXRjaGVzIEZpcmVidWcuCi0gICAgaWYgKGV2ZW50LmtleUlk
ZW50aWZpZXIgPT09ICJVKzAwNDMiKSB7IC8vIEMga2V5Ci0gICAgICAgIGlmIChXZWJJbnNwZWN0
b3IuaXNNYWMoKSkKLSAgICAgICAgICAgIHZhciBpc05vZGVTZWFyY2hLZXkgPSBldmVudC5tZXRh
S2V5ICYmICFldmVudC5jdHJsS2V5ICYmICFldmVudC5hbHRLZXkgJiYgZXZlbnQuc2hpZnRLZXk7
Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHZhciBpc05vZGVTZWFyY2hLZXkgPSBldmVudC5j
dHJsS2V5ICYmICFldmVudC5tZXRhS2V5ICYmICFldmVudC5hbHRLZXkgJiYgZXZlbnQuc2hpZnRL
ZXk7Ci0KLSAgICAgICAgaWYgKGlzTm9kZVNlYXJjaEtleSkgewotICAgICAgICAgICAgdGhpcy50
b2dnbGVTZWFyY2hpbmdGb3JOb2RlKCk7Ci0gICAgICAgICAgICBldmVudC5jb25zdW1lKHRydWUp
OwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybjsKLSAgICB9
CiB9CiAKIFdlYkluc3BlY3Rvci5wb3N0RG9jdW1lbnRLZXlEb3duID0gZnVuY3Rpb24oZXZlbnQp
CkBAIC05OTEsOSArOTY2LDkgQEAgV2ViSW5zcGVjdG9yLnRhcmdldENyYXNoZWQgPSBmdW5jdGlv
bigpCiAKIFdlYkluc3BlY3Rvci5fdXBkYXRlRm9jdXNlZE5vZGUgPSBmdW5jdGlvbihub2RlSWQp
CiB7Ci0gICAgaWYgKFdlYkluc3BlY3Rvci5fbm9kZVNlYXJjaEJ1dHRvbi50b2dnbGVkKSB7Cisg
ICAgaWYgKFdlYkluc3BlY3Rvci5lbGVtZW50SW5zcGVjdGlvbkNvbnRyb2xsZXIgJiYgV2ViSW5z
cGVjdG9yLmVsZW1lbnRJbnNwZWN0aW9uQ29udHJvbGxlci5lbmFibGVkKCkpIHsKICAgICAgICAg
SW5zcGVjdG9yRnJvbnRlbmRIb3N0LmJyaW5nVG9Gcm9udCgpOwotICAgICAgICBXZWJJbnNwZWN0
b3IuX25vZGVTZWFyY2hCdXR0b24udG9nZ2xlZCA9IGZhbHNlOworICAgICAgICBXZWJJbnNwZWN0
b3IuZWxlbWVudEluc3BlY3Rpb25Db250cm9sbGVyLmRpc2FibGUoKTsKICAgICB9CiAgICAgV2Vi
SW5zcGVjdG9yLnNob3dQYW5lbCgiZWxlbWVudHMiKS5yZXZlYWxBbmRTZWxlY3ROb2RlKG5vZGVJ
ZCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194038</attachid>
            <date>2013-03-20 06:31:50 -0700</date>
            <delta_ts>2013-03-22 10:46:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112689-20130320172739.patch</filename>
            <type>text/plain</type>
            <size>17944</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MzIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTA1ZWMzMTg4ZTRhZGIz
ZWE0Yzk0MjYxYzdjOGRkODc4NmY2ODBhNC4uMGM3MmU1NjRjMmNmMjBmOTE2MWJkMDFlNWExOGRl
NTAzMzg0ZWQ0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEzLTAzLTE5ICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogZmFjdG9yIG91dCBub2RlIHNlYXJjaCBjb250cm9sbGVyIGZyb20gaW5zcGVjdG9yLmpzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI2ODkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGp1c3Qg
ZXh0cmFjdHMgdGhlIGV4aXN0aW5nIGxvZ2ljIG9mIHRvZ2dsaW5nIG5vZGUgc2VhcmNoCisgICAg
ICAgIGZyb20gaW5zcGVjdG9yLmpzIGludG8gYSBjbGFzcyBvZiBpdHMgb3duLCBOb2RlU2VhcmNo
Q29udHJvbGxlci4KKyAgICAgICAgRHJpdmUtYnk6IGFkZCBDdHJsT3JNZXRhK1NoaWZ0K0MgdG8g
aGVscCBzY3JlZW4uCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IEFkZGVkIE5vZGVTZWFyY2hD
b250cm9sbGVyLmpzLgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOiBE
aXR0by4KKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qOiBEaXR0by4K
KyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnM6IERpdHRv
LgorICAgICAgICAqIGluc3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5weTogRGl0dG8uCisgICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuanM6IERy
aXZlLWJ5OiBzaW1wbGlmeSBzaG9ydGN1dCBjcmVhdGlvbi4KKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5BZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuY3JlYXRlU2hvcnRjdXQpOgorICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRBUEkuanM6CisgICAgICAgIChJbnNw
ZWN0b3JGcm9udGVuZEFQSS5lbnRlckluc3BlY3RFbGVtZW50TW9kZSk6CisgICAgICAgICogaW5z
cGVjdG9yL2Zyb250LWVuZC9Ob2RlU2VhcmNoQ29udHJvbGxlci5qczogQWRkZWQuCisgICAgICAg
IChXZWJJbnNwZWN0b3IuTm9kZVNlYXJjaENvbnRyb2xsZXIpOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLk5vZGVTZWFyY2hDb250cm9sbGVyLmNyZWF0ZVNob3J0Y3V0KToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5Ob2RlU2VhcmNoQ29udHJvbGxlci5wcm90b3R5cGUuZW5hYmxlZCk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuTm9kZVNlYXJjaENvbnRyb2xsZXIucHJvdG90eXBlLmRpc2FibGUpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLk5vZGVTZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS50b2dn
bGVTZWFyY2guY2FsbGJhY2spOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5vZGVTZWFyY2hDb250
cm9sbGVyLnByb3RvdHlwZS50b2dnbGVTZWFyY2gpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5v
ZGVTZWFyY2hDb250cm9sbGVyLnByb3RvdHlwZS5oYW5kbGVTaG9ydGN1dCk6CisgICAgICAgICog
aW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjOiBBZGRlZCBOb2RlU2VhcmNoQ29udHJvbGxl
ci5qcy4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sOiBEaXR0
by4KKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qczoKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5fY3JlYXRlR2xvYmFsU3RhdHVzQmFySXRlbXMpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLl9yZWdpc3RlclNob3J0Y3V0cyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuZG9j
dW1lbnRLZXlEb3duKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5fdXBkYXRlRm9jdXNlZE5vZGUp
OgorCiAyMDEzLTAzLTIwICBBbGV4ZWkgRmlsaXBwb3YgIDxhbHBoQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBXZWIgSW5zcGVjdG9yOiBBbGxvdyB0b29sYmFyIGN1c3RvbWl6YXRpb24KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBi
L1NvdXJjZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcwppbmRleCA4
ODM0N2Q2OGY2MTdjYzU2OGQwNTEzZTgyZDNkMzg4ZjQ3ZDQ1ZDEwLi5kMDA1MTEwY2M4MmEwMTE1
NDBjNGE0MTNjYzgzYjYwYjYxM2VmYjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Fbmds
aXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKKysrIGIvU291cmNlL1dlYkNvcmUvRW5nbGlz
aC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCkBAIC05MTMsMyArOTEzLDQgQEAgbG9jYWxpemVk
U3RyaW5nc1siVGhpcyBmaWxlIHdhcyBjaGFuZ2VkIGV4dGVybmFsbHkuIFdvdWxkIHlvdSBsaWtl
IHRvIHJlbG9hZCBpdD8KIGxvY2FsaXplZFN0cmluZ3NbIkl0IGlzIHJlY29tbWVuZGVkIHRvIHJl
c3RhcnQgaW5zcGVjdG9yIGFmdGVyIG1ha2luZyB0aGVzZSBjaGFuZ2VzLiBXb3VsZCB5b3UgbGlr
ZSB0byByZXN0YXJ0IGl0PyJdID0gIkl0IGlzIHJlY29tbWVuZGVkIHRvIHJlc3RhcnQgaW5zcGVj
dG9yIGFmdGVyIG1ha2luZyB0aGVzZSBjaGFuZ2VzLiBXb3VsZCB5b3UgbGlrZSB0byByZXN0YXJ0
IGl0PyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJMaW1pdCBudW1iZXIgb2YgY2FwdHVyZWQgSlMgc3Rh
Y2sgZnJhbWVzIl0gPSAiTGltaXQgbnVtYmVyIG9mIGNhcHR1cmVkIEpTIHN0YWNrIGZyYW1lcyI7
CiBsb2NhbGl6ZWRTdHJpbmdzWyJGcmFtZXMgdG8gY2FwdHVyZSJdID0gIkZyYW1lcyB0byBjYXB0
dXJlIjsKK2xvY2FsaXplZFN0cmluZ3NbIlNlbGVjdCBub2RlIHRvIGluc3BlY3QiXSA9ICJTZWxl
Y3Qgbm9kZSB0byBpbnNwZWN0IjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
Z3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA0ZWY1ZGE3MDllYWQ5MmE2
Y2RmZjVjOTViN2Y5ODg3MGE2MjlmNWFmLi4xYjA4YTRkNGM2ZmY1MDhiNjU2ZWE2NjE0MTQzNjY2
OGFhZWEwNjc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC01Mzg1LDYgKzUzODUsNyBAQAogICAgICAg
ICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya1BhbmVsRGVzY3JpcHRvci5qcycsCiAg
ICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUmVxdWVzdC5qcycsCiAgICAg
ICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrVUlTb3VyY2VDb2RlUHJvdmlkZXIu
anMnLAorICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvTm9kZVNlYXJjaENvbnRyb2xs
ZXIuanMnLAogICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvT2JqZWN0LmpzJywKICAg
ICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL09iamVjdFBvcG92ZXJIZWxwZXIuanMnLAog
ICAgICAgICAgICAgJ2luc3BlY3Rvci9mcm9udC1lbmQvT2JqZWN0UHJvcGVydGllc1NlY3Rpb24u
anMnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52
Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRl
eCBiODI2NWQ5MzU1ZmI0NTFhY2UwZWJlN2ZhZTE4Y2ViNjEwNTAzMjY0Li5hNTc3ZDk3NTE4NzY5
NmY3NzAwZWRjN2FlZWU0Y2Q1MTE0NDBhMjMwIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtNzc3NTgsNiArNzc3NTgsMTAgQEAKIAkJCQkJPgog
CQkJCTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGluc3BlY3Rvclxm
cm9udC1lbmRcTm9kZVNlYXJjaENvbnRyb2xsZXIuanMiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJ
CQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXE9iamVj
dC5qcyIKIAkJCQkJPgogCQkJCTwvRmlsZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IGJlNmRlMjU4YzEzMzk3OGVlMGUzNWExYzc4Yzc5
OTEwZTNlYjVhNWEuLjdlOGMxMGM5NTEyYWY4M2JmZTM0ZjYzMjM4NTNiYTdkODA1ZDhmZjIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAt
MTM1MTgsNiArMTM1MTgsNyBAQAogICAgIDxOb25lIEluY2x1ZGU9Ii4uXGluc3BlY3Rvclxmcm9u
dC1lbmRcTmV0d29ya1BhbmVsRGVzY3JpcHRvci5qcyIgLz4KICAgICA8Tm9uZSBJbmNsdWRlPSIu
LlxpbnNwZWN0b3JcZnJvbnQtZW5kXE5ldHdvcmtSZXF1ZXN0LmpzIiAvPgogICAgIDxOb25lIElu
Y2x1ZGU9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcTmV0d29ya1VJU291cmNlQ29kZVByb3ZpZGVy
LmpzIiAvPgorICAgIDxOb25lIEluY2x1ZGU9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcTm9kZVNl
YXJjaENvbnRyb2xsZXIuanMiIC8+CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGZy
b250LWVuZFxPYmplY3QuanMiIC8+CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGZy
b250LWVuZFxPYmplY3RQb3BvdmVySGVscGVyLmpzIiAvPgogICAgIDxOb25lIEluY2x1ZGU9Ii4u
XGluc3BlY3Rvclxmcm9udC1lbmRcT2JqZWN0UHJvcGVydGllc1NlY3Rpb24uanMiIC8+CkBAIC0x
MzY0MSw0ICsxMzY0Miw0IEBACiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxN
aWNyb3NvZnQuQ3BwLnRhcmdldHMiIC8+CiAgIDxJbXBvcnRHcm91cCBMYWJlbD0iRXh0ZW5zaW9u
VGFyZ2V0cyI+CiAgIDwvSW1wb3J0R3JvdXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQorPC9Qcm9qZWN0PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCmluZGV4IDc4NGM2ZTU3NWU0NGVmZTI3
M2E3MTEyMmM0N2NiOWU5ZGQ5OTU5MDcuLmNiMGFjZTIzNWM4NmUxMmRlNTVmODQ4ZTIxOGRlNzQ0
ZmZmMzMyOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ouZmlsdGVycworKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKQEAgLTE0ODg0LDYgKzE0ODg0LDkgQEAKICAgICA8Tm9u
ZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXE5ldHdvcmtVSVNvdXJjZUNvZGVQcm92
aWRlci5qcyI+CiAgICAgICA8RmlsdGVyPmluc3BlY3Rvclxmcm9udC1lbmQ8L0ZpbHRlcj4KICAg
ICA8L05vbmU+CisgICAgPE5vbmUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxOb2Rl
U2VhcmNoQ29udHJvbGxlci5qcyI+CisgICAgICA8RmlsdGVyPmluc3BlY3Rvclxmcm9udC1lbmQ8
L0ZpbHRlcj4KKyAgICA8L05vbmU+CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGZy
b250LWVuZFxPYmplY3QuanMiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3JcZnJvbnQtZW5kPC9G
aWx0ZXI+CiAgICAgPC9Ob25lPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2NvbXBpbGUtZnJvbnQtZW5kLnB5IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2NvbXBpbGUt
ZnJvbnQtZW5kLnB5CmluZGV4IDdlMTBhYmMxNGMwMjRjYjQzNGRlMjcwMzA1NjQwNDdlNmZmNDkz
MTkuLmJiMDYxODAyZGE2ZWQ4ZDgwNjc2ZjMzZWNhNmQ3NDE1NDdlOTcwOWYgMTAwNzU1Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9jb21waWxlLWZyb250LWVuZC5weQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQucHkKQEAgLTE4NCw2ICsxODQs
NyBAQCBtb2R1bGVzID0gWwogICAgICAgICAgICAgIkZvbnRWaWV3LmpzIiwKICAgICAgICAgICAg
ICJJbWFnZVZpZXcuanMiLAogICAgICAgICAgICAgIk5hdGl2ZUJyZWFrcG9pbnRzU2lkZWJhclBh
bmUuanMiLAorICAgICAgICAgICAgIk5vZGVTZWFyY2hDb250cm9sbGVyLmpzIiwKICAgICAgICAg
ICAgICJPYmplY3RQb3BvdmVySGVscGVyLmpzIiwKICAgICAgICAgICAgICJPYmplY3RQcm9wZXJ0
aWVzU2VjdGlvbi5qcyIsCiAgICAgICAgICAgICAiU291cmNlRnJhbWUuanMiLApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BZHZhbmNlZFNlYXJjaENvbnRy
b2xsZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0FkdmFuY2VkU2Vh
cmNoQ29udHJvbGxlci5qcwppbmRleCAyMmY1MDBlNjBmOTBjYWI0N2FlOWU5Yjg2YmEyNGNiYmVh
MTQ5NzQ5Li43MzMwZTgzYTRhMWM0NmUxZTk1NzBkNjcyZDExNDMwNzljNDFlM2RmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0FkdmFuY2VkU2VhcmNoQ29u
dHJvbGxlci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0FkdmFu
Y2VkU2VhcmNoQ29udHJvbGxlci5qcwpAQCAtNDQsMTAgKzQ0LDcgQEAgV2ViSW5zcGVjdG9yLkFk
dmFuY2VkU2VhcmNoQ29udHJvbGxlciA9IGZ1bmN0aW9uKCkKICAqLwogV2ViSW5zcGVjdG9yLkFk
dmFuY2VkU2VhcmNoQ29udHJvbGxlci5jcmVhdGVTaG9ydGN1dCA9IGZ1bmN0aW9uKCkKIHsKLSAg
ICBpZiAoV2ViSW5zcGVjdG9yLmlzTWFjKCkpCi0gICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3Iu
S2V5Ym9hcmRTaG9ydGN1dC5tYWtlRGVzY3JpcHRvcigiZiIsIFdlYkluc3BlY3Rvci5LZXlib2Fy
ZFNob3J0Y3V0Lk1vZGlmaWVycy5NZXRhIHwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQu
TW9kaWZpZXJzLkFsdCk7Ci0gICAgZWxzZQotICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLktl
eWJvYXJkU2hvcnRjdXQubWFrZURlc2NyaXB0b3IoImYiLCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRT
aG9ydGN1dC5Nb2RpZmllcnMuQ3RybCB8IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1v
ZGlmaWVycy5TaGlmdCk7CisgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
Lm1ha2VEZXNjcmlwdG9yKCJmIiwgV2ViSW5zcGVjdG9yLktleWJvYXJkU2hvcnRjdXQuTW9kaWZp
ZXJzLkN0cmxPck1ldGEgfCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1dC5Nb2RpZmllcnMu
U2hpZnQpOwogfQogCiBXZWJJbnNwZWN0b3IuQWR2YW5jZWRTZWFyY2hDb250cm9sbGVyLnByb3Rv
dHlwZSA9IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
SW5zcGVjdG9yRnJvbnRlbmRBUEkuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0luc3BlY3RvckZyb250ZW5kQVBJLmpzCmluZGV4IGRiMmM5MjY4NmNlYzFiOWNmNjA5MDU3
Y2EwNWNjNzk1MWZlNGYwZDIuLjZhMmE4YTRkNzQwZTNmNjg1MTRiZTY2Nzc0MDRiNjc2ODVhYzZh
ZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVj
dG9yRnJvbnRlbmRBUEkuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9JbnNwZWN0b3JGcm9udGVuZEFQSS5qcwpAQCAtMTA3LDcgKzEwNyw4IEBAIHZhciBJbnNwZWN0
b3JGcm9udGVuZEFQSSA9IHsKIAogICAgIGVudGVySW5zcGVjdEVsZW1lbnRNb2RlOiBmdW5jdGlv
bigpCiAgICAgewotICAgICAgICBXZWJJbnNwZWN0b3IudG9nZ2xlU2VhcmNoaW5nRm9yTm9kZSgp
OworICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLm5vZGVTZWFyY2hDb250cm9sbGVyKQorICAgICAg
ICAgICAgV2ViSW5zcGVjdG9yLm5vZGVTZWFyY2hDb250cm9sbGVyLnRvZ2dsZVNlYXJjaCgpOwog
ICAgIH0sCiAKICAgICBmaWxlU3lzdGVtc0xvYWRlZDogZnVuY3Rpb24oZmlsZVN5c3RlbXMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05vZGVTZWFyY2hD
b250cm9sbGVyLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Ob2RlU2Vh
cmNoQ29udHJvbGxlci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNzg2YTExY2NiMDQwNjcxOTI3MGQyMTRjNjc2
YzY1N2NhNGIwMmQ1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9Ob2RlU2VhcmNoQ29udHJvbGxlci5qcwpAQCAtMCwwICsxLDgyIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBHT09HTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEdP
T0dMRSBJTkMuCisgKiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAq
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKy8qKgorICogQGNvbnN0cnVjdG9yCisgKi8KK1dlYkluc3BlY3Rvci5Ob2Rl
U2VhcmNoQ29udHJvbGxlciA9IGZ1bmN0aW9uKCkKK3sKKyAgICB0aGlzLnRvZ2dsZVNlYXJjaEJ1
dHRvbiA9IG5ldyBXZWJJbnNwZWN0b3IuU3RhdHVzQmFyQnV0dG9uKFdlYkluc3BlY3Rvci5VSVN0
cmluZygiU2VsZWN0IGFuIGVsZW1lbnQgaW4gdGhlIHBhZ2UgdG8gaW5zcGVjdCBpdC4iKSwgIm5v
ZGUtc2VhcmNoLXN0YXR1cy1iYXItaXRlbSIpOworICAgIHRoaXMudG9nZ2xlU2VhcmNoQnV0dG9u
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy50b2dnbGVTZWFyY2gsIHRoaXMpOworICAg
IHRoaXMuX3Nob3J0Y3V0ID0gV2ViSW5zcGVjdG9yLk5vZGVTZWFyY2hDb250cm9sbGVyLmNyZWF0
ZVNob3J0Y3V0KCk7Cit9CisKK1dlYkluc3BlY3Rvci5Ob2RlU2VhcmNoQ29udHJvbGxlci5jcmVh
dGVTaG9ydGN1dCA9IGZ1bmN0aW9uKCkKK3sKKyAgICByZXR1cm4gV2ViSW5zcGVjdG9yLktleWJv
YXJkU2hvcnRjdXQubWFrZURlc2NyaXB0b3IoImMiLCBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9y
dGN1dC5Nb2RpZmllcnMuQ3RybE9yTWV0YSB8IFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0
Lk1vZGlmaWVycy5TaGlmdCk7Cit9CisKK1dlYkluc3BlY3Rvci5Ob2RlU2VhcmNoQ29udHJvbGxl
ci5wcm90b3R5cGUgPSB7CisgICAgZW5hYmxlZDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIHRoaXMudG9nZ2xlU2VhcmNoQnV0dG9uLnRvZ2dsZWQ7CisgICAgfSwKKworICAgIGRp
c2FibGU6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIGlmICh0aGlzLmVuYWJsZWQoKSkKKyAg
ICAgICAgICAgIHRoaXMudG9nZ2xlU2VhcmNoKCk7CisgICAgfSwKKworICAgIHRvZ2dsZVNlYXJj
aDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdmFyIGVuYWJsZWQgPSAhdGhpcy5lbmFibGVk
KCk7CisgICAgICAgIC8qKgorICAgICAgICAgKiBAcGFyYW0gez9Qcm90b2NvbC5FcnJvcn0gZXJy
b3IKKyAgICAgICAgICovCisgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKGVycm9yKQorICAgICAg
ICB7CisgICAgICAgICAgICBpZiAoIWVycm9yKQorICAgICAgICAgICAgICAgIHRoaXMudG9nZ2xl
U2VhcmNoQnV0dG9uLnRvZ2dsZWQgPSBlbmFibGVkOworICAgICAgICB9CisgICAgICAgIFdlYklu
c3BlY3Rvci5kb21BZ2VudC5zZXRJbnNwZWN0TW9kZUVuYWJsZWQoZW5hYmxlZCwgY2FsbGJhY2su
YmluZCh0aGlzKSk7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJhbSB7S2V5Ym9hcmRF
dmVudH0gZXZlbnQKKyAgICAgKiBAcmV0dXJuIHtib29sZWFufQorICAgICAqLworICAgIGhhbmRs
ZVNob3J0Y3V0OiBmdW5jdGlvbihldmVudCkKKyAgICB7CisgICAgICAgIGlmIChXZWJJbnNwZWN0
b3IuS2V5Ym9hcmRTaG9ydGN1dC5tYWtlS2V5RnJvbUV2ZW50KGV2ZW50KSAhPT0gdGhpcy5fc2hv
cnRjdXQua2V5KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB0aGlzLnRvZ2ds
ZVNlYXJjaCgpOworICAgICAgICBldmVudC5jb25zdW1lKHRydWUpOworICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1dlYktpdC5xcmMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dl
YktpdC5xcmMKaW5kZXggZWQ1OGM1N2U1ZTliNTkwOWI3M2E1M2M1MTA2OWYxODJmYTMyNjZlYy4u
NWU5MThhM2I0ZWQ2YmNhYjY4YTZiYjc4NDJjNWE3NGI4NDJiNjM2NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYwpAQCAtMTMyLDYgKzEzMiw3IEBA
CiAgICAgPGZpbGU+TmV0d29ya1BhbmVsRGVzY3JpcHRvci5qczwvZmlsZT4KICAgICA8ZmlsZT5O
ZXR3b3JrUmVxdWVzdC5qczwvZmlsZT4KICAgICA8ZmlsZT5OZXR3b3JrVUlTb3VyY2VDb2RlUHJv
dmlkZXIuanM8L2ZpbGU+CisgICAgPGZpbGU+Tm9kZVNlYXJjaENvbnRyb2xsZXIuanM8L2ZpbGU+
CiAgICAgPGZpbGU+T2JqZWN0LmpzPC9maWxlPgogICAgIDxmaWxlPk9iamVjdFBvcG92ZXJIZWxw
ZXIuanM8L2ZpbGU+CiAgICAgPGZpbGU+T2JqZWN0UHJvcGVydGllc1NlY3Rpb24uanM8L2ZpbGU+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rv
ci5odG1sIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRt
bAppbmRleCA2ZDJhZTkxZTk3ZDc1Yzk3ODhjZDc0NWY1YTcxYzBhZjBmZjI0ZTFjLi5hMzRiNTZl
MTA0NWI4N2VhOGM0NTUxNTIyNmNlMGFlZjg4ZTk0NDRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKQEAgLTE2OCw2ICsxNjgsNyBA
QCBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkNvb2tp
ZVBhcnNlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iVG9vbGJhci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiIHNyYz0iU2VhcmNoQ29udHJvbGxlci5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iTm9kZVNlYXJjaENvbnRyb2xsZXIuanMiPjwvc2Ny
aXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Ildvcmtlck1hbmFn
ZXIuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9
IlVzZXJNZXRyaWNzLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNj
cmlwdCIgc3JjPSJSdW50aW1lTW9kZWwuanMiPjwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuanMgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5qcwppbmRleCA4ZWIwZGFhM2Y0MWJmOTE2
N2UzYmRiMGRhZjY5NmVlYThhZmYzZGZkLi4zZjZjOTY2Nzg1ZTM4Yzc3MzU1MGE5M2UzOGVmMGY0
ZDA2YTllODI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L2luc3BlY3Rvci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2lu
c3BlY3Rvci5qcwpAQCAtOTMsMTEgKzkzLDggQEAgdmFyIFdlYkluc3BlY3RvciA9IHsKICAgICAg
ICAgdGhpcy5fdG9nZ2xlQ29uc29sZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRo
aXMuX3RvZ2dsZUNvbnNvbGVCdXR0b25DbGlja2VkLmJpbmQodGhpcyksIGZhbHNlKTsKICAgICAg
ICAgbWFpblN0YXR1c0Jhci5pbnNlcnRCZWZvcmUodGhpcy5fdG9nZ2xlQ29uc29sZUJ1dHRvbi5l
bGVtZW50LCBib3R0b21TdGF0dXNCYXJDb250YWluZXIpOwogCi0gICAgICAgIGlmICghV2ViSW5z
cGVjdG9yLldvcmtlck1hbmFnZXIuaXNXb3JrZXJGcm9udGVuZCgpKSB7Ci0gICAgICAgICAgICB0
aGlzLl9ub2RlU2VhcmNoQnV0dG9uID0gbmV3IFdlYkluc3BlY3Rvci5TdGF0dXNCYXJCdXR0b24o
V2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTZWxlY3QgYW4gZWxlbWVudCBpbiB0aGUgcGFnZSB0byBp
bnNwZWN0IGl0LiIpLCAibm9kZS1zZWFyY2gtc3RhdHVzLWJhci1pdGVtIik7Ci0gICAgICAgICAg
ICB0aGlzLl9ub2RlU2VhcmNoQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy50
b2dnbGVTZWFyY2hpbmdGb3JOb2RlLCB0aGlzKTsKLSAgICAgICAgICAgIG1haW5TdGF0dXNCYXIu
aW5zZXJ0QmVmb3JlKHRoaXMuX25vZGVTZWFyY2hCdXR0b24uZWxlbWVudCwgYm90dG9tU3RhdHVz
QmFyQ29udGFpbmVyKTsKLSAgICAgICAgfQorICAgICAgICBpZiAodGhpcy5ub2RlU2VhcmNoQ29u
dHJvbGxlcikKKyAgICAgICAgICAgIG1haW5TdGF0dXNCYXIuaW5zZXJ0QmVmb3JlKHRoaXMubm9k
ZVNlYXJjaENvbnRyb2xsZXIudG9nZ2xlU2VhcmNoQnV0dG9uLmVsZW1lbnQsIGJvdHRvbVN0YXR1
c0JhckNvbnRhaW5lcik7CiAKICAgICAgICAgbWFpblN0YXR1c0Jhci5hcHBlbmRDaGlsZCh0aGlz
LnNldHRpbmdzQ29udHJvbGxlci5zdGF0dXNCYXJJdGVtKTsKICAgICB9LApAQCAtMjczLDIwICsy
NzAsNiBAQCB2YXIgV2ViSW5zcGVjdG9yID0gewogICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEhv
c3Quc2V0Wm9vbUZhY3RvcihXZWJJbnNwZWN0b3IuWm9vbS5UYWJsZVtpbmRleF0pOwogICAgIH0s
CiAKLSAgICB0b2dnbGVTZWFyY2hpbmdGb3JOb2RlOiBmdW5jdGlvbigpCi0gICAgewotICAgICAg
ICB2YXIgZW5hYmxlZCA9ICF0aGlzLl9ub2RlU2VhcmNoQnV0dG9uLnRvZ2dsZWQ7Ci0gICAgICAg
IC8qKgotICAgICAgICAgKiBAcGFyYW0gez9Qcm90b2NvbC5FcnJvcn0gZXJyb3IKLSAgICAgICAg
ICovCi0gICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKGVycm9yKQotICAgICAgICB7Ci0gICAgICAg
ICAgICBpZiAoIWVycm9yKQotICAgICAgICAgICAgICAgIHRoaXMuX25vZGVTZWFyY2hCdXR0b24u
dG9nZ2xlZCA9IGVuYWJsZWQ7Ci0gICAgICAgIH0KLSAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFn
ZW50LnNldEluc3BlY3RNb2RlRW5hYmxlZChlbmFibGVkLCBjYWxsYmFjay5iaW5kKHRoaXMpKTsK
LSAgICB9LAotCiAgICAgX2RlYnVnZ2VyUGF1c2VkOiBmdW5jdGlvbigpCiAgICAgewogICAgICAg
ICAvLyBDcmVhdGUgc2NyaXB0cyBwYW5lbCB1cG9uIGRlbWFuZC4KQEAgLTQ1Niw2ICs0MzksOSBA
QCBXZWJJbnNwZWN0b3IuX2RvTG9hZGVkRG9uZVdpdGhDYXBhYmlsaXRpZXMgPSBmdW5jdGlvbigp
CiAKICAgICB0aGlzLnNlYXJjaENvbnRyb2xsZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlNlYXJjaENv
bnRyb2xsZXIoKTsKICAgICB0aGlzLmFkdmFuY2VkU2VhcmNoQ29udHJvbGxlciA9IG5ldyBXZWJJ
bnNwZWN0b3IuQWR2YW5jZWRTZWFyY2hDb250cm9sbGVyKCk7CisgICAgaWYgKCFXZWJJbnNwZWN0
b3IuV29ya2VyTWFuYWdlci5pc1dvcmtlckZyb250ZW5kKCkpCisgICAgICAgIHRoaXMubm9kZVNl
YXJjaENvbnRyb2xsZXIgPSBuZXcgV2ViSW5zcGVjdG9yLk5vZGVTZWFyY2hDb250cm9sbGVyKCk7
CisKICAgICB0aGlzLnNldHRpbmdzQ29udHJvbGxlciA9IG5ldyBXZWJJbnNwZWN0b3IuU2V0dGlu
Z3NDb250cm9sbGVyKCk7CiAKICAgICB0aGlzLmRvbUJyZWFrcG9pbnRzU2lkZWJhclBhbmUgPSBu
ZXcgV2ViSW5zcGVjdG9yLkRPTUJyZWFrcG9pbnRzU2lkZWJhclBhbmUoKTsKQEAgLTY4Nyw2ICs2
NzMsOSBAQCBXZWJJbnNwZWN0b3IuX3JlZ2lzdGVyU2hvcnRjdXRzID0gZnVuY3Rpb24oKQogICAg
IHZhciBhZHZhbmNlZFNlYXJjaFNob3J0Y3V0ID0gV2ViSW5zcGVjdG9yLkFkdmFuY2VkU2VhcmNo
Q29udHJvbGxlci5jcmVhdGVTaG9ydGN1dCgpOwogICAgIHNlY3Rpb24uYWRkS2V5KGFkdmFuY2Vk
U2VhcmNoU2hvcnRjdXQsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2VhcmNoIGFjcm9zcyBhbGwg
c291cmNlcyIpKTsKIAorICAgIHZhciBub2RlU2VhcmNoU2hvcnRjdXQgPSBXZWJJbnNwZWN0b3Iu
Tm9kZVNlYXJjaENvbnRyb2xsZXIuY3JlYXRlU2hvcnRjdXQoKTsKKyAgICBzZWN0aW9uLmFkZEtl
eShub2RlU2VhcmNoU2hvcnRjdXQsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2VsZWN0IG5vZGUg
dG8gaW5zcGVjdCIpKTsKKwogICAgIHZhciBvcGVuUmVzb3VyY2VTaG9ydGN1dCA9IFdlYkluc3Bl
Y3Rvci5LZXlib2FyZFNob3J0Y3V0Lm1ha2VEZXNjcmlwdG9yKCJvIiwgV2ViSW5zcGVjdG9yLktl
eWJvYXJkU2hvcnRjdXQuTW9kaWZpZXJzLkN0cmxPck1ldGEpOwogICAgIHNlY3Rpb24uYWRkS2V5
KG9wZW5SZXNvdXJjZVNob3J0Y3V0LCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkdvIHRvIHNvdXJj
ZSIpKTsKIApAQCAtNzQyLDYgKzczMSw4IEBAIFdlYkluc3BlY3Rvci5kb2N1bWVudEtleURvd24g
PSBmdW5jdGlvbihldmVudCkKICAgICAgICAgcmV0dXJuOwogICAgIGlmIChXZWJJbnNwZWN0b3Iu
YWR2YW5jZWRTZWFyY2hDb250cm9sbGVyLmhhbmRsZVNob3J0Y3V0KGV2ZW50KSkKICAgICAgICAg
cmV0dXJuOworICAgIGlmIChXZWJJbnNwZWN0b3Iubm9kZVNlYXJjaENvbnRyb2xsZXIgJiYgV2Vi
SW5zcGVjdG9yLm5vZGVTZWFyY2hDb250cm9sbGVyLmhhbmRsZVNob3J0Y3V0KGV2ZW50KSkKKyAg
ICAgICAgcmV0dXJuOwogCiAgICAgc3dpdGNoIChldmVudC5rZXlJZGVudGlmaWVyKSB7CiAgICAg
ICAgIGNhc2UgIlUrMDA0RiI6IC8vIE8ga2V5CkBAIC03OTQsMjIgKzc4NSw2IEBAIFdlYkluc3Bl
Y3Rvci5kb2N1bWVudEtleURvd24gPSBmdW5jdGlvbihldmVudCkKICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIGJyZWFrOwogICAgIH0KLQotICAgIC8vIENtZC9Db250cm9sICsgU2hpZnQgKyBD
IHNob3VsZCBiZSBhIHNob3J0Y3V0IHRvIGNsaWNraW5nIHRoZSBOb2RlIFNlYXJjaCBCdXR0b24u
Ci0gICAgLy8gVGhpcyBzaG9ydGN1dCBtYXRjaGVzIEZpcmVidWcuCi0gICAgaWYgKGV2ZW50Lmtl
eUlkZW50aWZpZXIgPT09ICJVKzAwNDMiKSB7IC8vIEMga2V5Ci0gICAgICAgIGlmIChXZWJJbnNw
ZWN0b3IuaXNNYWMoKSkKLSAgICAgICAgICAgIHZhciBpc05vZGVTZWFyY2hLZXkgPSBldmVudC5t
ZXRhS2V5ICYmICFldmVudC5jdHJsS2V5ICYmICFldmVudC5hbHRLZXkgJiYgZXZlbnQuc2hpZnRL
ZXk7Ci0gICAgICAgIGVsc2UKLSAgICAgICAgICAgIHZhciBpc05vZGVTZWFyY2hLZXkgPSBldmVu
dC5jdHJsS2V5ICYmICFldmVudC5tZXRhS2V5ICYmICFldmVudC5hbHRLZXkgJiYgZXZlbnQuc2hp
ZnRLZXk7Ci0KLSAgICAgICAgaWYgKGlzTm9kZVNlYXJjaEtleSkgewotICAgICAgICAgICAgdGhp
cy50b2dnbGVTZWFyY2hpbmdGb3JOb2RlKCk7Ci0gICAgICAgICAgICBldmVudC5jb25zdW1lKHRy
dWUpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9CiB9CiAKIFdlYkluc3BlY3Rvci5wb3N0RG9jdW1lbnRLZXlEb3duID0gZnVuY3Rpb24oZXZl
bnQpCkBAIC05OTEsOSArOTY2LDkgQEAgV2ViSW5zcGVjdG9yLnRhcmdldENyYXNoZWQgPSBmdW5j
dGlvbigpCiAKIFdlYkluc3BlY3Rvci5fdXBkYXRlRm9jdXNlZE5vZGUgPSBmdW5jdGlvbihub2Rl
SWQpCiB7Ci0gICAgaWYgKFdlYkluc3BlY3Rvci5fbm9kZVNlYXJjaEJ1dHRvbi50b2dnbGVkKSB7
CisgICAgaWYgKFdlYkluc3BlY3Rvci5ub2RlU2VhcmNoQ29udHJvbGxlciAmJiBXZWJJbnNwZWN0
b3Iubm9kZVNlYXJjaENvbnRyb2xsZXIuZW5hYmxlZCgpKSB7CiAgICAgICAgIEluc3BlY3RvckZy
b250ZW5kSG9zdC5icmluZ1RvRnJvbnQoKTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLl9ub2RlU2Vh
cmNoQnV0dG9uLnRvZ2dsZWQgPSBmYWxzZTsKKyAgICAgICAgV2ViSW5zcGVjdG9yLm5vZGVTZWFy
Y2hDb250cm9sbGVyLmRpc2FibGUoKTsKICAgICB9CiAgICAgV2ViSW5zcGVjdG9yLnNob3dQYW5l
bCgiZWxlbWVudHMiKS5yZXZlYWxBbmRTZWxlY3ROb2RlKG5vZGVJZCk7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194593</attachid>
            <date>2013-03-22 10:46:54 -0700</date>
            <delta_ts>2013-03-28 05:32:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-112689-20130322214241.patch</filename>
            <type>text/plain</type>
            <size>16767</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2NjI3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDRjODBlZmQ1MDhhNzVl
MDRjNTUwMzUyOGFhNGMzNTE0MDNhODJlYy4uNmY4N2M4ZjJjYzdlOWQ2NzI0YzVhMzg2MGJkYzEy
YmM1MzNkMDNjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEzLTAzLTIyICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogZmFjdG9yIG91dCBub2RlIHNlYXJjaCBjb250cm9sbGVyIGZyb20gaW5zcGVjdG9yLmpzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI2ODkKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIGp1c3Qg
ZXh0cmFjdHMgdGhlIGV4aXN0aW5nIGxvZ2ljIG9mIHRvZ2dsaW5nIG5vZGUgc2VhcmNoCisgICAg
ICAgIGZyb20gaW5zcGVjdG9yLmpzIGludG8gYSBjbGFzcyBvZiBpdHMgb3duLCBJbnNwZWN0RWxl
bWVudE1vZGVDb250cm9sbGVyLgorICAgICAgICBEcml2ZS1ieTogYWRkIEN0cmxPck1ldGErU2hp
ZnQrQyB0byBoZWxwIHNjcmVlbi4KKworICAgICAgICAqIEVuZ2xpc2gubHByb2ovbG9jYWxpemVk
U3RyaW5ncy5qczoKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAgICogV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUu
dmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRl
cnM6CisgICAgICAgICogaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5OgorICAgICAgICAq
IGluc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdEVsZW1lbnRNb2RlQ29udHJvbGxlci5qczogQWRk
ZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuSW5zcGVjdEVsZW1lbnRNb2RlQ29udHJvbGxlcik6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuSW5zcGVjdEVsZW1lbnRNb2RlQ29udHJvbGxlci5jcmVh
dGVTaG9ydGN1dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSW5zcGVjdEVsZW1lbnRNb2RlQ29u
dHJvbGxlci5wcm90b3R5cGUuZW5hYmxlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSW5zcGVj
dEVsZW1lbnRNb2RlQ29udHJvbGxlci5wcm90b3R5cGUuZGlzYWJsZSk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuSW5zcGVjdEVsZW1lbnRNb2RlQ29udHJvbGxlci5wcm90b3R5cGUudG9nZ2xlU2Vh
cmNoLmNhbGxiYWNrKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5JbnNwZWN0RWxlbWVudE1vZGVD
b250cm9sbGVyLnByb3RvdHlwZS50b2dnbGVTZWFyY2gpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
Lkluc3BlY3RFbGVtZW50TW9kZUNvbnRyb2xsZXIucHJvdG90eXBlLmhhbmRsZVNob3J0Y3V0KToK
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5kQVBJLmpzOgor
ICAgICAgICAoSW5zcGVjdG9yRnJvbnRlbmRBUEkuZW50ZXJJbnNwZWN0RWxlbWVudE1vZGUpOgor
ICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0LnFyYzoKKyAgICAgICAgKiBpbnNw
ZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvaW5zcGVjdG9yLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLl9jcmVhdGVHbG9iYWxT
dGF0dXNCYXJJdGVtcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuX3JlZ2lzdGVyU2hvcnRjdXRz
KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5kb2N1bWVudEtleURvd24pOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLl91cGRhdGVGb2N1c2VkTm9kZSk6CisKIDIwMTMtMDMtMjIgIE5hdGUgQ2hhcGlu
ICA8amFwaGV0QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMTQ2MjM5KTog
UmVwcm9kdWNpYmxlIGNyYXNoIGluIFdlYkNvcmU6OkRvY3VtZW50TG9hZGVyOjpyZXNwb25zZVJl
Y2VpdmVkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9sb2NhbGl6
ZWRTdHJpbmdzLmpzIGIvU291cmNlL1dlYkNvcmUvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJp
bmdzLmpzCmluZGV4IDg4MzQ3ZDY4ZjYxN2NjNTY4ZDA1MTNlODJkM2QzODhmNDdkNDVkMTAuLmQw
MDUxMTBjYzgyYTAxMTU0MGM0YTQxM2NjODNiNjBiNjEzZWZiNmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9FbmdsaXNoLmxwcm9qL2xvY2FsaXplZFN0cmluZ3MuanMKQEAgLTkxMywzICs5MTMs
NCBAQCBsb2NhbGl6ZWRTdHJpbmdzWyJUaGlzIGZpbGUgd2FzIGNoYW5nZWQgZXh0ZXJuYWxseS4g
V291bGQgeW91IGxpa2UgdG8gcmVsb2FkIGl0PwogbG9jYWxpemVkU3RyaW5nc1siSXQgaXMgcmVj
b21tZW5kZWQgdG8gcmVzdGFydCBpbnNwZWN0b3IgYWZ0ZXIgbWFraW5nIHRoZXNlIGNoYW5nZXMu
IFdvdWxkIHlvdSBsaWtlIHRvIHJlc3RhcnQgaXQ/Il0gPSAiSXQgaXMgcmVjb21tZW5kZWQgdG8g
cmVzdGFydCBpbnNwZWN0b3IgYWZ0ZXIgbWFraW5nIHRoZXNlIGNoYW5nZXMuIFdvdWxkIHlvdSBs
aWtlIHRvIHJlc3RhcnQgaXQ/IjsKIGxvY2FsaXplZFN0cmluZ3NbIkxpbWl0IG51bWJlciBvZiBj
YXB0dXJlZCBKUyBzdGFjayBmcmFtZXMiXSA9ICJMaW1pdCBudW1iZXIgb2YgY2FwdHVyZWQgSlMg
c3RhY2sgZnJhbWVzIjsKIGxvY2FsaXplZFN0cmluZ3NbIkZyYW1lcyB0byBjYXB0dXJlIl0gPSAi
RnJhbWVzIHRvIGNhcHR1cmUiOworbG9jYWxpemVkU3RyaW5nc1siU2VsZWN0IG5vZGUgdG8gaW5z
cGVjdCJdID0gIlNlbGVjdCBub2RlIHRvIGluc3BlY3QiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGMz
MDYwODdjY2E5NDliYTY0ZmQzMTY1N2YxZDAyNTVkZjA3MzllMTEuLjhjMTFjNzk5ZTYxYzEyZTVm
YzE3NTA2ZGVhY2FjMzM0NzZiMzIxNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTUzODUsNiArNTM4
NSw3IEBACiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrUGFuZWxEZXNj
cmlwdG9yLmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtSZXF1
ZXN0LmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtVSVNvdXJj
ZUNvZGVQcm92aWRlci5qcycsCisgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNw
ZWN0RWxlbWVudE1vZGVDb250cm9sbGVyLmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJv
bnQtZW5kL09iamVjdC5qcycsCiAgICAgICAgICAgICAnaW5zcGVjdG9yL2Zyb250LWVuZC9PYmpl
Y3RQb3BvdmVySGVscGVyLmpzJywKICAgICAgICAgICAgICdpbnNwZWN0b3IvZnJvbnQtZW5kL09i
amVjdFByb3BlcnRpZXNTZWN0aW9uLmpzJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggOTdiMzllZjliODIyZjMyN2ViZDUyM2NiODZiYTRjMzNk
ZGUxOGYwOC4uOWRiYWRkNjNlMmFlYWFiNmYzZTMyYTYxOWUwOWFlMDM3MGIzNzM4NiAxMDA3NTUK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTc3NzE0LDYg
Kzc3NzE0LDEwIEBACiAJCQkJCT4KIAkJCQk8L0ZpbGU+CiAJCQkJPEZpbGUKKwkJCQkJUmVsYXRp
dmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXEluc3BlY3RFbGVtZW50TW9kZUNvbnRyb2xs
ZXIuanMiCisJCQkJCT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRo
PSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXE9iamVjdC5qcyIKIAkJCQkJPgogCQkJCTwvRmlsZT4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHBy
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4
IGU2NDhmNjM1MWIzYjcwNTU5MTExYjQ1OTc1ZGFlM2VmNzZjNDIzODkuLmZhMDNjZjk3ZDFmODUw
MTZiNjM4YTAyM2Q5ZjRjYjdhNTc5M2UxYjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtMTM1MDUsNiArMTM1MDUsNyBAQAogICAgIDxO
b25lIEluY2x1ZGU9Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcTmV0d29ya1BhbmVsRGVzY3JpcHRv
ci5qcyIgLz4KICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXE5ldHdv
cmtSZXF1ZXN0LmpzIiAvPgogICAgIDxOb25lIEluY2x1ZGU9Ii4uXGluc3BlY3Rvclxmcm9udC1l
bmRcTmV0d29ya1VJU291cmNlQ29kZVByb3ZpZGVyLmpzIiAvPgorICAgIDxOb25lIEluY2x1ZGU9
Ii4uXGluc3BlY3Rvclxmcm9udC1lbmRcSW5zcGVjdEVsZW1lbnRNb2RlQ29udHJvbGxlci5qcyIg
Lz4KICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXE9iamVjdC5qcyIg
Lz4KICAgICA8Tm9uZSBJbmNsdWRlPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5kXE9iamVjdFBvcG92
ZXJIZWxwZXIuanMiIC8+CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGZyb250LWVu
ZFxPYmplY3RQcm9wZXJ0aWVzU2VjdGlvbi5qcyIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwppbmRleCAxM2ZmMGQ2
MWQ1MGJhMzYxNzJhZGQzNjIxNTIwMTc3NGRjYWNlZGNkLi4yNzUwNWFjZTZlNjYxMjhmZDk4NDJj
NWZjZWY5ZTYxNzI5ZmU2Yjc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCkBAIC0xNDg4MSw2ICsxNDg4MSw5IEBA
CiAgICAgPE5vbmUgSW5jbHVkZT0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxOZXR3b3JrVUlTb3Vy
Y2VDb2RlUHJvdmlkZXIuanMiPgogICAgICAgPEZpbHRlcj5pbnNwZWN0b3JcZnJvbnQtZW5kPC9G
aWx0ZXI+CiAgICAgPC9Ob25lPgorICAgIDxOb25lIEluY2x1ZGU9Ii4uXGluc3BlY3Rvclxmcm9u
dC1lbmRcSW5zcGVjdEVsZW1lbnRNb2RlQ29udHJvbGxlci5qcyI+CisgICAgICA8RmlsdGVyPmlu
c3BlY3Rvclxmcm9udC1lbmQ8L0ZpbHRlcj4KKyAgICA8L05vbmU+CiAgICAgPE5vbmUgSW5jbHVk
ZT0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxPYmplY3QuanMiPgogICAgICAgPEZpbHRlcj5pbnNw
ZWN0b3JcZnJvbnQtZW5kPC9GaWx0ZXI+CiAgICAgPC9Ob25lPgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5IGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2NvbXBpbGUtZnJvbnQtZW5kLnB5CmluZGV4IDdlMTBhYmMxNGMwMjRjYjQzNGRl
MjcwMzA1NjQwNDdlNmZmNDkzMTkuLmZlY2FlYTRlODA0OGJjNzZmMjIyMDYxZjljNDc3NTE2YzQ3
ZWEwMzMgMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9jb21waWxlLWZyb250
LWVuZC5weQorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvY29tcGlsZS1mcm9udC1lbmQu
cHkKQEAgLTE4NCw2ICsxODQsNyBAQCBtb2R1bGVzID0gWwogICAgICAgICAgICAgIkZvbnRWaWV3
LmpzIiwKICAgICAgICAgICAgICJJbWFnZVZpZXcuanMiLAogICAgICAgICAgICAgIk5hdGl2ZUJy
ZWFrcG9pbnRzU2lkZWJhclBhbmUuanMiLAorICAgICAgICAgICAgIkluc3BlY3RFbGVtZW50TW9k
ZUNvbnRyb2xsZXIuanMiLAogICAgICAgICAgICAgIk9iamVjdFBvcG92ZXJIZWxwZXIuanMiLAog
ICAgICAgICAgICAgIk9iamVjdFByb3BlcnRpZXNTZWN0aW9uLmpzIiwKICAgICAgICAgICAgICJT
b3VyY2VGcmFtZS5qcyIsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0luc3BlY3RFbGVtZW50TW9kZUNvbnRyb2xsZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RFbGVtZW50TW9kZUNvbnRyb2xsZXIuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOWZiZjliODM1NWY4YzRlNGIzZDA5NzUzMWU1ODkwYmU3YzVhMjJiNgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdEVsZW1l
bnRNb2RlQ29udHJvbGxlci5qcwpAQCAtMCwwICsxLDgyIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEzIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBHT09HTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEdPT0dMRSBJTkMuCisgKiBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKy8q
KgorICogQGNvbnN0cnVjdG9yCisgKi8KK1dlYkluc3BlY3Rvci5JbnNwZWN0RWxlbWVudE1vZGVD
b250cm9sbGVyID0gZnVuY3Rpb24oKQoreworICAgIHRoaXMudG9nZ2xlU2VhcmNoQnV0dG9uID0g
bmV3IFdlYkluc3BlY3Rvci5TdGF0dXNCYXJCdXR0b24oV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJT
ZWxlY3QgYW4gZWxlbWVudCBpbiB0aGUgcGFnZSB0byBpbnNwZWN0IGl0LiIpLCAibm9kZS1zZWFy
Y2gtc3RhdHVzLWJhci1pdGVtIik7CisgICAgdGhpcy50b2dnbGVTZWFyY2hCdXR0b24uYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLnRvZ2dsZVNlYXJjaCwgdGhpcyk7CisgICAgdGhpcy5f
c2hvcnRjdXQgPSBXZWJJbnNwZWN0b3IuSW5zcGVjdEVsZW1lbnRNb2RlQ29udHJvbGxlci5jcmVh
dGVTaG9ydGN1dCgpOworfQorCitXZWJJbnNwZWN0b3IuSW5zcGVjdEVsZW1lbnRNb2RlQ29udHJv
bGxlci5jcmVhdGVTaG9ydGN1dCA9IGZ1bmN0aW9uKCkKK3sKKyAgICByZXR1cm4gV2ViSW5zcGVj
dG9yLktleWJvYXJkU2hvcnRjdXQubWFrZURlc2NyaXB0b3IoImMiLCBXZWJJbnNwZWN0b3IuS2V5
Ym9hcmRTaG9ydGN1dC5Nb2RpZmllcnMuQ3RybE9yTWV0YSB8IFdlYkluc3BlY3Rvci5LZXlib2Fy
ZFNob3J0Y3V0Lk1vZGlmaWVycy5TaGlmdCk7Cit9CisKK1dlYkluc3BlY3Rvci5JbnNwZWN0RWxl
bWVudE1vZGVDb250cm9sbGVyLnByb3RvdHlwZSA9IHsKKyAgICBlbmFibGVkOiBmdW5jdGlvbigp
CisgICAgeworICAgICAgICByZXR1cm4gdGhpcy50b2dnbGVTZWFyY2hCdXR0b24udG9nZ2xlZDsK
KyAgICB9LAorCisgICAgZGlzYWJsZTogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgaWYgKHRo
aXMuZW5hYmxlZCgpKQorICAgICAgICAgICAgdGhpcy50b2dnbGVTZWFyY2goKTsKKyAgICB9LAor
CisgICAgdG9nZ2xlU2VhcmNoOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICB2YXIgZW5hYmxl
ZCA9ICF0aGlzLmVuYWJsZWQoKTsKKyAgICAgICAgLyoqCisgICAgICAgICAqIEBwYXJhbSB7P1By
b3RvY29sLkVycm9yfSBlcnJvcgorICAgICAgICAgKi8KKyAgICAgICAgZnVuY3Rpb24gY2FsbGJh
Y2soZXJyb3IpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICghZXJyb3IpCisgICAgICAgICAg
ICAgICAgdGhpcy50b2dnbGVTZWFyY2hCdXR0b24udG9nZ2xlZCA9IGVuYWJsZWQ7CisgICAgICAg
IH0KKyAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LnNldEluc3BlY3RNb2RlRW5hYmxlZChl
bmFibGVkLCBjYWxsYmFjay5iaW5kKHRoaXMpKTsKKyAgICB9LAorCisgICAgLyoqCisgICAgICog
QHBhcmFtIHtLZXlib2FyZEV2ZW50fSBldmVudAorICAgICAqIEByZXR1cm4ge2Jvb2xlYW59Cisg
ICAgICovCisgICAgaGFuZGxlU2hvcnRjdXQ6IGZ1bmN0aW9uKGV2ZW50KQorICAgIHsKKyAgICAg
ICAgaWYgKFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lm1ha2VLZXlGcm9tRXZlbnQoZXZl
bnQpICE9PSB0aGlzLl9zaG9ydGN1dC5rZXkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgICAgIHRoaXMudG9nZ2xlU2VhcmNoKCk7CisgICAgICAgIGV2ZW50LmNvbnN1bWUodHJ1ZSk7
CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRBUEkuanMgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0luc3BlY3RvckZyb250ZW5kQVBJLmpzCmluZGV4
IGRiMmM5MjY4NmNlYzFiOWNmNjA5MDU3Y2EwNWNjNzk1MWZlNGYwZDIuLjAxZGYzMGFjOTU2NTI2
N2NmN2Y4N2ZjMDVjMDA5ZWFhNjlmNzA5Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvSW5zcGVjdG9yRnJvbnRlbmRBUEkuanMKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9JbnNwZWN0b3JGcm9udGVuZEFQSS5qcwpAQCAtMTA3
LDcgKzEwNyw4IEBAIHZhciBJbnNwZWN0b3JGcm9udGVuZEFQSSA9IHsKIAogICAgIGVudGVySW5z
cGVjdEVsZW1lbnRNb2RlOiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICBXZWJJbnNwZWN0b3Iu
dG9nZ2xlU2VhcmNoaW5nRm9yTm9kZSgpOworICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLmluc3Bl
Y3RFbGVtZW50TW9kZUNvbnRyb2xsZXIpCisgICAgICAgICAgICBXZWJJbnNwZWN0b3IuaW5zcGVj
dEVsZW1lbnRNb2RlQ29udHJvbGxlci50b2dnbGVTZWFyY2goKTsKICAgICB9LAogCiAgICAgZmls
ZVN5c3RlbXNMb2FkZWQ6IGZ1bmN0aW9uKGZpbGVTeXN0ZW1zKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9XZWJLaXQucXJjCmluZGV4IGVkNThjNTdlNWU5YjU5MDliNzNh
NTNjNTEwNjlmMTgyZmEzMjY2ZWMuLjViMGMxMzY4Nzk0ZTNiZmMyOTM2ZmJlZjE1NmMyOWUwYjMw
OTZhOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvV2Vi
S2l0LnFyYworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5x
cmMKQEAgLTEzMiw2ICsxMzIsNyBAQAogICAgIDxmaWxlPk5ldHdvcmtQYW5lbERlc2NyaXB0b3Iu
anM8L2ZpbGU+CiAgICAgPGZpbGU+TmV0d29ya1JlcXVlc3QuanM8L2ZpbGU+CiAgICAgPGZpbGU+
TmV0d29ya1VJU291cmNlQ29kZVByb3ZpZGVyLmpzPC9maWxlPgorICAgIDxmaWxlPkluc3BlY3RF
bGVtZW50TW9kZUNvbnRyb2xsZXIuanM8L2ZpbGU+CiAgICAgPGZpbGU+T2JqZWN0LmpzPC9maWxl
PgogICAgIDxmaWxlPk9iamVjdFBvcG92ZXJIZWxwZXIuanM8L2ZpbGU+CiAgICAgPGZpbGU+T2Jq
ZWN0UHJvcGVydGllc1NlY3Rpb24uanM8L2ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbAppbmRleCA2ZDJhZTkxZTk3ZDc1Yzk3ODhj
ZDc0NWY1YTcxYzBhZjBmZjI0ZTFjLi44Y2FkNmRmNTgyZjcwODUwZTg3YjlmNGQ0NDM5ODZmZWE4
NWM5Y2NmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2lu
c3BlY3Rvci5odG1sCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5z
cGVjdG9yLmh0bWwKQEAgLTE2OCw2ICsxNjgsNyBAQCBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICAgIDxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkNvb2tpZVBhcnNlci5qcyI+PC9zY3JpcHQ+CiAgICAg
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iVG9vbGJhci5qcyI+PC9zY3JpcHQ+
CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iU2VhcmNoQ29udHJvbGxl
ci5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
SW5zcGVjdEVsZW1lbnRNb2RlQ29udHJvbGxlci5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0
eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iV29ya2VyTWFuYWdlci5qcyI+PC9zY3JpcHQ+CiAg
ICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iVXNlck1ldHJpY3MuanMiPjwv
c2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlJ1bnRpbWVN
b2RlbC5qcyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
ZnJvbnQtZW5kL2luc3BlY3Rvci5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvaW5zcGVjdG9yLmpzCmluZGV4IDhlYjBkYWEzZjQxYmY5MTY3ZTNiZGIwZGFmNjk2ZWVhOGFm
ZjNkZmQuLmZkM2YxZjgwNmQxM2NlNjI3ZTk4OTFiMDk5ODIyYWNiYWYzNDUxOTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmpzCkBAIC05Mywx
MSArOTMsOCBAQCB2YXIgV2ViSW5zcGVjdG9yID0gewogICAgICAgICB0aGlzLl90b2dnbGVDb25z
b2xlQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5fdG9nZ2xlQ29uc29sZUJ1
dHRvbkNsaWNrZWQuYmluZCh0aGlzKSwgZmFsc2UpOwogICAgICAgICBtYWluU3RhdHVzQmFyLmlu
c2VydEJlZm9yZSh0aGlzLl90b2dnbGVDb25zb2xlQnV0dG9uLmVsZW1lbnQsIGJvdHRvbVN0YXR1
c0JhckNvbnRhaW5lcik7CiAKLSAgICAgICAgaWYgKCFXZWJJbnNwZWN0b3IuV29ya2VyTWFuYWdl
ci5pc1dvcmtlckZyb250ZW5kKCkpIHsKLSAgICAgICAgICAgIHRoaXMuX25vZGVTZWFyY2hCdXR0
b24gPSBuZXcgV2ViSW5zcGVjdG9yLlN0YXR1c0JhckJ1dHRvbihXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIlNlbGVjdCBhbiBlbGVtZW50IGluIHRoZSBwYWdlIHRvIGluc3BlY3QgaXQuIiksICJub2Rl
LXNlYXJjaC1zdGF0dXMtYmFyLWl0ZW0iKTsKLSAgICAgICAgICAgIHRoaXMuX25vZGVTZWFyY2hC
dXR0b24uYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLnRvZ2dsZVNlYXJjaGluZ0Zvck5v
ZGUsIHRoaXMpOwotICAgICAgICAgICAgbWFpblN0YXR1c0Jhci5pbnNlcnRCZWZvcmUodGhpcy5f
bm9kZVNlYXJjaEJ1dHRvbi5lbGVtZW50LCBib3R0b21TdGF0dXNCYXJDb250YWluZXIpOwotICAg
ICAgICB9CisgICAgICAgIGlmICh0aGlzLmluc3BlY3RFbGVtZW50TW9kZUNvbnRyb2xsZXIpCisg
ICAgICAgICAgICBtYWluU3RhdHVzQmFyLmluc2VydEJlZm9yZSh0aGlzLmluc3BlY3RFbGVtZW50
TW9kZUNvbnRyb2xsZXIudG9nZ2xlU2VhcmNoQnV0dG9uLmVsZW1lbnQsIGJvdHRvbVN0YXR1c0Jh
ckNvbnRhaW5lcik7CiAKICAgICAgICAgbWFpblN0YXR1c0Jhci5hcHBlbmRDaGlsZCh0aGlzLnNl
dHRpbmdzQ29udHJvbGxlci5zdGF0dXNCYXJJdGVtKTsKICAgICB9LApAQCAtMjczLDIwICsyNzAs
NiBAQCB2YXIgV2ViSW5zcGVjdG9yID0gewogICAgICAgICBJbnNwZWN0b3JGcm9udGVuZEhvc3Qu
c2V0Wm9vbUZhY3RvcihXZWJJbnNwZWN0b3IuWm9vbS5UYWJsZVtpbmRleF0pOwogICAgIH0sCiAK
LSAgICB0b2dnbGVTZWFyY2hpbmdGb3JOb2RlOiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICB2
YXIgZW5hYmxlZCA9ICF0aGlzLl9ub2RlU2VhcmNoQnV0dG9uLnRvZ2dsZWQ7Ci0gICAgICAgIC8q
KgotICAgICAgICAgKiBAcGFyYW0gez9Qcm90b2NvbC5FcnJvcn0gZXJyb3IKLSAgICAgICAgICov
Ci0gICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKGVycm9yKQotICAgICAgICB7Ci0gICAgICAgICAg
ICBpZiAoIWVycm9yKQotICAgICAgICAgICAgICAgIHRoaXMuX25vZGVTZWFyY2hCdXR0b24udG9n
Z2xlZCA9IGVuYWJsZWQ7Ci0gICAgICAgIH0KLSAgICAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50
LnNldEluc3BlY3RNb2RlRW5hYmxlZChlbmFibGVkLCBjYWxsYmFjay5iaW5kKHRoaXMpKTsKLSAg
ICB9LAotCiAgICAgX2RlYnVnZ2VyUGF1c2VkOiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICAv
LyBDcmVhdGUgc2NyaXB0cyBwYW5lbCB1cG9uIGRlbWFuZC4KQEAgLTQ1Niw2ICs0MzksOSBAQCBX
ZWJJbnNwZWN0b3IuX2RvTG9hZGVkRG9uZVdpdGhDYXBhYmlsaXRpZXMgPSBmdW5jdGlvbigpCiAK
ICAgICB0aGlzLnNlYXJjaENvbnRyb2xsZXIgPSBuZXcgV2ViSW5zcGVjdG9yLlNlYXJjaENvbnRy
b2xsZXIoKTsKICAgICB0aGlzLmFkdmFuY2VkU2VhcmNoQ29udHJvbGxlciA9IG5ldyBXZWJJbnNw
ZWN0b3IuQWR2YW5jZWRTZWFyY2hDb250cm9sbGVyKCk7CisgICAgaWYgKCFXZWJJbnNwZWN0b3Iu
V29ya2VyTWFuYWdlci5pc1dvcmtlckZyb250ZW5kKCkpCisgICAgICAgIHRoaXMuaW5zcGVjdEVs
ZW1lbnRNb2RlQ29udHJvbGxlciA9IG5ldyBXZWJJbnNwZWN0b3IuSW5zcGVjdEVsZW1lbnRNb2Rl
Q29udHJvbGxlcigpOworCiAgICAgdGhpcy5zZXR0aW5nc0NvbnRyb2xsZXIgPSBuZXcgV2ViSW5z
cGVjdG9yLlNldHRpbmdzQ29udHJvbGxlcigpOwogCiAgICAgdGhpcy5kb21CcmVha3BvaW50c1Np
ZGViYXJQYW5lID0gbmV3IFdlYkluc3BlY3Rvci5ET01CcmVha3BvaW50c1NpZGViYXJQYW5lKCk7
CkBAIC02ODcsNiArNjczLDkgQEAgV2ViSW5zcGVjdG9yLl9yZWdpc3RlclNob3J0Y3V0cyA9IGZ1
bmN0aW9uKCkKICAgICB2YXIgYWR2YW5jZWRTZWFyY2hTaG9ydGN1dCA9IFdlYkluc3BlY3Rvci5B
ZHZhbmNlZFNlYXJjaENvbnRyb2xsZXIuY3JlYXRlU2hvcnRjdXQoKTsKICAgICBzZWN0aW9uLmFk
ZEtleShhZHZhbmNlZFNlYXJjaFNob3J0Y3V0LCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNlYXJj
aCBhY3Jvc3MgYWxsIHNvdXJjZXMiKSk7CiAKKyAgICB2YXIgaW5zcGVjdEVsZW1lbnRNb2RlU2hv
cnRjdXQgPSBXZWJJbnNwZWN0b3IuSW5zcGVjdEVsZW1lbnRNb2RlQ29udHJvbGxlci5jcmVhdGVT
aG9ydGN1dCgpOworICAgIHNlY3Rpb24uYWRkS2V5KGluc3BlY3RFbGVtZW50TW9kZVNob3J0Y3V0
LCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNlbGVjdCBub2RlIHRvIGluc3BlY3QiKSk7CisKICAg
ICB2YXIgb3BlblJlc291cmNlU2hvcnRjdXQgPSBXZWJJbnNwZWN0b3IuS2V5Ym9hcmRTaG9ydGN1
dC5tYWtlRGVzY3JpcHRvcigibyIsIFdlYkluc3BlY3Rvci5LZXlib2FyZFNob3J0Y3V0Lk1vZGlm
aWVycy5DdHJsT3JNZXRhKTsKICAgICBzZWN0aW9uLmFkZEtleShvcGVuUmVzb3VyY2VTaG9ydGN1
dCwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJHbyB0byBzb3VyY2UiKSk7CiAKQEAgLTc0Miw2ICs3
MzEsOCBAQCBXZWJJbnNwZWN0b3IuZG9jdW1lbnRLZXlEb3duID0gZnVuY3Rpb24oZXZlbnQpCiAg
ICAgICAgIHJldHVybjsKICAgICBpZiAoV2ViSW5zcGVjdG9yLmFkdmFuY2VkU2VhcmNoQ29udHJv
bGxlci5oYW5kbGVTaG9ydGN1dChldmVudCkpCiAgICAgICAgIHJldHVybjsKKyAgICBpZiAoV2Vi
SW5zcGVjdG9yLmluc3BlY3RFbGVtZW50TW9kZUNvbnRyb2xsZXIgJiYgV2ViSW5zcGVjdG9yLmlu
c3BlY3RFbGVtZW50TW9kZUNvbnRyb2xsZXIuaGFuZGxlU2hvcnRjdXQoZXZlbnQpKQorICAgICAg
ICByZXR1cm47CiAKICAgICBzd2l0Y2ggKGV2ZW50LmtleUlkZW50aWZpZXIpIHsKICAgICAgICAg
Y2FzZSAiVSswMDRGIjogLy8gTyBrZXkKQEAgLTc5NCwyMiArNzg1LDYgQEAgV2ViSW5zcGVjdG9y
LmRvY3VtZW50S2V5RG93biA9IGZ1bmN0aW9uKGV2ZW50KQogICAgICAgICAgICAgfQogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgfQotCi0gICAgLy8gQ21kL0NvbnRyb2wgKyBTaGlmdCArIEMgc2hv
dWxkIGJlIGEgc2hvcnRjdXQgdG8gY2xpY2tpbmcgdGhlIE5vZGUgU2VhcmNoIEJ1dHRvbi4KLSAg
ICAvLyBUaGlzIHNob3J0Y3V0IG1hdGNoZXMgRmlyZWJ1Zy4KLSAgICBpZiAoZXZlbnQua2V5SWRl
bnRpZmllciA9PT0gIlUrMDA0MyIpIHsgLy8gQyBrZXkKLSAgICAgICAgaWYgKFdlYkluc3BlY3Rv
ci5pc01hYygpKQotICAgICAgICAgICAgdmFyIGlzTm9kZVNlYXJjaEtleSA9IGV2ZW50Lm1ldGFL
ZXkgJiYgIWV2ZW50LmN0cmxLZXkgJiYgIWV2ZW50LmFsdEtleSAmJiBldmVudC5zaGlmdEtleTsK
LSAgICAgICAgZWxzZQotICAgICAgICAgICAgdmFyIGlzTm9kZVNlYXJjaEtleSA9IGV2ZW50LmN0
cmxLZXkgJiYgIWV2ZW50Lm1ldGFLZXkgJiYgIWV2ZW50LmFsdEtleSAmJiBldmVudC5zaGlmdEtl
eTsKLQotICAgICAgICBpZiAoaXNOb2RlU2VhcmNoS2V5KSB7Ci0gICAgICAgICAgICB0aGlzLnRv
Z2dsZVNlYXJjaGluZ0Zvck5vZGUoKTsKLSAgICAgICAgICAgIGV2ZW50LmNvbnN1bWUodHJ1ZSk7
Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuOwotICAgIH0K
IH0KIAogV2ViSW5zcGVjdG9yLnBvc3REb2N1bWVudEtleURvd24gPSBmdW5jdGlvbihldmVudCkK
QEAgLTk5MSw5ICs5NjYsOSBAQCBXZWJJbnNwZWN0b3IudGFyZ2V0Q3Jhc2hlZCA9IGZ1bmN0aW9u
KCkKIAogV2ViSW5zcGVjdG9yLl91cGRhdGVGb2N1c2VkTm9kZSA9IGZ1bmN0aW9uKG5vZGVJZCkK
IHsKLSAgICBpZiAoV2ViSW5zcGVjdG9yLl9ub2RlU2VhcmNoQnV0dG9uLnRvZ2dsZWQpIHsKKyAg
ICBpZiAoV2ViSW5zcGVjdG9yLmluc3BlY3RFbGVtZW50TW9kZUNvbnRyb2xsZXIgJiYgV2ViSW5z
cGVjdG9yLmluc3BlY3RFbGVtZW50TW9kZUNvbnRyb2xsZXIuZW5hYmxlZCgpKSB7CiAgICAgICAg
IEluc3BlY3RvckZyb250ZW5kSG9zdC5icmluZ1RvRnJvbnQoKTsKLSAgICAgICAgV2ViSW5zcGVj
dG9yLl9ub2RlU2VhcmNoQnV0dG9uLnRvZ2dsZWQgPSBmYWxzZTsKKyAgICAgICAgV2ViSW5zcGVj
dG9yLmluc3BlY3RFbGVtZW50TW9kZUNvbnRyb2xsZXIuZGlzYWJsZSgpOwogICAgIH0KICAgICBX
ZWJJbnNwZWN0b3Iuc2hvd1BhbmVsKCJlbGVtZW50cyIpLnJldmVhbEFuZFNlbGVjdE5vZGUobm9k
ZUlkKTsKIH0K
</data>
<flag name="review"
          id="216364"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>