<?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>154303</bug_id>
          
          <creation_ts>2016-02-16 11:42:07 -0800</creation_ts>
          <short_desc>JSContext Inspector: Support for inline source maps</short_desc>
          <delta_ts>2016-02-22 11:23:13 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>145150</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Joseph Pecoraro">joepeck</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1165227</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-02-16 11:42:07 -0800</bug_when>
    <thetext>* SUMMARY
Support for inline source maps in JSContext inspection.

We should be able to handle a sourceMappingURL that is a dataURL with inline `sourcesContent`!

* TEST
//# sourceMappingURL=data:application/json;base64,ewogICAgInZlcnNpb24iOiAzLAogICAgImZpbGUiOiAiY29tYmluZWQubWluLmpzLnRtcCIsCiAgICAic291cmNlcyI6IFsic2NyaXB0LTEuanMiLCAic2NyaXB0LTIuanMiXSwKICAgICJzb3VyY2VzQ29udGVudCI6IFsiLy8gTm90aGluZyBzcGVjaWFsIHRvIHNlZSBoZXJlLlxuZnVuY3Rpb24gbm90aGluZ1NwZWNpYWxUb1NlZUhlcmUxKCkge1xuICAgIGNvbnNvbGUubG9nKFwibm90aGluZ1NwZWNpYWxUb1NlZUhlcmUxXCIpO1xufSIsICIvLyBOb3RoaW5nIHNwZWNpYWwgdG8gc2VlIGhlcmUuXG5mdW5jdGlvbiBub3RoaW5nU3BlY2lhbFRvU2VlSGVyZTIoKSB7XG4gICAgY29uc29sZS5sb2coXCJub3RoaW5nU3BlY2lhbFRvU2VlSGVyZTJcIik7XG59Il0sCiAgICAibmFtZXMiOiBbIm5vdGhpbmdTcGVjaWFsVG9TZWVIZXJlMSIsICJjb25zb2xlIiwgImxvZyIsICJub3RoaW5nU3BlY2lhbFRvU2VlSGVyZTIiXSwKICAgICJtYXBwaW5ncyI6ICJBQUNBLFFBQVNBLDRCQUNMQyxRQUFRQyxJQUFJLDRCQ0RoQixRQUFTQyw0QkFDTEYsUUFBUUMsSUFBSSIKfQo=

