<?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>93271</bug_id>
          
          <creation_ts>2012-08-06 07:46:39 -0700</creation_ts>
          <short_desc>Web Inspector: Use and process the actual ScriptId in the protocol EventListener object</short_desc>
          <delta_ts>2012-09-20 01:39:02 -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="Alexander Pavlov (apavlov)">apavlov</reporter>
          <assigned_to name="Alexander Pavlov (apavlov)">apavlov</assigned_to>
          <cc>abarth</cc>
    
    <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>688129</commentid>
    <comment_count>0</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-08-06 07:46:39 -0700</bug_when>
    <thetext>Currently, EventListener object&apos;s &quot;location&quot; field transferred through the protocol contains the script URL, not the script id.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>688218</commentid>
    <comment_count>1</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-08-06 09:44:13 -0700</bug_when>
    <thetext>Currently, it is impossible to rely on scriptId&apos;s rather than source URLs, as scripts are not registered with the frontend until the debugger is explicitly enabled by the user.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>722831</commentid>
    <comment_count>2</comment_count>
      <attachid>164569</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-09-18 09:02:25 -0700</bug_when>
    <thetext>Created attachment 164569
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>724229</commentid>
    <comment_count>3</comment_count>
      <attachid>164569</attachid>
    <who name="Vsevolod Vlasov">vsevik</who>
    <bug_when>2012-09-20 00:20:00 -0700</bug_when>
    <thetext>Comment on attachment 164569
Patch

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

&gt; Source/WebCore/bindings/js/ScriptEventListener.cpp:109
&gt; +bool eventListenerHandlerLocation(Document* document, EventListener* eventListener, String&amp; sourceName, String&amp; sourceId, int&amp; lineNumber)

s/sourceId/scriptId/

&gt; Source/WebCore/bindings/v8/ScriptEventListener.cpp:121
&gt; +    v8::Handle&lt;v8::Value&gt; scriptIdValue = function-&gt;GetScriptId();

scriptId is always available in v8.

&gt; Source/WebCore/inspector/front-end/EventListenersSidebarPane.js:208
&gt; +                if (this.eventListener.location.scriptId)

I don&apos;t think scriptId is valuable for user.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>724240</commentid>
    <comment_count>4</comment_count>
      <attachid>164854</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-09-20 00:50:58 -0700</bug_when>
    <thetext>Created attachment 164854
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>724251</commentid>
    <comment_count>5</comment_count>
      <attachid>164854</attachid>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2012-09-20 01:12:57 -0700</bug_when>
    <thetext>Comment on attachment 164854
Patch

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

&gt; Source/WebCore/bindings/js/ScriptEventListener.cpp:127
&gt; +    scriptId = funcSourceId == SourceProvider::nullID ? &quot;&quot; : String::number(funcSourceId);

I wonder when (funcSourceId == SourceProvider::nullID) can happen.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>724271</commentid>
    <comment_count>6</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-09-20 01:33:41 -0700</bug_when>
    <thetext>Committed r129105: &lt;http://trac.webkit.org/changeset/129105&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>724277</commentid>
    <comment_count>7</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-09-20 01:39:02 -0700</bug_when>
    <thetext>Chromium issue: http://code.google.com/p/chromium/issues/detail?id=140375</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164569</attachid>
            <date>2012-09-18 09:02:25 -0700</date>
            <delta_ts>2012-09-20 00:50:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93271-20120918200151.patch</filename>
            <type>text/plain</type>
            <size>22953</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI4ODk1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk0ZmMyZGExNGRiMTJl
