<?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>107280</bug_id>
          
          <creation_ts>2013-01-18 07:20:57 -0800</creation_ts>
          <short_desc>Web Inspector: [Canvas] add getResourceInfo and getResourceState methods to the protocol</short_desc>
          <delta_ts>2013-01-18 08:51:25 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>107274</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrey Adaikin">aandrey</reporter>
          <assigned_to name="Andrey Adaikin">aandrey</assigned_to>
          <cc>apavlov</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>vsevik</cc>
    
    <cc>web-inspector-bugs</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>810563</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2013-01-18 07:20:57 -0800</bug_when>
    <thetext>We need to expose replayable resource info and replay state via the protocol.
The ResourceInfo describes a replayable resource, i.e. the info about a resource that was stored to replay it later.
The ResourceState describes a current state of a resource being replayed on the back-end.

Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810580</commentid>
    <comment_count>1</comment_count>
      <attachid>183452</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2013-01-18 07:30:17 -0800</bug_when>
    <thetext>Created attachment 183452
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810608</commentid>
    <comment_count>2</comment_count>
      <attachid>183452</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2013-01-18 08:02:35 -0800</bug_when>
    <thetext>Comment on attachment 183452
Patch

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

&gt; Source/WebCore/inspector/InjectedScriptCanvasModule.cpp:158
&gt; +void InjectedScriptCanvasModule::resourceInfo(ErrorString* errorString, const String&amp; resourceId, RefPtr&lt;TypeBuilder::Canvas::ResourceInfo&gt;* result)

getResourceInfo (since you use output parameter).

&gt; Source/WebCore/inspector/InjectedScriptCanvasModule.cpp:172
&gt; +void InjectedScriptCanvasModule::resourceState(ErrorString* errorString, const String&amp; traceLogId, const String&amp; resourceId, RefPtr&lt;TypeBuilder::Canvas::ResourceState&gt;* result)

ditto

&gt; Source/WebCore/inspector/InjectedScriptCanvasModuleSource.js:2972
&gt; +     * @param {string} traceLogId

CanvasAgent.TraceLogId