* DECODED
{
    &quot;version&quot;: 3,
    &quot;file&quot;: &quot;combined.min.js.tmp&quot;,
    &quot;sources&quot;: [&quot;script-1.js&quot;, &quot;script-2.js&quot;],
    &quot;sourcesContent&quot;: [&quot;// Nothing special to see here.\nfunction nothingSpecialToSeeHere1() {\n    console.log(\&quot;nothingSpecialToSeeHere1\&quot;);\n}&quot;, &quot;// Nothing special to see here.\nfunction nothingSpecialToSeeHere2() {\n    console.log(\&quot;nothingSpecialToSeeHere2\&quot;);\n}&quot;],
    &quot;names&quot;: [&quot;nothingSpecialToSeeHere1&quot;, &quot;console&quot;, &quot;log&quot;, &quot;nothingSpecialToSeeHere2&quot;],
    &quot;mappings&quot;: &quot;AACA,QAASA,4BACLC,QAAQC,IAAI,4BCDhB,QAASC,4BACLF,QAAQC,IAAI&quot;
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165228</commentid>
    <comment_count>1</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-02-16 11:42:19 -0800</bug_when>
    <thetext>&lt;rdar://problem/24670392&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165239</commentid>
    <comment_count>2</comment_count>
      <attachid>271462</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-02-16 11:51:24 -0800</bug_when>
    <thetext>Created attachment 271462
[PATCH] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165247</commentid>
    <comment_count>3</comment_count>
      <attachid>271462</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2016-02-16 12:13:04 -0800</bug_when>
    <thetext>Comment on attachment 271462
[PATCH] Proposed Fix

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

&gt; Source/WebInspectorUI/UserInterface/Controllers/SourceMapManager.js:118
&gt; +        // COMPATIBILITY (iOS 7): Network.loadResource did not exist.

Add a similar comment to the one in SourceMapResource.js about JavaScript Debuggables.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165260</commentid>
    <comment_count>4</comment_count>
      <attachid>271467</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2016-02-16 12:27:13 -0800</bug_when>
    <thetext>Created attachment 271467
[PATCH] For Landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1165286</commentid>
    <comment_count>5</comment_count>
      <attachid>271467</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-02-16 13:17:30 -0800</bug_when>
    <thetext>Comment on attachment 271467
[PATCH] For Landing

Clearing flags on attachment: 271467

Committed r196654: &lt;http://trac.webkit.org/changeset/196654&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271462</attachid>
            <date>2016-02-16 11:51:24 -0800</date>
            <delta_ts>2016-02-16 12:27:22 -0800</delta_ts>
            <desc>[PATCH] Proposed Fix</desc>
            <filename>jscontext-sourcemap.patch</filename>
            <type>text/plain</type>
            <size>17427</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjNDI4YTgxLi5kZTU3NjZiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTYtMDIt
MTYgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBKU0Nv
bnRleHQgSW5zcGVjdG9yOiBTdXBwb3J0IGZvciBpbmxpbmUgc291cmNlIG1hcHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDMwMworICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMjQ2NzAzOTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvdW5pdC10ZXN0cy91cmwtdXRpbGl0aWVzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL3VuaXQtdGVzdHMvdXJsLXV0
aWxpdGllcy5odG1sOiBBZGRlZC4KKwogMjAxNi0wMi0xMCAgUnlhbiBIYWRkYWQgIDxyeWFuaGFk
ZGFkQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGRpbmcgYW4gaW9zLXNpbXVsYXRvciBleHBlY3Rh
dGlvbiBmb3IgZmFzdC9kb20vZXZlbnQtaGFuZGxlci1hdHRyaWJ1dGVzLmh0bWwKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL3VybC11dGlsaXRpZXMtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQtdGVzdHMvdXJsLXV0aWxpdGllcy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjA3YmRiMwot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL3VybC11
dGlsaXRpZXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNzQgQEAKKworPT0gUnVubmluZyB0ZXN0
IHN1aXRlOiBVUkxVdGlsaXRpZXMKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBwYXJzZURhdGFVUkwK
K1Rlc3Q6IGh0dHBzOi8vd2Via2l0Lm9yZworUEFTUzogU2hvdWxkIG5vdCBiZSBhIGRhdGEgVVJM
CitUZXN0OiBkYXRhOgorUEFTUzogU2hvdWxkIG5vdCBiZSBhIGRhdGEgVVJMCitUZXN0OiBkYXRh
OnRleHQvcGxhaW47dGVzdAorUEFTUzogU2hvdWxkIG5vdCBiZSBhIGRhdGEgVVJMCitUZXN0OiBk
YXRhOnRleHQvcGxhaW47YmFzZTY0O3Rlc3QKK1BBU1M6IFNob3VsZCBub3QgYmUgYSBkYXRhIFVS
TAorCitUZXN0OiBkYXRhOiwKK1BBU1M6IG1pbWVUeXBlIHNob3VsZCBiZTogJ3RleHQvcGxhaW4n
CitQQVNTOiBjaGFyc2V0IHNob3VsZCBiZTogJ1VTLUFTQ0lJJworUEFTUzogYmFzZTY0IHNob3Vs
ZCBiZTogJ2ZhbHNlJworUEFTUzogZGF0YSBzaG91bGQgYmU6ICcnCitQQVNTOiBSZXNvbHZlZCBj
b250ZW50IHNob3VsZCBiZTogJycKKworVGVzdDogZGF0YTosdGVzdAorUEFTUzogbWltZVR5cGUg
c2hvdWxkIGJlOiAndGV4dC9wbGFpbicKK1BBU1M6IGNoYXJzZXQgc2hvdWxkIGJlOiAnVVMtQVND
SUknCitQQVNTOiBiYXNlNjQgc2hvdWxkIGJlOiAnZmFsc2UnCitQQVNTOiBkYXRhIHNob3VsZCBi
ZTogJ3Rlc3QnCitQQVNTOiBSZXNvbHZlZCBjb250ZW50IHNob3VsZCBiZTogJ3Rlc3QnCisKK1Rl
c3Q6IGRhdGE6dGV4dC9wbGFpbix0ZXN0CitQQVNTOiBtaW1lVHlwZSBzaG91bGQgYmU6ICd0ZXh0
L3BsYWluJworUEFTUzogY2hhcnNldCBzaG91bGQgYmU6ICdVUy1BU0NJSScKK1BBU1M6IGJhc2U2
NCBzaG91bGQgYmU6ICdmYWxzZScKK1BBU1M6IGRhdGEgc2hvdWxkIGJlOiAndGVzdCcKK1BBU1M6
IFJlc29sdmVkIGNvbnRlbnQgc2hvdWxkIGJlOiAndGVzdCcKKworVGVzdDogZGF0YTp0ZXh0L3Bs
YWluO2NoYXJzZXQ9VEVTVCx0ZXN0CitQQVNTOiBtaW1lVHlwZSBzaG91bGQgYmU6ICd0ZXh0L3Bs
YWluJworUEFTUzogY2hhcnNldCBzaG91bGQgYmU6ICdURVNUJworUEFTUzogYmFzZTY0IHNob3Vs
ZCBiZTogJ2ZhbHNlJworUEFTUzogZGF0YSBzaG91bGQgYmU6ICd0ZXN0JworUEFTUzogUmVzb2x2
ZWQgY29udGVudCBzaG91bGQgYmU6ICd0ZXN0JworCitUZXN0OiBkYXRhOmFwcGxpY2F0aW9uL2pz
b24seyJuYW1lIjoidGVzdCIsImxpc3QiOlsxLDIsM119CitQQVNTOiBtaW1lVHlwZSBzaG91bGQg
YmU6ICdhcHBsaWNhdGlvbi9qc29uJworUEFTUzogY2hhcnNldCBzaG91bGQgYmU6ICdVUy1BU0NJ
SScKK1BBU1M6IGJhc2U2NCBzaG91bGQgYmU6ICdmYWxzZScKK1BBU1M6IGRhdGEgc2hvdWxkIGJl
OiAneyJuYW1lIjoidGVzdCIsImxpc3QiOlsxLDIsM119JworUEFTUzogUmVzb2x2ZWQgY29udGVu
dCBzaG91bGQgYmU6ICd7Im5hbWUiOiJ0ZXN0IiwibGlzdCI6WzEsMiwzXX0nCisKK1Rlc3Q6IGRh
dGE6YXBwbGljYXRpb24vanNvbiwlN0IlMjJuYW1lJTIyJTNBJTIydGVzdCUyMiUyQyUyMmxpc3Ql
MjIlM0ElNUIxJTJDMiUyQzMlNUQlN0QKK1BBU1M6IG1pbWVUeXBlIHNob3VsZCBiZTogJ2FwcGxp
Y2F0aW9uL2pzb24nCitQQVNTOiBjaGFyc2V0IHNob3VsZCBiZTogJ1VTLUFTQ0lJJworUEFTUzog
YmFzZTY0IHNob3VsZCBiZTogJ2ZhbHNlJworUEFTUzogZGF0YSBzaG91bGQgYmU6ICd7Im5hbWUi
OiJ0ZXN0IiwibGlzdCI6WzEsMiwzXX0nCitQQVNTOiBSZXNvbHZlZCBjb250ZW50IHNob3VsZCBi
ZTogJ3sibmFtZSI6InRlc3QiLCJsaXN0IjpbMSwyLDNdfScKKworVGVzdDogZGF0YTphcHBsaWNh
dGlvbi9qc29uO2Jhc2U2NCxleUp1WVcxbElqb2lkR1Z6ZENJc0lteHBjM1FpT2xzeExESXNNMTE5
CitQQVNTOiBtaW1lVHlwZSBzaG91bGQgYmU6ICdhcHBsaWNhdGlvbi9qc29uJworUEFTUzogY2hh
cnNldCBzaG91bGQgYmU6ICdVUy1BU0NJSScKK1BBU1M6IGJhc2U2NCBzaG91bGQgYmU6ICd0cnVl
JworUEFTUzogZGF0YSBzaG91bGQgYmU6ICdleUp1WVcxbElqb2lkR1Z6ZENJc0lteHBjM1FpT2xz
eExESXNNMTE5JworUEFTUzogUmVzb2x2ZWQgY29udGVudCBzaG91bGQgYmU6ICd7Im5hbWUiOiJ0
ZXN0IiwibGlzdCI6WzEsMiwzXX0nCisKK1Rlc3Q6IGRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFy
c2V0PXV0Zi04O2Jhc2U2NCxleUp1WVcxbElqb2lkR1Z6ZENJc0lteHBjM1FpT2xzeExESXNNMTE5
CitQQVNTOiBtaW1lVHlwZSBzaG91bGQgYmU6ICdhcHBsaWNhdGlvbi9qc29uJworUEFTUzogY2hh
cnNldCBzaG91bGQgYmU6ICd1dGYtOCcKK1BBU1M6IGJhc2U2NCBzaG91bGQgYmU6ICd0cnVlJwor
UEFTUzogZGF0YSBzaG91bGQgYmU6ICdleUp1WVcxbElqb2lkR1Z6ZENJc0lteHBjM1FpT2xzeExE
SXNNMTE5JworUEFTUzogUmVzb2x2ZWQgY29udGVudCBzaG91bGQgYmU6ICd7Im5hbWUiOiJ0ZXN0
IiwibGlzdCI6WzEsMiwzXX0nCisKK1Rlc3Q6IGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncw
S0dnb0FBQUFOU1VoRVVnQUFBQVVBQUFBRkNBWUFBQUNOYnlibEFBQUFIRWxFUVZRSTEyUDQvLzgv
dzM4R0lBWERJQktFMERIeGdsak5CQUFPOVRYTDBZNE9Id0FBQUFCSlJVNUVya0pnZ2c9PQorUEFT
UzogbWltZVR5cGUgc2hvdWxkIGJlOiAnaW1hZ2UvcG5nJworUEFTUzogY2hhcnNldCBzaG91bGQg
YmU6ICdVUy1BU0NJSScKK1BBU1M6IGJhc2U2NCBzaG91bGQgYmU6ICd0cnVlJworUEFTUzogZGF0
YSBzaG91bGQgYmU6ICdpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQVVBQUFBRkNBWUFBQUNOYnli
bEFBQUFIRWxFUVZRSTEyUDQvLzgvdzM4R0lBWERJQktFMERIeGdsak5CQUFPOVRYTDBZNE9Id0FB
QUFCSlJVNUVya0pnZ2c9PScKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Vu
aXQtdGVzdHMvdXJsLXV0aWxpdGllcy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3VuaXQt
dGVzdHMvdXJsLXV0aWxpdGllcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjZlZTUwMmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5p
dC10ZXN0cy91cmwtdXRpbGl0aWVzLmh0bWwKQEAgLTAsMCArMSwxMjUgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9yZXNvdXJjZXMvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2Z1
bmN0aW9uIHRlc3QoKQoreworICAgIGxldCBzdWl0ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRlU3lu
Y1N1aXRlKCJVUkxVdGlsaXRpZXMiKTsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNlKHsKKyAgICAg
ICAgbmFtZTogInBhcnNlRGF0YVVSTCIsCisgICAgICAgIHRlc3Q6ICgpID0+IHsKKyAgICAgICAg
ICAgIGZ1bmN0aW9uIHRlc3RJbnZhbGlkKHVybCkgeworICAgICAgICAgICAgICAgIEluc3BlY3Rv
clRlc3QubG9nKCJUZXN0OiAiICsgdXJsKTsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmV4cGVjdFRoYXQocGFyc2VEYXRhVVJMKHVybCkgPT09IG51bGwsICJTaG91bGQgbm90IGJlIGEg
ZGF0YSBVUkwiKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgZnVuY3Rpb24gdGVzdFZh
bGlkKHVybCwgZXhwZWN0ZWQpIHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygi
Iik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2coIlRlc3Q6ICIgKyB1cmwpOwor
CisgICAgICAgICAgICAgICAgbGV0IHttaW1lVHlwZTogZXhwZWN0ZWRNaW1lVHlwZSwgY2hhcnNl
dDogZXhwZWN0ZWRDaGFyc2V0LCBiYXNlNjQ6IGV4cGVjdGVkQmFzZTY0LCBkYXRhOiBleHBlY3Rl
ZERhdGEsIGNvbnRlbnQ6IGV4cGVjdGVkQ29udGVudH0gPSBleHBlY3RlZDsKKyAgICAgICAgICAg
ICAgICBsZXQge21pbWVUeXBlOiBhY3R1YWxNaW1lVHlwZSwgY2hhcnNldDogYWN0dWFsQ2hhcnNl
dCwgYmFzZTY0OiBhY3R1YWxCYXNlNjQsIGRhdGE6IGFjdHVhbERhdGEsIHNjaGVtZTogYWN0dWFs
U2NoZW1lfSA9IHBhcnNlRGF0YVVSTCh1cmwpOworICAgICAgICAgICAgICAgIGxldCBhY3R1YWxD
b250ZW50ID0gYWN0dWFsRGF0YTsKKyAgICAgICAgICAgICAgICBpZiAoYWN0dWFsQmFzZTY0KQor
ICAgICAgICAgICAgICAgICAgICBhY3R1YWxDb250ZW50ID0gYXRvYihhY3R1YWxDb250ZW50KTsK
KworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYXNzZXJ0KGFjdHVhbFNjaGVtZSA9PT0g
ImRhdGEiLCAic2NoZW1lIHNob3VsZCBhbHdheXMgYmUgJ2RhdGEnIik7CisgICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KGFjdHVhbE1pbWVUeXBlID09PSBleHBlY3RlZE1p
bWVUeXBlLCBgbWltZVR5cGUgc2hvdWxkIGJlOiAnJHtleHBlY3RlZE1pbWVUeXBlfSdgKTsKKyAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoYWN0dWFsQ2hhcnNldCA9PT0g
ZXhwZWN0ZWRDaGFyc2V0LCBgY2hhcnNldCBzaG91bGQgYmU6ICcke2V4cGVjdGVkQ2hhcnNldH0n
YCk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KGFjdHVhbEJhc2U2
NCA9PT0gZXhwZWN0ZWRCYXNlNjQsIGBiYXNlNjQgc2hvdWxkIGJlOiAnJHtleHBlY3RlZEJhc2U2
NH0nYCk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KGFjdHVhbERh
dGEgPT09IGV4cGVjdGVkRGF0YSwgYGRhdGEgc2hvdWxkIGJlOiAnJHtleHBlY3RlZERhdGF9J2Ap
OworICAgICAgICAgICAgICAgIGlmIChleHBlY3RlZENvbnRlbnQgIT09IG51bGwpCisgICAgICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChhY3R1YWxDb250ZW50ID09PSBl
eHBlY3RlZENvbnRlbnQsIGBSZXNvbHZlZCBjb250ZW50IHNob3VsZCBiZTogJyR7ZXhwZWN0ZWRD
b250ZW50fSdgKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgdGVzdEludmFsaWQoImh0
dHBzOi8vd2Via2l0Lm9yZyIpOworICAgICAgICAgICAgdGVzdEludmFsaWQoImRhdGE6Iik7Cisg
ICAgICAgICAgICB0ZXN0SW52YWxpZCgiZGF0YTp0ZXh0L3BsYWluO3Rlc3QiKTsKKyAgICAgICAg
ICAgIHRlc3RJbnZhbGlkKCJkYXRhOnRleHQvcGxhaW47YmFzZTY0O3Rlc3QiKTsKKworICAgICAg
ICAgICAgdGVzdFZhbGlkKCJkYXRhOiwiLCB7CisgICAgICAgICAgICAgICAgbWltZVR5cGU6ICJ0
ZXh0L3BsYWluIiwKKyAgICAgICAgICAgICAgICBjaGFyc2V0OiAiVVMtQVNDSUkiLAorICAgICAg
ICAgICAgICAgIGJhc2U2NDogZmFsc2UsCisgICAgICAgICAgICAgICAgZGF0YTogIiIsCisgICAg
ICAgICAgICAgICAgY29udGVudDogIiIsCisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAg
dGVzdFZhbGlkKCJkYXRhOix0ZXN0IiwgeworICAgICAgICAgICAgICAgIG1pbWVUeXBlOiAidGV4
dC9wbGFpbiIsCisgICAgICAgICAgICAgICAgY2hhcnNldDogIlVTLUFTQ0lJIiwKKyAgICAgICAg
ICAgICAgICBiYXNlNjQ6IGZhbHNlLAorICAgICAgICAgICAgICAgIGRhdGE6ICJ0ZXN0IiwKKyAg
ICAgICAgICAgICAgICBjb250ZW50OiAidGVzdCIsCisgICAgICAgICAgICB9KTsKKworICAgICAg
ICAgICAgdGVzdFZhbGlkKCJkYXRhOnRleHQvcGxhaW4sdGVzdCIsIHsKKyAgICAgICAgICAgICAg
ICBtaW1lVHlwZTogInRleHQvcGxhaW4iLAorICAgICAgICAgICAgICAgIGNoYXJzZXQ6ICJVUy1B
U0NJSSIsCisgICAgICAgICAgICAgICAgYmFzZTY0OiBmYWxzZSwKKyAgICAgICAgICAgICAgICBk
YXRhOiAidGVzdCIsCisgICAgICAgICAgICAgICAgY29udGVudDogInRlc3QiLAorICAgICAgICAg
ICAgfSk7CisKKyAgICAgICAgICAgIHRlc3RWYWxpZCgiZGF0YTp0ZXh0L3BsYWluO2NoYXJzZXQ9
VEVTVCx0ZXN0IiwgeworICAgICAgICAgICAgICAgIG1pbWVUeXBlOiAidGV4dC9wbGFpbiIsCisg
ICAgICAgICAgICAgICAgY2hhcnNldDogIlRFU1QiLAorICAgICAgICAgICAgICAgIGJhc2U2NDog
ZmFsc2UsCisgICAgICAgICAgICAgICAgZGF0YTogInRlc3QiLAorICAgICAgICAgICAgICAgIGNv
bnRlbnQ6ICJ0ZXN0IiwKKyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICB0ZXN0VmFsaWQo
ImRhdGE6YXBwbGljYXRpb24vanNvbix7XCJuYW1lXCI6XCJ0ZXN0XCIsXCJsaXN0XCI6WzEsMiwz
XX0iLCB7CisgICAgICAgICAgICAgICAgbWltZVR5cGU6ICJhcHBsaWNhdGlvbi9qc29uIiwKKyAg
ICAgICAgICAgICAgICBjaGFyc2V0OiAiVVMtQVNDSUkiLAorICAgICAgICAgICAgICAgIGJhc2U2
NDogZmFsc2UsCisgICAgICAgICAgICAgICAgZGF0YTogJ3sibmFtZSI6InRlc3QiLCJsaXN0Ijpb
MSwyLDNdfScsCisgICAgICAgICAgICAgICAgY29udGVudDogJ3sibmFtZSI6InRlc3QiLCJsaXN0
IjpbMSwyLDNdfScsCisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5hc3NlcnQoZW5jb2RlVVJJQ29tcG9uZW50KCd7Im5hbWUiOiJ0ZXN0IiwibGlzdCI6WzEsMiwz
XX0nKSA9PT0gIiU3QiUyMm5hbWUlMjIlM0ElMjJ0ZXN0JTIyJTJDJTIybGlzdCUyMiUzQSU1QjEl
MkMyJTJDMyU1RCU3RCIpOworICAgICAgICAgICAgdGVzdFZhbGlkKCJkYXRhOmFwcGxpY2F0aW9u
L2pzb24sJTdCJTIybmFtZSUyMiUzQSUyMnRlc3QlMjIlMkMlMjJsaXN0JTIyJTNBJTVCMSUyQzIl
MkMzJTVEJTdEIiwgeworICAgICAgICAgICAgICAgIG1pbWVUeXBlOiAiYXBwbGljYXRpb24vanNv
biIsCisgICAgICAgICAgICAgICAgY2hhcnNldDogIlVTLUFTQ0lJIiwKKyAgICAgICAgICAgICAg
ICBiYXNlNjQ6IGZhbHNlLAorICAgICAgICAgICAgICAgIGRhdGE6ICd7Im5hbWUiOiJ0ZXN0Iiwi
bGlzdCI6WzEsMiwzXX0nLAorICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICd7Im5hbWUiOiJ0ZXN0
IiwibGlzdCI6WzEsMiwzXX0nLAorICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgIHRlc3RW
YWxpZCgiZGF0YTphcHBsaWNhdGlvbi9qc29uO2Jhc2U2NCxleUp1WVcxbElqb2lkR1Z6ZENJc0lt
eHBjM1FpT2xzeExESXNNMTE5IiwgeworICAgICAgICAgICAgICAgIG1pbWVUeXBlOiAiYXBwbGlj
YXRpb24vanNvbiIsCisgICAgICAgICAgICAgICAgY2hhcnNldDogIlVTLUFTQ0lJIiwKKyAgICAg
ICAgICAgICAgICBiYXNlNjQ6IHRydWUsCisgICAgICAgICAgICAgICAgZGF0YTogImV5SnVZVzFs
SWpvaWRHVnpkQ0lzSW14cGMzUWlPbHN4TERJc00xMTkiLAorICAgICAgICAgICAgICAgIGNvbnRl
bnQ6ICd7Im5hbWUiOiJ0ZXN0IiwibGlzdCI6WzEsMiwzXX0nLAorICAgICAgICAgICAgfSk7CisK
KyAgICAgICAgICAgIHRlc3RWYWxpZCgiZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRm
LTg7YmFzZTY0LGV5SnVZVzFsSWpvaWRHVnpkQ0lzSW14cGMzUWlPbHN4TERJc00xMTkiLCB7Cisg
ICAgICAgICAgICAgICAgbWltZVR5cGU6ICJhcHBsaWNhdGlvbi9qc29uIiwKKyAgICAgICAgICAg
ICAgICBjaGFyc2V0OiAidXRmLTgiLAorICAgICAgICAgICAgICAgIGJhc2U2NDogdHJ1ZSwKKyAg
ICAgICAgICAgICAgICBkYXRhOiAiZXlKdVlXMWxJam9pZEdWemRDSXNJbXhwYzNRaU9sc3hMRElz
TTExOSIsCisgICAgICAgICAgICAgICAgY29udGVudDogJ3sibmFtZSI6InRlc3QiLCJsaXN0Ijpb
MSwyLDNdfScsCisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgdGVzdFZhbGlkKCJkYXRh
OmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFVQUFBQUZDQVlBQUFD
TmJ5YmxBQUFBSEVsRVFWUUkxMlA0Ly84L3czOEdJQVhESUJLRTBESHhnbGpOQkFBTzlUWEwwWTRP
SHdBQUFBQkpSVTVFcmtKZ2dnPT0iLCB7CisgICAgICAgICAgICAgICAgbWltZVR5cGU6ICJpbWFn
ZS9wbmciLAorICAgICAgICAgICAgICAgIGNoYXJzZXQ6ICJVUy1BU0NJSSIsCisgICAgICAgICAg
ICAgICAgYmFzZTY0OiB0cnVlLAorICAgICAgICAgICAgICAgIGRhdGE6ICJpVkJPUncwS0dnb0FB
QUFOU1VoRVVnQUFBQVVBQUFBRkNBWUFBQUNOYnlibEFBQUFIRWxFUVZRSTEyUDQvLzgvdzM4R0lB
WERJQktFMERIeGdsak5CQUFPOVRYTDBZNE9Id0FBQUFCSlJVNUVya0pnZ2c9PSIsCisgICAgICAg
ICAgICAgICAgY29udGVudDogbnVsbCwgLy8gU2tpcCBjb250ZW50IGNoZWNrLgorICAgICAgICAg
ICAgfSk7CisKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisgICAgfSk7CisK
KyAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKK30KKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHkgb25Mb2FkPSJydW5UZXN0KCkiPgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9DaGFuZ2VMb2cKaW5kZXggNGVhNWU1Ny4uMWQ2NzhmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMzUgQEAKKzIwMTYtMDItMTYgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29y
YXJvQGFwcGxlLmNvbT4KKworICAgICAgICBKU0NvbnRleHQgSW5zcGVjdG9yOiBTdXBwb3J0IGZv
ciBpbmxpbmUgc291cmNlIG1hcHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE1NDMwMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjQ2NzAzOTI+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVc2VySW50
ZXJmYWNlL0Jhc2UvVVJMVXRpbGl0aWVzLmpzOgorICAgICAgICAocGFyc2VEYXRhVVJMKToKKyAg
ICAgICAgQnJlYWsgYSBkYXRhIFVSTCBpbnRvIGNvbXBvbmVudHMuCisKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL0NvbnRyb2xsZXJzL1NvdXJjZU1hcE1hbmFnZXIuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuU291cmNlTWFwTWFuYWdlci5wcm90b3R5cGUuX2xvYWRBbmRQYXJzZVNvdXJjZU1h
cCk6CisgICAgICAgIEhhbmRsZSBhIGRhdGEgVVJMIHdpdGhvdXQgdXNpbmcgTmV0d29ya0FnZW50
LiBBbHNvIG1vdmUgcmVmZXJlbmNlcworICAgICAgICB0byBhIG1haW4gZnJhbWUgYWZ0ZXIgY2hl
Y2tpbmcgZm9yIE5ldHdvcmtBZ2VudC4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxz
L1NvdXJjZU1hcC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VNYXAucHJvdG90eXBl
LmdldCBzb3VyY2VNYXBwaW5nQmFzZVBhdGhVUkxDb21wb25lbnRzKToKKyAgICAgICAgKiBVc2Vy
SW50ZXJmYWNlL01vZGVscy9Tb3VyY2VNYXBSZXNvdXJjZS5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5Tb3VyY2VNYXBSZXNvdXJjZS5wcm90b3R5cGUuZ2V0IHNvdXJjZU1hcERpc3BsYXlTdWJw
YXRoKToKKyAgICAgICAgSGFuZGxlIEphdmFTY3JpcHQgZGVidWdnYWJsZSBzY3JpcHQgVVJMcyB3
aGljaCBtYXkgbm90IGJlIGNvbXBsZXRlIFVSTHMuCisKKyAgICAgICAgKFdlYkluc3BlY3Rvci5T
b3VyY2VNYXBSZXNvdXJjZS5wcm90b3R5cGUucmVxdWVzdENvbnRlbnRGcm9tQmFja2VuZCk6Cisg
ICAgICAgIEFsc28gaGFuZGxlIGlmIE5ldHdvcmtBZ2VudCBkb2VzIG5vdCBleGlzdC4KKworICAg
ICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VTaWRlYmFyUGFuZWwuanM6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VTaWRlYmFyUGFuZWwpOgorICAgICAgICBXaGVuIGNv
bm5lY3RlZCB0byBhIEphdmFTY3JpcHQgZGVidWdnYWJsZSB3ZSB3ZXJlIGhpZGluZyBkaXNjbG9z
dXJlCisgICAgICAgIHRyaWFuZ2xlcyBhcyB3ZSBkaWQgbm90IGV4cGVjdCByZXNvdXJjZXMgdG8g
aGF2ZSBzdWJyZXNvdXJjZXMuIElmCisgICAgICAgIGEgU291cmNlTWFwIGlzIGFkZGVkLCBzaG93
IHRoZW0gYWdhaW4uCisKIDIwMTYtMDItMTIgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFw
cGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBBdm9pZCBpbmNsdWRpbmcgRVNMaW50
IHVudGlsIGl0IGlzIHVzZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL0Jhc2UvVVJMVXRpbGl0aWVzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvQmFzZS9VUkxVdGlsaXRpZXMuanMKaW5kZXggY2YzYjZhYi4uZTc4MjE3YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9VUkxV
dGlsaXRpZXMuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFz
ZS9VUkxVdGlsaXRpZXMuanMKQEAgLTcwLDYgKzcwLDI1IEBAIGZ1bmN0aW9uIHBhcnNlU2VjdXJp
dHlPcmlnaW4oc2VjdXJpdHlPcmlnaW4pCiAgICAgcmV0dXJuIHtzY2hlbWUsIGhvc3QsIHBvcnR9
OwogfQogCitmdW5jdGlvbiBwYXJzZURhdGFVUkwodXJsKQoreworICAgIGlmICghdXJsLnN0YXJ0
c1dpdGgoImRhdGE6IikpCisgICAgICAgIHJldHVybiBudWxsOworCisgICAgLy8gZGF0YTpbPG1l
ZGlhIHR5cGU+XVs7Y2hhcnNldD08Y2hhcmFjdGVyIHNldD5dWztiYXNlNjRdLDxkYXRhPgorICAg
IGxldCBtYXRjaCA9IHVybC5tYXRjaCgvXmRhdGE6KFteOyxdKik/KD86O2NoYXJzZXQ9KFteOyxd
Kj8pKT8oO2Jhc2U2NCk/LCguKikkLyk7CisgICAgaWYgKCFtYXRjaCkKKyAgICAgICAgcmV0dXJu
IG51bGw7CisKKyAgICBsZXQgc2NoZW1lID0gImRhdGEiOworICAgIGxldCBtaW1lVHlwZSA9IG1h
dGNoWzFdIHx8ICJ0ZXh0L3BsYWluIjsKKyAgICBsZXQgY2hhcnNldCA9IG1hdGNoWzJdIHx8ICJV
Uy1BU0NJSSI7CisgICAgbGV0IGJhc2U2NCA9ICEhbWF0Y2hbM107CisgICAgbGV0IGRhdGEgPSBk
ZWNvZGVVUklDb21wb25lbnQobWF0Y2hbNF0pOworCisgICAgcmV0dXJuIHtzY2hlbWUsIG1pbWVU
eXBlLCBjaGFyc2V0LCBiYXNlNjQsIGRhdGF9OworfQorCiBmdW5jdGlvbiBwYXJzZVVSTCh1cmwp
CiB7CiAgICAgdXJsID0gdXJsID8gdXJsLnRyaW0oKSA6ICIiOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvU291cmNlTWFwTWFuYWdl
ci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJzL1Nv
dXJjZU1hcE1hbmFnZXIuanMKaW5kZXggNzQ4NDA1Yi4uNTg2NjA1ZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvU291cmNlTWFwTWFu
YWdlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9s
bGVycy9Tb3VyY2VNYXBNYW5hZ2VyLmpzCkBAIC0xMDgsNiArMTA4LDE5IEBAIFdlYkluc3BlY3Rv
ci5Tb3VyY2VNYXBNYW5hZ2VyID0gY2xhc3MgU291cmNlTWFwTWFuYWdlciBleHRlbmRzIFdlYklu
c3BlY3Rvci5PYmplCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KIAorICAgICAgICBpZiAoc291
cmNlTWFwVVJMLnN0YXJ0c1dpdGgoImRhdGE6IikpIHsKKyAgICAgICAgICAgIGxldCB7bWltZVR5
cGUsIGJhc2U2NCwgZGF0YX0gPSBwYXJzZURhdGFVUkwoc291cmNlTWFwVVJMKTsKKyAgICAgICAg
ICAgIGxldCBjb250ZW50ID0gYmFzZTY0ID8gYXRvYihkYXRhKSA6IGRhdGE7CisgICAgICAgICAg
ICBzb3VyY2VNYXBMb2FkZWQuY2FsbCh0aGlzLCBudWxsLCBjb250ZW50LCBtaW1lVHlwZSwgMCk7
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICAvLyBDT01QQVRJQklM
SVRZIChpT1MgNyk6IE5ldHdvcmsubG9hZFJlc291cmNlIGRpZCBub3QgZXhpc3QuCisgICAgICAg
IGlmICghd2luZG93Lk5ldHdvcmtBZ2VudCB8fCAhTmV0d29ya0FnZW50LmxvYWRSZXNvdXJjZSkg
eworICAgICAgICAgICAgdGhpcy5fbG9hZEFuZFBhcnNlRmFpbGVkKHNvdXJjZU1hcFVSTCk7Cisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKwogICAgICAgICB2YXIgZnJhbWVJZGVudGlm
aWVyID0gbnVsbDsKICAgICAgICAgaWYgKG9yaWdpbmFsU291cmNlQ29kZSBpbnN0YW5jZW9mIFdl
Ykluc3BlY3Rvci5SZXNvdXJjZSAmJiBvcmlnaW5hbFNvdXJjZUNvZGUucGFyZW50RnJhbWUpCiAg
ICAgICAgICAgICBmcmFtZUlkZW50aWZpZXIgPSBvcmlnaW5hbFNvdXJjZUNvZGUucGFyZW50RnJh
bWUuaWQ7CkBAIC0xMTUsMTIgKzEyOCw2IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VNYXBNYW5hZ2Vy
ID0gY2xhc3MgU291cmNlTWFwTWFuYWdlciBleHRlbmRzIFdlYkluc3BlY3Rvci5PYmplCiAgICAg
ICAgIGlmICghZnJhbWVJZGVudGlmaWVyKQogICAgICAgICAgICAgZnJhbWVJZGVudGlmaWVyID0g
V2ViSW5zcGVjdG9yLmZyYW1lUmVzb3VyY2VNYW5hZ2VyLm1haW5GcmFtZS5pZDsKIAotICAgICAg
ICAvLyBDT01QQVRJQklMSVRZIChpT1MgNyk6IE5ldHdvcmsubG9hZFJlc291cmNlIGRpZCBub3Qg
ZXhpc3QuCi0gICAgICAgIGlmICghTmV0d29ya0FnZW50LmxvYWRSZXNvdXJjZSkgewotICAgICAg
ICAgICAgdGhpcy5fbG9hZEFuZFBhcnNlRmFpbGVkKHNvdXJjZU1hcFVSTCk7Ci0gICAgICAgICAg
ICByZXR1cm47Ci0gICAgICAgIH0KLQogICAgICAgICBOZXR3b3JrQWdlbnQubG9hZFJlc291cmNl
KGZyYW1lSWRlbnRpZmllciwgc291cmNlTWFwVVJMLCBzb3VyY2VNYXBMb2FkZWQuYmluZCh0aGlz
KSk7CiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Nb2RlbHMvU291cmNlTWFwLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvTW9kZWxzL1NvdXJjZU1hcC5qcwppbmRleCA5NTM0N2Y5Li5kN2E4YmM5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU291cmNlTWFw
LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9Tb3Vy
Y2VNYXAuanMKQEAgLTc0LDYgKzc0LDExIEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VNYXAgPSBjbGFz
cyBTb3VyY2VNYXAgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZWN0CiAgICAgICAgIH0KIAogICAg
ICAgICB2YXIgdXJsQ29tcG9uZW50cyA9IHBhcnNlVVJMKHRoaXMuX3NvdXJjZU1hcHBpbmdVUkwp
OworCisgICAgICAgIC8vIEZhbGxiYWNrIGZvciBKYXZhU2NyaXB0IGRlYnVnZ2FibGUgbmFtZWQg
c2NyaXB0cyB0aGF0IG1heSBub3QgaGF2ZSBhIGNvbXBsZXRlIFVSTC4KKyAgICAgICAgaWYgKCF1
cmxDb21wb25lbnRzLnBhdGgpCisgICAgICAgICAgICB1cmxDb21wb25lbnRzLnBhdGggPSB0aGlz
Ll9zb3VyY2VNYXBwaW5nVVJMOworCiAgICAgICAgIHVybENvbXBvbmVudHMucGF0aCA9IHVybENv
bXBvbmVudHMucGF0aC5zdWJzdHIoMCwgdXJsQ29tcG9uZW50cy5wYXRoLmxhc3RJbmRleE9mKHVy
bENvbXBvbmVudHMubGFzdFBhdGhDb21wb25lbnQpKTsKICAgICAgICAgdXJsQ29tcG9uZW50cy5s
YXN0UGF0aENvbXBvbmVudCA9IG51bGw7CiAgICAgICAgIHRoaXMuX3NvdXJjZU1hcHBpbmdVUkxC
YXNlUGF0aENvbXBvbmVudHMgPSB1cmxDb21wb25lbnRzOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NvdXJjZU1hcFJlc291cmNlLmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NvdXJjZU1hcFJlc291
cmNlLmpzCmluZGV4IDVhYjVlYTMuLmU3YTE3Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9Tb3VyY2VNYXBSZXNvdXJjZS5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU291cmNlTWFwUmVzb3Vy
Y2UuanMKQEAgLTYxLDYgKzYxLDEwIEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VNYXBSZXNvdXJjZSA9
IGNsYXNzIFNvdXJjZU1hcFJlc291cmNlIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlJlCiAgICAgICAg
IHZhciBzb3VyY2VNYXBwaW5nQmFzZVBhdGhVUkxDb21wb25lbnRzID0gdGhpcy5fc291cmNlTWFw
LnNvdXJjZU1hcHBpbmdCYXNlUGF0aFVSTENvbXBvbmVudHM7CiAgICAgICAgIHZhciByZXNvdXJj
ZVVSTENvbXBvbmVudHMgPSB0aGlzLnVybENvbXBvbmVudHM7CiAKKyAgICAgICAgLy8gRmFsbGJh
Y2sgZm9yIEphdmFTY3JpcHQgZGVidWdnYWJsZSBuYW1lZCBzY3JpcHRzIHRoYXQgbWF5IG5vdCBo
YXZlIGEgY29tcGxldGUgVVJMLgorICAgICAgICBpZiAoIXJlc291cmNlVVJMQ29tcG9uZW50cy5w
YXRoKQorICAgICAgICAgICAgcmVzb3VyY2VVUkxDb21wb25lbnRzLnBhdGggPSB0aGlzLnVybDsK
KwogICAgICAgICAvLyBEaWZmZXJlbnQgc2NoZW1lcyAvIGhvc3RzLiBSZXR1cm4gdGhlIGhvc3Qg
KyBwYXRoIG9mIHRoaXMgcmVzb3VyY2UuCiAgICAgICAgIGlmIChyZXNvdXJjZVVSTENvbXBvbmVu
dHMuc2NoZW1lICE9PSBzb3VyY2VNYXBwaW5nQmFzZVBhdGhVUkxDb21wb25lbnRzLnNjaGVtZSB8
fCByZXNvdXJjZVVSTENvbXBvbmVudHMuaG9zdCAhPT0gc291cmNlTWFwcGluZ0Jhc2VQYXRoVVJM
Q29tcG9uZW50cy5ob3N0KQogICAgICAgICAgICAgcmV0dXJuIHJlc291cmNlVVJMQ29tcG9uZW50
cy5ob3N0ICsgKHJlc291cmNlVVJMQ29tcG9uZW50cy5wb3J0ID8gKCI6IiArIHJlc291cmNlVVJM
Q29tcG9uZW50cy5wb3J0KSA6ICIiKSArIHJlc291cmNlVVJMQ29tcG9uZW50cy5wYXRoOwpAQCAt
MTI4LDcgKzEzMiw4IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VNYXBSZXNvdXJjZSA9IGNsYXNzIFNv
dXJjZU1hcFJlc291cmNlIGV4dGVuZHMgV2ViSW5zcGVjdG9yLlJlCiAgICAgICAgIH0KIAogICAg
ICAgICAvLyBDT01QQVRJQklMSVRZIChpT1MgNyk6IE5ldHdvcmsubG9hZFJlc291cmNlIGRpZCBu
b3QgZXhpc3QuCi0gICAgICAgIGlmICghTmV0d29ya0FnZW50LmxvYWRSZXNvdXJjZSkKKyAgICAg
ICAgLy8gQWxzbywgSmF2YVNjcmlwdCBEZWJ1Z2dhYmxlIHdpdGggU291cmNlTWFwcyB0aGF0IGRv
IG5vdCBoYXZlIGlubGluZWQgY29udGVudCBtYXkgcmVhY2ggdGhpcy4KKyAgICAgICAgaWYgKCF3
aW5kb3cuTmV0d29ya0FnZW50IHx8ICFOZXR3b3JrQWdlbnQubG9hZFJlc291cmNlKQogICAgICAg
ICAgICAgcmV0dXJuIHNvdXJjZU1hcFJlc291cmNlTG9hZEVycm9yLmNhbGwodGhpcyk7CiAKICAg
ICAgICAgdmFyIGZyYW1lSWRlbnRpZmllciA9IG51bGw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVNpZGViYXJQYW5lbC5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlU2lkZWJh
clBhbmVsLmpzCmluZGV4IGUyNWYzNDMuLjQyOGYyMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlU2lkZWJhclBhbmVsLmpzCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Jlc291cmNlU2lk
ZWJhclBhbmVsLmpzCkBAIC02Niw4ICs2NiwxMCBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VTaWRl
YmFyUGFuZWwgPSBjbGFzcyBSZXNvdXJjZVNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlYwog
ICAgICAgICB0aGlzLmNvbnRlbnRUcmVlT3V0bGluZS5hZGRFdmVudExpc3RlbmVyKFdlYkluc3Bl
Y3Rvci5UcmVlT3V0bGluZS5FdmVudC5TZWxlY3Rpb25EaWRDaGFuZ2UsIHRoaXMuX3RyZWVTZWxl
Y3Rpb25EaWRDaGFuZ2UsIHRoaXMpOwogICAgICAgICB0aGlzLmNvbnRlbnRUcmVlT3V0bGluZS5p
bmNsdWRlU291cmNlTWFwUmVzb3VyY2VDaGlsZHJlbiA9IHRydWU7CiAKLSAgICAgICAgaWYgKFdl
Ykluc3BlY3Rvci5kZWJ1Z2dhYmxlVHlwZSA9PT0gV2ViSW5zcGVjdG9yLkRlYnVnZ2FibGVUeXBl
LkphdmFTY3JpcHQpCisgICAgICAgIGlmIChXZWJJbnNwZWN0b3IuZGVidWdnYWJsZVR5cGUgPT09
IFdlYkluc3BlY3Rvci5EZWJ1Z2dhYmxlVHlwZS5KYXZhU2NyaXB0KSB7CiAgICAgICAgICAgICB0
aGlzLmNvbnRlbnRUcmVlT3V0bGluZS5kaXNjbG9zdXJlQnV0dG9ucyA9IGZhbHNlOworICAgICAg
ICAgICAgV2ViSW5zcGVjdG9yLlNvdXJjZUNvZGUuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0
b3IuU291cmNlQ29kZS5FdmVudC5Tb3VyY2VNYXBBZGRlZCwgKCkgPT4geyB0aGlzLmNvbnRlbnRU
cmVlT3V0bGluZS5kaXNjbG9zdXJlQnV0dG9ucyA9IHRydWUgfSwgdGhpcyk7CisgICAgICAgIH0K
IAogICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLmZyYW1lUmVzb3VyY2VNYW5hZ2VyLm1haW5GcmFt
ZSkKICAgICAgICAgICAgIHRoaXMuX21haW5GcmFtZU1haW5SZXNvdXJjZURpZENoYW5nZShXZWJJ
bnNwZWN0b3IuZnJhbWVSZXNvdXJjZU1hbmFnZXIubWFpbkZyYW1lKTsK
</data>
<flag name="review"
          id="296277"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>271467</attachid>
            <date>2016-02-16 12:27:13 -0800</date>
            <delta_ts>2016-02-16 13:17:30 -0800</delta_ts>
            <desc>[PATCH] For Landing</desc>
            <filename>for-landing-1.patch</filename>
            <type>text/plain</type>
            <size>17485</size>
            <attacher name="Joseph Pecoraro">joepeck</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjNDI4YTgxLi5kOTUzZmZkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTYtMDIt
MTYgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KKworICAgICAgICBKU0Nv
bnRleHQgSW5zcGVjdG9yOiBTdXBwb3J0IGZvciBpbmxpbmUgc291cmNlIG1hcHMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1NDMwMworICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMjQ2NzAzOTI+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltb3RoeSBI
YXRjaGVyLgorCisgICAgICAgICogaW5zcGVjdG9yL3VuaXQtdGVzdHMvdXJsLXV0aWxpdGllcy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rvci91bml0LXRlc3RzL3VybC11
dGlsaXRpZXMuaHRtbDogQWRkZWQuCisKIDIwMTYtMDItMTAgIFJ5YW4gSGFkZGFkICA8cnlhbmhh
ZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkaW5nIGFuIGlvcy1zaW11bGF0b3IgZXhwZWN0
YXRpb24gZm9yIGZhc3QvZG9tL2V2ZW50LWhhbmRsZXItYXR0cmlidXRlcy5odG1sCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy91cmwtdXRpbGl0aWVzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0LXRlc3RzL3VybC11dGlsaXRpZXMt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwN2JkYjMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvdW5pdC10ZXN0cy91cmwt
dXRpbGl0aWVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDc0IEBACisKKz09IFJ1bm5pbmcgdGVz
dCBzdWl0ZTogVVJMVXRpbGl0aWVzCistLSBSdW5uaW5nIHRlc3QgY2FzZTogcGFyc2VEYXRhVVJM
CitUZXN0OiBodHRwczovL3dlYmtpdC5vcmcKK1BBU1M6IFNob3VsZCBub3QgYmUgYSBkYXRhIFVS
TAorVGVzdDogZGF0YToKK1BBU1M6IFNob3VsZCBub3QgYmUgYSBkYXRhIFVSTAorVGVzdDogZGF0
YTp0ZXh0L3BsYWluO3Rlc3QKK1BBU1M6IFNob3VsZCBub3QgYmUgYSBkYXRhIFVSTAorVGVzdDog
ZGF0YTp0ZXh0L3BsYWluO2Jhc2U2NDt0ZXN0CitQQVNTOiBTaG91bGQgbm90IGJlIGEgZGF0YSBV
UkwKKworVGVzdDogZGF0YTosCitQQVNTOiBtaW1lVHlwZSBzaG91bGQgYmU6ICd0ZXh0L3BsYWlu
JworUEFTUzogY2hhcnNldCBzaG91bGQgYmU6ICdVUy1BU0NJSScKK1BBU1M6IGJhc2U2NCBzaG91
bGQgYmU6ICdmYWxzZScKK1BBU1M6IGRhdGEgc2hvdWxkIGJlOiAnJworUEFTUzogUmVzb2x2ZWQg
Y29udGVudCBzaG91bGQgYmU6ICcnCisKK1Rlc3Q6IGRhdGE6LHRlc3QKK1BBU1M6IG1pbWVUeXBl
IHNob3VsZCBiZTogJ3RleHQvcGxhaW4nCitQQVNTOiBjaGFyc2V0IHNob3VsZCBiZTogJ1VTLUFT
Q0lJJworUEFTUzogYmFzZTY0IHNob3VsZCBiZTogJ2ZhbHNlJworUEFTUzogZGF0YSBzaG91bGQg
YmU6ICd0ZXN0JworUEFTUzogUmVzb2x2ZWQgY29udGVudCBzaG91bGQgYmU6ICd0ZXN0JworCitU
ZXN0OiBkYXRhOnRleHQvcGxhaW4sdGVzdAorUEFTUzogbWltZVR5cGUgc2hvdWxkIGJlOiAndGV4
dC9wbGFpbicKK1BBU1M6IGNoYXJzZXQgc2hvdWxkIGJlOiAnVVMtQVNDSUknCitQQVNTOiBiYXNl
NjQgc2hvdWxkIGJlOiAnZmFsc2UnCitQQVNTOiBkYXRhIHNob3VsZCBiZTogJ3Rlc3QnCitQQVNT
OiBSZXNvbHZlZCBjb250ZW50IHNob3VsZCBiZTogJ3Rlc3QnCisKK1Rlc3Q6IGRhdGE6dGV4dC9w
bGFpbjtjaGFyc2V0PVRFU1QsdGVzdAorUEFTUzogbWltZVR5cGUgc2hvdWxkIGJlOiAndGV4dC9w
bGFpbicKK1BBU1M6IGNoYXJzZXQgc2hvdWxkIGJlOiAnVEVTVCcKK1BBU1M6IGJhc2U2NCBzaG91
bGQgYmU6ICdmYWxzZScKK1BBU1M6IGRhdGEgc2hvdWxkIGJlOiAndGVzdCcKK1BBU1M6IFJlc29s
dmVkIGNvbnRlbnQgc2hvdWxkIGJlOiAndGVzdCcKKworVGVzdDogZGF0YTphcHBsaWNhdGlvbi9q
c29uLHsibmFtZSI6InRlc3QiLCJsaXN0IjpbMSwyLDNdfQorUEFTUzogbWltZVR5cGUgc2hvdWxk
IGJlOiAnYXBwbGljYXRpb24vanNvbicKK1BBU1M6IGNoYXJzZXQgc2hvdWxkIGJlOiAnVVMtQVND
SUknCitQQVNTOiBiYXNlNjQgc2hvdWxkIGJlOiAnZmFsc2UnCitQQVNTOiBkYXRhIHNob3VsZCBi
ZTogJ3sibmFtZSI6InRlc3QiLCJsaXN0IjpbMSwyLDNdfScKK1BBU1M6IFJlc29sdmVkIGNvbnRl
bnQgc2hvdWxkIGJlOiAneyJuYW1lIjoidGVzdCIsImxpc3QiOlsxLDIsM119JworCitUZXN0OiBk
YXRhOmFwcGxpY2F0aW9uL2pzb24sJTdCJTIybmFtZSUyMiUzQSUyMnRlc3QlMjIlMkMlMjJsaXN0
JTIyJTNBJTVCMSUyQzIlMkMzJTVEJTdECitQQVNTOiBtaW1lVHlwZSBzaG91bGQgYmU6ICdhcHBs
aWNhdGlvbi9qc29uJworUEFTUzogY2hhcnNldCBzaG91bGQgYmU6ICdVUy1BU0NJSScKK1BBU1M6
IGJhc2U2NCBzaG91bGQgYmU6ICdmYWxzZScKK1BBU1M6IGRhdGEgc2hvdWxkIGJlOiAneyJuYW1l
IjoidGVzdCIsImxpc3QiOlsxLDIsM119JworUEFTUzogUmVzb2x2ZWQgY29udGVudCBzaG91bGQg
YmU6ICd7Im5hbWUiOiJ0ZXN0IiwibGlzdCI6WzEsMiwzXX0nCisKK1Rlc3Q6IGRhdGE6YXBwbGlj
YXRpb24vanNvbjtiYXNlNjQsZXlKdVlXMWxJam9pZEdWemRDSXNJbXhwYzNRaU9sc3hMRElzTTEx
OQorUEFTUzogbWltZVR5cGUgc2hvdWxkIGJlOiAnYXBwbGljYXRpb24vanNvbicKK1BBU1M6IGNo
YXJzZXQgc2hvdWxkIGJlOiAnVVMtQVNDSUknCitQQVNTOiBiYXNlNjQgc2hvdWxkIGJlOiAndHJ1
ZScKK1BBU1M6IGRhdGEgc2hvdWxkIGJlOiAnZXlKdVlXMWxJam9pZEdWemRDSXNJbXhwYzNRaU9s
c3hMRElzTTExOScKK1BBU1M6IFJlc29sdmVkIGNvbnRlbnQgc2hvdWxkIGJlOiAneyJuYW1lIjoi
dGVzdCIsImxpc3QiOlsxLDIsM119JworCitUZXN0OiBkYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hh
cnNldD11dGYtODtiYXNlNjQsZXlKdVlXMWxJam9pZEdWemRDSXNJbXhwYzNRaU9sc3hMRElzTTEx
OQorUEFTUzogbWltZVR5cGUgc2hvdWxkIGJlOiAnYXBwbGljYXRpb24vanNvbicKK1BBU1M6IGNo
YXJzZXQgc2hvdWxkIGJlOiAndXRmLTgnCitQQVNTOiBiYXNlNjQgc2hvdWxkIGJlOiAndHJ1ZScK
K1BBU1M6IGRhdGEgc2hvdWxkIGJlOiAnZXlKdVlXMWxJam9pZEdWemRDSXNJbXhwYzNRaU9sc3hM
RElzTTExOScKK1BBU1M6IFJlc29sdmVkIGNvbnRlbnQgc2hvdWxkIGJlOiAneyJuYW1lIjoidGVz
dCIsImxpc3QiOlsxLDIsM119JworCitUZXN0OiBkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3
MEtHZ29BQUFBTlNVaEVVZ0FBQUFVQUFBQUZDQVlBQUFDTmJ5YmxBQUFBSEVsRVFWUUkxMlA0Ly84
L3czOEdJQVhESUJLRTBESHhnbGpOQkFBTzlUWEwwWTRPSHdBQUFBQkpSVTVFcmtKZ2dnPT0KK1BB
U1M6IG1pbWVUeXBlIHNob3VsZCBiZTogJ2ltYWdlL3BuZycKK1BBU1M6IGNoYXJzZXQgc2hvdWxk
IGJlOiAnVVMtQVNDSUknCitQQVNTOiBiYXNlNjQgc2hvdWxkIGJlOiAndHJ1ZScKK1BBU1M6IGRh
dGEgc2hvdWxkIGJlOiAnaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFVQUFBQUZDQVlBQUFDTmJ5
YmxBQUFBSEVsRVFWUUkxMlA0Ly84L3czOEdJQVhESUJLRTBESHhnbGpOQkFBTzlUWEwwWTRPSHdB
QUFBQkpSVTVFcmtKZ2dnPT0nCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci91
bml0LXRlc3RzL3VybC11dGlsaXRpZXMuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci91bml0
LXRlc3RzL3VybC11dGlsaXRpZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi42ZWU1MDJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3Vu
aXQtdGVzdHMvdXJsLXV0aWxpdGllcy5odG1sCkBAIC0wLDAgKzEsMTI1IEBACis8IURPQ1RZUEUg
aHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvcmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+Citm
dW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBsZXQgc3VpdGUgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZVN5
bmNTdWl0ZSgiVVJMVXRpbGl0aWVzIik7CisKKyAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7CisgICAg
ICAgIG5hbWU6ICJwYXJzZURhdGFVUkwiLAorICAgICAgICB0ZXN0OiAoKSA9PiB7CisgICAgICAg
ICAgICBmdW5jdGlvbiB0ZXN0SW52YWxpZCh1cmwpIHsKKyAgICAgICAgICAgICAgICBJbnNwZWN0
b3JUZXN0LmxvZygiVGVzdDogIiArIHVybCk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVz
dC5leHBlY3RUaGF0KHBhcnNlRGF0YVVSTCh1cmwpID09PSBudWxsLCAiU2hvdWxkIG5vdCBiZSBh
IGRhdGEgVVJMIik7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGZ1bmN0aW9uIHRlc3RW
YWxpZCh1cmwsIGV4cGVjdGVkKSB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5sb2co
IiIpOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJUZXN0OiAiICsgdXJsKTsK
KworICAgICAgICAgICAgICAgIGxldCB7bWltZVR5cGU6IGV4cGVjdGVkTWltZVR5cGUsIGNoYXJz
ZXQ6IGV4cGVjdGVkQ2hhcnNldCwgYmFzZTY0OiBleHBlY3RlZEJhc2U2NCwgZGF0YTogZXhwZWN0
ZWREYXRhLCBjb250ZW50OiBleHBlY3RlZENvbnRlbnR9ID0gZXhwZWN0ZWQ7CisgICAgICAgICAg
ICAgICAgbGV0IHttaW1lVHlwZTogYWN0dWFsTWltZVR5cGUsIGNoYXJzZXQ6IGFjdHVhbENoYXJz
ZXQsIGJhc2U2NDogYWN0dWFsQmFzZTY0LCBkYXRhOiBhY3R1YWxEYXRhLCBzY2hlbWU6IGFjdHVh
bFNjaGVtZX0gPSBwYXJzZURhdGFVUkwodXJsKTsKKyAgICAgICAgICAgICAgICBsZXQgYWN0dWFs
Q29udGVudCA9IGFjdHVhbERhdGE7CisgICAgICAgICAgICAgICAgaWYgKGFjdHVhbEJhc2U2NCkK
KyAgICAgICAgICAgICAgICAgICAgYWN0dWFsQ29udGVudCA9IGF0b2IoYWN0dWFsQ29udGVudCk7
CisKKyAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChhY3R1YWxTY2hlbWUgPT09
ICJkYXRhIiwgInNjaGVtZSBzaG91bGQgYWx3YXlzIGJlICdkYXRhJyIpOworICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChhY3R1YWxNaW1lVHlwZSA9PT0gZXhwZWN0ZWRN
aW1lVHlwZSwgYG1pbWVUeXBlIHNob3VsZCBiZTogJyR7ZXhwZWN0ZWRNaW1lVHlwZX0nYCk7Cisg
ICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RUaGF0KGFjdHVhbENoYXJzZXQgPT09
IGV4cGVjdGVkQ2hhcnNldCwgYGNoYXJzZXQgc2hvdWxkIGJlOiAnJHtleHBlY3RlZENoYXJzZXR9
J2ApOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChhY3R1YWxCYXNl
NjQgPT09IGV4cGVjdGVkQmFzZTY0LCBgYmFzZTY0IHNob3VsZCBiZTogJyR7ZXhwZWN0ZWRCYXNl
NjR9J2ApOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0VGhhdChhY3R1YWxE
YXRhID09PSBleHBlY3RlZERhdGEsIGBkYXRhIHNob3VsZCBiZTogJyR7ZXhwZWN0ZWREYXRhfSdg
KTsKKyAgICAgICAgICAgICAgICBpZiAoZXhwZWN0ZWRDb250ZW50ICE9PSBudWxsKQorICAgICAg
ICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoYWN0dWFsQ29udGVudCA9PT0g
ZXhwZWN0ZWRDb250ZW50LCBgUmVzb2x2ZWQgY29udGVudCBzaG91bGQgYmU6ICcke2V4cGVjdGVk
Q29udGVudH0nYCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHRlc3RJbnZhbGlkKCJo
dHRwczovL3dlYmtpdC5vcmciKTsKKyAgICAgICAgICAgIHRlc3RJbnZhbGlkKCJkYXRhOiIpOwor
ICAgICAgICAgICAgdGVzdEludmFsaWQoImRhdGE6dGV4dC9wbGFpbjt0ZXN0Iik7CisgICAgICAg
ICAgICB0ZXN0SW52YWxpZCgiZGF0YTp0ZXh0L3BsYWluO2Jhc2U2NDt0ZXN0Iik7CisKKyAgICAg
ICAgICAgIHRlc3RWYWxpZCgiZGF0YTosIiwgeworICAgICAgICAgICAgICAgIG1pbWVUeXBlOiAi
dGV4dC9wbGFpbiIsCisgICAgICAgICAgICAgICAgY2hhcnNldDogIlVTLUFTQ0lJIiwKKyAgICAg
ICAgICAgICAgICBiYXNlNjQ6IGZhbHNlLAorICAgICAgICAgICAgICAgIGRhdGE6ICIiLAorICAg
ICAgICAgICAgICAgIGNvbnRlbnQ6ICIiLAorICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAg
IHRlc3RWYWxpZCgiZGF0YTosdGVzdCIsIHsKKyAgICAgICAgICAgICAgICBtaW1lVHlwZTogInRl
eHQvcGxhaW4iLAorICAgICAgICAgICAgICAgIGNoYXJzZXQ6ICJVUy1BU0NJSSIsCisgICAgICAg
ICAgICAgICAgYmFzZTY0OiBmYWxzZSwKKyAgICAgICAgICAgICAgICBkYXRhOiAidGVzdCIsCisg
ICAgICAgICAgICAgICAgY29udGVudDogInRlc3QiLAorICAgICAgICAgICAgfSk7CisKKyAgICAg
ICAgICAgIHRlc3RWYWxpZCgiZGF0YTp0ZXh0L3BsYWluLHRlc3QiLCB7CisgICAgICAgICAgICAg
ICAgbWltZVR5cGU6ICJ0ZXh0L3BsYWluIiwKKyAgICAgICAgICAgICAgICBjaGFyc2V0OiAiVVMt
QVNDSUkiLAorICAgICAgICAgICAgICAgIGJhc2U2NDogZmFsc2UsCisgICAgICAgICAgICAgICAg
ZGF0YTogInRlc3QiLAorICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICJ0ZXN0IiwKKyAgICAgICAg
ICAgIH0pOworCisgICAgICAgICAgICB0ZXN0VmFsaWQoImRhdGE6dGV4dC9wbGFpbjtjaGFyc2V0
PVRFU1QsdGVzdCIsIHsKKyAgICAgICAgICAgICAgICBtaW1lVHlwZTogInRleHQvcGxhaW4iLAor
ICAgICAgICAgICAgICAgIGNoYXJzZXQ6ICJURVNUIiwKKyAgICAgICAgICAgICAgICBiYXNlNjQ6
IGZhbHNlLAorICAgICAgICAgICAgICAgIGRhdGE6ICJ0ZXN0IiwKKyAgICAgICAgICAgICAgICBj
b250ZW50OiAidGVzdCIsCisgICAgICAgICAgICB9KTsKKworICAgICAgICAgICAgdGVzdFZhbGlk
KCJkYXRhOmFwcGxpY2F0aW9uL2pzb24se1wibmFtZVwiOlwidGVzdFwiLFwibGlzdFwiOlsxLDIs
M119IiwgeworICAgICAgICAgICAgICAgIG1pbWVUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsCisg
ICAgICAgICAgICAgICAgY2hhcnNldDogIlVTLUFTQ0lJIiwKKyAgICAgICAgICAgICAgICBiYXNl
NjQ6IGZhbHNlLAorICAgICAgICAgICAgICAgIGRhdGE6ICd7Im5hbWUiOiJ0ZXN0IiwibGlzdCI6
WzEsMiwzXX0nLAorICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICd7Im5hbWUiOiJ0ZXN0IiwibGlz
dCI6WzEsMiwzXX0nLAorICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYXNzZXJ0KGVuY29kZVVSSUNvbXBvbmVudCgneyJuYW1lIjoidGVzdCIsImxpc3QiOlsxLDIs
M119JykgPT09ICIlN0IlMjJuYW1lJTIyJTNBJTIydGVzdCUyMiUyQyUyMmxpc3QlMjIlM0ElNUIx
JTJDMiUyQzMlNUQlN0QiKTsKKyAgICAgICAgICAgIHRlc3RWYWxpZCgiZGF0YTphcHBsaWNhdGlv
bi9qc29uLCU3QiUyMm5hbWUlMjIlM0ElMjJ0ZXN0JTIyJTJDJTIybGlzdCUyMiUzQSU1QjElMkMy
JTJDMyU1RCU3RCIsIHsKKyAgICAgICAgICAgICAgICBtaW1lVHlwZTogImFwcGxpY2F0aW9uL2pz
b24iLAorICAgICAgICAgICAgICAgIGNoYXJzZXQ6ICJVUy1BU0NJSSIsCisgICAgICAgICAgICAg
ICAgYmFzZTY0OiBmYWxzZSwKKyAgICAgICAgICAgICAgICBkYXRhOiAneyJuYW1lIjoidGVzdCIs
Imxpc3QiOlsxLDIsM119JywKKyAgICAgICAgICAgICAgICBjb250ZW50OiAneyJuYW1lIjoidGVz
dCIsImxpc3QiOlsxLDIsM119JywKKyAgICAgICAgICAgIH0pOworCisgICAgICAgICAgICB0ZXN0
VmFsaWQoImRhdGE6YXBwbGljYXRpb24vanNvbjtiYXNlNjQsZXlKdVlXMWxJam9pZEdWemRDSXNJ
bXhwYzNRaU9sc3hMRElzTTExOSIsIHsKKyAgICAgICAgICAgICAgICBtaW1lVHlwZTogImFwcGxp
Y2F0aW9uL2pzb24iLAorICAgICAgICAgICAgICAgIGNoYXJzZXQ6ICJVUy1BU0NJSSIsCisgICAg
ICAgICAgICAgICAgYmFzZTY0OiB0cnVlLAorICAgICAgICAgICAgICAgIGRhdGE6ICJleUp1WVcx
bElqb2lkR1Z6ZENJc0lteHBjM1FpT2xzeExESXNNMTE5IiwKKyAgICAgICAgICAgICAgICBjb250
ZW50OiAneyJuYW1lIjoidGVzdCIsImxpc3QiOlsxLDIsM119JywKKyAgICAgICAgICAgIH0pOwor
CisgICAgICAgICAgICB0ZXN0VmFsaWQoImRhdGE6YXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0
Zi04O2Jhc2U2NCxleUp1WVcxbElqb2lkR1Z6ZENJc0lteHBjM1FpT2xzeExESXNNMTE5Iiwgewor
ICAgICAgICAgICAgICAgIG1pbWVUeXBlOiAiYXBwbGljYXRpb24vanNvbiIsCisgICAgICAgICAg
ICAgICAgY2hhcnNldDogInV0Zi04IiwKKyAgICAgICAgICAgICAgICBiYXNlNjQ6IHRydWUsCisg
ICAgICAgICAgICAgICAgZGF0YTogImV5SnVZVzFsSWpvaWRHVnpkQ0lzSW14cGMzUWlPbHN4TERJ
c00xMTkiLAorICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICd7Im5hbWUiOiJ0ZXN0IiwibGlzdCI6
WzEsMiwzXX0nLAorICAgICAgICAgICAgfSk7CisKKyAgICAgICAgICAgIHRlc3RWYWxpZCgiZGF0
YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFBVUFBQUFGQ0FZQUFB
Q05ieWJsQUFBQUhFbEVRVlFJMTJQNC8vOC93MzhHSUFYRElCS0UwREh4Z2xqTkJBQU85VFhMMFk0
T0h3QUFBQUJKUlU1RXJrSmdnZz09IiwgeworICAgICAgICAgICAgICAgIG1pbWVUeXBlOiAiaW1h
Z2UvcG5nIiwKKyAgICAgICAgICAgICAgICBjaGFyc2V0OiAiVVMtQVNDSUkiLAorICAgICAgICAg
ICAgICAgIGJhc2U2NDogdHJ1ZSwKKyAgICAgICAgICAgICAgICBkYXRhOiAiaVZCT1J3MEtHZ29B
QUFBTlNVaEVVZ0FBQUFVQUFBQUZDQVlBQUFDTmJ5YmxBQUFBSEVsRVFWUUkxMlA0Ly84L3czOEdJ
QVhESUJLRTBESHhnbGpOQkFBTzlUWEwwWTRPSHdBQUFBQkpSVTVFcmtKZ2dnPT0iLAorICAgICAg
ICAgICAgICAgIGNvbnRlbnQ6IG51bGwsIC8vIFNraXAgY29udGVudCBjaGVjay4KKyAgICAgICAg
ICAgIH0pOworCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgIH0pOwor
CisgICAgc3VpdGUucnVuVGVzdENhc2VzQW5kRmluaXNoKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5IG9uTG9hZD0icnVuVGVzdCgpIj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCmluZGV4IDRlYTVlNTcuLjk4Y2M3MTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE2LTAyLTE2ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNv
cmFyb0BhcHBsZS5jb20+CisKKyAgICAgICAgSlNDb250ZXh0IEluc3BlY3RvcjogU3VwcG9ydCBm
b3IgaW5saW5lIHNvdXJjZSBtYXBzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNTQzMDMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI0NjcwMzkyPgor
CisgICAgICAgIFJldmlld2VkIGJ5IFRpbW90aHkgSGF0Y2hlci4KKworICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvQmFzZS9VUkxVdGlsaXRpZXMuanM6CisgICAgICAgIChwYXJzZURhdGFVUkwpOgor
ICAgICAgICBCcmVhayBhIGRhdGEgVVJMIGludG8gY29tcG9uZW50cy4KKworICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvU291cmNlTWFwTWFuYWdlci5qczoKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5Tb3VyY2VNYXBNYW5hZ2VyLnByb3RvdHlwZS5fbG9hZEFuZFBhcnNlU291cmNl
TWFwKToKKyAgICAgICAgSGFuZGxlIGEgZGF0YSBVUkwgd2l0aG91dCB1c2luZyBOZXR3b3JrQWdl
bnQuIEFsc28gbW92ZSByZWZlcmVuY2VzCisgICAgICAgIHRvIGEgbWFpbiBmcmFtZSBhZnRlciBj
aGVja2luZyBmb3IgTmV0d29ya0FnZW50LgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2Rl
bHMvU291cmNlTWFwLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZU1hcC5wcm90b3R5
cGUuZ2V0IHNvdXJjZU1hcHBpbmdCYXNlUGF0aFVSTENvbXBvbmVudHMpOgorICAgICAgICAqIFVz
ZXJJbnRlcmZhY2UvTW9kZWxzL1NvdXJjZU1hcFJlc291cmNlLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlNvdXJjZU1hcFJlc291cmNlLnByb3RvdHlwZS5nZXQgc291cmNlTWFwRGlzcGxheVN1
YnBhdGgpOgorICAgICAgICBIYW5kbGUgSmF2YVNjcmlwdCBkZWJ1Z2dhYmxlIHNjcmlwdCBVUkxz
IHdoaWNoIG1heSBub3QgYmUgY29tcGxldGUgVVJMcy4KKworICAgICAgICAoV2ViSW5zcGVjdG9y
LlNvdXJjZU1hcFJlc291cmNlLnByb3RvdHlwZS5yZXF1ZXN0Q29udGVudEZyb21CYWNrZW5kKToK
KyAgICAgICAgQWxzbyBoYW5kbGUgaWYgTmV0d29ya0FnZW50IGRvZXMgbm90IGV4aXN0LgorCisg
ICAgICAgICogVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVNpZGViYXJQYW5lbC5qczoKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZVNpZGViYXJQYW5lbCk6CisgICAgICAgIFdoZW4g
Y29ubmVjdGVkIHRvIGEgSmF2YVNjcmlwdCBkZWJ1Z2dhYmxlIHdlIHdlcmUgaGlkaW5nIGRpc2Ns
b3N1cmUKKyAgICAgICAgdHJpYW5nbGVzIGFzIHdlIGRpZCBub3QgZXhwZWN0IHJlc291cmNlcyB0
byBoYXZlIHN1YnJlc291cmNlcy4gSWYKKyAgICAgICAgYSBTb3VyY2VNYXAgaXMgYWRkZWQsIHNo
b3cgdGhlbSBhZ2Fpbi4KKwogMjAxNi0wMi0xMiAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9A
YXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEF2b2lkIGluY2x1ZGluZyBFU0xp
bnQgdW50aWwgaXQgaXMgdXNlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvQmFzZS9VUkxVdGlsaXRpZXMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9CYXNlL1VSTFV0aWxpdGllcy5qcwppbmRleCBjZjNiNmFiLi5lNzgyMTdi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9CYXNlL1VS
TFV0aWxpdGllcy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9C
YXNlL1VSTFV0aWxpdGllcy5qcwpAQCAtNzAsNiArNzAsMjUgQEAgZnVuY3Rpb24gcGFyc2VTZWN1
cml0eU9yaWdpbihzZWN1cml0eU9yaWdpbikKICAgICByZXR1cm4ge3NjaGVtZSwgaG9zdCwgcG9y
dH07CiB9CiAKK2Z1bmN0aW9uIHBhcnNlRGF0YVVSTCh1cmwpCit7CisgICAgaWYgKCF1cmwuc3Rh
cnRzV2l0aCgiZGF0YToiKSkKKyAgICAgICAgcmV0dXJuIG51bGw7CisKKyAgICAvLyBkYXRhOls8
bWVkaWEgdHlwZT5dWztjaGFyc2V0PTxjaGFyYWN0ZXIgc2V0Pl1bO2Jhc2U2NF0sPGRhdGE+Cisg
ICAgbGV0IG1hdGNoID0gdXJsLm1hdGNoKC9eZGF0YTooW147LF0qKT8oPzo7Y2hhcnNldD0oW147
LF0qPykpPyg7YmFzZTY0KT8sKC4qKSQvKTsKKyAgICBpZiAoIW1hdGNoKQorICAgICAgICByZXR1
cm4gbnVsbDsKKworICAgIGxldCBzY2hlbWUgPSAiZGF0YSI7CisgICAgbGV0IG1pbWVUeXBlID0g
bWF0Y2hbMV0gfHwgInRleHQvcGxhaW4iOworICAgIGxldCBjaGFyc2V0ID0gbWF0Y2hbMl0gfHwg
IlVTLUFTQ0lJIjsKKyAgICBsZXQgYmFzZTY0ID0gISFtYXRjaFszXTsKKyAgICBsZXQgZGF0YSA9
IGRlY29kZVVSSUNvbXBvbmVudChtYXRjaFs0XSk7CisKKyAgICByZXR1cm4ge3NjaGVtZSwgbWlt
ZVR5cGUsIGNoYXJzZXQsIGJhc2U2NCwgZGF0YX07Cit9CisKIGZ1bmN0aW9uIHBhcnNlVVJMKHVy
bCkKIHsKICAgICB1cmwgPSB1cmwgPyB1cmwudHJpbSgpIDogIiI7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9Tb3VyY2VNYXBNYW5h
Z2VyLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMv
U291cmNlTWFwTWFuYWdlci5qcwppbmRleCA3NDg0MDViLi4yMGY5MDVlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9Tb3VyY2VNYXBN
YW5hZ2VyLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRy
b2xsZXJzL1NvdXJjZU1hcE1hbmFnZXIuanMKQEAgLTEwOCw2ICsxMDgsMjAgQEAgV2ViSW5zcGVj
dG9yLlNvdXJjZU1hcE1hbmFnZXIgPSBjbGFzcyBTb3VyY2VNYXBNYW5hZ2VyIGV4dGVuZHMgV2Vi
SW5zcGVjdG9yLk9iamUKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCisgICAgICAgIGlmIChz
b3VyY2VNYXBVUkwuc3RhcnRzV2l0aCgiZGF0YToiKSkgeworICAgICAgICAgICAgbGV0IHttaW1l
VHlwZSwgYmFzZTY0LCBkYXRhfSA9IHBhcnNlRGF0YVVSTChzb3VyY2VNYXBVUkwpOworICAgICAg
ICAgICAgbGV0IGNvbnRlbnQgPSBiYXNlNjQgPyBhdG9iKGRhdGEpIDogZGF0YTsKKyAgICAgICAg
ICAgIHNvdXJjZU1hcExvYWRlZC5jYWxsKHRoaXMsIG51bGwsIGNvbnRlbnQsIG1pbWVUeXBlLCAw
KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIC8vIENPTVBBVElC
SUxJVFkgKGlPUyA3KTogTmV0d29yay5sb2FkUmVzb3VyY2UgZGlkIG5vdCBleGlzdC4KKyAgICAg
ICAgLy8gQWxzbywgSmF2YVNjcmlwdCBEZWJ1Z2dhYmxlIG1heSByZWFjaCB0aGlzLgorICAgICAg
ICBpZiAoIXdpbmRvdy5OZXR3b3JrQWdlbnQgfHwgIU5ldHdvcmtBZ2VudC5sb2FkUmVzb3VyY2Up
IHsKKyAgICAgICAgICAgIHRoaXMuX2xvYWRBbmRQYXJzZUZhaWxlZChzb3VyY2VNYXBVUkwpOwor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKICAgICAgICAgdmFyIGZyYW1lSWRlbnRp
ZmllciA9IG51bGw7CiAgICAgICAgIGlmIChvcmlnaW5hbFNvdXJjZUNvZGUgaW5zdGFuY2VvZiBX
ZWJJbnNwZWN0b3IuUmVzb3VyY2UgJiYgb3JpZ2luYWxTb3VyY2VDb2RlLnBhcmVudEZyYW1lKQog
ICAgICAgICAgICAgZnJhbWVJZGVudGlmaWVyID0gb3JpZ2luYWxTb3VyY2VDb2RlLnBhcmVudEZy
YW1lLmlkOwpAQCAtMTE1LDEyICsxMjksNiBAQCBXZWJJbnNwZWN0b3IuU291cmNlTWFwTWFuYWdl
ciA9IGNsYXNzIFNvdXJjZU1hcE1hbmFnZXIgZXh0ZW5kcyBXZWJJbnNwZWN0b3IuT2JqZQogICAg
ICAgICBpZiAoIWZyYW1lSWRlbnRpZmllcikKICAgICAgICAgICAgIGZyYW1lSWRlbnRpZmllciA9
IFdlYkluc3BlY3Rvci5mcmFtZVJlc291cmNlTWFuYWdlci5tYWluRnJhbWUuaWQ7CiAKLSAgICAg
ICAgLy8gQ09NUEFUSUJJTElUWSAoaU9TIDcpOiBOZXR3b3JrLmxvYWRSZXNvdXJjZSBkaWQgbm90
IGV4aXN0LgotICAgICAgICBpZiAoIU5ldHdvcmtBZ2VudC5sb2FkUmVzb3VyY2UpIHsKLSAgICAg
ICAgICAgIHRoaXMuX2xvYWRBbmRQYXJzZUZhaWxlZChzb3VyY2VNYXBVUkwpOwotICAgICAgICAg
ICAgcmV0dXJuOwotICAgICAgICB9Ci0KICAgICAgICAgTmV0d29ya0FnZW50LmxvYWRSZXNvdXJj
ZShmcmFtZUlkZW50aWZpZXIsIHNvdXJjZU1hcFVSTCwgc291cmNlTWFwTG9hZGVkLmJpbmQodGhp
cykpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvTW9kZWxzL1NvdXJjZU1hcC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL01vZGVscy9Tb3VyY2VNYXAuanMKaW5kZXggOTUzNDdmOS4uZDdhOGJjOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NvdXJjZU1h
cC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU291
cmNlTWFwLmpzCkBAIC03NCw2ICs3NCwxMSBAQCBXZWJJbnNwZWN0b3IuU291cmNlTWFwID0gY2xh
c3MgU291cmNlTWFwIGV4dGVuZHMgV2ViSW5zcGVjdG9yLk9iamVjdAogICAgICAgICB9CiAKICAg
ICAgICAgdmFyIHVybENvbXBvbmVudHMgPSBwYXJzZVVSTCh0aGlzLl9zb3VyY2VNYXBwaW5nVVJM
KTsKKworICAgICAgICAvLyBGYWxsYmFjayBmb3IgSmF2YVNjcmlwdCBkZWJ1Z2dhYmxlIG5hbWVk
IHNjcmlwdHMgdGhhdCBtYXkgbm90IGhhdmUgYSBjb21wbGV0ZSBVUkwuCisgICAgICAgIGlmICgh
dXJsQ29tcG9uZW50cy5wYXRoKQorICAgICAgICAgICAgdXJsQ29tcG9uZW50cy5wYXRoID0gdGhp
cy5fc291cmNlTWFwcGluZ1VSTDsKKwogICAgICAgICB1cmxDb21wb25lbnRzLnBhdGggPSB1cmxD
b21wb25lbnRzLnBhdGguc3Vic3RyKDAsIHVybENvbXBvbmVudHMucGF0aC5sYXN0SW5kZXhPZih1
cmxDb21wb25lbnRzLmxhc3RQYXRoQ29tcG9uZW50KSk7CiAgICAgICAgIHVybENvbXBvbmVudHMu
bGFzdFBhdGhDb21wb25lbnQgPSBudWxsOwogICAgICAgICB0aGlzLl9zb3VyY2VNYXBwaW5nVVJM
QmFzZVBhdGhDb21wb25lbnRzID0gdXJsQ29tcG9uZW50czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9Tb3VyY2VNYXBSZXNvdXJjZS5qcyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9Tb3VyY2VNYXBSZXNv
dXJjZS5qcwppbmRleCA1YWI1ZWEzLi5lN2ExN2NiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvU291cmNlTWFwUmVzb3VyY2UuanMKKysrIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1NvdXJjZU1hcFJlc291
cmNlLmpzCkBAIC02MSw2ICs2MSwxMCBAQCBXZWJJbnNwZWN0b3IuU291cmNlTWFwUmVzb3VyY2Ug
PSBjbGFzcyBTb3VyY2VNYXBSZXNvdXJjZSBleHRlbmRzIFdlYkluc3BlY3Rvci5SZQogICAgICAg
ICB2YXIgc291cmNlTWFwcGluZ0Jhc2VQYXRoVVJMQ29tcG9uZW50cyA9IHRoaXMuX3NvdXJjZU1h
cC5zb3VyY2VNYXBwaW5nQmFzZVBhdGhVUkxDb21wb25lbnRzOwogICAgICAgICB2YXIgcmVzb3Vy
Y2VVUkxDb21wb25lbnRzID0gdGhpcy51cmxDb21wb25lbnRzOwogCisgICAgICAgIC8vIEZhbGxi
YWNrIGZvciBKYXZhU2NyaXB0IGRlYnVnZ2FibGUgbmFtZWQgc2NyaXB0cyB0aGF0IG1heSBub3Qg
aGF2ZSBhIGNvbXBsZXRlIFVSTC4KKyAgICAgICAgaWYgKCFyZXNvdXJjZVVSTENvbXBvbmVudHMu
cGF0aCkKKyAgICAgICAgICAgIHJlc291cmNlVVJMQ29tcG9uZW50cy5wYXRoID0gdGhpcy51cmw7
CisKICAgICAgICAgLy8gRGlmZmVyZW50IHNjaGVtZXMgLyBob3N0cy4gUmV0dXJuIHRoZSBob3N0
ICsgcGF0aCBvZiB0aGlzIHJlc291cmNlLgogICAgICAgICBpZiAocmVzb3VyY2VVUkxDb21wb25l
bnRzLnNjaGVtZSAhPT0gc291cmNlTWFwcGluZ0Jhc2VQYXRoVVJMQ29tcG9uZW50cy5zY2hlbWUg
fHwgcmVzb3VyY2VVUkxDb21wb25lbnRzLmhvc3QgIT09IHNvdXJjZU1hcHBpbmdCYXNlUGF0aFVS
TENvbXBvbmVudHMuaG9zdCkKICAgICAgICAgICAgIHJldHVybiByZXNvdXJjZVVSTENvbXBvbmVu
dHMuaG9zdCArIChyZXNvdXJjZVVSTENvbXBvbmVudHMucG9ydCA/ICgiOiIgKyByZXNvdXJjZVVS
TENvbXBvbmVudHMucG9ydCkgOiAiIikgKyByZXNvdXJjZVVSTENvbXBvbmVudHMucGF0aDsKQEAg
LTEyOCw3ICsxMzIsOCBAQCBXZWJJbnNwZWN0b3IuU291cmNlTWFwUmVzb3VyY2UgPSBjbGFzcyBT
b3VyY2VNYXBSZXNvdXJjZSBleHRlbmRzIFdlYkluc3BlY3Rvci5SZQogICAgICAgICB9CiAKICAg
ICAgICAgLy8gQ09NUEFUSUJJTElUWSAoaU9TIDcpOiBOZXR3b3JrLmxvYWRSZXNvdXJjZSBkaWQg
bm90IGV4aXN0LgotICAgICAgICBpZiAoIU5ldHdvcmtBZ2VudC5sb2FkUmVzb3VyY2UpCisgICAg
ICAgIC8vIEFsc28sIEphdmFTY3JpcHQgRGVidWdnYWJsZSB3aXRoIFNvdXJjZU1hcHMgdGhhdCBk
byBub3QgaGF2ZSBpbmxpbmVkIGNvbnRlbnQgbWF5IHJlYWNoIHRoaXMuCisgICAgICAgIGlmICgh
d2luZG93Lk5ldHdvcmtBZ2VudCB8fCAhTmV0d29ya0FnZW50LmxvYWRSZXNvdXJjZSkKICAgICAg
ICAgICAgIHJldHVybiBzb3VyY2VNYXBSZXNvdXJjZUxvYWRFcnJvci5jYWxsKHRoaXMpOwogCiAg
ICAgICAgIHZhciBmcmFtZUlkZW50aWZpZXIgPSBudWxsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUmVzb3VyY2VTaWRlYmFyUGFuZWwuanMg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVNpZGVi
YXJQYW5lbC5qcwppbmRleCBlMjVmMzQzLi40MjhmMjM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVNpZGViYXJQYW5lbC5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9SZXNvdXJjZVNp
ZGViYXJQYW5lbC5qcwpAQCAtNjYsOCArNjYsMTAgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlU2lk
ZWJhclBhbmVsID0gY2xhc3MgUmVzb3VyY2VTaWRlYmFyUGFuZWwgZXh0ZW5kcyBXZWJJbnNwZWMK
ICAgICAgICAgdGhpcy5jb250ZW50VHJlZU91dGxpbmUuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNw
ZWN0b3IuVHJlZU91dGxpbmUuRXZlbnQuU2VsZWN0aW9uRGlkQ2hhbmdlLCB0aGlzLl90cmVlU2Vs
ZWN0aW9uRGlkQ2hhbmdlLCB0aGlzKTsKICAgICAgICAgdGhpcy5jb250ZW50VHJlZU91dGxpbmUu
aW5jbHVkZVNvdXJjZU1hcFJlc291cmNlQ2hpbGRyZW4gPSB0cnVlOwogCi0gICAgICAgIGlmIChX
ZWJJbnNwZWN0b3IuZGVidWdnYWJsZVR5cGUgPT09IFdlYkluc3BlY3Rvci5EZWJ1Z2dhYmxlVHlw
ZS5KYXZhU2NyaXB0KQorICAgICAgICBpZiAoV2ViSW5zcGVjdG9yLmRlYnVnZ2FibGVUeXBlID09
PSBXZWJJbnNwZWN0b3IuRGVidWdnYWJsZVR5cGUuSmF2YVNjcmlwdCkgewogICAgICAgICAgICAg
dGhpcy5jb250ZW50VHJlZU91dGxpbmUuZGlzY2xvc3VyZUJ1dHRvbnMgPSBmYWxzZTsKKyAgICAg
ICAgICAgIFdlYkluc3BlY3Rvci5Tb3VyY2VDb2RlLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVj
dG9yLlNvdXJjZUNvZGUuRXZlbnQuU291cmNlTWFwQWRkZWQsICgpID0+IHsgdGhpcy5jb250ZW50
VHJlZU91dGxpbmUuZGlzY2xvc3VyZUJ1dHRvbnMgPSB0cnVlIH0sIHRoaXMpOworICAgICAgICB9
CiAKICAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5mcmFtZVJlc291cmNlTWFuYWdlci5tYWluRnJh
bWUpCiAgICAgICAgICAgICB0aGlzLl9tYWluRnJhbWVNYWluUmVzb3VyY2VEaWRDaGFuZ2UoV2Vi
SW5zcGVjdG9yLmZyYW1lUmVzb3VyY2VNYW5hZ2VyLm1haW5GcmFtZSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>