MGRiOTZhYTcyNDUyM2UwY2QyMmI4MjAxYS4uNDEyZmJlMThmZDg2YmQwNWUxZjQ3N2E3MDhmMTZk
OWI4MDAwMjc2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA5LTE4ICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogVXNlIGFuZCBwcm9jZXNzIHRoZSBhY3R1YWwgU2NyaXB0SWQgaW4gdGhlIHByb3RvY29s
IEV2ZW50TGlzdGVuZXIgb2JqZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05MzI3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIC0gVXNlIHRoZSBhY3R1YWwgc2NyaXB0IGlkZW50aWZpZXIgaW4gdGhlICJs
b2NhdGlvbiIgb2JqZWN0J3MgInNjcmlwdElkIiBmaWVsZAorICAgICAgICAgIGZvciB0aGUgRE9N
LkV2ZW50TGlzdGVuZXIgcHJvdG9jb2wgdHlwZSwgYnV0IHNlbmQgdGhlIHNjcmlwdCBVUkwgaW4g
dGhlIG5ldyAic291cmNlTmFtZSIgZmllbGQuCisgICAgICAgIC0gVXNlIDAtYmFzZWQgbGluZXMg
aW4gdGhlICJsb2NhdGlvbiIgb2JqZWN0J3MgImxpbmVOdW1iZXIiIGZpZWxkIGZvciBsaW5raWZ5
UmF3TG9jYXRpb24oKSB0byB3b3JrIGNvcnJlY3RseS4KKyAgICAgICAgLSBGaXhlZCBmb3JtYXR0
aW5nIG9mIGxpbmtzIHRvIGxpc3RlbmVyIGxvY2F0aW9ucyB0byBjb250YWluICIocHJvZ3JhbSki
IHJhdGhlciB0aGFuIGVtcHR5IHN0cmluZy4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL1Njcmlw
dEV2ZW50TGlzdGVuZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZXZlbnRMaXN0ZW5lckhhbmRs
ZXJMb2NhdGlvbik6CisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0RXZlbnRMaXN0ZW5lci5o
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0RXZlbnRM
aXN0ZW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpldmVudExpc3RlbmVySGFuZGxlckxvY2F0
aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRFdmVudExpc3RlbmVyLmg6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvckRPTUFnZW50OjpidWlsZE9iamVjdEZvckV2ZW50TGlzdGVuZXIpOgorICAgICAg
ICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5qczoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0V2ZW50TGlzdGVuZXJzU2lkZWJhclBhbmUuanM6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9MaW5raWZpZXIuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuTGlua2lmaWVyLkRlZmF1bHRGb3JtYXR0ZXIucHJvdG90eXBlLmZvcm1hdExpdmVB
bmNob3IpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VVdGlscy5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5mb3JtYXRMaW5rVGV4dCk6IFVzZSAiKHByb2dyYW0pIiBp
ZiBVUkwgaXMgZW1wdHkuCisKIDIwMTItMDktMTggIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBbRXh0ZW5zaW9ucyBBUEldIHBv
c3Rwb25lIHJlcXVlc3RzIHRvIGFkZCBleHRlbnNpb25zIHVudGlsIGV4dGVuc2lvbiBzZXJ2ZXIg
aXMgaW5pdGlhbGl6ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Nj
cmlwdEV2ZW50TGlzdGVuZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0
RXZlbnRMaXN0ZW5lci5jcHAKaW5kZXggYzBlOWMzZTM5NzJlZjI0NDdhNzg5Njc1YjU5MmFlZmIy
ZjY2MTJhYS4uZDQyZjIwNWJjODg2OWQ0MWE2MzQ4MGNiY2ZjYjMyODJiZjhlZTRkYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RXZlbnRMaXN0ZW5lci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RXZlbnRMaXN0ZW5lci5jcHAK
QEAgLTEwNiw3ICsxMDYsNyBAQCBTdHJpbmcgZXZlbnRMaXN0ZW5lckhhbmRsZXJCb2R5KERvY3Vt
ZW50KiBkb2N1bWVudCwgRXZlbnRMaXN0ZW5lciogZXZlbnRMaXN0ZW5lcgogICAgIHJldHVybiBq
c0Z1bmN0aW9uLT50b1N0cmluZyhzY3JpcHRTdGF0ZSktPnZhbHVlKHNjcmlwdFN0YXRlKTsKIH0K
IAotYm9vbCBldmVudExpc3RlbmVySGFuZGxlckxvY2F0aW9uKERvY3VtZW50KiBkb2N1bWVudCwg
RXZlbnRMaXN0ZW5lciogZXZlbnRMaXN0ZW5lciwgU3RyaW5nJiBzb3VyY2VOYW1lLCBpbnQmIGxp
bmVOdW1iZXIpCitib29sIGV2ZW50TGlzdGVuZXJIYW5kbGVyTG9jYXRpb24oRG9jdW1lbnQqIGRv
Y3VtZW50LCBFdmVudExpc3RlbmVyKiBldmVudExpc3RlbmVyLCBTdHJpbmcmIHNvdXJjZU5hbWUs
IFN0cmluZyYgc291cmNlSWQsIGludCYgbGluZU51bWJlcikKIHsKICAgICBjb25zdCBKU0V2ZW50
TGlzdGVuZXIqIGpzTGlzdGVuZXIgPSBKU0V2ZW50TGlzdGVuZXI6OmNhc3QoZXZlbnRMaXN0ZW5l
cik7CiAgICAgQVNTRVJUKGpzTGlzdGVuZXIpOwpAQCAtMTIyLDcgKzEyMiw5IEBAIGJvb2wgZXZl
bnRMaXN0ZW5lckhhbmRsZXJMb2NhdGlvbihEb2N1bWVudCogZG9jdW1lbnQsIEV2ZW50TGlzdGVu
ZXIqIGV2ZW50TGlzdGVuCiAgICAgSlNDOjpGdW5jdGlvbkV4ZWN1dGFibGUqIGZ1bmNFeGVjdXRh
YmxlID0ganNGdW5jdGlvbi0+anNFeGVjdXRhYmxlKCk7CiAgICAgaWYgKCFmdW5jRXhlY3V0YWJs
ZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGxpbmVOdW1iZXIgPSBmdW5jRXhlY3V0YWJs
ZS0+bGluZU5vKCk7CisgICAgbGluZU51bWJlciA9IGZ1bmNFeGVjdXRhYmxlLT5saW5lTm8oKSAt
IDE7CisgICAgaW50cHRyX3QgZnVuY1NvdXJjZUlkID0gZnVuY0V4ZWN1dGFibGUtPnNvdXJjZUlE
KCk7CisgICAgc291cmNlSWQgPSBmdW5jU291cmNlSWQgPT0gU291cmNlUHJvdmlkZXI6Om51bGxJ
RCA/ICIiIDogU3RyaW5nOjpudW1iZXIoZnVuY1NvdXJjZUlkKTsKICAgICBzb3VyY2VOYW1lID0g
ZnVuY0V4ZWN1dGFibGUtPnNvdXJjZVVSTCgpOwogICAgIHJldHVybiB0cnVlOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RXZlbnRMaXN0ZW5lci5oIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RXZlbnRMaXN0ZW5lci5oCmluZGV4IDc4
YTk3NzZhMTA2ODUzODdiODQwZDU1ZjQxYWZmZjkxNmFhNDAzMDYuLjhjMGI0NTNkZDVkY2YwZTEw
NjhjMzBkNWY3OWZmMDFhMDQ2YzQ0N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1NjcmlwdEV2ZW50TGlzdGVuZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9TY3JpcHRFdmVudExpc3RlbmVyLmgKQEAgLTQ2LDcgKzQ2LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogICAgIFBhc3NSZWZQdHI8SlNMYXp5RXZlbnRMaXN0ZW5lcj4gY3JlYXRlQXR0cmli
dXRlRXZlbnRMaXN0ZW5lcihOb2RlKiwgY29uc3QgQXR0cmlidXRlJik7CiAgICAgUGFzc1JlZlB0
cjxKU0xhenlFdmVudExpc3RlbmVyPiBjcmVhdGVBdHRyaWJ1dGVFdmVudExpc3RlbmVyKEZyYW1l
KiwgY29uc3QgQXR0cmlidXRlJik7CiAgICAgU3RyaW5nIGV2ZW50TGlzdGVuZXJIYW5kbGVyQm9k
eShEb2N1bWVudCosIEV2ZW50TGlzdGVuZXIqKTsKLSAgICBib29sIGV2ZW50TGlzdGVuZXJIYW5k
bGVyTG9jYXRpb24oRG9jdW1lbnQqLCBFdmVudExpc3RlbmVyKiwgU3RyaW5nJiBzb3VyY2VOYW1l
LCBpbnQmIGxpbmVOdW1iZXIpOworICAgIGJvb2wgZXZlbnRMaXN0ZW5lckhhbmRsZXJMb2NhdGlv
bihEb2N1bWVudCosIEV2ZW50TGlzdGVuZXIqLCBTdHJpbmcmIHNvdXJjZU5hbWUsIFN0cmluZyYg
c2NyaXB0SWQsIGludCYgbGluZU51bWJlcik7CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNl
bmRpZiAvLyBTY3JpcHRFdmVudExpc3RlbmVyX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1NjcmlwdEV2ZW50TGlzdGVuZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvdjgvU2NyaXB0RXZlbnRMaXN0ZW5lci5jcHAKaW5kZXggZjQyZTVmYjAwN2M3OWZmMjhj
NjU1YTdiYzhmMzFjM2M4NzRlOTk5MC4uMDdlODZmMWEwYTAzMzc2YzQ1OTY3NTFkNmUwN2I4YzU4
YTZhYzdkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RXZl
bnRMaXN0ZW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RXZl
bnRMaXN0ZW5lci5jcHAKQEAgLTEwNCw3ICsxMDQsNyBAQCBTdHJpbmcgZXZlbnRMaXN0ZW5lckhh
bmRsZXJCb2R5KERvY3VtZW50KiBkb2N1bWVudCwgRXZlbnRMaXN0ZW5lciogbGlzdGVuZXIpCiAg
ICAgcmV0dXJuIHRvV2ViQ29yZVN0cmluZ1dpdGhOdWxsQ2hlY2soZnVuY3Rpb24pOwogfQogCi1i
b29sIGV2ZW50TGlzdGVuZXJIYW5kbGVyTG9jYXRpb24oRG9jdW1lbnQqIGRvY3VtZW50LCBFdmVu
dExpc3RlbmVyKiBsaXN0ZW5lciwgU3RyaW5nJiBzb3VyY2VOYW1lLCBpbnQmIGxpbmVOdW1iZXIp
Citib29sIGV2ZW50TGlzdGVuZXJIYW5kbGVyTG9jYXRpb24oRG9jdW1lbnQqIGRvY3VtZW50LCBF
dmVudExpc3RlbmVyKiBsaXN0ZW5lciwgU3RyaW5nJiBzb3VyY2VOYW1lLCBTdHJpbmcmIHNjcmlw
dElkLCBpbnQmIGxpbmVOdW1iZXIpCiB7CiAgICAgaWYgKGxpc3RlbmVyLT50eXBlKCkgIT0gRXZl
bnRMaXN0ZW5lcjo6SlNFdmVudExpc3RlbmVyVHlwZSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpA
QCAtMTE4LDEzICsxMTgsMjIgQEAgYm9vbCBldmVudExpc3RlbmVySGFuZGxlckxvY2F0aW9uKERv
Y3VtZW50KiBkb2N1bWVudCwgRXZlbnRMaXN0ZW5lciogbGlzdGVuZXIsIFMKICAgICAgICAgcmV0
dXJuIGZhbHNlOwogCiAgICAgdjg6OkhhbmRsZTx2ODo6RnVuY3Rpb24+IGZ1bmN0aW9uID0gdjg6
OkhhbmRsZTx2ODo6RnVuY3Rpb24+OjpDYXN0KG9iamVjdCk7CisgICAgdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IHNjcmlwdElkVmFsdWUgPSBmdW5jdGlvbi0+R2V0U2NyaXB0SWQoKTsKKyAgICBib29s
IHN1Y2Nlc3MgPSBmYWxzZTsKKyAgICBpZiAoIXNjcmlwdElkVmFsdWUuSXNFbXB0eSgpKSB7Cisg
ICAgICAgIHNjcmlwdElkID0gdG9XZWJDb3JlU3RyaW5nV2l0aE51bGxDaGVjayhzY3JpcHRJZFZh
bHVlKTsKKyAgICAgICAgc3VjY2VzcyA9IHRydWU7CisgICAgfSBlbHNlCisgICAgICAgIHNjcmlw
dElkID0gIiI7CiAgICAgdjg6OlNjcmlwdE9yaWdpbiBvcmlnaW4gPSBmdW5jdGlvbi0+R2V0U2Ny
aXB0T3JpZ2luKCk7Ci0gICAgaWYgKCFvcmlnaW4uUmVzb3VyY2VOYW1lKCkuSXNFbXB0eSgpKSB7
CisgICAgaWYgKG9yaWdpbi5SZXNvdXJjZU5hbWUoKS0+SXNTdHJpbmcoKSAmJiAhb3JpZ2luLlJl
c291cmNlTmFtZSgpLklzRW1wdHkoKSkgewogICAgICAgICBzb3VyY2VOYW1lID0gdG9XZWJDb3Jl
U3RyaW5nKG9yaWdpbi5SZXNvdXJjZU5hbWUoKSk7Ci0gICAgICAgIGxpbmVOdW1iZXIgPSBmdW5j
dGlvbi0+R2V0U2NyaXB0TGluZU51bWJlcigpICsgMTsKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0g
ICAgfQotICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgc3VjY2VzcyA9IHRydWU7CisgICAgfSBl
bHNlCisgICAgICAgIHNvdXJjZU5hbWUgPSAiIjsKKyAgICBpZiAoc3VjY2VzcykKKyAgICAgICAg
bGluZU51bWJlciA9IGZ1bmN0aW9uLT5HZXRTY3JpcHRMaW5lTnVtYmVyKCk7CisgICAgcmV0dXJu
IHN1Y2Nlc3M7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdEV2ZW50TGlzdGVuZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1NjcmlwdEV2ZW50TGlzdGVuZXIuaAppbmRleCA4MTE1N2IyYTA5MWYz
YjE0M2FlZDJiMTg1OWIzNjI4NjBhMmUyOGU3Li5iMmU2NjMxOWNhMjA1MDY0ZTM3NTc2NTdlODgw
ZWNjODFkMmY1YTU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3Jp
cHRFdmVudExpc3RlbmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0
RXZlbnRMaXN0ZW5lci5oCkBAIC00Niw3ICs0Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBQYXNzUmVmUHRyPFY4TGF6eUV2ZW50TGlzdGVuZXI+IGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlz
dGVuZXIoTm9kZSosIGNvbnN0IEF0dHJpYnV0ZSYpOwogICAgIFBhc3NSZWZQdHI8VjhMYXp5RXZl
bnRMaXN0ZW5lcj4gY3JlYXRlQXR0cmlidXRlRXZlbnRMaXN0ZW5lcihGcmFtZSosIGNvbnN0IEF0
dHJpYnV0ZSYpOwogICAgIFN0cmluZyBldmVudExpc3RlbmVySGFuZGxlckJvZHkoRG9jdW1lbnQq
LCBFdmVudExpc3RlbmVyKik7Ci0gICAgYm9vbCBldmVudExpc3RlbmVySGFuZGxlckxvY2F0aW9u
KERvY3VtZW50KiwgRXZlbnRMaXN0ZW5lciosIFN0cmluZyYgc291cmNlTmFtZSwgaW50JiBsaW5l
TnVtYmVyKTsKKyAgICBib29sIGV2ZW50TGlzdGVuZXJIYW5kbGVyTG9jYXRpb24oRG9jdW1lbnQq
LCBFdmVudExpc3RlbmVyKiwgU3RyaW5nJiBzb3VyY2VOYW1lLCBTdHJpbmcmIHNjcmlwdElkLCBp
bnQmIGxpbmVOdW1iZXIpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCBmMTEzN2M3OGQwNjY5MDM4MjhmMWVmODVh
MTExMjExMWIxYzc2ZmU2Li43NWQ1M2M1MGIzYTU4NjRmODZjMWIxMzdkZDk2MTYxY2Y5ODA2MjUw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysr
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCkBAIC0xNTg4LDcgKzE1
ODgsOCBAQAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImlzQXR0cmlidXRlIiwgInR5
cGUiOiAiYm9vbGVhbiIsICJkZXNjcmlwdGlvbiI6ICI8Y29kZT5FdmVudExpc3RlbmVyPC9jb2Rl
PidzIGlzQXR0cmlidXRlLiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJub2Rl
SWQiLCAiJHJlZiI6ICJOb2RlSWQiLCAiZGVzY3JpcHRpb24iOiAiVGFyZ2V0IDxjb2RlPkRPTU5v
ZGU8L2NvZGU+IGlkLiIgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJoYW5kbGVy
Qm9keSIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJFdmVudCBoYW5kbGVyIGZ1
bmN0aW9uIGJvZHkuIiB9LAotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImxvY2F0aW9u
IiwgIiRyZWYiOiAiRGVidWdnZXIuTG9jYXRpb24iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3Jp
cHRpb24iOiAiSGFuZGxlciBjb2RlIGxvY2F0aW9uLiIgfQorICAgICAgICAgICAgICAgICAgICB7
ICJuYW1lIjogImxvY2F0aW9uIiwgIiRyZWYiOiAiRGVidWdnZXIuTG9jYXRpb24iLCAib3B0aW9u
YWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiSGFuZGxlciBjb2RlIGxvY2F0aW9uLiIgfSwKKyAg
ICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzb3VyY2VOYW1lIiwgInR5cGUiOiAic3RyaW5n
IiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIlNvdXJjZSBzY3JpcHQgVVJMLiIg
fQogICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRP
TSBpbnRlcmFjdGlvbiBpcyBpbXBsZW1lbnRlZCBpbiB0ZXJtcyBvZiBtaXJyb3Igb2JqZWN0cyB0
aGF0IHJlcHJlc2VudCB0aGUgYWN0dWFsIERPTSBub2Rlcy4gRE9NTm9kZSBpcyBhIGJhc2Ugbm9k
ZSBtaXJyb3IgdHlwZS4iCiAgICAgICAgICAgICB9LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKaW5kZXggODE3ZjFkZjNiMTk0ZTBiYzJhZWNkYmE4
MTBjOTczZTYzODc2Y2IzMC4uNDQ5MTQ4N2IzNmNmMDlkZThlMzk2YzI2N2I3YjQ0ZjhmNDQ2Mjk5
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3Bw
CkBAIC0xMzA0LDEyICsxMzA0LDE1IEBAIFBhc3NSZWZQdHI8VHlwZUJ1aWxkZXI6OkRPTTo6RXZl
bnRMaXN0ZW5lcj4gSW5zcGVjdG9yRE9NQWdlbnQ6OmJ1aWxkT2JqZWN0Rm9yRXZlCiAgICAgICAg
IC5zZXROb2RlSWQocHVzaE5vZGVQYXRoVG9Gcm9udGVuZChub2RlKSkKICAgICAgICAgLnNldEhh
bmRsZXJCb2R5KGV2ZW50TGlzdGVuZXJIYW5kbGVyQm9keShub2RlLT5kb2N1bWVudCgpLCBldmVu
dExpc3RlbmVyLmdldCgpKSk7CiAgICAgU3RyaW5nIHNvdXJjZU5hbWU7CisgICAgU3RyaW5nIHNj
cmlwdElkOwogICAgIGludCBsaW5lTnVtYmVyOwotICAgIGlmIChldmVudExpc3RlbmVySGFuZGxl
ckxvY2F0aW9uKG5vZGUtPmRvY3VtZW50KCksIGV2ZW50TGlzdGVuZXIuZ2V0KCksIHNvdXJjZU5h
bWUsIGxpbmVOdW1iZXIpKSB7CisgICAgaWYgKGV2ZW50TGlzdGVuZXJIYW5kbGVyTG9jYXRpb24o
bm9kZS0+ZG9jdW1lbnQoKSwgZXZlbnRMaXN0ZW5lci5nZXQoKSwgc291cmNlTmFtZSwgc2NyaXB0
SWQsIGxpbmVOdW1iZXIpKSB7CiAgICAgICAgIFJlZlB0cjxUeXBlQnVpbGRlcjo6RGVidWdnZXI6
OkxvY2F0aW9uPiBsb2NhdGlvbiA9IFR5cGVCdWlsZGVyOjpEZWJ1Z2dlcjo6TG9jYXRpb246OmNy
ZWF0ZSgpCi0gICAgICAgICAgICAuc2V0U2NyaXB0SWQoc291cmNlTmFtZSkKKyAgICAgICAgICAg
IC5zZXRTY3JpcHRJZChzY3JpcHRJZCkKICAgICAgICAgICAgIC5zZXRMaW5lTnVtYmVyKGxpbmVO
dW1iZXIpOwogICAgICAgICB2YWx1ZS0+c2V0TG9jYXRpb24obG9jYXRpb24pOworICAgICAgICBp
ZiAoIXNvdXJjZU5hbWUuaXNFbXB0eSgpKQorICAgICAgICAgICAgdmFsdWUtPnNldFNvdXJjZU5h
bWUoc291cmNlTmFtZSk7CiAgICAgfQogICAgIHJldHVybiB2YWx1ZS5yZWxlYXNlKCk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0JyZWFrcG9pbnRz
U2lkZWJhclBhbmUuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0JyZWFr
cG9pbnRzU2lkZWJhclBhbmUuanMKaW5kZXggMGMyY2YzNDRiYzZjNGQ4OTlhNDg1MjJlZmE5Y2Qz
M2FkYjJlMTc5Mi4uNGJkZDRhZjdiYWIwMjI1OWI5OGY4ZjA3NTU5MmVkMWEzZDFjZTk5NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9CcmVha3BvaW50c1Np
ZGViYXJQYW5lLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQnJl
YWtwb2ludHNTaWRlYmFyUGFuZS5qcwpAQCAtNzIsOSArNzIsNyBAQCBXZWJJbnNwZWN0b3IuSmF2
YVNjcmlwdEJyZWFrcG9pbnRzU2lkZWJhclBhbmUucHJvdG90eXBlID0gewogICAgICAgICBjaGVj
a2JveC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMuX2JyZWFrcG9pbnRDaGVja2JveENs
aWNrZWQuYmluZCh0aGlzLCBicmVha3BvaW50KSwgZmFsc2UpOwogICAgICAgICBlbGVtZW50LmFw
cGVuZENoaWxkKGNoZWNrYm94KTsKIAotICAgICAgICB2YXIgdXJsID0gdWlMb2NhdGlvbi51aVNv
dXJjZUNvZGUudXJsOwotICAgICAgICB2YXIgZGlzcGxheU5hbWUgPSB1cmwgPyBXZWJJbnNwZWN0
b3IuZGlzcGxheU5hbWVGb3JVUkwodXJsKSA6IFdlYkluc3BlY3Rvci5VSVN0cmluZygiKHByb2dy
YW0pIik7Ci0gICAgICAgIHZhciBsYWJlbEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9k
ZShkaXNwbGF5TmFtZSArICI6IiArICh1aUxvY2F0aW9uLmxpbmVOdW1iZXIgKyAxKSk7CisgICAg
ICAgIHZhciBsYWJlbEVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShXZWJJbnNwZWN0
b3IuZm9ybWF0TGlua1RleHQodWlMb2NhdGlvbi51aVNvdXJjZUNvZGUudXJsLCB1aUxvY2F0aW9u
LmxpbmVOdW1iZXIpKTsKICAgICAgICAgZWxlbWVudC5hcHBlbmRDaGlsZChsYWJlbEVsZW1lbnQp
OwogCiAgICAgICAgIHZhciBzbmlwcGV0RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImRpdiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9D
YWxsU3RhY2tTaWRlYmFyUGFuZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvQ2FsbFN0YWNrU2lkZWJhclBhbmUuanMKaW5kZXggNmFiM2VjODYyNzUyYzYzNDZkNzk1ODE4
NTdhMDgwMTc1MjZhZWI5ZS4uNWQ1NDNmNzM0ODEwNzgwMTgzMTIxYWNhYWM2MmIyODVjMDkxODhi
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DYWxsU3Rh
Y2tTaWRlYmFyUGFuZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L0NhbGxTdGFja1NpZGViYXJQYW5lLmpzCkBAIC0xNzgsNyArMTc4LDcgQEAgV2ViSW5zcGVjdG9y
LkNhbGxTdGFja1NpZGViYXJQYW5lLlBsYWNhcmQgPSBmdW5jdGlvbihjYWxsRnJhbWUsIHBhbmUp
CiBXZWJJbnNwZWN0b3IuQ2FsbFN0YWNrU2lkZWJhclBhbmUuUGxhY2FyZC5wcm90b3R5cGUgPSB7
CiAgICAgX3VwZGF0ZTogZnVuY3Rpb24odWlMb2NhdGlvbikKICAgICB7Ci0gICAgICAgIHRoaXMu
c3VidGl0bGUgPSBXZWJJbnNwZWN0b3IuZGlzcGxheU5hbWVGb3JVUkwodWlMb2NhdGlvbi51aVNv
dXJjZUNvZGUudXJsKSArICI6IiArICh1aUxvY2F0aW9uLmxpbmVOdW1iZXIgKyAxKTsKKyAgICAg
ICAgdGhpcy5zdWJ0aXRsZSA9IFdlYkluc3BlY3Rvci5mb3JtYXRMaW5rVGV4dCh1aUxvY2F0aW9u
LnVpU291cmNlQ29kZS51cmwsIHVpTG9jYXRpb24ubGluZU51bWJlcik7CiAgICAgfSwKIAogICAg
IF9wbGFjYXJkQ29udGV4dE1lbnU6IGZ1bmN0aW9uKGV2ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FdmVudExpc3RlbmVyc1NpZGViYXJQYW5lLmpz
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FdmVudExpc3RlbmVyc1NpZGVi
YXJQYW5lLmpzCmluZGV4IDkzMjRhNTQ2N2Q4MjBlZTg4MDAxNDUwZTVlMGJhMDA0ZDAyZGNhODgu
LmE3ODkxOGQxYWVjNDBiZjgxYjE4MTcwOGRiNzlmZTdkYTQ4ZjZhOTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRXZlbnRMaXN0ZW5lcnNTaWRlYmFyUGFu
ZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0V2ZW50TGlzdGVu
ZXJzU2lkZWJhclBhbmUuanMKQEAgLTIwNSw4ICsyMDUsMTEgQEAgV2ViSW5zcGVjdG9yLkV2ZW50
TGlzdGVuZXJCYXIucHJvdG90eXBlID0gewogICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmV2
ZW50TGlzdGVuZXIuaGFuZGxlckJvZHkgIT09ICJ1bmRlZmluZWQiKQogICAgICAgICAgICAgICAg
IHByb3BlcnRpZXMucHVzaChXZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0UHJvcGVydHkuZnJvbVBy
aW1pdGl2ZVZhbHVlKCJsaXN0ZW5lckJvZHkiLCB0aGlzLmV2ZW50TGlzdGVuZXIuaGFuZGxlckJv
ZHkpKTsKICAgICAgICAgICAgIGlmICh0aGlzLmV2ZW50TGlzdGVuZXIubG9jYXRpb24pIHsKLSAg
ICAgICAgICAgICAgICBwcm9wZXJ0aWVzLnB1c2goV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdFBy
b3BlcnR5LmZyb21QcmltaXRpdmVWYWx1ZSgic291cmNlTmFtZSIsIHRoaXMuZXZlbnRMaXN0ZW5l
ci5sb2NhdGlvbi5zY3JpcHRJZCkpOwotICAgICAgICAgICAgICAgIHByb3BlcnRpZXMucHVzaChX
ZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0UHJvcGVydHkuZnJvbVByaW1pdGl2ZVZhbHVlKCJsaW5l
TnVtYmVyIiwgdGhpcy5ldmVudExpc3RlbmVyLmxvY2F0aW9uLmxpbmVOdW1iZXIpKTsKKyAgICAg
ICAgICAgICAgICBpZiAodGhpcy5ldmVudExpc3RlbmVyLmxvY2F0aW9uLnNjcmlwdElkKQorICAg
ICAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzLnB1c2goV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVj
dFByb3BlcnR5LmZyb21QcmltaXRpdmVWYWx1ZSgic2NyaXB0SWQiLCB0aGlzLmV2ZW50TGlzdGVu
ZXIubG9jYXRpb24uc2NyaXB0SWQpKTsKKyAgICAgICAgICAgICAgICBpZiAodGhpcy5ldmVudExp
c3RlbmVyLnNvdXJjZU5hbWUpCisgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXMucHVzaChX
ZWJJbnNwZWN0b3IuUmVtb3RlT2JqZWN0UHJvcGVydHkuZnJvbVByaW1pdGl2ZVZhbHVlKCJzb3Vy
Y2VOYW1lIiwgdGhpcy5ldmVudExpc3RlbmVyLnNvdXJjZU5hbWUpKTsKKyAgICAgICAgICAgICAg
ICBwcm9wZXJ0aWVzLnB1c2goV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdFByb3BlcnR5LmZyb21Q
cmltaXRpdmVWYWx1ZSgibGluZU51bWJlciIsIHRoaXMuZXZlbnRMaXN0ZW5lci5sb2NhdGlvbi5s
aW5lTnVtYmVyICsgMSkpOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICB0aGlzLnVwZGF0
ZVByb3BlcnRpZXMocHJvcGVydGllcyk7CkBAIC0yNDAsMTAgKzI0MywxNSBAQCBXZWJJbnNwZWN0
b3IuRXZlbnRMaXN0ZW5lckJhci5wcm90b3R5cGUgPSB7CiAgICAgICAgIGlmICh0aGlzLmV2ZW50
TGlzdGVuZXIubG9jYXRpb24pIHsKICAgICAgICAgICAgIHRoaXMuc3VidGl0bGVFbGVtZW50LnJl
bW92ZUNoaWxkcmVuKCk7CiAgICAgICAgICAgICAvLyBGSVhNRSg2MjcyNSk6IGV2ZW50TGlzdGVu
ZXIubG9jYXRpb24gc2hvdWxkIGJlIGEgZGVidWdnZXIgTG9jYXRpb24uCi0gICAgICAgICAgICB2
YXIgdXJsID0gdGhpcy5ldmVudExpc3RlbmVyLmxvY2F0aW9uLnNjcmlwdElkOwotICAgICAgICAg
ICAgdmFyIGxpbmVOdW1iZXIgPSB0aGlzLmV2ZW50TGlzdGVuZXIubG9jYXRpb24ubGluZU51bWJl
ciAtIDE7Ci0gICAgICAgICAgICB2YXIgY29sdW1uTnVtYmVyID0gMDsKLSAgICAgICAgICAgIHZh
ciB1cmxFbGVtZW50ID0gbGlua2lmaWVyLmxpbmtpZnlMb2NhdGlvbih1cmwsIGxpbmVOdW1iZXIs
IGNvbHVtbk51bWJlcik7CisgICAgICAgICAgICB2YXIgdXJsRWxlbWVudDsKKyAgICAgICAgICAg
IGlmICh0aGlzLmV2ZW50TGlzdGVuZXIubG9jYXRpb24uc2NyaXB0SWQpCisgICAgICAgICAgICAg
ICAgdXJsRWxlbWVudCA9IGxpbmtpZmllci5saW5raWZ5UmF3TG9jYXRpb24odGhpcy5ldmVudExp
c3RlbmVyLmxvY2F0aW9uKTsKKyAgICAgICAgICAgIGlmICghdXJsRWxlbWVudCkgeworICAgICAg
ICAgICAgICAgIHZhciB1cmwgPSB0aGlzLmV2ZW50TGlzdGVuZXIuc291cmNlTmFtZTsKKyAgICAg
ICAgICAgICAgICB2YXIgbGluZU51bWJlciA9IHRoaXMuZXZlbnRMaXN0ZW5lci5sb2NhdGlvbi5s
aW5lTnVtYmVyOworICAgICAgICAgICAgICAgIHZhciBjb2x1bW5OdW1iZXIgPSAwOworICAgICAg
ICAgICAgICAgIHVybEVsZW1lbnQgPSBsaW5raWZpZXIubGlua2lmeUxvY2F0aW9uKHVybCwgbGlu
ZU51bWJlciwgY29sdW1uTnVtYmVyKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIHRoaXMu
c3VidGl0bGVFbGVtZW50LmFwcGVuZENoaWxkKHVybEVsZW1lbnQpOwogICAgICAgICB9IGVsc2Ug
ewogICAgICAgICAgICAgdmFyIG1hdGNoID0gdGhpcy5ldmVudExpc3RlbmVyLmhhbmRsZXJCb2R5
Lm1hdGNoKC9mdW5jdGlvbiAoW15cKF0rPylcKC8pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9MaW5raWZpZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0xpbmtpZmllci5qcwppbmRleCBkMDgyODBiNGNmYzhkYTVkMWViOWQ4
MzQ3OTQxYWMzNTk5M2FjYzFhLi45MTk4NmJkYWVkY2ZlY2UyYzRhZDNkNzRhM2Q2ZGUwZmUzOGMz
MzRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0xpbmtp
Zmllci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0xpbmtpZmll
ci5qcwpAQCAtMTIxLDggKzEyMSw2IEBAIFdlYkluc3BlY3Rvci5MaW5raWZpZXIuRGVmYXVsdEZv
cm1hdHRlci5wcm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgZm9ybWF0TGl2ZUFuY2hvcjogZnVu
Y3Rpb24oYW5jaG9yLCB1aUxvY2F0aW9uKQogICAgIHsKLSAgICAgICAgYW5jaG9yLnRleHRDb250
ZW50ID0gV2ViSW5zcGVjdG9yLmZvcm1hdExpbmtUZXh0KHVpTG9jYXRpb24udWlTb3VyY2VDb2Rl
LnVybCwgdWlMb2NhdGlvbi5saW5lTnVtYmVyKTsKLQogICAgICAgICB2YXIgdGV4dCA9IFdlYklu
c3BlY3Rvci5mb3JtYXRMaW5rVGV4dCh1aUxvY2F0aW9uLnVpU291cmNlQ29kZS51cmwsIHVpTG9j
YXRpb24ubGluZU51bWJlcik7CiAgICAgICAgIGlmICh0aGlzLl9tYXhMZW5ndGgpCiAgICAgICAg
ICAgICB0ZXh0ID0gdGV4dC50cmltTWlkZGxlKHRoaXMuX21heExlbmd0aCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVXRpbHMuanMgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVXRpbHMuanMKaW5kZXgg
MTZhNjI2NzZlOGU5MTZjNjYxODBkNjQ3YzgyMjMwMjc4MjM4NDkxOC4uNWMzZjQ5ZGU2NGExZWRi
N2Q5MmJkODhiN2NhZmQ0M2M1ZjQ5MWZiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVV0aWxzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VVdGlscy5qcwpAQCAtMTkyLDcgKzE5Miw3IEBAIFdl
Ykluc3BlY3Rvci5saW5raWZ5VVJMQXNOb2RlID0gZnVuY3Rpb24odXJsLCBsaW5rVGV4dCwgY2xh
c3NlcywgaXNFeHRlcm5hbCwgdG9vCiAgKi8KIFdlYkluc3BlY3Rvci5mb3JtYXRMaW5rVGV4dCA9
IGZ1bmN0aW9uKHVybCwgbGluZU51bWJlcikKIHsKLSAgICB2YXIgdGV4dCA9IFdlYkluc3BlY3Rv
ci5kaXNwbGF5TmFtZUZvclVSTCh1cmwpOworICAgIHZhciB0ZXh0ID0gdXJsID8gV2ViSW5zcGVj
dG9yLmRpc3BsYXlOYW1lRm9yVVJMKHVybCkgOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIihwcm9n
cmFtKSIpOwogICAgIGlmICh0eXBlb2YgbGluZU51bWJlciA9PT0gIm51bWJlciIpCiAgICAgICAg
IHRleHQgKz0gIjoiICsgKGxpbmVOdW1iZXIgKyAxKTsKICAgICByZXR1cm4gdGV4dDsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCAyNTVlYmYzZDI3MmYzMGM3OWZkYTBmMDA2Yjc5NWViY2QyZDI5NzRkLi42MDA1MGE5Y2VjZDM2
YWZiYjBiY2U3YWMyNDJmNzgwYWI3M2RkYTNhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTIt
MDktMTggIEFsZXhhbmRlciBQYXZsb3YgIDxhcGF2bG92QGNocm9taXVtLm9yZz4KKworICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBVc2UgYW5kIHByb2Nlc3MgdGhlIGFjdHVhbCBTY3JpcHRJZCBpbiB0
aGUgcHJvdG9jb2wgRXZlbnRMaXN0ZW5lciBvYmplY3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkzMjcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIGV4cGVjdGF0aW9ucyBhbmQgY29udmVydCB0
aGUgbmV3ICJzY3JpcHRJZCIgZmllbGQgdmFsdWUgdG8gYSBzdHJpbmcgbGl0ZXJhbCBpbiB0aGUg
ZXZlbnQgbGlzdGVuZXJzIGR1bXAuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9l
bGVtZW50cy10ZXN0LmpzOgorICAgICAgICAoaW5pdGlhbGl6ZV9FbGVtZW50VGVzdC5JbnNwZWN0
b3JUZXN0LmR1bXBTZWxlY3RlZEVsZW1lbnRFdmVudExpc3RlbmVycy5mb3JtYXRTY3JpcHRJZFBy
b3BlcnR5KToKKyAgICAgICAgKGluaXRpYWxpemVfRWxlbWVudFRlc3QuSW5zcGVjdG9yVGVzdC5k
dW1wU2VsZWN0ZWRFbGVtZW50RXZlbnRMaXN0ZW5lcnMpOgorICAgICAgICAqIGluc3BlY3Rvci9l
bGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBp
bnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXJzLWFib3V0LWJsYW5rLWV4cGVjdGVkLnR4
dDoKKwogMjAxMi0wOS0xOCAgUmFwaGFlbCBLdWJvIGRhIENvc3RhICA8cmFwaGFlbC5rdWJvLmRh
LmNvc3RhQGludGVsLmNvbT4KIAogICAgICAgICBbRUZMXSBHYXJkZW5pbmcuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzIGIvTGF5
b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMtdGVzdC5qcwppbmRleCAzZDRl
NzRmMTFlZGE0YWRhZDQ4YWQ5ODgxZTE4Mjc0N2RlYTg2MzQ2Li5hMGM5OGMxZDYwYWIwOGVlYzQy
ZGQ1Njc3MDM3MGQ2OWI1NGRiOGZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L2luc3BlY3Rvci9lbGVtZW50cy10ZXN0LmpzCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2VsZW1lbnRzLXRlc3QuanMKQEAgLTIyNiw2ICsyMjYsMTMgQEAgSW5zcGVjdG9y
VGVzdC5kdW1wU2VsZWN0ZWRFbGVtZW50RXZlbnRMaXN0ZW5lcnMgPSBmdW5jdGlvbihjYWxsYmFj
aykKICAgICAgICAgcmV0dXJuICJbY2xpcHBlZC1mb3ItdGVzdF0vIiArIHZhbHVlLnJlcGxhY2Uo
LyguKj9cLylMYXlvdXRUZXN0cy8sICJMYXlvdXRUZXN0cyIpOwogICAgIH0KIAorICAgIGZ1bmN0
aW9uIGZvcm1hdFNjcmlwdElkUHJvcGVydHkodmFsdWUpCisgICAgeworICAgICAgICBpZiAoaXNO
YU4odmFsdWUpKQorICAgICAgICAgICAgcmV0dXJuICI8bm90IGEgbnVtYmVyPiI7CisgICAgICAg
IHJldHVybiAhdmFsdWUgPyB2YWx1ZSA6ICI8bnVtYmVyPiI7CisgICAgfQorCiAgICAgdmFyIGV2
ZW50TGlzdGVuZXJTZWN0aW9ucyA9IFdlYkluc3BlY3Rvci5wYW5lbHMuZWxlbWVudHMuc2lkZWJh
clBhbmVzLmV2ZW50TGlzdGVuZXJzLnNlY3Rpb25zOwogICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
ZXZlbnRMaXN0ZW5lclNlY3Rpb25zLmxlbmd0aDsgKytpKSB7CiAgICAgICAgIHZhciBzZWN0aW9u
ID0gZXZlbnRMaXN0ZW5lclNlY3Rpb25zW2ldOwpAQCAtMjM2LDcgKzI0Myw4IEBAIEluc3BlY3Rv
clRlc3QuZHVtcFNlbGVjdGVkRWxlbWVudEV2ZW50TGlzdGVuZXJzID0gZnVuY3Rpb24oY2FsbGJh
Y2spCiAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgZXZlbnRCYXJDaGlsZHJlbi5sZW5ndGg7
ICsraikgewogICAgICAgICAgICAgdmFyIG9iamVjdFByb3BlcnRpZXNTZWN0aW9uID0gZXZlbnRC
YXJDaGlsZHJlbltqXS5fc2VjdGlvbjsKICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZHVtcE9i
amVjdFByb3BlcnR5U2VjdGlvbihvYmplY3RQcm9wZXJ0aWVzU2VjdGlvbiwgewotICAgICAgICAg
ICAgICAgIHNvdXJjZU5hbWU6IGZvcm1hdFNvdXJjZU5hbWVQcm9wZXJ0eQorICAgICAgICAgICAg
ICAgIHNvdXJjZU5hbWU6IGZvcm1hdFNvdXJjZU5hbWVQcm9wZXJ0eSwKKyAgICAgICAgICAgICAg
ICBzY3JpcHRJZDogZm9ybWF0U2NyaXB0SWRQcm9wZXJ0eQogICAgICAgICAgICAgfSk7CiAgICAg
ICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMv
ZXZlbnQtbGlzdGVuZXItc2lkZWJhci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci1leHBlY3RlZC50eHQKaW5kZXggYmIy
YzI4MGZjOGM5ZjAwNDRkN2I3MmFlZjI5NDEyOTU2ZTYxMzQ0OS4uMzZlNDAxMGRiMjE0MDEyMTY5
NDU0NjQxNDA2ZGFiMGM4OGVhMzRkNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLWV4cGVjdGVk
LnR4dApAQCAtOCw2ICs4LDcgQEAgSW5zcGVjdCBNZQogICAgIGxpbmVOdW1iZXI6IDE5CiAgICAg
bGlzdGVuZXJCb2R5OiBmdW5jdGlvbiAoZXZlbnQpIHsgY29uc29sZS5sb2coImNsaWNrIC0gZG9j
dW1lbnQgLSBjYXB0dXJpbmciKTsgfQogICAgIG5vZGU6ICNkb2N1bWVudAorICAgIHNjcmlwdElk
OiA8bnVtYmVyPgogICAgIHNvdXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sCiAgICAgdHlw
ZTogY2xpY2sKICAgICB1c2VDYXB0dXJlOiB0cnVlCkBAIC0yMiw2ICsyMyw3IEBAIEluc3BlY3Qg
TWUKICAgICBsaW5lTnVtYmVyOiAxNQogICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gKGV2ZW50
KSB7IGNvbnNvbGUubG9nKCJjbGljayAtIGJ1dHRvbiAtIGNhcHR1cmluZyIpOyB9CiAgICAgbm9k
ZTogPGJ1dHRvbj4KKyAgICBzY3JpcHRJZDogPG51bWJlcj4KICAgICBzb3VyY2VOYW1lOiBbY2xp
cHBlZC1mb3ItdGVzdF0vTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3Rl
bmVyLXNpZGViYXIuaHRtbAogICAgIHR5cGU6IGNsaWNrCiAgICAgdXNlQ2FwdHVyZTogdHJ1ZQpA
QCAtMzAsNiArMzIsNyBAQCBJbnNwZWN0IE1lCiAgICAgbGluZU51bWJlcjogMTIKICAgICBsaXN0
ZW5lckJvZHk6IGZ1bmN0aW9uIGNsaWNrSGFuZGxlcihldmVudCkgeyBjb25zb2xlLmxvZygiY2xp
Y2sgLSBidXR0b24gLSBidWJibGluZyAocmVnaXN0ZXJlZCBiZWZvcmUgYXR0cmlidXRlKSIpOyB9
CiAgICAgbm9kZTogPGJ1dHRvbj4KKyAgICBzY3JpcHRJZDogPG51bWJlcj4KICAgICBzb3VyY2VO
YW1lOiBbY2xpcHBlZC1mb3ItdGVzdF0vTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2
ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRtbAogICAgIHR5cGU6IGNsaWNrCiAgICAgdXNlQ2FwdHVy
ZTogZmFsc2UKQEAgLTM4LDYgKzQxLDcgQEAgSW5zcGVjdCBNZQogICAgIGxpbmVOdW1iZXI6IDE2
CiAgICAgbGlzdGVuZXJCb2R5OiBmdW5jdGlvbiAoZXZlbnQpIHsgY29uc29sZS5sb2coImNsaWNr
IC0gYnV0dG9uIC0gYXR0cmlidXRlIik7IH0KICAgICBub2RlOiA8YnV0dG9uPgorICAgIHNjcmlw
dElkOiA8bnVtYmVyPgogICAgIHNvdXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sCiAgICAg
dHlwZTogY2xpY2sKICAgICB1c2VDYXB0dXJlOiBmYWxzZQpAQCAtNDYsNiArNTAsNyBAQCBJbnNw
ZWN0IE1lCiAgICAgbGluZU51bWJlcjogMTcKICAgICBsaXN0ZW5lckJvZHk6IGZ1bmN0aW9uIChl
dmVudCkgeyBjb25zb2xlLmxvZygiY2xpY2sgLSBidXR0b24gLSBidWJibGluZyAocmVnaXN0ZXJl
ZCBhZnRlciBhdHRyaWJ1dGUpIik7IH0KICAgICBub2RlOiA8YnV0dG9uPgorICAgIHNjcmlwdElk
OiA8bnVtYmVyPgogICAgIHNvdXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sCiAgICAgdHlw
ZTogY2xpY2sKICAgICB1c2VDYXB0dXJlOiBmYWxzZQpAQCAtNTQsNiArNTksNyBAQCBJbnNwZWN0
IE1lCiAgICAgbGluZU51bWJlcjogNgogICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gZG9jdW1l
bnRDbGlja0hhbmRsZXIoZXZlbnQpIHsgY29uc29sZS5sb2coImNsaWNrIC0gZG9jdW1lbnQgLSBh
dHRyaWJ1dGUiKTsgfQogICAgIG5vZGU6ICNkb2N1bWVudAorICAgIHNjcmlwdElkOiA8bnVtYmVy
PgogICAgIHNvdXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sCiAgICAgdHlwZTogY2xpY2sK
ICAgICB1c2VDYXB0dXJlOiBmYWxzZQpAQCAtNjQsNiArNzAsNyBAQCBJbnNwZWN0IE1lCiAgICAg
bGluZU51bWJlcjogMTAKICAgICBsaXN0ZW5lckJvZHk6IGZ1bmN0aW9uIGYoKSB7fQogICAgIG5v
ZGU6IDxib2R5PgorICAgIHNjcmlwdElkOiA8bnVtYmVyPgogICAgIHNvdXJjZU5hbWU6IFtjbGlw
cGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVu
ZXItc2lkZWJhci5odG1sCiAgICAgdHlwZTogY3VzdG9tIGV2ZW50CiAgICAgdXNlQ2FwdHVyZTog
dHJ1ZQpAQCAtNzQsNiArODEsNyBAQCBJbnNwZWN0IE1lCiAgICAgbGluZU51bWJlcjogMTQKICAg
ICBsaXN0ZW5lckJvZHk6IGZ1bmN0aW9uIGhvdmVySGFuZGxlcihldmVudCkgeyBjb25zb2xlLmxv
ZygiaG92ZXIgLSBidXR0b24gLSBidWJibGluZyIpOyB9CiAgICAgbm9kZTogPGJ1dHRvbj4KKyAg
ICBzY3JpcHRJZDogPG51bWJlcj4KICAgICBzb3VyY2VOYW1lOiBbY2xpcHBlZC1mb3ItdGVzdF0v
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL2VsZW1lbnRzL2V2ZW50LWxpc3RlbmVyLXNpZGViYXIuaHRt
bAogICAgIHR5cGU6IGhvdmVyCiAgICAgdXNlQ2FwdHVyZTogZmFsc2UKQEAgLTg0LDYgKzkyLDcg
QEAgSW5zcGVjdCBNZQogICAgIGxpbmVOdW1iZXI6IDE5CiAgICAgbGlzdGVuZXJCb2R5OiBmdW5j
dGlvbiAoZXZlbnQpIHsgY29uc29sZS5sb2coImNsaWNrIC0gZG9jdW1lbnQgLSBjYXB0dXJpbmci
KTsgfQogICAgIG5vZGU6ICNkb2N1bWVudAorICAgIHNjcmlwdElkOiA8bnVtYmVyPgogICAgIHNv
dXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVu
dHMvZXZlbnQtbGlzdGVuZXItc2lkZWJhci5odG1sCiAgICAgdHlwZTogY2xpY2sKICAgICB1c2VD
YXB0dXJlOiB0cnVlCkBAIC05OCw2ICsxMDcsNyBAQCBJbnNwZWN0IE1lCiAgICAgbGluZU51bWJl
cjogNgogICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gZG9jdW1lbnRDbGlja0hhbmRsZXIoZXZl
bnQpIHsgY29uc29sZS5sb2coImNsaWNrIC0gZG9jdW1lbnQgLSBhdHRyaWJ1dGUiKTsgfQogICAg
IG5vZGU6ICNkb2N1bWVudAorICAgIHNjcmlwdElkOiA8bnVtYmVyPgogICAgIHNvdXJjZU5hbWU6
IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQt
bGlzdGVuZXItc2lkZWJhci5odG1sCiAgICAgdHlwZTogY2xpY2sKICAgICB1c2VDYXB0dXJlOiBm
YWxzZQpAQCAtMTA4LDYgKzExOCw3IEBAIEluc3BlY3QgTWUKICAgICBsaW5lTnVtYmVyOiAxMAog
ICAgIGxpc3RlbmVyQm9keTogZnVuY3Rpb24gZigpIHt9CiAgICAgbm9kZTogPGJvZHk+CisgICAg
c2NyaXB0SWQ6IDxudW1iZXI+CiAgICAgc291cmNlTmFtZTogW2NsaXBwZWQtZm9yLXRlc3RdL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lci1zaWRlYmFyLmh0bWwK
ICAgICB0eXBlOiBjdXN0b20gZXZlbnQKICAgICB1c2VDYXB0dXJlOiB0cnVlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXJzLWFib3V0LWJs
YW5rLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVudC1s
aXN0ZW5lcnMtYWJvdXQtYmxhbmstZXhwZWN0ZWQudHh0CmluZGV4IGFjZDZhZTg5ZmVlMGI0Y2Jl
NDQ0MjU4YmI5NjEyMDgxMGY4YWNlYTUuLjgxNDAyM2JkOTlmNjkxM2NmODk0YjdkZjE5ZjBkMjZi
ZTM0MDNjYTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9lbGVtZW50cy9ldmVu
dC1saXN0ZW5lcnMtYWJvdXQtYmxhbmstZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9lbGVtZW50cy9ldmVudC1saXN0ZW5lcnMtYWJvdXQtYmxhbmstZXhwZWN0ZWQudHh0
CkBAIC04LDYgKzgsNyBAQCBUZXN0cyBldmVudCBsaXN0ZW5lcnMgb3V0cHV0IGluIHRoZSBFbGVt
ZW50cyBzaWRlYmFyIHBhbmVsIHdoZW4gdGhlIGxpc3RlbmVycyBhcgogICAgIGxpbmVOdW1iZXI6
IDkKICAgICBsaXN0ZW5lckJvZHk6IGZ1bmN0aW9uIGYoKSB7fQogICAgIG5vZGU6IDxib2R5Pgor
ICAgIHNjcmlwdElkOiA8bnVtYmVyPgogICAgIHNvdXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0
XS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXJzLWFib3V0LWJs
YW5rLmh0bWwKICAgICB0eXBlOiBjbGljawogICAgIHVzZUNhcHR1cmU6IHRydWUKQEAgLTE4LDYg
KzE5LDcgQEAgVGVzdHMgZXZlbnQgbGlzdGVuZXJzIG91dHB1dCBpbiB0aGUgRWxlbWVudHMgc2lk
ZWJhciBwYW5lbCB3aGVuIHRoZSBsaXN0ZW5lcnMgYXIKICAgICBsaW5lTnVtYmVyOiA5CiAgICAg
bGlzdGVuZXJCb2R5OiBmdW5jdGlvbiBmKCkge30KICAgICBub2RlOiA8ZGl2PgorICAgIHNjcmlw
dElkOiA8bnVtYmVyPgogICAgIHNvdXJjZU5hbWU6IFtjbGlwcGVkLWZvci10ZXN0XS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZWxlbWVudHMvZXZlbnQtbGlzdGVuZXJzLWFib3V0LWJsYW5rLmh0bWwK
ICAgICB0eXBlOiBob3ZlcgogICAgIHVzZUNhcHR1cmU6IHRydWUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>164854</attachid>
            <date>2012-09-20 00:50:58 -0700</date>
            <delta_ts>2012-09-20 01:12:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-93271-20120920115023.patch</filename>
            <type>text/plain</type>
            <size>15381</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5MDk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTc2OTY2OTQzMWQ4YWI1