&gt; Source/WebCore/inspector/InjectedScriptCanvasModuleSource.js:3011
&gt; +        return {

I&apos;d introduce a small wrapper that goes into runtime cast.

&gt; Source/WebCore/inspector/InjectedScriptCanvasModuleSource.js:3069
&gt; +     * @return {!Object}

@return {{id:string,...

&gt; Source/WebCore/inspector/Inspector.json:3215
&gt; +                    { &quot;name&quot;: &quot;dataURL&quot;, &quot;type&quot;: &quot;string&quot;, &quot;optional&quot;: true, &quot;description&quot;: &quot;Screenshot data URL.&quot; }

imageURL</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810645</commentid>
    <comment_count>3</comment_count>
      <attachid>183452</attachid>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2013-01-18 08:44:48 -0800</bug_when>
    <thetext>Comment on attachment 183452
Patch

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

&gt;&gt; Source/WebCore/inspector/InjectedScriptCanvasModuleSource.js:2972
&gt;&gt; +     * @param {string} traceLogId
&gt; 
&gt; CanvasAgent.TraceLogId

we&apos;ll need to modify generate_protocol_externs.py to also generate JSON typedef&apos;s for @constructors, like:

/** @constructor */
CanvasAgent.TraceLog = function()
{
/** @type {CanvasAgent.TraceLogId} */ this.id;
/** @type {Array.&lt;CanvasAgent.Call&gt;} */ this.calls;
/** @type {number|undefined} */ this.startOffset;
/** @type {boolean|undefined} */ this.alive;
}

/** @typedef {{id:CanvasAgent.TraceLogId, calls:Array.&lt;CanvasAgent.Call&gt;, ...}} */
CanvasAgent.TraceLogJSON;

I&apos;ll do this in a separate patch: https://bugs.webkit.org/show_bug.cgi?id=107287</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810654</commentid>
    <comment_count>4</comment_count>
    <who name="Andrey Adaikin">aandrey</who>
    <bug_when>2013-01-18 08:51:25 -0800</bug_when>
    <thetext>Committed r140157: &lt;http://trac.webkit.org/changeset/140157&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183452</attachid>
            <date>2013-01-18 07:30:17 -0800</date>
            <delta_ts>2013-01-18 08:44:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-107280-20130118192715.patch</filename>
            <type>text/plain</type>
            <size>21204</size>
            <attacher name="Andrey Adaikin">aandrey</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQwMTQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmE3YzAyNTczOGJhMjY4
MzllZmY2ZWY4OWQ2ZDk3YTUzN2Q1MGY0Ni4uZTVmNTE0NTdjMjNkYjk0NjkzMWUxMmU0ZDk5NTQ5
ZjU3MDRjMmM5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEzLTAxLTE4ICBBbmRy
ZXkgQWRhaWtpbiAgPGFhbmRyZXlAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IFtDYW52YXNdIGFkZCBnZXRSZXNvdXJjZUluZm8gYW5kIGdldFJlc291cmNlU3RhdGUgbWV0
aG9kcyB0byB0aGUgcHJvdG9jb2wKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEwNzI4MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFdlIG5lZWQgdG8gZXhwb3NlIHJlcGxheWFibGUgcmVzb3VyY2UgaW5mbyBh
bmQgcmVwbGF5IHN0YXRlIHZpYSB0aGUgcHJvdG9jb2wuCisgICAgICAgIFRoZSBSZXNvdXJjZUlu
Zm8gZGVzY3JpYmVzIGEgcmVwbGF5YWJsZSByZXNvdXJjZSwgaS5lLiB0aGUgaW5mbyBhYm91dCBh
IHJlc291cmNlIHRoYXQgd2FzIHN0b3JlZCB0byByZXBsYXkgaXQgbGF0ZXIuCisgICAgICAgIFRo
ZSBSZXNvdXJjZVN0YXRlIGRlc2NyaWJlcyBhIGN1cnJlbnQgc3RhdGUgb2YgYSByZXNvdXJjZSBi
ZWluZyByZXBsYXllZCBvbiB0aGUgYmFjay1lbmQuCisKKyAgICAgICAgKiBpbnNwZWN0b3IvQ29k
ZUdlbmVyYXRvckluc3BlY3Rvci5weToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5qZWN0ZWRTY3Jp
cHRDYW52YXNNb2R1bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRDYW52
YXNNb2R1bGU6OnJlcGxheVRyYWNlTG9nKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6SW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGU6OnJlc291cmNlSW5mbyk6CisgICAg
ICAgIChXZWJDb3JlOjpJbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZTo6cmVzb3VyY2VTdGF0ZSk6
CisgICAgICAgICogaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlLmg6CisgICAg
ICAgIChJbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZSk6CisgICAgICAgICogaW5zcGVjdG9yL0lu
amVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlU291cmNlLmpzOgorICAgICAgICAoLik6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0
b3JDYW52YXNBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDYW52YXNBZ2Vu
dDo6cmVwbGF5VHJhY2VMb2cpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JDYW52YXNBZ2VudDo6Z2V0UmVzb3VyY2VJbmZvKToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvckNhbnZhc0FnZW50OjpnZXRSZXNvdXJjZVN0YXRlKToKKyAgICAgICAgKiBp
bnNwZWN0b3IvSW5zcGVjdG9yQ2FudmFzQWdlbnQuaDoKKyAgICAgICAgKEluc3BlY3RvckNhbnZh
c0FnZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL0NhbnZhc1Byb2ZpbGVWaWV3
LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNhbnZhc1Byb2ZpbGVWaWV3LnByb3RvdHlwZS5f
cmVwbGF5VHJhY2VMb2cuZGlkUmVwbGF5VHJhY2VMb2cpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkNhbnZhc1Byb2ZpbGVWaWV3LnByb3RvdHlwZS5fcmVwbGF5VHJhY2VMb2cpOgorCiAyMDEzLTAx
LTE4ICBLb25kYXBhbGx5IEthbHlhbiAgPGthbHlhbi5rb25kYXBhbGx5QGludGVsLmNvbT4KIAog
ICAgICAgICBbRUZMXVtXZWJHTF0gRml4IE1lbW9yeSBsZWFrcyBpbiBFR0wgYW5kIEdMWCBzdXJm
YWNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0NvZGVHZW5lcmF0b3JJ
bnNwZWN0b3IucHkgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3Bl
Y3Rvci5weQppbmRleCBlNzA4ZDllNGQ5OGFjYjFjNmFhNWNhNmM1YTAwYjFlMTJjN2FhOTMzLi42
MjlmYTAzOTBlYzgxMzUwZTk4MDM1NDgwOTA0NDFmZGNkNWY0ZTRhIDEwMDc1NQotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvQ29kZUdlbmVyYXRvckluc3BlY3Rvci5weQpAQCAtNTcsNyAr
NTcsOCBAQCBUWVBFX05BTUVfRklYX01BUCA9IHsKIAogCiBUWVBFU19XSVRIX1JVTlRJTUVfQ0FT
VF9TRVQgPSBmcm96ZW5zZXQoWyJSdW50aW1lLlJlbW90ZU9iamVjdCIsICJSdW50aW1lLlByb3Bl
cnR5RGVzY3JpcHRvciIsICJSdW50aW1lLkludGVybmFsUHJvcGVydHlEZXNjcmlwdG9yIiwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkRlYnVnZ2VyLkZ1bmN0aW9u
RGV0YWlscyIsICJEZWJ1Z2dlci5DYWxsRnJhbWUiLCAiQ2FudmFzLlRyYWNlTG9nIiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkRlYnVnZ2VyLkZ1bmN0aW9uRGV0
YWlscyIsICJEZWJ1Z2dlci5DYWxsRnJhbWUiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAiQ2FudmFzLlRyYWNlTG9nIiwgIkNhbnZhcy5SZXNvdXJjZUluZm8iLCAi
Q2FudmFzLlJlc291cmNlU3RhdGUiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAjIFRoaXMgc2hvdWxkIGJlIGEgdGVtcG9yYXJ5IGhhY2suIFRpbWVsaW5lRXZlbnQg
c2hvdWxkIGJlIGNyZWF0ZWQgdmlhIGdlbmVyYXRlZCBDKysgQVBJLgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAiVGltZWxpbmUuVGltZWxpbmVFdmVudCJdKQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRDYW52YXNN
b2R1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Q2FudmFz
TW9kdWxlLmNwcAppbmRleCA3NDBiN2JkODU0OWQ5ZWRiNWE0YzljMjFkODJhNWRmN2FjZjk2YTMz
Li5mMjFjMjAyYzk1Y2Y2YzdkZWQ4ODVlNzYyYzMxMjBiYmY0MTcxODY2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGUuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZS5j
cHAKQEAgLTE0MCwxNSArMTQwLDQ4IEBAIHZvaWQgSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGU6
OnRyYWNlTG9nKEVycm9yU3RyaW5nKiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nCiAgICAgKnRy
YWNlTG9nID0gVHlwZUJ1aWxkZXI6OkNhbnZhczo6VHJhY2VMb2c6OnJ1bnRpbWVDYXN0KHJlc3Vs
dFZhbHVlKTsKIH0KIAotdm9pZCBJbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZTo6cmVwbGF5VHJh
Y2VMb2coRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIHRyYWNlTG9nSWQs
IGludCBzdGVwTm8sIFN0cmluZyogcmVzdWx0KQordm9pZCBJbmplY3RlZFNjcmlwdENhbnZhc01v
ZHVsZTo6cmVwbGF5VHJhY2VMb2coRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBTdHJp
bmcmIHRyYWNlTG9nSWQsIGludCBzdGVwTm8sIFJlZlB0cjxUeXBlQnVpbGRlcjo6Q2FudmFzOjpS
ZXNvdXJjZVN0YXRlPiogcmVzdWx0KQogewogICAgIFNjcmlwdEZ1bmN0aW9uQ2FsbCBmdW5jdGlv
bihpbmplY3RlZFNjcmlwdE9iamVjdCgpLCAicmVwbGF5VHJhY2VMb2ciKTsKICAgICBmdW5jdGlv
bi5hcHBlbmRBcmd1bWVudCh0cmFjZUxvZ0lkKTsKICAgICBmdW5jdGlvbi5hcHBlbmRBcmd1bWVu
dChzdGVwTm8pOwogICAgIFJlZlB0cjxJbnNwZWN0b3JWYWx1ZT4gcmVzdWx0VmFsdWU7CiAgICAg
bWFrZUNhbGwoZnVuY3Rpb24sICZyZXN1bHRWYWx1ZSk7Ci0gICAgaWYgKCFyZXN1bHRWYWx1ZSB8
fCByZXN1bHRWYWx1ZS0+dHlwZSgpICE9IEluc3BlY3RvclZhbHVlOjpUeXBlU3RyaW5nIHx8ICFy
ZXN1bHRWYWx1ZS0+YXNTdHJpbmcocmVzdWx0KSkKLSAgICAgICAgKmVycm9yU3RyaW5nID0gIklu
dGVybmFsIGVycm9yOiByZXBsYXlUcmFjZUxvZyI7CisgICAgaWYgKCFyZXN1bHRWYWx1ZSB8fCBy
ZXN1bHRWYWx1ZS0+dHlwZSgpICE9IEluc3BlY3RvclZhbHVlOjpUeXBlT2JqZWN0KSB7CisgICAg
ICAgIGlmICghcmVzdWx0VmFsdWUtPmFzU3RyaW5nKGVycm9yU3RyaW5nKSkKKyAgICAgICAgICAg
ICplcnJvclN0cmluZyA9ICJJbnRlcm5hbCBlcnJvcjogcmVwbGF5VHJhY2VMb2ciOworICAgICAg
ICByZXR1cm47CisgICAgfQorICAgICpyZXN1bHQgPSBUeXBlQnVpbGRlcjo6Q2FudmFzOjpSZXNv
dXJjZVN0YXRlOjpydW50aW1lQ2FzdChyZXN1bHRWYWx1ZSk7Cit9CisKK3ZvaWQgSW5qZWN0ZWRT
Y3JpcHRDYW52YXNNb2R1bGU6OnJlc291cmNlSW5mbyhFcnJvclN0cmluZyogZXJyb3JTdHJpbmcs
IGNvbnN0IFN0cmluZyYgcmVzb3VyY2VJZCwgUmVmUHRyPFR5cGVCdWlsZGVyOjpDYW52YXM6OlJl
c291cmNlSW5mbz4qIHJlc3VsdCkKK3sKKyAgICBTY3JpcHRGdW5jdGlvbkNhbGwgZnVuY3Rpb24o
aW5qZWN0ZWRTY3JpcHRPYmplY3QoKSwgInJlc291cmNlSW5mbyIpOworICAgIGZ1bmN0aW9uLmFw
cGVuZEFyZ3VtZW50KHJlc291cmNlSWQpOworICAgIFJlZlB0cjxJbnNwZWN0b3JWYWx1ZT4gcmVz
dWx0VmFsdWU7CisgICAgbWFrZUNhbGwoZnVuY3Rpb24sICZyZXN1bHRWYWx1ZSk7CisgICAgaWYg
KCFyZXN1bHRWYWx1ZSB8fCByZXN1bHRWYWx1ZS0+dHlwZSgpICE9IEluc3BlY3RvclZhbHVlOjpU
eXBlT2JqZWN0KSB7CisgICAgICAgIGlmICghcmVzdWx0VmFsdWUtPmFzU3RyaW5nKGVycm9yU3Ry
aW5nKSkKKyAgICAgICAgICAgICplcnJvclN0cmluZyA9ICJJbnRlcm5hbCBlcnJvcjogcmVzb3Vy
Y2VJbmZvIjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICAqcmVzdWx0ID0gVHlwZUJ1aWxk
ZXI6OkNhbnZhczo6UmVzb3VyY2VJbmZvOjpydW50aW1lQ2FzdChyZXN1bHRWYWx1ZSk7Cit9CisK
K3ZvaWQgSW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGU6OnJlc291cmNlU3RhdGUoRXJyb3JTdHJp
bmcqIGVycm9yU3RyaW5nLCBjb25zdCBTdHJpbmcmIHRyYWNlTG9nSWQsIGNvbnN0IFN0cmluZyYg
cmVzb3VyY2VJZCwgUmVmUHRyPFR5cGVCdWlsZGVyOjpDYW52YXM6OlJlc291cmNlU3RhdGU+KiBy
ZXN1bHQpCit7CisgICAgU2NyaXB0RnVuY3Rpb25DYWxsIGZ1bmN0aW9uKGluamVjdGVkU2NyaXB0
T2JqZWN0KCksICJyZXNvdXJjZVN0YXRlIik7CisgICAgZnVuY3Rpb24uYXBwZW5kQXJndW1lbnQo
dHJhY2VMb2dJZCk7CisgICAgZnVuY3Rpb24uYXBwZW5kQXJndW1lbnQocmVzb3VyY2VJZCk7Cisg
ICAgUmVmUHRyPEluc3BlY3RvclZhbHVlPiByZXN1bHRWYWx1ZTsKKyAgICBtYWtlQ2FsbChmdW5j
dGlvbiwgJnJlc3VsdFZhbHVlKTsKKyAgICBpZiAoIXJlc3VsdFZhbHVlIHx8IHJlc3VsdFZhbHVl
LT50eXBlKCkgIT0gSW5zcGVjdG9yVmFsdWU6OlR5cGVPYmplY3QpIHsKKyAgICAgICAgaWYgKCFy
ZXN1bHRWYWx1ZS0+YXNTdHJpbmcoZXJyb3JTdHJpbmcpKQorICAgICAgICAgICAgKmVycm9yU3Ry
aW5nID0gIkludGVybmFsIGVycm9yOiByZXNvdXJjZVN0YXRlIjsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKyAgICAqcmVzdWx0ID0gVHlwZUJ1aWxkZXI6OkNhbnZhczo6UmVzb3VyY2VTdGF0ZTo6
cnVudGltZUNhc3QocmVzdWx0VmFsdWUpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5qZWN0ZWRTY3JpcHRDYW52YXNN
b2R1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdENhbnZhc01v
ZHVsZS5oCmluZGV4IGI1ZTEzNjA5MGUxY2IxMjcwYzhiMzQzZDRiMjBlZjMxY2ZiNmUyNTAuLjg4
ZjVmMzM0OWQ1ODViMzMzODZhNGE3MTg4MGNhZWNlYmVhODI3YTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZS5oCkBAIC02
MCw3ICs2MCw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHN0b3BDYXB0dXJpbmcoRXJyb3JTdHJpbmcq
LCBjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIGRyb3BUcmFjZUxvZyhFcnJvclN0cmluZyosIGNv
bnN0IFN0cmluZyYpOwogICAgIHZvaWQgdHJhY2VMb2coRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJp
bmcmLCBjb25zdCBpbnQqLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OkNhbnZhczo6VHJhY2VMb2c+Kik7
Ci0gICAgdm9pZCByZXBsYXlUcmFjZUxvZyhFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYsIGlu
dCwgU3RyaW5nKik7CisgICAgdm9pZCByZXBsYXlUcmFjZUxvZyhFcnJvclN0cmluZyosIGNvbnN0
IFN0cmluZyYsIGludCwgUmVmUHRyPFR5cGVCdWlsZGVyOjpDYW52YXM6OlJlc291cmNlU3RhdGU+
Kik7CisgICAgdm9pZCByZXNvdXJjZUluZm8oRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmLCBS
ZWZQdHI8VHlwZUJ1aWxkZXI6OkNhbnZhczo6UmVzb3VyY2VJbmZvPiopOworICAgIHZvaWQgcmVz
b3VyY2VTdGF0ZShFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIFJl
ZlB0cjxUeXBlQnVpbGRlcjo6Q2FudmFzOjpSZXNvdXJjZVN0YXRlPiopOwogCiBwcml2YXRlOgog
ICAgIFNjcmlwdE9iamVjdCBjYWxsV3JhcENvbnRleHRGdW5jdGlvbihjb25zdCBTdHJpbmcmLCBj
b25zdCBTY3JpcHRPYmplY3QmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZVNvdXJjZS5qcyBiL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbmplY3RlZFNjcmlwdENhbnZhc01vZHVsZVNvdXJjZS5qcwppbmRleCBjOWVlZWI4
ZjVmMTljOWFlZjQ0MGMyMmFkYmMxNDZkYjNlYjdkMWExLi5mNjkzNWVjZjA4OTQzZjRkMmU2NjI3
ZGU0MTEwOTZiMzQxYThkNjgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGVTb3VyY2UuanMKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlU291cmNlLmpzCkBAIC03NDEsOCAr
NzQxLDcgQEAgUmVzb3VyY2UucHJvdG90eXBlID0gewogICAgICAqLwogICAgIHRvRGF0YVVSTDog
ZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgdmFyIGNvbnRleHRSZXNvdXJjZSA9IHRoaXMuY29u
dGV4dFJlc291cmNlKCk7Ci0gICAgICAgIHJldHVybiBjb250ZXh0UmVzb3VyY2UgPT09IHRoaXMg
PyAiIiA6IGNvbnRleHRSZXNvdXJjZS50b0RhdGFVUkwoKTsKKyAgICAgICAgcmV0dXJuICIiOwog
ICAgIH0sCiAKICAgICAvKioKQEAgLTI2MDcsNiArMjYwNiwxNSBAQCBUcmFjZUxvZy5wcm90b3R5
cGUgPSB7CiAgICAgfSwKIAogICAgIC8qKgorICAgICAqIEBwYXJhbSB7bnVtYmVyfSBpZAorICAg
ICAqIEByZXR1cm4ge1JlcGxheWFibGVSZXNvdXJjZX0KKyAgICAgKi8KKyAgICByZXBsYXlhYmxl
UmVzb3VyY2U6IGZ1bmN0aW9uKGlkKQorICAgIHsKKyAgICAgICAgcmV0dXJuIC8qKiBAdHlwZSB7
UmVwbGF5YWJsZVJlc291cmNlfSAqLyAodGhpcy5fcmVwbGF5YWJsZXNDYWNoZS5nZXQoaWQpKTsK
KyAgICB9LAorCisgICAgLyoqCiAgICAgICogQHBhcmFtIHshUmVzb3VyY2V9IHJlc291cmNlCiAg
ICAgICovCiAgICAgY2FwdHVyZVJlc291cmNlOiBmdW5jdGlvbihyZXNvdXJjZSkKQEAgLTI2NDcs
NiArMjY1NSwxNSBAQCBUcmFjZUxvZ1BsYXllci5wcm90b3R5cGUgPSB7CiAgICAgfSwKIAogICAg
IC8qKgorICAgICAqIEBwYXJhbSB7bnVtYmVyfSBpZAorICAgICAqIEByZXR1cm4ge1Jlc291cmNl
fQorICAgICAqLworICAgIHJlcGxheVdvcmxkUmVzb3VyY2U6IGZ1bmN0aW9uKGlkKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIC8qKiBAdHlwZSB7UmVzb3VyY2V9ICovICh0aGlzLl9yZXBsYXlXb3Js
ZENhY2hlLmdldChpZCkpOworICAgIH0sCisKKyAgICAvKioKICAgICAgKiBAcmV0dXJuIHtudW1i
ZXJ9CiAgICAgICovCiAgICAgbmV4dFJlcGxheVN0ZXA6IGZ1bmN0aW9uKCkKQEAgLTI4OTcsMTMg
KzI5MTQsMTMgQEAgSW5qZWN0ZWRDYW52YXNNb2R1bGUucHJvdG90eXBlID0gewogICAgIC8qKgog
ICAgICAqIEBwYXJhbSB7c3RyaW5nfSBpZAogICAgICAqIEBwYXJhbSB7bnVtYmVyPX0gc3RhcnRP
ZmZzZXQKLSAgICAgKiBAcmV0dXJuIHtPYmplY3R8c3RyaW5nfQorICAgICAqIEByZXR1cm4geyFP
YmplY3R8c3RyaW5nfQogICAgICAqLwogICAgIHRyYWNlTG9nOiBmdW5jdGlvbihpZCwgc3RhcnRP
ZmZzZXQpCiAgICAgewogICAgICAgICB2YXIgdHJhY2VMb2cgPSB0aGlzLl90cmFjZUxvZ3NbaWRd
OwogICAgICAgICBpZiAoIXRyYWNlTG9nKQotICAgICAgICAgICAgcmV0dXJuICJFcnJvcjogVHJh
Y2UgbG9nIHdpdGggdGhpcyBJRCBub3QgZm91bmQuIjsKKyAgICAgICAgICAgIHJldHVybiAiRXJy
b3I6IFRyYWNlIGxvZyB3aXRoIHRoZSBnaXZlbiBJRCBub3QgZm91bmQuIjsKICAgICAgICAgc3Rh
cnRPZmZzZXQgPSBNYXRoLm1heCgwLCBzdGFydE9mZnNldCB8fCAwKTsKICAgICAgICAgdmFyIGFs
aXZlID0gdGhpcy5fbWFuYWdlci5jYXB0dXJpbmcoKSAmJiB0aGlzLl9tYW5hZ2VyLmxhc3RUcmFj
ZUxvZygpID09PSB0cmFjZUxvZzsKICAgICAgICAgdmFyIHJlc3VsdCA9IHsKQEAgLTI5MTksNyAr
MjkzNiw3IEBAIEluamVjdGVkQ2FudmFzTW9kdWxlLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAg
IHZhciBzdGFja1RyYWNlID0gY2FsbC5zdGFja1RyYWNlKCk7CiAgICAgICAgICAgICB2YXIgY2Fs
bEZyYW1lID0gc3RhY2tUcmFjZSA/IHN0YWNrVHJhY2UuY2FsbEZyYW1lKDApIHx8IHt9IDoge307
CiAgICAgICAgICAgICB2YXIgdHJhY2VMb2dJdGVtID0gewotICAgICAgICAgICAgICAgIGNvbnRl
eHRJZDogdGhpcy5fbWFrZUNvbnRleHRJZChjb250ZXh0UmVzb3VyY2UuaWQoKSksCisgICAgICAg
ICAgICAgICAgY29udGV4dElkOiB0aGlzLl9tYWtlU3RyaW5nUmVzb3VyY2VJZChjb250ZXh0UmVz
b3VyY2UuaWQoKSksCiAgICAgICAgICAgICAgICAgc291cmNlVVJMOiBjYWxsRnJhbWUuc291cmNl
VVJMLAogICAgICAgICAgICAgICAgIGxpbmVOdW1iZXI6IGNhbGxGcmFtZS5saW5lTnVtYmVyLAog
ICAgICAgICAgICAgICAgIGNvbHVtbk51bWJlcjogY2FsbEZyYW1lLmNvbHVtbk51bWJlcgpAQCAt
Mjk1MiwxOCArMjk2OSw4MCBAQCBJbmplY3RlZENhbnZhc01vZHVsZS5wcm90b3R5cGUgPSB7CiAg
ICAgfSwKIAogICAgIC8qKgotICAgICAqIEBwYXJhbSB7c3RyaW5nfSBpZAorICAgICAqIEBwYXJh
bSB7c3RyaW5nfSB0cmFjZUxvZ0lkCiAgICAgICogQHBhcmFtIHtudW1iZXJ9IHN0ZXBObwotICAg
ICAqIEByZXR1cm4ge3N0cmluZ30KKyAgICAgKiBAcmV0dXJuIHshT2JqZWN0fHN0cmluZ30KICAg
ICAgKi8KLSAgICByZXBsYXlUcmFjZUxvZzogZnVuY3Rpb24oaWQsIHN0ZXBObykKKyAgICByZXBs
YXlUcmFjZUxvZzogZnVuY3Rpb24odHJhY2VMb2dJZCwgc3RlcE5vKQogICAgIHsKLSAgICAgICAg
dmFyIHRyYWNlTG9nID0gdGhpcy5fdHJhY2VMb2dzW2lkXTsKKyAgICAgICAgdmFyIHRyYWNlTG9n
ID0gdGhpcy5fdHJhY2VMb2dzW3RyYWNlTG9nSWRdOwogICAgICAgICBpZiAoIXRyYWNlTG9nKQot
ICAgICAgICAgICAgcmV0dXJuICIiOwotICAgICAgICB0aGlzLl90cmFjZUxvZ1BsYXllcnNbaWRd
ID0gdGhpcy5fdHJhY2VMb2dQbGF5ZXJzW2lkXSB8fCBuZXcgVHJhY2VMb2dQbGF5ZXIodHJhY2VM
b2cpOwotICAgICAgICB2YXIgbGFzdENhbGwgPSB0aGlzLl90cmFjZUxvZ1BsYXllcnNbaWRdLnN0
ZXBUbyhzdGVwTm8pOwotICAgICAgICByZXR1cm4gbGFzdENhbGwucmVzb3VyY2UoKS50b0RhdGFV
UkwoKTsKKyAgICAgICAgICAgIHJldHVybiAiRXJyb3I6IFRyYWNlIGxvZyB3aXRoIHRoZSBnaXZl
biBJRCBub3QgZm91bmQuIjsKKyAgICAgICAgdGhpcy5fdHJhY2VMb2dQbGF5ZXJzW3RyYWNlTG9n
SWRdID0gdGhpcy5fdHJhY2VMb2dQbGF5ZXJzW3RyYWNlTG9nSWRdIHx8IG5ldyBUcmFjZUxvZ1Bs
YXllcih0cmFjZUxvZyk7CisgICAgICAgIHZhciBsYXN0Q2FsbCA9IHRoaXMuX3RyYWNlTG9nUGxh
eWVyc1t0cmFjZUxvZ0lkXS5zdGVwVG8oc3RlcE5vKTsKKyAgICAgICAgdmFyIHJlc291cmNlID0g
bGFzdENhbGwucmVzb3VyY2UoKTsKKyAgICAgICAgdmFyIGRhdGFVUkwgPSByZXNvdXJjZS50b0Rh
dGFVUkwoKTsKKyAgICAgICAgaWYgKCFkYXRhVVJMKSB7CisgICAgICAgICAgICByZXNvdXJjZSA9
IHJlc291cmNlLmNvbnRleHRSZXNvdXJjZSgpOworICAgICAgICAgICAgZGF0YVVSTCA9IHJlc291
cmNlLnRvRGF0YVVSTCgpOworICAgICAgICB9CisgICAgICAgIHJldHVybiB0aGlzLl9tYWtlUmVz
b3VyY2VTdGF0ZSh0aGlzLl9tYWtlU3RyaW5nUmVzb3VyY2VJZChyZXNvdXJjZS5pZCgpKSwgdHJh
Y2VMb2dJZCwgZGF0YVVSTCk7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEBwYXJhbSB7c3Ry
aW5nfSBzdHJpbmdSZXNvdXJjZUlkCisgICAgICogQHJldHVybiB7IU9iamVjdHxzdHJpbmd9Cisg
ICAgICovCisgICAgcmVzb3VyY2VJbmZvOiBmdW5jdGlvbihzdHJpbmdSZXNvdXJjZUlkKQorICAg
IHsKKyAgICAgICAgdmFyIHJlc291cmNlSWQgPSB0aGlzLl9wYXJzZVN0cmluZ0lkKHN0cmluZ1Jl
c291cmNlSWQpLnJlc291cmNlSWQ7CisgICAgICAgIGlmICghcmVzb3VyY2VJZCkKKyAgICAgICAg
ICAgIHJldHVybiAiRXJyb3I6IFdyb25nIHJlc291cmNlIElEOiAiICsgc3RyaW5nUmVzb3VyY2VJ
ZDsKKworICAgICAgICB2YXIgcmVwbGF5YWJsZVJlc291cmNlID0gbnVsbDsKKyAgICAgICAgZm9y
ICh2YXIgaWQgaW4gdGhpcy5fdHJhY2VMb2dzKSB7CisgICAgICAgICAgICByZXBsYXlhYmxlUmVz
b3VyY2UgPSB0aGlzLl90cmFjZUxvZ3NbaWRdLnJlcGxheWFibGVSZXNvdXJjZShyZXNvdXJjZUlk
KTsKKyAgICAgICAgICAgIGlmIChyZXBsYXlhYmxlUmVzb3VyY2UpCisgICAgICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIH0KKyAgICAgICAgaWYgKCFyZXBsYXlhYmxlUmVzb3VyY2UpCisgICAg
ICAgICAgICByZXR1cm4gIkVycm9yOiBSZXNvdXJjZSB3aXRoIHRoZSBnaXZlbiBJRCBub3QgZm91
bmQuIjsKKworICAgICAgICByZXR1cm4geworICAgICAgICAgICAgaWQ6IHN0cmluZ1Jlc291cmNl
SWQsCisgICAgICAgICAgICBkZXNjcmlwdGlvbjogcmVwbGF5YWJsZVJlc291cmNlLmRlc2NyaXB0
aW9uKCkKKyAgICAgICAgfTsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtzdHJp
bmd9IHRyYWNlTG9nSWQKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gc3RyaW5nUmVzb3VyY2VJZAor
ICAgICAqIEByZXR1cm4geyFPYmplY3R8c3RyaW5nfQorICAgICAqLworICAgIHJlc291cmNlU3Rh
dGU6IGZ1bmN0aW9uKHRyYWNlTG9nSWQsIHN0cmluZ1Jlc291cmNlSWQpCisgICAgeworICAgICAg
ICB2YXIgdHJhY2VMb2cgPSB0aGlzLl90cmFjZUxvZ3NbdHJhY2VMb2dJZF07CisgICAgICAgIGlm
ICghdHJhY2VMb2cpCisgICAgICAgICAgICByZXR1cm4gIkVycm9yOiBUcmFjZSBsb2cgd2l0aCB0
aGUgZ2l2ZW4gSUQgbm90IGZvdW5kLiI7CisKKyAgICAgICAgdmFyIHRyYWNlTG9nUGxheWVyID0g
dGhpcy5fdHJhY2VMb2dQbGF5ZXJzW3RyYWNlTG9nSWRdOworICAgICAgICBpZiAoIXRyYWNlTG9n
UGxheWVyKQorICAgICAgICAgICAgcmV0dXJuICJFcnJvcjogVHJhY2UgbG9nIHJlcGxheSBoYXMg
bm90IHN0YXJ0ZWQgeWV0LiI7CisKKyAgICAgICAgdmFyIHBhcnNlZFN0cmluZ0lkMSA9IHRoaXMu
X3BhcnNlU3RyaW5nSWQodHJhY2VMb2dJZCk7CisgICAgICAgIHZhciBwYXJzZWRTdHJpbmdJZDIg
PSB0aGlzLl9wYXJzZVN0cmluZ0lkKHN0cmluZ1Jlc291cmNlSWQpOworICAgICAgICBpZiAocGFy
c2VkU3RyaW5nSWQxLmluamVjdGVkU2NyaXB0SWQgIT09IHBhcnNlZFN0cmluZ0lkMi5pbmplY3Rl
ZFNjcmlwdElkKQorICAgICAgICAgICAgcmV0dXJuICJFcnJvcjogQm90aCBJRHMgbXVzdCBwb2lu
dCB0byB0aGUgc2FtZSBpbmplY3RlZCBzY3JpcHQuIjsKKworICAgICAgICB2YXIgcmVzb3VyY2VJ
ZCA9IHBhcnNlZFN0cmluZ0lkMi5yZXNvdXJjZUlkOworICAgICAgICBpZiAoIXJlc291cmNlSWQp
CisgICAgICAgICAgICByZXR1cm4gIkVycm9yOiBXcm9uZyByZXNvdXJjZSBJRDogIiArIHN0cmlu
Z1Jlc291cmNlSWQ7CisKKyAgICAgICAgdmFyIHJlc291cmNlID0gdHJhY2VMb2dQbGF5ZXIucmVw
bGF5V29ybGRSZXNvdXJjZShyZXNvdXJjZUlkKTsKKyAgICAgICAgaWYgKCFyZXNvdXJjZSkKKyAg
ICAgICAgICAgIHJldHVybiAiRXJyb3I6IFJlc291cmNlIHdpdGggdGhlIGdpdmVuIElEIGhhcyBu
b3QgYmVlbiByZXBsYXllZCB5ZXQuIjsKKworICAgICAgICByZXR1cm4gdGhpcy5fbWFrZVJlc291
cmNlU3RhdGUoc3RyaW5nUmVzb3VyY2VJZCwgdHJhY2VMb2dJZCwgcmVzb3VyY2UudG9EYXRhVVJM
KCkpOwogICAgIH0sCiAKICAgICAvKioKQEAgLTI5NzgsOSArMzA1NywzMyBAQCBJbmplY3RlZENh
bnZhc01vZHVsZS5wcm90b3R5cGUgPSB7CiAgICAgICogQHBhcmFtIHtudW1iZXJ9IHJlc291cmNl
SWQKICAgICAgKiBAcmV0dXJuIHtzdHJpbmd9CiAgICAgICovCi0gICAgX21ha2VDb250ZXh0SWQ6
IGZ1bmN0aW9uKHJlc291cmNlSWQpCisgICAgX21ha2VTdHJpbmdSZXNvdXJjZUlkOiBmdW5jdGlv
bihyZXNvdXJjZUlkKQorICAgIHsKKyAgICAgICAgcmV0dXJuICJ7XCJpbmplY3RlZFNjcmlwdElk
XCI6IiArIGluamVjdGVkU2NyaXB0SWQgKyAiLFwicmVzb3VyY2VJZFwiOiIgKyByZXNvdXJjZUlk
ICsgIn0iOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gc3RyaW5n
UmVzb3VyY2VJZAorICAgICAqIEBwYXJhbSB7c3RyaW5nfSB0cmFjZUxvZ0lkCisgICAgICogQHBh
cmFtIHtzdHJpbmd9IGRhdGFVUkwKKyAgICAgKiBAcmV0dXJuIHshT2JqZWN0fQorICAgICAqLwor
ICAgIF9tYWtlUmVzb3VyY2VTdGF0ZTogZnVuY3Rpb24oc3RyaW5nUmVzb3VyY2VJZCwgdHJhY2VM
b2dJZCwgZGF0YVVSTCkKKyAgICB7CisgICAgICAgIHJldHVybiB7CisgICAgICAgICAgICBpZDog
c3RyaW5nUmVzb3VyY2VJZCwKKyAgICAgICAgICAgIHRyYWNlTG9nSWQ6IHRyYWNlTG9nSWQsCisg
ICAgICAgICAgICBkYXRhVVJMOiBkYXRhVVJMCisgICAgICAgIH07CisgICAgfSwKKworICAgIC8q
KgorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBzdHJpbmdJZAorICAgICAqIEByZXR1cm4ge3tpbmpl
Y3RlZFNjcmlwdElkOiBudW1iZXIsIHRyYWNlTG9nSWQ6ID9udW1iZXIsIHJlc291cmNlSWQ6ID9u
dW1iZXJ9fQorICAgICAqLworICAgIF9wYXJzZVN0cmluZ0lkOiBmdW5jdGlvbihzdHJpbmdJZCkK
ICAgICB7Ci0gICAgICAgIHJldHVybiAie1wiaW5qZWN0ZWRTY3JpcHRJZFwiOiIgKyBpbmplY3Rl
ZFNjcmlwdElkICsgIixcImNhbnZhc0NvbnRleHRJZFwiOiIgKyByZXNvdXJjZUlkICsgIn0iOwor
ICAgICAgICByZXR1cm4gSW5qZWN0ZWRTY3JpcHRIb3N0LmV2YWx1YXRlKCIoIiArIHN0cmluZ0lk
ICsgIikiKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3IuanNvbiBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3IuanNv
bgppbmRleCBiMjVmOTkxN2NjMWY3MTJhZGQ0ZjNkYjc1NjQ0MDRkZjJiODI5ZTJjLi5kZmM3MWQ0
NzAzZTFkNjhiZTBkMGM0N2VjZTg4NmQzYTE0ODBjZDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3Rvci5qc29uCkBAIC0zMTk0LDkgKzMxOTQsMjYgQEAKICAgICAgICAgImhpZGRl
biI6IHRydWUsCiAgICAgICAgICJ0eXBlcyI6IFsKICAgICAgICAgICAgIHsKLSAgICAgICAgICAg
ICAgICAiaWQiOiAiQ29udGV4dElkIiwKKyAgICAgICAgICAgICAgICAiaWQiOiAiUmVzb3VyY2VJ
ZCIsCiAgICAgICAgICAgICAgICAgInR5cGUiOiAic3RyaW5nIiwKLSAgICAgICAgICAgICAgICAi
ZGVzY3JpcHRpb24iOiAiVW5pcXVlIGNvbnRleHQgaWRlbnRpZmllci4iCisgICAgICAgICAgICAg
ICAgImRlc2NyaXB0aW9uIjogIlVuaXF1ZSByZXNvdXJjZSBpZGVudGlmaWVyLiIKKyAgICAgICAg
ICAgIH0sCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgImlkIjogIlJlc291cmNlSW5m
byIsCisgICAgICAgICAgICAgICAgInR5cGUiOiAib2JqZWN0IiwKKyAgICAgICAgICAgICAgICAi
cHJvcGVydGllcyI6IFsKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJpZCIsICIkcmVm
IjogIlJlc291cmNlSWQiIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZGVzY3Jp
cHRpb24iLCAidHlwZSI6ICJzdHJpbmciIH0KKyAgICAgICAgICAgICAgICBdCisgICAgICAgICAg
ICB9LAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJpZCI6ICJSZXNvdXJjZVN0YXRl
IiwKKyAgICAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAorICAgICAgICAgICAgICAgICJw
cm9wZXJ0aWVzIjogWworICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImlkIiwgIiRyZWYi
OiAiUmVzb3VyY2VJZCIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ0cmFjZUxv
Z0lkIiwgIiRyZWYiOiAiVHJhY2VMb2dJZCIgfSwKKyAgICAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJkYXRhVVJMIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2Ny
aXB0aW9uIjogIlNjcmVlbnNob3QgZGF0YSBVUkwuIiB9CisgICAgICAgICAgICAgICAgXQogICAg
ICAgICAgICAgfSwKICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAiaWQiOiAiQ2FsbEFy
Z3VtZW50IiwKQEAgLTMyMDksNyArMzIyNiw3IEBACiAgICAgICAgICAgICAgICAgImlkIjogIkNh
bGwiLAogICAgICAgICAgICAgICAgICJ0eXBlIjogIm9iamVjdCIsCiAgICAgICAgICAgICAgICAg
InByb3BlcnRpZXMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiY29udGV4dElk
IiwgIiRyZWYiOiAiQ29udGV4dElkIiB9LAorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
ImNvbnRleHRJZCIsICIkcmVmIjogIlJlc291cmNlSWQiIH0sCiAgICAgICAgICAgICAgICAgICAg
IHsgIm5hbWUiOiAiZnVuY3Rpb25OYW1lIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjog
dHJ1ZSB9LAogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImFyZ3VtZW50cyIsICJ0eXBl
IjogImFycmF5IiwgIml0ZW1zIjogeyAiJHJlZiI6ICJDYWxsQXJndW1lbnQiIH0sICJvcHRpb25h
bCI6IHRydWUgfSwKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyZXN1bHQiLCAiJHJl
ZiI6ICJDYWxsQXJndW1lbnQiLCAib3B0aW9uYWwiOiB0cnVlIH0sCkBAIC0zMjkzLDcgKzMzMTAs
MjYgQEAKICAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzdGVwTm8iLCAidHlwZSI6ICJp
bnRlZ2VyIiB9CiAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAicmV0dXJucyI6
IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJzY3JlZW5zaG90RGF0YVVybCIsICJ0
eXBlIjogInN0cmluZyIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlc291cmNl
U3RhdGUiLCAiJHJlZiI6ICJSZXNvdXJjZVN0YXRlIiB9CisgICAgICAgICAgICAgICAgXQorICAg
ICAgICAgICAgfSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAibmFtZSI6ICJnZXRS
ZXNvdXJjZUluZm8iLAorICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAg
ICAgICAgICAgICB7ICJuYW1lIjogInJlc291cmNlSWQiLCAiJHJlZiI6ICJSZXNvdXJjZUlkIiB9
CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAicmV0dXJucyI6IFsKKyAgICAg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyZXNvdXJjZUluZm8iLCAiJHJlZiI6ICJSZXNvdXJj
ZUluZm8iIH0KKyAgICAgICAgICAgICAgICBdCisgICAgICAgICAgICB9LAorICAgICAgICAgICAg
eworICAgICAgICAgICAgICAgICJuYW1lIjogImdldFJlc291cmNlU3RhdGUiLAorICAgICAgICAg
ICAgICAgICJwYXJhbWV0ZXJzIjogWworICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInRy
YWNlTG9nSWQiLCAiJHJlZiI6ICJUcmFjZUxvZ0lkIiB9LAorICAgICAgICAgICAgICAgICAgICB7
ICJuYW1lIjogInJlc291cmNlSWQiLCAiJHJlZiI6ICJSZXNvdXJjZUlkIiB9CisgICAgICAgICAg
ICAgICAgXSwKKyAgICAgICAgICAgICAgICAicmV0dXJucyI6IFsKKyAgICAgICAgICAgICAgICAg
ICAgeyAibmFtZSI6ICJyZXNvdXJjZVN0YXRlIiwgIiRyZWYiOiAiUmVzb3VyY2VTdGF0ZSIgfQog
ICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgIH0KICAgICAgICAgXSwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDYW52YXNBZ2VudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ2FudmFzQWdlbnQuY3BwCmluZGV4IDQ4OTUw
OTFmYTE4YWZjMjU3NThiNjNlYmFlYTRhMDc1NjRkN2M0ZjYuLjVmZGVmYjcwZWNhYzFmODM0YWI5
YWRkMjg3ZGJlYmIwNzlhNTAyZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDYW52YXNBZ2VudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNhbnZhc0FnZW50LmNwcApAQCAtMTY0LDEzICsxNjQsMzEgQEAgdm9pZCBJbnNw
ZWN0b3JDYW52YXNBZ2VudDo6Z2V0VHJhY2VMb2coRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBj
b25zdCBTdHJpbmcmIHQKICAgICAgICAgbW9kdWxlLnRyYWNlTG9nKGVycm9yU3RyaW5nLCB0cmFj
ZUxvZ0lkLCBzdGFydE9mZnNldCwgJnRyYWNlTG9nKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JDYW52
YXNBZ2VudDo6cmVwbGF5VHJhY2VMb2coRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBjb25zdCBT
dHJpbmcmIHRyYWNlTG9nSWQsIGludCBzdGVwTm8sIFN0cmluZyogcmVzdWx0KQordm9pZCBJbnNw
ZWN0b3JDYW52YXNBZ2VudDo6cmVwbGF5VHJhY2VMb2coRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5n
LCBjb25zdCBTdHJpbmcmIHRyYWNlTG9nSWQsIGludCBzdGVwTm8sIFJlZlB0cjxUeXBlQnVpbGRl
cjo6Q2FudmFzOjpSZXNvdXJjZVN0YXRlPiYgcmVzdWx0KQogewogICAgIGlmICghY2hlY2tJc0Vu
YWJsZWQoZXJyb3JTdHJpbmcpKQogICAgICAgICByZXR1cm47CiAgICAgSW5qZWN0ZWRTY3JpcHRD
YW52YXNNb2R1bGUgbW9kdWxlID0gaW5qZWN0ZWRTY3JpcHRDYW52YXNNb2R1bGVGb3JUcmFjZUxv
Z0lkKGVycm9yU3RyaW5nLCB0cmFjZUxvZ0lkKTsKICAgICBpZiAoIW1vZHVsZS5oYXNOb1ZhbHVl
KCkpCi0gICAgICAgIG1vZHVsZS5yZXBsYXlUcmFjZUxvZyhlcnJvclN0cmluZywgdHJhY2VMb2dJ
ZCwgc3RlcE5vLCByZXN1bHQpOworICAgICAgICBtb2R1bGUucmVwbGF5VHJhY2VMb2coZXJyb3JT
dHJpbmcsIHRyYWNlTG9nSWQsIHN0ZXBObywgJnJlc3VsdCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9y
Q2FudmFzQWdlbnQ6OmdldFJlc291cmNlSW5mbyhFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGNv
bnN0IFN0cmluZyYgcmVzb3VyY2VJZCwgUmVmUHRyPFR5cGVCdWlsZGVyOjpDYW52YXM6OlJlc291
cmNlSW5mbz4mIHJlc3VsdCkKK3sKKyAgICBpZiAoIWNoZWNrSXNFbmFibGVkKGVycm9yU3RyaW5n
KSkKKyAgICAgICAgcmV0dXJuOworICAgIEluamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlIG1vZHVs
ZSA9IGluamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlRm9yVHJhY2VMb2dJZChlcnJvclN0cmluZywg
cmVzb3VyY2VJZCk7CisgICAgaWYgKCFtb2R1bGUuaGFzTm9WYWx1ZSgpKQorICAgICAgICBtb2R1
bGUucmVzb3VyY2VJbmZvKGVycm9yU3RyaW5nLCByZXNvdXJjZUlkLCAmcmVzdWx0KTsKK30KKwor
dm9pZCBJbnNwZWN0b3JDYW52YXNBZ2VudDo6Z2V0UmVzb3VyY2VTdGF0ZShFcnJvclN0cmluZyog
ZXJyb3JTdHJpbmcsIGNvbnN0IFN0cmluZyYgdHJhY2VMb2dJZCwgY29uc3QgU3RyaW5nJiByZXNv
dXJjZUlkLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OkNhbnZhczo6UmVzb3VyY2VTdGF0ZT4mIHJlc3Vs
dCkKK3sKKyAgICBpZiAoIWNoZWNrSXNFbmFibGVkKGVycm9yU3RyaW5nKSkKKyAgICAgICAgcmV0
dXJuOworICAgIEluamVjdGVkU2NyaXB0Q2FudmFzTW9kdWxlIG1vZHVsZSA9IGluamVjdGVkU2Ny
aXB0Q2FudmFzTW9kdWxlRm9yVHJhY2VMb2dJZChlcnJvclN0cmluZywgdHJhY2VMb2dJZCk7Cisg
ICAgaWYgKCFtb2R1bGUuaGFzTm9WYWx1ZSgpKQorICAgICAgICBtb2R1bGUucmVzb3VyY2VTdGF0
ZShlcnJvclN0cmluZywgdHJhY2VMb2dJZCwgcmVzb3VyY2VJZCwgJnJlc3VsdCk7CiB9CiAKIFNj
cmlwdE9iamVjdCBJbnNwZWN0b3JDYW52YXNBZ2VudDo6d3JhcENhbnZhczJEUmVuZGVyaW5nQ29u
dGV4dEZvckluc3RydW1lbnRhdGlvbihjb25zdCBTY3JpcHRPYmplY3QmIGNvbnRleHQpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ2FudmFzQWdlbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDYW52YXNBZ2VudC5oCmluZGV4IDUw
MjZjM2E3MjM3MmNkNGZiZDMwNGZmMzkwYzRmNDZiYWNhZjY4N2IuLjk5OGVhOTEwMGFjZTgzM2Nj
OTRjYWQxODNmNDRiNWRiNGQ0MjRiODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JDYW52YXNBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JDYW52YXNBZ2VudC5oCkBAIC04NCw3ICs4NCw5IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHZvaWQgc3RhcnRDYXB0dXJpbmcoRXJyb3JTdHJpbmcqLCBTdHJpbmcqKTsKICAgICB2
aXJ0dWFsIHZvaWQgc3RvcENhcHR1cmluZyhFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYpOwog
ICAgIHZpcnR1YWwgdm9pZCBnZXRUcmFjZUxvZyhFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYs
IGNvbnN0IGludCosIFJlZlB0cjxUeXBlQnVpbGRlcjo6Q2FudmFzOjpUcmFjZUxvZz4mKTsKLSAg
ICB2aXJ0dWFsIHZvaWQgcmVwbGF5VHJhY2VMb2coRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcm
LCBpbnQsIFN0cmluZyopOworICAgIHZpcnR1YWwgdm9pZCByZXBsYXlUcmFjZUxvZyhFcnJvclN0
cmluZyosIGNvbnN0IFN0cmluZyYsIGludCwgUmVmUHRyPFR5cGVCdWlsZGVyOjpDYW52YXM6OlJl
c291cmNlU3RhdGU+Jik7CisgICAgdmlydHVhbCB2b2lkIGdldFJlc291cmNlSW5mbyhFcnJvclN0
cmluZyosIGNvbnN0IFN0cmluZyYsIFJlZlB0cjxUeXBlQnVpbGRlcjo6Q2FudmFzOjpSZXNvdXJj
ZUluZm8+Jik7CisgICAgdmlydHVhbCB2b2lkIGdldFJlc291cmNlU3RhdGUoRXJyb3JTdHJpbmcq
LCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OkNhbnZh
czo6UmVzb3VyY2VTdGF0ZT4mKTsKIAogcHJpdmF0ZToKICAgICBJbnNwZWN0b3JDYW52YXNBZ2Vu
dChJbnN0cnVtZW50aW5nQWdlbnRzKiwgSW5zcGVjdG9yQ29tcG9zaXRlU3RhdGUqLCBQYWdlKiwg
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvZnJvbnQtZW5kL0NhbnZhc1Byb2ZpbGVWaWV3LmpzIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9DYW52YXNQcm9maWxlVmlldy5qcwppbmRleCA1MWYzZDNlMjU4OTlh
YmIxYWUyNTY3ZjIyZGMzMGQ2Yzg5ZDAyZDE5Li5iMzc4MTc3NDgyZjQ5MjExYWJlODZkZjkzMDM3
YWVkNDU4N2VkNjlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0NhbnZhc1Byb2ZpbGVWaWV3LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9m
cm9udC1lbmQvQ2FudmFzUHJvZmlsZVZpZXcuanMKQEAgLTE4Myw3ICsxODMsNyBAQCBXZWJJbnNw
ZWN0b3IuQ2FudmFzUHJvZmlsZVZpZXcucHJvdG90eXBlID0gewogICAgICAgICBpZiAoIWNhbGxO
b2RlKQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB2YXIgdGltZSA9IERhdGUubm93KCk7
Ci0gICAgICAgIGZ1bmN0aW9uIGRpZFJlcGxheVRyYWNlTG9nKGVycm9yLCBkYXRhVVJMKQorICAg
ICAgICBmdW5jdGlvbiBkaWRSZXBsYXlUcmFjZUxvZyhlcnJvciwgcmVzb3VyY2VTdGF0ZSkKICAg
ICAgICAgewogICAgICAgICAgICAgaWYgKGNhbGxOb2RlICE9PSB0aGlzLl9sb2dHcmlkLnNlbGVj
dGVkTm9kZSkKICAgICAgICAgICAgICAgICByZXR1cm47CkBAIC0xOTEsNyArMTkxLDcgQEAgV2Vi
SW5zcGVjdG9yLkNhbnZhc1Byb2ZpbGVWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGlm
IChlcnJvcikKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICB0aGlzLl9kZWJ1
Z0luZm9FbGVtZW50LnRleHRDb250ZW50ID0gIlJlcGxheSB0aW1lOiAiICsgKERhdGUubm93KCkg
LSB0aW1lKSArICJtcyI7Ci0gICAgICAgICAgICB0aGlzLl9yZXBsYXlJbWFnZUVsZW1lbnQuc3Jj
ID0gZGF0YVVSTDsKKyAgICAgICAgICAgIHRoaXMuX3JlcGxheUltYWdlRWxlbWVudC5zcmMgPSBy
ZXNvdXJjZVN0YXRlLmRhdGFVUkw7CiAgICAgICAgIH0KICAgICAgICAgdGhpcy5fZW5hYmxlV2Fp
dEljb24odHJ1ZSk7CiAgICAgICAgIENhbnZhc0FnZW50LnJlcGxheVRyYWNlTG9nKHRoaXMuX3Ry
YWNlTG9nSWQsIGNhbGxOb2RlLmluZGV4LCBkaWRSZXBsYXlUcmFjZUxvZy5iaW5kKHRoaXMpKTsK
</data>
<flag name="review"
          id="201836"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>