MTQ4YjU1MmI5NDQwNmEyOWFkZmQ3OWJiZS4uNjdhYTdiMjBkZWE4ODU4Y2RhZmIxNzNjMDNmNjVi
MDczNmRlZWVhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTA5LTE4ICBBbGV4
YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3Bl
Y3RvcjogVXNlIGFuZCBwcm9jZXNzIHRoZSBhY3R1YWwgU2NyaXB0SWQgaW4gdGhlIHByb3RvY29s
IEV2ZW50TGlzdGVuZXIgb2JqZWN0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05MzI3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIC0gVXNlIHRoZSBhY3R1YWwgc2NyaXB0IGlkZW50aWZpZXIgaW4gdGhlICJs
b2NhdGlvbiIgb2JqZWN0J3MgInNjcmlwdElkIiBmaWVsZAorICAgICAgICAgIGZvciB0aGUgRE9N
LkV2ZW50TGlzdGVuZXIgcHJvdG9jb2wgdHlwZSwgYnV0IHNlbmQgdGhlIHNjcmlwdCBVUkwgaW4g
dGhlIG5ldyAic291cmNlTmFtZSIgZmllbGQuCisgICAgICAgIC0gVXNlIDAtYmFzZWQgbGluZXMg
aW4gdGhlICJsb2NhdGlvbiIgb2JqZWN0J3MgImxpbmVOdW1iZXIiIGZpZWxkIGZvciBsaW5raWZ5
UmF3TG9jYXRpb24oKSB0byB3b3JrIGNvcnJlY3RseS4KKyAgICAgICAgLSBGaXhlZCBmb3JtYXR0
aW5nIG9mIGxpbmtzIHRvIGxpc3RlbmVyIGxvY2F0aW9ucyB0byBjb250YWluICIocHJvZ3JhbSki
IHJhdGhlciB0aGFuIGVtcHR5IHN0cmluZy4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL1Njcmlw
dEV2ZW50TGlzdGVuZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6ZXZlbnRMaXN0ZW5lckhhbmRs
ZXJMb2NhdGlvbik6CisgICAgICAgICogYmluZGluZ3MvanMvU2NyaXB0RXZlbnRMaXN0ZW5lci5o
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogYmluZGluZ3MvdjgvU2NyaXB0RXZlbnRM
aXN0ZW5lci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpldmVudExpc3RlbmVySGFuZGxlckxvY2F0
aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9TY3JpcHRFdmVudExpc3RlbmVyLmg6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yLmpzb246CisgICAg
ICAgICogaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvckRPTUFnZW50OjpidWlsZE9iamVjdEZvckV2ZW50TGlzdGVuZXIpOgorICAgICAg
ICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5qczoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0V2ZW50TGlzdGVuZXJzU2lkZWJhclBhbmUuanM6Cisg
ICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9MaW5raWZpZXIuanM6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuTGlua2lmaWVyLkRlZmF1bHRGb3JtYXR0ZXIucHJvdG90eXBlLmZvcm1hdExpdmVB
bmNob3IpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VVdGlscy5qczoK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5mb3JtYXRMaW5rVGV4dCk6IFVzZSAiKHByb2dyYW0pIiBp
ZiBVUkwgaXMgZW1wdHkuCisKIDIwMTItMDktMTkgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxl
LmNvbT4KIAogICAgICAgICBXZWJDb3JlIHBhcnQgb2YgYWRkaW5nIGEgc2V0dGluZyBhbmQgQVBJ
IGZvciBkaXNhYmxpbmcgc2NyZWVuIGZvbnQgc3Vic3RpdHV0aW9uCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRFdmVudExpc3RlbmVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1NjcmlwdEV2ZW50TGlzdGVuZXIuY3BwCmluZGV4IGMwZTljM2Uz
OTcyZWYyNDQ3YTc4OTY3NWI1OTJhZWZiMmY2NjEyYWEuLjhmNDU3N2JhZDhhNDk4YzBkYTU2NTcz
ZjU1MTgyYjY3ODFlYTRhOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdEV2ZW50TGlzdGVuZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdEV2ZW50TGlzdGVuZXIuY3BwCkBAIC0xMDYsNyArMTA2LDcgQEAgU3RyaW5nIGV2ZW50
TGlzdGVuZXJIYW5kbGVyQm9keShEb2N1bWVudCogZG9jdW1lbnQsIEV2ZW50TGlzdGVuZXIqIGV2
ZW50TGlzdGVuZXIKICAgICByZXR1cm4ganNGdW5jdGlvbi0+dG9TdHJpbmcoc2NyaXB0U3RhdGUp
LT52YWx1ZShzY3JpcHRTdGF0ZSk7CiB9CiAKLWJvb2wgZXZlbnRMaXN0ZW5lckhhbmRsZXJMb2Nh
dGlvbihEb2N1bWVudCogZG9jdW1lbnQsIEV2ZW50TGlzdGVuZXIqIGV2ZW50TGlzdGVuZXIsIFN0
cmluZyYgc291cmNlTmFtZSwgaW50JiBsaW5lTnVtYmVyKQorYm9vbCBldmVudExpc3RlbmVySGFu
ZGxlckxvY2F0aW9uKERvY3VtZW50KiBkb2N1bWVudCwgRXZlbnRMaXN0ZW5lciogZXZlbnRMaXN0
ZW5lciwgU3RyaW5nJiBzb3VyY2VOYW1lLCBTdHJpbmcmIHNjcmlwdElkLCBpbnQmIGxpbmVOdW1i
ZXIpCiB7CiAgICAgY29uc3QgSlNFdmVudExpc3RlbmVyKiBqc0xpc3RlbmVyID0gSlNFdmVudExp
c3RlbmVyOjpjYXN0KGV2ZW50TGlzdGVuZXIpOwogICAgIEFTU0VSVChqc0xpc3RlbmVyKTsKQEAg
LTEyMiw3ICsxMjIsOSBAQCBib29sIGV2ZW50TGlzdGVuZXJIYW5kbGVyTG9jYXRpb24oRG9jdW1l
bnQqIGRvY3VtZW50LCBFdmVudExpc3RlbmVyKiBldmVudExpc3RlbgogICAgIEpTQzo6RnVuY3Rp
b25FeGVjdXRhYmxlKiBmdW5jRXhlY3V0YWJsZSA9IGpzRnVuY3Rpb24tPmpzRXhlY3V0YWJsZSgp
OwogICAgIGlmICghZnVuY0V4ZWN1dGFibGUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBs
aW5lTnVtYmVyID0gZnVuY0V4ZWN1dGFibGUtPmxpbmVObygpOworICAgIGxpbmVOdW1iZXIgPSBm
dW5jRXhlY3V0YWJsZS0+bGluZU5vKCkgLSAxOworICAgIGludHB0cl90IGZ1bmNTb3VyY2VJZCA9
IGZ1bmNFeGVjdXRhYmxlLT5zb3VyY2VJRCgpOworICAgIHNjcmlwdElkID0gZnVuY1NvdXJjZUlk
ID09IFNvdXJjZVByb3ZpZGVyOjpudWxsSUQgPyAiIiA6IFN0cmluZzo6bnVtYmVyKGZ1bmNTb3Vy
Y2VJZCk7CiAgICAgc291cmNlTmFtZSA9IGZ1bmNFeGVjdXRhYmxlLT5zb3VyY2VVUkwoKTsKICAg
ICByZXR1cm4gdHJ1ZTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1NjcmlwdEV2ZW50TGlzdGVuZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1Njcmlw
dEV2ZW50TGlzdGVuZXIuaAppbmRleCA3OGE5Nzc2YTEwNjg1Mzg3Yjg0MGQ1NWY0MWFmZmY5MTZh
YTQwMzA2Li44YzBiNDUzZGQ1ZGNmMGUxMDY4YzMwZDVmNzlmZjAxYTA0NmM0NDdiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TY3JpcHRFdmVudExpc3RlbmVyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU2NyaXB0RXZlbnRMaXN0ZW5lci5oCkBAIC00
Niw3ICs0Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBQYXNzUmVmUHRyPEpTTGF6eUV2
ZW50TGlzdGVuZXI+IGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoTm9kZSosIGNvbnN0IEF0
dHJpYnV0ZSYpOwogICAgIFBhc3NSZWZQdHI8SlNMYXp5RXZlbnRMaXN0ZW5lcj4gY3JlYXRlQXR0
cmlidXRlRXZlbnRMaXN0ZW5lcihGcmFtZSosIGNvbnN0IEF0dHJpYnV0ZSYpOwogICAgIFN0cmlu
ZyBldmVudExpc3RlbmVySGFuZGxlckJvZHkoRG9jdW1lbnQqLCBFdmVudExpc3RlbmVyKik7Ci0g
ICAgYm9vbCBldmVudExpc3RlbmVySGFuZGxlckxvY2F0aW9uKERvY3VtZW50KiwgRXZlbnRMaXN0
ZW5lciosIFN0cmluZyYgc291cmNlTmFtZSwgaW50JiBsaW5lTnVtYmVyKTsKKyAgICBib29sIGV2
ZW50TGlzdGVuZXJIYW5kbGVyTG9jYXRpb24oRG9jdW1lbnQqLCBFdmVudExpc3RlbmVyKiwgU3Ry
aW5nJiBzb3VyY2VOYW1lLCBTdHJpbmcmIHNjcmlwdElkLCBpbnQmIGxpbmVOdW1iZXIpOwogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gU2NyaXB0RXZlbnRMaXN0ZW5lcl9oCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRFdmVudExpc3RlbmVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdEV2ZW50TGlzdGVuZXIuY3Bw
CmluZGV4IGY0MmU1ZmIwMDdjNzlmZjI4YzY1NWE3YmM4ZjMxYzNjODc0ZTk5OTAuLmVjODk4ZDI5
OGViY2FhYzZhYjE0ZDBiODg0MmE5N2Q0MDYxYmE2YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1NjcmlwdEV2ZW50TGlzdGVuZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L1NjcmlwdEV2ZW50TGlzdGVuZXIuY3BwCkBAIC0xMDQsNyArMTA0LDcg
QEAgU3RyaW5nIGV2ZW50TGlzdGVuZXJIYW5kbGVyQm9keShEb2N1bWVudCogZG9jdW1lbnQsIEV2
ZW50TGlzdGVuZXIqIGxpc3RlbmVyKQogICAgIHJldHVybiB0b1dlYkNvcmVTdHJpbmdXaXRoTnVs
bENoZWNrKGZ1bmN0aW9uKTsKIH0KIAotYm9vbCBldmVudExpc3RlbmVySGFuZGxlckxvY2F0aW9u
KERvY3VtZW50KiBkb2N1bWVudCwgRXZlbnRMaXN0ZW5lciogbGlzdGVuZXIsIFN0cmluZyYgc291
cmNlTmFtZSwgaW50JiBsaW5lTnVtYmVyKQorYm9vbCBldmVudExpc3RlbmVySGFuZGxlckxvY2F0
aW9uKERvY3VtZW50KiBkb2N1bWVudCwgRXZlbnRMaXN0ZW5lciogbGlzdGVuZXIsIFN0cmluZyYg
c291cmNlTmFtZSwgU3RyaW5nJiBzY3JpcHRJZCwgaW50JiBsaW5lTnVtYmVyKQogewogICAgIGlm
IChsaXN0ZW5lci0+dHlwZSgpICE9IEV2ZW50TGlzdGVuZXI6OkpTRXZlbnRMaXN0ZW5lclR5cGUp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTExOCwxMyArMTE4LDE1IEBAIGJvb2wgZXZlbnRM
aXN0ZW5lckhhbmRsZXJMb2NhdGlvbihEb2N1bWVudCogZG9jdW1lbnQsIEV2ZW50TGlzdGVuZXIq
IGxpc3RlbmVyLCBTCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIHY4OjpIYW5kbGU8djg6
OkZ1bmN0aW9uPiBmdW5jdGlvbiA9IHY4OjpIYW5kbGU8djg6OkZ1bmN0aW9uPjo6Q2FzdChvYmpl
Y3QpOworICAgIHY4OjpIYW5kbGU8djg6OlZhbHVlPiBzY3JpcHRJZFZhbHVlID0gZnVuY3Rpb24t
PkdldFNjcmlwdElkKCk7CisgICAgc2NyaXB0SWQgPSB0b1dlYkNvcmVTdHJpbmdXaXRoTnVsbE9y
VW5kZWZpbmVkQ2hlY2soc2NyaXB0SWRWYWx1ZSk7CiAgICAgdjg6OlNjcmlwdE9yaWdpbiBvcmln
aW4gPSBmdW5jdGlvbi0+R2V0U2NyaXB0T3JpZ2luKCk7Ci0gICAgaWYgKCFvcmlnaW4uUmVzb3Vy
Y2VOYW1lKCkuSXNFbXB0eSgpKSB7CisgICAgaWYgKG9yaWdpbi5SZXNvdXJjZU5hbWUoKS0+SXNT
dHJpbmcoKSAmJiAhb3JpZ2luLlJlc291cmNlTmFtZSgpLklzRW1wdHkoKSkKICAgICAgICAgc291
cmNlTmFtZSA9IHRvV2ViQ29yZVN0cmluZyhvcmlnaW4uUmVzb3VyY2VOYW1lKCkpOwotICAgICAg
ICBsaW5lTnVtYmVyID0gZnVuY3Rpb24tPkdldFNjcmlwdExpbmVOdW1iZXIoKSArIDE7Ci0gICAg
ICAgIHJldHVybiB0cnVlOwotICAgIH0KLSAgICByZXR1cm4gZmFsc2U7CisgICAgZWxzZQorICAg
ICAgICBzb3VyY2VOYW1lID0gIiI7CisgICAgbGluZU51bWJlciA9IGZ1bmN0aW9uLT5HZXRTY3Jp
cHRMaW5lTnVtYmVyKCk7CisgICAgcmV0dXJuIHRydWU7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdEV2ZW50
TGlzdGVuZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1NjcmlwdEV2ZW50TGlzdGVu
ZXIuaAppbmRleCA4MTE1N2IyYTA5MWYzYjE0M2FlZDJiMTg1OWIzNjI4NjBhMmUyOGU3Li5iMmU2
NjMxOWNhMjA1MDY0ZTM3NTc2NTdlODgwZWNjODFkMmY1YTU3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9TY3JpcHRFdmVudExpc3RlbmVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvU2NyaXB0RXZlbnRMaXN0ZW5lci5oCkBAIC00Niw3ICs0Niw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBQYXNzUmVmUHRyPFY4TGF6eUV2ZW50TGlzdGVuZXI+
IGNyZWF0ZUF0dHJpYnV0ZUV2ZW50TGlzdGVuZXIoTm9kZSosIGNvbnN0IEF0dHJpYnV0ZSYpOwog
ICAgIFBhc3NSZWZQdHI8VjhMYXp5RXZlbnRMaXN0ZW5lcj4gY3JlYXRlQXR0cmlidXRlRXZlbnRM
aXN0ZW5lcihGcmFtZSosIGNvbnN0IEF0dHJpYnV0ZSYpOwogICAgIFN0cmluZyBldmVudExpc3Rl
bmVySGFuZGxlckJvZHkoRG9jdW1lbnQqLCBFdmVudExpc3RlbmVyKik7Ci0gICAgYm9vbCBldmVu
dExpc3RlbmVySGFuZGxlckxvY2F0aW9uKERvY3VtZW50KiwgRXZlbnRMaXN0ZW5lciosIFN0cmlu
ZyYgc291cmNlTmFtZSwgaW50JiBsaW5lTnVtYmVyKTsKKyAgICBib29sIGV2ZW50TGlzdGVuZXJI
YW5kbGVyTG9jYXRpb24oRG9jdW1lbnQqLCBFdmVudExpc3RlbmVyKiwgU3RyaW5nJiBzb3VyY2VO
YW1lLCBTdHJpbmcmIHNjcmlwdElkLCBpbnQmIGxpbmVOdW1iZXIpOwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNvbgppbmRleCA0
ZmU1OGJkZjZiNmFiYTA2NzQ2OTU5ODA2NGI3NTM1OTEwMTFhZWRkLi41YzE4ZGFkOTU1MWVjMjMy
ODk4M2FjZjE4MmY5NjYxZmY4ZTc2NjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvci5qc29uCkBAIC0xNTg4LDcgKzE1ODgsOCBAQAogICAgICAgICAgICAgICAgICAgICB7ICJu
YW1lIjogImlzQXR0cmlidXRlIiwgInR5cGUiOiAiYm9vbGVhbiIsICJkZXNjcmlwdGlvbiI6ICI8
Y29kZT5FdmVudExpc3RlbmVyPC9jb2RlPidzIGlzQXR0cmlidXRlLiIgfSwKICAgICAgICAgICAg
ICAgICAgICAgeyAibmFtZSI6ICJub2RlSWQiLCAiJHJlZiI6ICJOb2RlSWQiLCAiZGVzY3JpcHRp
b24iOiAiVGFyZ2V0IDxjb2RlPkRPTU5vZGU8L2NvZGU+IGlkLiIgfSwKICAgICAgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJoYW5kbGVyQm9keSIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlw
dGlvbiI6ICJFdmVudCBoYW5kbGVyIGZ1bmN0aW9uIGJvZHkuIiB9LAotICAgICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogImxvY2F0aW9uIiwgIiRyZWYiOiAiRGVidWdnZXIuTG9jYXRpb24iLCAi
b3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiSGFuZGxlciBjb2RlIGxvY2F0aW9uLiIg
fQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImxvY2F0aW9uIiwgIiRyZWYiOiAiRGVi
dWdnZXIuTG9jYXRpb24iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiSGFuZGxl
ciBjb2RlIGxvY2F0aW9uLiIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzb3Vy
Y2VOYW1lIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9u
IjogIlNvdXJjZSBzY3JpcHQgVVJMLiIgfQogICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAg
ICAgICAgImRlc2NyaXB0aW9uIjogIkRPTSBpbnRlcmFjdGlvbiBpcyBpbXBsZW1lbnRlZCBpbiB0
ZXJtcyBvZiBtaXJyb3Igb2JqZWN0cyB0aGF0IHJlcHJlc2VudCB0aGUgYWN0dWFsIERPTSBub2Rl
cy4gRE9NTm9kZSBpcyBhIGJhc2Ugbm9kZSBtaXJyb3IgdHlwZS4iCiAgICAgICAgICAgICB9LApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKaW5kZXgg
ODE3ZjFkZjNiMTk0ZTBiYzJhZWNkYmE4MTBjOTczZTYzODc2Y2IzMC4uNDQ5MTQ4N2IzNmNmMDlk
ZThlMzk2YzI2N2I3YjQ0ZjhmNDQ2Mjk5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3RvckRPTUFnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCkBAIC0xMzA0LDEyICsxMzA0LDE1IEBAIFBhc3NSZWZQ
dHI8VHlwZUJ1aWxkZXI6OkRPTTo6RXZlbnRMaXN0ZW5lcj4gSW5zcGVjdG9yRE9NQWdlbnQ6OmJ1
aWxkT2JqZWN0Rm9yRXZlCiAgICAgICAgIC5zZXROb2RlSWQocHVzaE5vZGVQYXRoVG9Gcm9udGVu
ZChub2RlKSkKICAgICAgICAgLnNldEhhbmRsZXJCb2R5KGV2ZW50TGlzdGVuZXJIYW5kbGVyQm9k
eShub2RlLT5kb2N1bWVudCgpLCBldmVudExpc3RlbmVyLmdldCgpKSk7CiAgICAgU3RyaW5nIHNv
dXJjZU5hbWU7CisgICAgU3RyaW5nIHNjcmlwdElkOwogICAgIGludCBsaW5lTnVtYmVyOwotICAg
IGlmIChldmVudExpc3RlbmVySGFuZGxlckxvY2F0aW9uKG5vZGUtPmRvY3VtZW50KCksIGV2ZW50
TGlzdGVuZXIuZ2V0KCksIHNvdXJjZU5hbWUsIGxpbmVOdW1iZXIpKSB7CisgICAgaWYgKGV2ZW50
TGlzdGVuZXJIYW5kbGVyTG9jYXRpb24obm9kZS0+ZG9jdW1lbnQoKSwgZXZlbnRMaXN0ZW5lci5n
ZXQoKSwgc291cmNlTmFtZSwgc2NyaXB0SWQsIGxpbmVOdW1iZXIpKSB7CiAgICAgICAgIFJlZlB0
cjxUeXBlQnVpbGRlcjo6RGVidWdnZXI6OkxvY2F0aW9uPiBsb2NhdGlvbiA9IFR5cGVCdWlsZGVy
OjpEZWJ1Z2dlcjo6TG9jYXRpb246OmNyZWF0ZSgpCi0gICAgICAgICAgICAuc2V0U2NyaXB0SWQo
c291cmNlTmFtZSkKKyAgICAgICAgICAgIC5zZXRTY3JpcHRJZChzY3JpcHRJZCkKICAgICAgICAg
ICAgIC5zZXRMaW5lTnVtYmVyKGxpbmVOdW1iZXIpOwogICAgICAgICB2YWx1ZS0+c2V0TG9jYXRp
b24obG9jYXRpb24pOworICAgICAgICBpZiAoIXNvdXJjZU5hbWUuaXNFbXB0eSgpKQorICAgICAg
ICAgICAgdmFsdWUtPnNldFNvdXJjZU5hbWUoc291cmNlTmFtZSk7CiAgICAgfQogICAgIHJldHVy
biB2YWx1ZS5yZWxlYXNlKCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0JyZWFrcG9pbnRzU2lkZWJhclBhbmUuanMgYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL0JyZWFrcG9pbnRzU2lkZWJhclBhbmUuanMKaW5kZXggMGMyY2Yz
NDRiYzZjNGQ4OTlhNDg1MjJlZmE5Y2QzM2FkYjJlMTc5Mi4uNGJkZDRhZjdiYWIwMjI1OWI5OGY4
ZjA3NTU5MmVkMWEzZDFjZTk5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9CcmVha3BvaW50c1NpZGViYXJQYW5lLmpzCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvQnJlYWtwb2ludHNTaWRlYmFyUGFuZS5qcwpAQCAtNzIsOSAr
NzIsNyBAQCBXZWJJbnNwZWN0b3IuSmF2YVNjcmlwdEJyZWFrcG9pbnRzU2lkZWJhclBhbmUucHJv
dG90eXBlID0gewogICAgICAgICBjaGVja2JveC5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRo
aXMuX2JyZWFrcG9pbnRDaGVja2JveENsaWNrZWQuYmluZCh0aGlzLCBicmVha3BvaW50KSwgZmFs
c2UpOwogICAgICAgICBlbGVtZW50LmFwcGVuZENoaWxkKGNoZWNrYm94KTsKIAotICAgICAgICB2
YXIgdXJsID0gdWlMb2NhdGlvbi51aVNvdXJjZUNvZGUudXJsOwotICAgICAgICB2YXIgZGlzcGxh
eU5hbWUgPSB1cmwgPyBXZWJJbnNwZWN0b3IuZGlzcGxheU5hbWVGb3JVUkwodXJsKSA6IFdlYklu
c3BlY3Rvci5VSVN0cmluZygiKHByb2dyYW0pIik7Ci0gICAgICAgIHZhciBsYWJlbEVsZW1lbnQg
PSBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShkaXNwbGF5TmFtZSArICI6IiArICh1aUxvY2F0aW9u
LmxpbmVOdW1iZXIgKyAxKSk7CisgICAgICAgIHZhciBsYWJlbEVsZW1lbnQgPSBkb2N1bWVudC5j
cmVhdGVUZXh0Tm9kZShXZWJJbnNwZWN0b3IuZm9ybWF0TGlua1RleHQodWlMb2NhdGlvbi51aVNv
dXJjZUNvZGUudXJsLCB1aUxvY2F0aW9uLmxpbmVOdW1iZXIpKTsKICAgICAgICAgZWxlbWVudC5h
cHBlbmRDaGlsZChsYWJlbEVsZW1lbnQpOwogCiAgICAgICAgIHZhciBzbmlwcGV0RWxlbWVudCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9DYWxsU3RhY2tTaWRlYmFyUGFuZS5qcyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ2FsbFN0YWNrU2lkZWJhclBhbmUuanMKaW5kZXgg
NmFiM2VjODYyNzUyYzYzNDZkNzk1ODE4NTdhMDgwMTc1MjZhZWI5ZS4uNWQ1NDNmNzM0ODEwNzgw
MTgzMTIxYWNhYWM2MmIyODVjMDkxODhiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9DYWxsU3RhY2tTaWRlYmFyUGFuZS5qcworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NhbGxTdGFja1NpZGViYXJQYW5lLmpzCkBAIC0xNzgs
NyArMTc4LDcgQEAgV2ViSW5zcGVjdG9yLkNhbGxTdGFja1NpZGViYXJQYW5lLlBsYWNhcmQgPSBm
dW5jdGlvbihjYWxsRnJhbWUsIHBhbmUpCiBXZWJJbnNwZWN0b3IuQ2FsbFN0YWNrU2lkZWJhclBh
bmUuUGxhY2FyZC5wcm90b3R5cGUgPSB7CiAgICAgX3VwZGF0ZTogZnVuY3Rpb24odWlMb2NhdGlv
bikKICAgICB7Ci0gICAgICAgIHRoaXMuc3VidGl0bGUgPSBXZWJJbnNwZWN0b3IuZGlzcGxheU5h
bWVGb3JVUkwodWlMb2NhdGlvbi51aVNvdXJjZUNvZGUudXJsKSArICI6IiArICh1aUxvY2F0aW9u
LmxpbmVOdW1iZXIgKyAxKTsKKyAgICAgICAgdGhpcy5zdWJ0aXRsZSA9IFdlYkluc3BlY3Rvci5m
b3JtYXRMaW5rVGV4dCh1aUxvY2F0aW9uLnVpU291cmNlQ29kZS51cmwsIHVpTG9jYXRpb24ubGlu
ZU51bWJlcik7CiAgICAgfSwKIAogICAgIF9wbGFjYXJkQ29udGV4dE1lbnU6IGZ1bmN0aW9uKGV2
ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9FdmVu
dExpc3RlbmVyc1NpZGViYXJQYW5lLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9FdmVudExpc3RlbmVyc1NpZGViYXJQYW5lLmpzCmluZGV4IDkzMjRhNTQ2N2Q4MjBlZTg4
MDAxNDUwZTVlMGJhMDA0ZDAyZGNhODguLjU1ZWJkYjA4NDRmNDQ4YjMwODQwNzAyNTEwMTZiYmFm
MjgxMDdlZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RXZlbnRMaXN0ZW5lcnNTaWRlYmFyUGFuZS5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0V2ZW50TGlzdGVuZXJzU2lkZWJhclBhbmUuanMKQEAgLTIwNCwxMCArMjA0
LDEwIEBAIFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyQmFyLnByb3RvdHlwZSA9IHsKICAgICAg
ICAgICAgICAgICBwcm9wZXJ0aWVzLnB1c2gobmV3IFdlYkluc3BlY3Rvci5SZW1vdGVPYmplY3RQ
cm9wZXJ0eSgibm9kZSIsIG5vZGVPYmplY3QpKTsKICAgICAgICAgICAgIGlmICh0eXBlb2YgdGhp
cy5ldmVudExpc3RlbmVyLmhhbmRsZXJCb2R5ICE9PSAidW5kZWZpbmVkIikKICAgICAgICAgICAg
ICAgICBwcm9wZXJ0aWVzLnB1c2goV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdFByb3BlcnR5LmZy
b21QcmltaXRpdmVWYWx1ZSgibGlzdGVuZXJCb2R5IiwgdGhpcy5ldmVudExpc3RlbmVyLmhhbmRs
ZXJCb2R5KSk7Ci0gICAgICAgICAgICBpZiAodGhpcy5ldmVudExpc3RlbmVyLmxvY2F0aW9uKSB7
Ci0gICAgICAgICAgICAgICAgcHJvcGVydGllcy5wdXNoKFdlYkluc3BlY3Rvci5SZW1vdGVPYmpl
Y3RQcm9wZXJ0eS5mcm9tUHJpbWl0aXZlVmFsdWUoInNvdXJjZU5hbWUiLCB0aGlzLmV2ZW50TGlz
dGVuZXIubG9jYXRpb24uc2NyaXB0SWQpKTsKLSAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzLnB1
c2goV2ViSW5zcGVjdG9yLlJlbW90ZU9iamVjdFByb3BlcnR5LmZyb21QcmltaXRpdmVWYWx1ZSgi
bGluZU51bWJlciIsIHRoaXMuZXZlbnRMaXN0ZW5lci5sb2NhdGlvbi5saW5lTnVtYmVyKSk7Ci0g
ICAgICAgICAgICB9CisgICAgICAgICAgICBpZiAodGhpcy5ldmVudExpc3RlbmVyLnNvdXJjZU5h
bWUpCisgICAgICAgICAgICAgICAgcHJvcGVydGllcy5wdXNoKFdlYkluc3BlY3Rvci5SZW1vdGVP
YmplY3RQcm9wZXJ0eS5mcm9tUHJpbWl0aXZlVmFsdWUoInNvdXJjZU5hbWUiLCB0aGlzLmV2ZW50
TGlzdGVuZXIuc291cmNlTmFtZSkpOworICAgICAgICAgICAgaWYgKHRoaXMuZXZlbnRMaXN0ZW5l
ci5sb2NhdGlvbikKKyAgICAgICAgICAgICAgICBwcm9wZXJ0aWVzLnB1c2goV2ViSW5zcGVjdG9y
LlJlbW90ZU9iamVjdFByb3BlcnR5LmZyb21QcmltaXRpdmVWYWx1ZSgibGluZU51bWJlciIsIHRo
aXMuZXZlbnRMaXN0ZW5lci5sb2NhdGlvbi5saW5lTnVtYmVyICsgMSkpOwogCiAgICAgICAgICAg
ICB0aGlzLnVwZGF0ZVByb3BlcnRpZXMocHJvcGVydGllcyk7CiAgICAgICAgIH0KQEAgLTIzOSwx
MSArMjM5LDE1IEBAIFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyQmFyLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgLy8gUmVxdWlyZXMgdGhhdCBGdW5jdGlvbi50b1N0cmluZygpIHJldHVybiBhdCBs
ZWFzdCB0aGUgZnVuY3Rpb24ncyBzaWduYXR1cmUuCiAgICAgICAgIGlmICh0aGlzLmV2ZW50TGlz
dGVuZXIubG9jYXRpb24pIHsKICAgICAgICAgICAgIHRoaXMuc3VidGl0bGVFbGVtZW50LnJlbW92
ZUNoaWxkcmVuKCk7Ci0gICAgICAgICAgICAvLyBGSVhNRSg2MjcyNSk6IGV2ZW50TGlzdGVuZXIu
bG9jYXRpb24gc2hvdWxkIGJlIGEgZGVidWdnZXIgTG9jYXRpb24uCi0gICAgICAgICAgICB2YXIg
dXJsID0gdGhpcy5ldmVudExpc3RlbmVyLmxvY2F0aW9uLnNjcmlwdElkOwotICAgICAgICAgICAg
dmFyIGxpbmVOdW1iZXIgPSB0aGlzLmV2ZW50TGlzdGVuZXIubG9jYXRpb24ubGluZU51bWJlciAt
IDE7Ci0gICAgICAgICAgICB2YXIgY29sdW1uTnVtYmVyID0gMDsKLSAgICAgICAgICAgIHZhciB1
cmxFbGVtZW50ID0gbGlua2lmaWVyLmxpbmtpZnlMb2NhdGlvbih1cmwsIGxpbmVOdW1iZXIsIGNv
bHVtbk51bWJlcik7CisgICAgICAgICAgICB2YXIgdXJsRWxlbWVudDsKKyAgICAgICAgICAgIGlm
ICh0aGlzLmV2ZW50TGlzdGVuZXIubG9jYXRpb24uc2NyaXB0SWQpCisgICAgICAgICAgICAgICAg
dXJsRWxlbWVudCA9IGxpbmtpZmllci5saW5raWZ5UmF3TG9jYXRpb24odGhpcy5ldmVudExpc3Rl
bmVyLmxvY2F0aW9uKTsKKyAgICAgICAgICAgIGlmICghdXJsRWxlbWVudCkgeworICAgICAgICAg
ICAgICAgIHZhciB1cmwgPSB0aGlzLmV2ZW50TGlzdGVuZXIuc291cmNlTmFtZTsKKyAgICAgICAg
ICAgICAgICB2YXIgbGluZU51bWJlciA9IHRoaXMuZXZlbnRMaXN0ZW5lci5sb2NhdGlvbi5saW5l
TnVtYmVyOworICAgICAgICAgICAgICAgIHZhciBjb2x1bW5OdW1iZXIgPSAwOworICAgICAgICAg
ICAgICAgIHVybEVsZW1lbnQgPSBsaW5raWZpZXIubGlua2lmeUxvY2F0aW9uKHVybCwgbGluZU51
bWJlciwgY29sdW1uTnVtYmVyKTsKKyAgICAgICAgICAgIH0KICAgICAgICAgICAgIHRoaXMuc3Vi
dGl0bGVFbGVtZW50LmFwcGVuZENoaWxkKHVybEVsZW1lbnQpOwogICAgICAgICB9IGVsc2Ugewog
ICAgICAgICAgICAgdmFyIG1hdGNoID0gdGhpcy5ldmVudExpc3RlbmVyLmhhbmRsZXJCb2R5Lm1h
dGNoKC9mdW5jdGlvbiAoW15cKF0rPylcKC8pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9MaW5raWZpZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0xpbmtpZmllci5qcwppbmRleCBkMDgyODBiNGNmYzhkYTVkMWViOWQ4MzQ3
OTQxYWMzNTk5M2FjYzFhLi45MTk4NmJkYWVkY2ZlY2UyYzRhZDNkNzRhM2Q2ZGUwZmUzOGMzMzRm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0xpbmtpZmll
ci5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0xpbmtpZmllci5q
cwpAQCAtMTIxLDggKzEyMSw2IEBAIFdlYkluc3BlY3Rvci5MaW5raWZpZXIuRGVmYXVsdEZvcm1h
dHRlci5wcm90b3R5cGUgPSB7CiAgICAgICovCiAgICAgZm9ybWF0TGl2ZUFuY2hvcjogZnVuY3Rp
b24oYW5jaG9yLCB1aUxvY2F0aW9uKQogICAgIHsKLSAgICAgICAgYW5jaG9yLnRleHRDb250ZW50
ID0gV2ViSW5zcGVjdG9yLmZvcm1hdExpbmtUZXh0KHVpTG9jYXRpb24udWlTb3VyY2VDb2RlLnVy
bCwgdWlMb2NhdGlvbi5saW5lTnVtYmVyKTsKLQogICAgICAgICB2YXIgdGV4dCA9IFdlYkluc3Bl
Y3Rvci5mb3JtYXRMaW5rVGV4dCh1aUxvY2F0aW9uLnVpU291cmNlQ29kZS51cmwsIHVpTG9jYXRp
b24ubGluZU51bWJlcik7CiAgICAgICAgIGlmICh0aGlzLl9tYXhMZW5ndGgpCiAgICAgICAgICAg
ICB0ZXh0ID0gdGV4dC50cmltTWlkZGxlKHRoaXMuX21heExlbmd0aCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVXRpbHMuanMgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVXRpbHMuanMKaW5kZXggMTZh
NjI2NzZlOGU5MTZjNjYxODBkNjQ3YzgyMjMwMjc4MjM4NDkxOC4uNWMzZjQ5ZGU2NGExZWRiN2Q5
MmJkODhiN2NhZmQ0M2M1ZjQ5MWZiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9SZXNvdXJjZVV0aWxzLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvUmVzb3VyY2VVdGlscy5qcwpAQCAtMTkyLDcgKzE5Miw3IEBAIFdlYklu
c3BlY3Rvci5saW5raWZ5VVJMQXNOb2RlID0gZnVuY3Rpb24odXJsLCBsaW5rVGV4dCwgY2xhc3Nl
cywgaXNFeHRlcm5hbCwgdG9vCiAgKi8KIFdlYkluc3BlY3Rvci5mb3JtYXRMaW5rVGV4dCA9IGZ1
bmN0aW9uKHVybCwgbGluZU51bWJlcikKIHsKLSAgICB2YXIgdGV4dCA9IFdlYkluc3BlY3Rvci5k
aXNwbGF5TmFtZUZvclVSTCh1cmwpOworICAgIHZhciB0ZXh0ID0gdXJsID8gV2ViSW5zcGVjdG9y
LmRpc3BsYXlOYW1lRm9yVVJMKHVybCkgOiBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIihwcm9ncmFt
KSIpOwogICAgIGlmICh0eXBlb2YgbGluZU51bWJlciA9PT0gIm51bWJlciIpCiAgICAgICAgIHRl
eHQgKz0gIjoiICsgKGxpbmVOdW1iZXIgKyAxKTsKICAgICByZXR1cm4gdGV4dDsK
</data>
<flag name="review"
          id="176764"
          type_id="1"
          status="+"
          setter="yurys"
    />
          </attachment>
      

    </bug>

</bugzilla>