<?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>141860</bug_id>
          
          <creation_ts>2015-02-20 16:41:31 -0800</creation_ts>
          <short_desc>Loading the perf dashboard takes multiple seconds</short_desc>
          <delta_ts>2016-02-16 13:52:56 -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>Perf Dashboard</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>141237</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>kling</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1070881</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-02-20 16:41:31 -0800</bug_when>
    <thetext>Make it faster!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070893</commentid>
    <comment_count>1</comment_count>
      <attachid>247016</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-02-20 17:23:15 -0800</bug_when>
    <thetext>Created attachment 247016
Adds caches</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1070896</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-02-20 17:28:45 -0800</bug_when>
    <thetext>Committed r180468: &lt;http://trac.webkit.org/changeset/180468&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247016</attachid>
            <date>2015-02-20 17:23:15 -0800</date>
            <delta_ts>2015-02-20 17:27:38 -0800</delta_ts>
            <desc>Adds caches</desc>
            <filename>bug-141860-20150220172306.patch</filename>
            <type>text/plain</type>
            <size>33002</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkocmV2aXNpb24gMTgwNDY3KQorKysg
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDg1IEBACisyMDE1LTAyLTIwICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgor
CisgICAgICAgIExvYWRpbmcgdGhlIHBlcmYgZGFzaGJvYXJkIHRha2VzIG11bHRpcGxlIHNlY29u
ZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MTg2
MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMg
cGF0Y2ggaW50cm9kdWNlcyB0aGUgY2FjaGVzIG9mIEpTT04gZmlsZXMgcmV0dXJuZWQgYnkgL2Fw
aS8gaW4gL2RhdGEvIGRpcmVjdG9yeS4gSXQgYWxzbyByZWNvcmRzCisgICAgICAgIHRoZSBsYXN0
IHRpbWUgdGVzdF9ydW5zIHJvd3MgYXNzb2NpYXRlZCB3aXRoIHRoZSByZXF1ZXN0ZWQgcGxhdGZv
cm1zIGFuZCBtZXRyaWNzIGFyZSBpbnNlcnRlZCwgdXBkYXRlZCwKKyAgICAgICAgb3IgcmVtb3Zl
ZCBpbiB0aGUgY2FjaGVzIGFzIHdlbGwgYXMgdGhlIG1hbmlmZXN0IEpTT04gZmlsZXMgKCJsYXN0
IG1vZGlmaWVkIHRpbWUiKS4gQmVjYXVzZSB0aGUgbWFuaWZlc3QKKyAgICAgICAgaXMgcmVnZW5l
cmF0ZWQgZWFjaCB0aW1lIGEgbmV3IHRlc3QgcmVzdWx0IGlzIHJlcG9ydGVkLCB0aGUgZnJvbnQg
ZW5kIGNhbiBjb21wYXJlIGxhc3QgbW9kaWZpZWQgdGltZSBpbgorICAgICAgICB0aGUgbWFuaWZl
c3QgZmlsZSB3aXRoIHRoYXQgaW4gYSAvYXBpL3J1bnMgSlNPTiBjYWNoZSB0byBkZXRlY3QgdGhl
IHN0YWxlLW5lc3MuCisKKyAgICAgICAgTW9yZSBjb25jcmV0ZWx5LCB0aGUgZnJvbnQgZW5kIGZp
cnN0IG9wdGltaXN0aWNhbGx5IGZldGNoZXMgdGhlIEpTT04gaW4gL2RhdGEvLiBJZiB0aGUgY2Fj
aGUgZG9lc24ndCBleGl0CisgICAgICAgIG9yIHRoZSBsYXN0IG1vZGlmaWVkIHRpbWUgaW4gdGhl
IGNhY2hlIGRvZXNuJ3QgbWF0Y2ggd2l0aCB0aGF0IGluIHRoZSBtYW5pZmVzdCBmaWxlLCBpdCB3
b3VsZCBmZXRjaCBpdAorICAgICAgICBhZ2FpbiB2aWEgL2FwaS9ydW5zLiBJbiB0aGUgY2FzZSB0
aGUgY2FjaGUgZGlkIGV4aXN0LCB3ZSByZW5kZXIgdGhlIGNoYXJ0cyBiYXNlZCBvbiB0aGUgY2Fj
aGUgbWVhbndoaWxlLgorICAgICAgICBUaGlzIGRyYW1hdGljYWxseSByZWR1Y2VzIHRoZSBwZXJj
ZWl2ZWQgbGF0ZW5jeSBmb3IgdGhlIHBhZ2UgbG9hZCBzaW5jZSBjaGFydHMgYXJlIGRyYXduIGlt
bWVkaWF0ZWx5IHVzaW5nCisgICAgICAgIHRoZSBjYWNoZSBhbmQgd2Ugd291bGQgb25seSByZS1y
ZW5kZXIgdGhlIGNoYXJ0cyBhcyBuZXcgdXAtdG8tZGF0ZSBKU09OIGNvbWVzIGluLgorCisgICAg
ICAgIFRoaXMgcGF0Y2ggYWxzbyBjaGFuZ2VzIHRoZSBmb3JtYXQgb2YgcnVucyBKU09OcyBieSBw
dXNoaW5nIHRoZSBleGl0aW5nIHByb3BlcnRpZXMgaW50byAnY29uZmlndXJhdGlvbnMnCisgICAg
ICAgIGFuZCBhZGRpbmcgJ2xhc3RNb2RpZmllZCcgYW5kICdlbGFwc2VkVGltZScgYXQgdGhlIHRv
cCBsZXZlbC4KKworICAgICAgICAqIGluaXQtZGF0YWJhc2Uuc3FsOiBBZGRlZCBjb25maWdfcnVu
c19sYXN0X21vZGlmaWVkIHRvIHRlc3RfY29uZmlndXJhdGlvbnMgdGFibGUgYXMgd2VsbCBhcyBh
IHRyaWdnZXIgdG8KKyAgICAgICAgYXV0by11cGRhdGUgdGhpcyBjb2x1bW4gdXBvbiBjaGFuZ2Vz
IHRvIHRlc3RfcnVucyB0YWJsZS4KKworICAgICAgICAqIHB1YmxpYy9hZG1pbi90ZXN0LWNvbmZp
Z3VyYXRpb25zLnBocDoKKyAgICAgICAgKGFkZF9ydW4pOiBSZWdlbmVyYXRlIHRoZSBtYW5pZmVz
dCBmaWxlIHRvIGludmFsaWRhdGUgdGhlIC9hcGkvcnVucyBKU09OIGNhY2hlLgorICAgICAgICAo
ZGVsZXRlX3J1bik6IERpdHRvLgorCisgICAgICAgICogcHVibGljL2FwaS9ydW5zLnBocDoKKyAg
ICAgICAgKG1haW4pOiBGZXRjaCBhbGwgY29sdW1ucyBvZiB0ZXN0X2NvbmZpZ3VyYXRpb25zIHRh
YmxlIGluY2x1ZGluZyBjb25maWdfcnVuc19sYXN0X21vZGlmaWVkLiBBbHNvIGdlbmVyYXRlCisg
ICAgICAgIHRoZSBjYWNoZSBpbiAvZGF0YS8gZGlyZWN0b3J5LgorICAgICAgICAoUnVuc0dlbmVy
YXRvcjo6X19jb25zdHJ1Y3QpOiBDb21wdXRlIHRoZSBsYXN0IG1vZGlmaWVkIHRpbWUgZm9yIHRo
aXMgKHBsYXRmb3JtLCBtZXRyaWMpIHBhaXIuCisgICAgICAgIChSdW5zR2VuZXJhdG9yOjpyZXN1
bHRzKTogUHV0IHRoZSBvbGQgY29udGVudCBpbiAnY29uZmlndXJhdGlvbnMnIHByb3BlcnR5IGFu
ZCBpbmNsdWRlICdsYXN0TW9kaWZpZWQnIGFuZAorICAgICAgICAnZWxhcHNlZFRpbWUnIHByb3Bl
cnRpZXMuICdlbGFwc2VkVGltZScgaXMgYWRkZWQgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlcy4KKyAg
ICAgICAgKFJ1bnNHZW5lcmF0b3I6OmFkZF9ydW5zKToKKyAgICAgICAgKFJ1bnNHZW5lcmF0b3I6
OnBhcnNlX3JldmlzaW9uc19hcnJheSk6CisKKyAgICAgICAgKiBwdWJsaWMvaW5jbHVkZS9kYi5w
aHA6CisgICAgICAgIChDT05GSUdfRElSKTogQWRkZWQuCisgICAgICAgIChnZW5lcmF0ZV9kYXRh
X2ZpbGUpOiBBZGRlZCBiYXNlZCBvbiBNYW5pZmVzdEdlbmVyYXRvcjo6c3RvcmUuCisgICAgICAg
IChEYXRhYmFzZTo6dG9fanNfdGltZSk6IEV4dHJhY3RlZCBmcm9tIFJ1bnNHZW5lcmF0b3I6OmFk
ZF9ydW5zIHRvIHNoYXJlIGNvZGUuCisKKyAgICAgICAgKiBwdWJsaWMvaW5jbHVkZS9qc29uLWhl
YWRlci5waHA6CisgICAgICAgIChlY2hvX3N1Y2Nlc3MpOiBSZW5hbWVkIGZyb20gc3VjY2Vzc19q
c29uLiBSZXR1cm4gdGhlIHNlcmlhbGl6ZWQgSlNPTiBpbnN0ZWFkIG9mIGVjaG8naW5nIGl0IHNv
IHRoYXQgd2UgY2FuCisgICAgICAgIGdlbmVyYXRlIGNhY2hlcyBpbiAvYXBpL3J1bnMvLgorICAg
ICAgICAoZXhpdF93aXRoX3N1Y2Nlc3MpOgorCisgICAgICAgICogcHVibGljL2luY2x1ZGUvbWFu
aWZlc3QucGhwOgorICAgICAgICAoTWFuaWZlc3RHZW5lcmF0b3I6OmdlbmVyYXRlKTogQWRkZWQg
J2VsYXBzZWRUaW1lJyBwcm9wZXJ0eSBmb3IgdGhlIHRpbWUgdGFrZW4gdG8gZ2VuZXJhdGUgdGhl
IG1hbmlmZXN0LgorICAgICAgICBJdCBzZWVtcyBsaWtlIHdlJ3JlIGdlbmVyYXRpbmcgaXQgaW4g
MjAwLTMwMG1zIGZvciBub3cgc28gdGhhdCdzIGdvb2QuCisgICAgICAgIChNYW5pZmVzdEdlbmVy
YXRvcjo6c3RvcmUpOiBVc2VzIGdlbmVyYXRlX2RhdGFfZmlsZS4KKyAgICAgICAgKE1hbmlmZXN0
R2VuZXJhdG9yOjpwbGF0Zm9ybXMpOiBBZGRlZCAnbGFzdE1vZGlmaWVkJyBhcnJheSB0byBlYWNo
IHBsYXRmb3JtIGVudHJ5LiBUaGlzIGFycmF5IGNvbnRhaW5zIHRoZQorICAgICAgICBsYXN0IG1v
ZGlmaWVkIHRpbWUgZm9yIGVhY2ggKHBsYXRmb3JtLCBtZXRyaWMpIHBhaXIuCisKKyAgICAgICAg
KiBwdWJsaWMvaW5kZXguaHRtbDoKKyAgICAgICAgKGZldGNoVGVzdCk6IFVwZGF0ZWQgcGVyIHRo
ZSBmb3JtYXQgY2hhbmdlIGluIHJ1bnMgSlNPTi4KKworICAgICAgICAqIHB1YmxpYy92Mi9hcHAu
anM6CisgICAgICAgIChBcHAuUGFuZS5fZmV0Y2gpOiBGZXRjaCB0aGUgY2FjaGVkIEpTT04gZmly
c3QuIFJlZmV0Y2ggdGhlIHVuY2FjaGVkIHZlcnNpb24gaWYgaW5zdHJ1Y3RlZCBhcyBzdWNoLgor
ICAgICAgICAoQXBwLlBhbmUuX3VwZGF0ZUNoYXJ0RGF0YSk6IEV4dHJhY3RlZCBmcm9tIEFwcC5Q
YW5lLl9mZXRjaC4KKyAgICAgICAgKEFwcC5QYW5lLl9oYW5kbGVGZXRjaEVycm9ycyk6IERpdHRv
LgorCisgICAgICAgICogcHVibGljL3YyL2RhdGEuanM6CisgICAgICAgIChSdW5zRGF0YS5mZXRj
aFJ1bnMpOiBUYWtlcyB0aGUgZm91cnRoIGFyZ3VtZW50IGluZGljYXRpbmcgd2hldGhlciB3ZSBz
aG91bGQgZmV0Y2ggdGhlIGNhY2hlZCB2ZXJzaW9uIG9yIG5vdC4KKyAgICAgICAgVGhlIGNhY2hl
ZCBKU09OIGlzIGxvY2F0ZWQgaW4gL2RhdGEvIHdpdGggdGhlIHNhbWUgZmlsZW5hbWUuIFdoZW4g
ZmV0Y2hpbmcgYSBjYWNoZWQgSlNPTiByZXN1bHRzIGluIDQwNCwKKyAgICAgICAgZnVsZmlsbCB0
aGUgcHJvbWlzZSB3aXRoIG51bGwgYXMgdGhlIHJlc3VsdCBpbnN0ZWFkIG9mIHJlamVjdGluZyBp
dC4gVGhlIG9ubHkgY2xpZW50IG9mIHRoaXMgZnVuY3Rpb24gd2hpY2gKKyAgICAgICAgc2V0cyB1
c2VDYWNoZSB0byB0cnVlIGlzIEFwcC5NYW5pZmVzdC5mZXRjaFJ1bnNXaXRoUGxhdGZvcm1BbmRN
ZXRyaWMsIGFuZCBpdCBoYW5kbGVzIHRoaXMgc3BlY2lhbCBjYXNlLgorCisgICAgICAgICogcHVi
bGljL3YyL21hbmlmZXN0LmpzOgorICAgICAgICAoQXBwLkRhdGVBcnJheVRyYW5zZm9ybSk6IEFk
ZGVkLiBIYW5kbGVzIHRoZSBhcnJheSBvZiBsYXN0IG1vZGlmaWVkIGRhdGVzIGluIHBsYXRmb3Jt
IG9iamVjdHMuCisgICAgICAgIChBcHAuUGxhdGZvcm0ubGFzdE1vZGlmaWVkVGltZUZvck1ldHJp
Yyk6IEFkZGVkLiBSZXR1cm5zIHRoZSBsYXN0IG1vZGlmaWVkIGRhdGUgaW4gdGhlIG1hbmlmZXN0
IEpTT04uCisgICAgICAgIChBcHAuTWFuaWZlc3QuZmV0Y2hSdW5zV2l0aFBsYXRmb3JtQW5kTWV0
cmljKTogVGFrZXMgInVzZUNhY2hlIiBsaWtlIFJ1bnNEYXRhLmZldGNoUnVucy4gU2V0IHNob3Vs
ZFJlZmV0Y2gKKyAgICAgICAgdG8gdHJ1ZSBpZiByZXNwb25zZSBpcyBudWxsICh0aGUgY2FjaGUg
ZGlkbid0IGV4aXQpIG9yIHRoZSBjYWNoZSBpcyBvdXQtb2YtZGF0ZS4KKyAgICAgICAgKEFwcC5N
YW5pZmVzdC5fZm9ybWF0RmV0Y2hlZERhdGEpOiBFeHRyYWN0ZWQgZnJvbSBBcHAuTWFuaWZlc3Qu
ZmV0Y2hSdW5zV2l0aFBsYXRmb3JtQW5kTWV0cmljLgorCisgICAgICAgICogcnVuLXRlc3RzLmpz
OgorICAgICAgICAoaW5pdGlhbGl6ZURhdGFiYXNlKTogQXZvaWQgc3BsaXR0aW5nIGZ1bmN0aW9u
IGRlZmluaXRpb25zIGluIHRoZSBtaWRkbGUuCisKKyAgICAgICAgKiB0ZXN0cy9hcGktcmVwb3J0
LmpzOiBBZGRlZCB0ZXN0cyB0byB2ZXJpZnkgdGhhdCByZXBvcnRpbmcgbmV3IHRlc3QgcmVzdWx0
cyB1cGRhdGVzIHRoZSBsYXN0IG1vZGlmaWVkIHRpbWUKKyAgICAgICAgaW4gdGVzdF9jb25maWd1
cmF0aW9ucy4KKwogMjAxNS0wMi0yMCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBSRUdSRVNTSU9OKHIxODAzMzMpOiBBbmFseXNpcyB0YXNrcyBjYW4ndCBiZSBh
c3NvY2lhdGVkIHdpdGggYnVncwpJbmRleDogV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL2luaXQt
ZGF0YWJhc2Uuc3FsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9pbml0
LWRhdGFiYXNlLnNxbAkocmV2aXNpb24gMTgwNDUyKQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQu
b3JnL2luaXQtZGF0YWJhc2Uuc3FsCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw5ICszNSwxMSBAQCBD
UkVBVEUgVEFCTEUgcGxhdGZvcm1zICgKIAogQ1JFQVRFIFRBQkxFIHJlcG9zaXRvcmllcyAoCiAg
ICAgcmVwb3NpdG9yeV9pZCBzZXJpYWwgUFJJTUFSWSBLRVksCisgICAgcmVwb3NpdG9yeV9wYXJl
bnQgaW50ZWdlciBSRUZFUkVOQ0VTIHJlcG9zaXRvcmllcyBPTiBERUxFVEUgQ0FTQ0FERSwKICAg
ICByZXBvc2l0b3J5X25hbWUgdmFyY2hhcig2NCkgTk9UIE5VTEwsCiAgICAgcmVwb3NpdG9yeV91
cmwgdmFyY2hhcigxMDI0KSwKLSAgICByZXBvc2l0b3J5X2JsYW1lX3VybCB2YXJjaGFyKDEwMjQp
KTsKKyAgICByZXBvc2l0b3J5X2JsYW1lX3VybCB2YXJjaGFyKDEwMjQpLAorICAgIENPTlNUUkFJ
TlQgcmVwb3NpdG9yeV9uYW1lX211c3RfYmVfdW5pcXVlIFVOSVFVRShyZXBvc2l0b3J5X3BhcmVu
dCwgcmVwb3NpdG9yeV9uYW1lKSk7CiAKIENSRUFURSBUQUJMRSBidWdfdHJhY2tlcnMgKAogICAg
IHRyYWNrZXJfaWQgc2VyaWFsIFBSSU1BUlkgS0VZLApAQCAtMTIxLDYgKzEyMyw3IEBAIENSRUFU
RSBUQUJMRSB0ZXN0X2NvbmZpZ3VyYXRpb25zICgKICAgICBjb25maWdfcGxhdGZvcm0gaW50ZWdl
ciBOT1QgTlVMTCBSRUZFUkVOQ0VTIHBsYXRmb3JtcyBPTiBERUxFVEUgQ0FTQ0FERSwKICAgICBj
b25maWdfdHlwZSB0ZXN0X2NvbmZpZ3VyYXRpb25fdHlwZSBOT1QgTlVMTCwKICAgICBjb25maWdf
aXNfaW5fZGFzaGJvYXJkIGJvb2xlYW4gTk9UIE5VTEwgREVGQVVMVCBGQUxTRSwKKyAgICBjb25m
aWdfcnVuc19sYXN0X21vZGlmaWVkIHRpbWVzdGFtcCBOT1QgTlVMTCBERUZBVUxUIChDVVJSRU5U
X1RJTUVTVEFNUCBBVCBUSU1FIFpPTkUgJ1VUQycpLAogICAgIENPTlNUUkFJTlQgY29uZmlndXJh
dGlvbl9tdXN0X2JlX3VuaXF1ZSBVTklRVUUoY29uZmlnX21ldHJpYywgY29uZmlnX3BsYXRmb3Jt
LCBjb25maWdfdHlwZSkpOwogQ1JFQVRFIElOREVYIGNvbmZpZ19wbGF0Zm9ybV9pbmRleCBPTiB0
ZXN0X2NvbmZpZ3VyYXRpb25zKGNvbmZpZ19wbGF0Zm9ybSk7CiAKQEAgLTE0NCw2ICsxNDcsMjAg
QEAgQ1JFQVRFIFRBQkxFIHJ1bl9pdGVyYXRpb25zICgKICAgICBpdGVyYXRpb25fcmVsYXRpdmVf
dGltZSBmbG9hdCwKICAgICBQUklNQVJZIEtFWSAoaXRlcmF0aW9uX3J1biwgaXRlcmF0aW9uX29y
ZGVyKSk7CiAKK0NSRUFURSBPUiBSRVBMQUNFIEZVTkNUSU9OIHVwZGF0ZV9jb25maWdfbGFzdF9t
b2RpZmllZCgpIFJFVFVSTlMgVFJJR0dFUiBBUyAkdXBkYXRlX2NvbmZpZ19sYXN0X21vZGlmaWVk
JAorICAgIEJFR0lOCisgICAgICAgIElGIFRHX09QICE9ICdERUxFVEUnIFRIRU4KKyAgICAgICAg
ICAgIFVQREFURSB0ZXN0X2NvbmZpZ3VyYXRpb25zIFNFVCBjb25maWdfcnVuc19sYXN0X21vZGlm
aWVkID0gKENVUlJFTlRfVElNRVNUQU1QIEFUIFRJTUUgWk9ORSAnVVRDJykgV0hFUkUgY29uZmln
X2lkID0gTkVXLnJ1bl9jb25maWc7CisgICAgICAgIEVMU0UKKyAgICAgICAgICAgIFVQREFURSB0
ZXN0X2NvbmZpZ3VyYXRpb25zIFNFVCBjb25maWdfcnVuc19sYXN0X21vZGlmaWVkID0gKENVUlJF
TlRfVElNRVNUQU1QIEFUIFRJTUUgWk9ORSAnVVRDJykgV0hFUkUgY29uZmlnX2lkID0gT0xELnJ1
bl9jb25maWc7CisgICAgICAgIEVORCBJRjsKKyAgICAgICAgUkVUVVJOIE5VTEw7CisgICAgRU5E
OworJHVwZGF0ZV9jb25maWdfbGFzdF9tb2RpZmllZCQgTEFOR1VBR0UgcGxwZ3NxbDsKKworQ1JF
QVRFIFRSSUdHRVIgdXBkYXRlX2NvbmZpZ19sYXN0X21vZGlmaWVkIEFGVEVSIElOU0VSVCBPUiBV
UERBVEUgT1IgREVMRVRFIE9OIHRlc3RfcnVucworICAgIEZPUiBFQUNIIFJPVyBFWEVDVVRFIFBS
T0NFRFVSRSB1cGRhdGVfY29uZmlnX2xhc3RfbW9kaWZpZWQoKTsKKwogQ1JFQVRFIFRBQkxFIHJl
cG9ydHMgKAogICAgIHJlcG9ydF9pZCBzZXJpYWwgUFJJTUFSWSBLRVksCiAgICAgcmVwb3J0X2J1
aWxkZXIgaW50ZWdlciBOT1QgTlVMTCBSRUZFUkVOQ0VTIGJ1aWxkZXJzIE9OIERFTEVURSBSRVNU
UklDVCwKSW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9ydW4tdGVzdHMuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3J1bi10ZXN0cy5qcwkocmV2aXNpb24g
MTgwNDUyKQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3J1bi10ZXN0cy5qcwkod29ya2lu
ZyBjb3B5KQpAQCAtMTk5LDcgKzE5OSw3IEBAIGZ1bmN0aW9uIGluaXRpYWxpemVEYXRhYmFzZShj
bGllbnQsIGNhbGwKIAogICAgIHZhciBmaXJzdEVycm9yOwogICAgIHZhciBxdWV1ZSA9IG5ldyBU
YXNrUXVldWUoKTsKLSAgICBjb21tYVNlcGFyYXRlZFNxbFN0YXRlbWVudHMuc3BsaXQoLztccyov
KS5mb3JFYWNoKGZ1bmN0aW9uIChzdGF0ZW1lbnQpIHsKKyAgICBjb21tYVNlcGFyYXRlZFNxbFN0
YXRlbWVudHMuc3BsaXQoLztccyooPz1DUkVBVEV8RFJPUCkvKS5mb3JFYWNoKGZ1bmN0aW9uIChz
dGF0ZW1lbnQpIHsKICAgICAgICAgcXVldWUuYWRkVGFzayhmdW5jdGlvbiAoZXJyb3IsIGNhbGxi
YWNrKSB7CiAgICAgICAgICAgICBjbGllbnQucXVlcnkoc3RhdGVtZW50LCBmdW5jdGlvbiAoZXJy
b3IpIHsKICAgICAgICAgICAgICAgICBpZiAoZXJyb3IgJiYgIWZpcnN0RXJyb3IpCkluZGV4OiBX
ZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL2luZGV4Lmh0bWwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9pbmRleC5odG1sCShyZXZpc2lvbiAxODA0
NTIpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL2luZGV4Lmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTg0MCw3ICs4NDAsOCBAQCBmdW5jdGlvbiBmZXRjaFRlc3QocmVwb3NpdG9y
aWVzLCBidWlsZGVyCiAgICAgICAgIHJldHVybiBydW5zOwogICAgIH0KIAotICAgICQuZ2V0SlNP
TignYXBpL3J1bnMvJyArIGZpbGVuYW1lLCBmdW5jdGlvbiAoZGF0YSkgeworICAgICQuZ2V0SlNP
TignYXBpL3J1bnMvJyArIGZpbGVuYW1lLCBmdW5jdGlvbiAocmVzcG9uc2UpIHsKKyAgICAgICAg
dmFyIGRhdGEgPSByZXNwb25zZS5jb25maWd1cmF0aW9uczsKICAgICAgICAgY2FsbGJhY2soY3Jl
YXRlUnVuQW5kUmVzdWx0cyhkYXRhLmN1cnJlbnQpLCBjcmVhdGVSdW5BbmRSZXN1bHRzKGRhdGEu
YmFzZWxpbmUpLCBjcmVhdGVSdW5BbmRSZXN1bHRzKGRhdGEudGFyZ2V0KSk7CiAgICAgfSk7CiB9
CkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL2FkbWluL3Rlc3QtY29uZmln
dXJhdGlvbnMucGhwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJs
aWMvYWRtaW4vdGVzdC1jb25maWd1cmF0aW9ucy5waHAJKHJldmlzaW9uIDE4MDQ1MikKKysrIFdl
YnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvYWRtaW4vdGVzdC1jb25maWd1cmF0aW9ucy5w
aHAJKHdvcmtpbmcgY29weSkKQEAgLTI5LDYgKzI5LDggQEAgZnVuY3Rpb24gYWRkX3J1bigkbWV0
cmljX2lkLCAkcGxhdGZvcm1faQogCiAgICAgJGRiLT5jb21taXRfdHJhbnNhY3Rpb24oKTsKICAg
ICBub3RpY2UoIkFkZGVkIGEgYmFzZWxpbmUgdGVzdCBydW4uIik7CisKKyAgICByZWdlbmVyYXRl
X21hbmlmZXN0KCk7CiB9CiAKIGZ1bmN0aW9uIGRlbGV0ZV9ydW4oJHJ1bl9pZCwgJGJ1aWxkX2lk
KSB7CkBAIC02NSw2ICs2Nyw4IEBAIGZ1bmN0aW9uIGRlbGV0ZV9ydW4oJHJ1bl9pZCwgJGJ1aWxk
X2lkKSAKICAgICB9CiAKICAgICAkZGItPmNvbW1pdF90cmFuc2FjdGlvbigpOworCisgICAgcmVn
ZW5lcmF0ZV9tYW5pZmVzdCgpOwogfQogCiBpZiAoJGRiKSB7CkluZGV4OiBXZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvcHVibGljL2FwaS9ydW5zLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9w
ZXJmLndlYmtpdC5vcmcvcHVibGljL2FwaS9ydW5zLnBocAkocmV2aXNpb24gMTgwNDUyKQorKysg
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9hcGkvcnVucy5waHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM3LDcgKzM3LDcgQEAgZnVuY3Rpb24gbWFpbigkcGF0aCkgewogCiAgICAgJHBsYXRm
b3JtX2lkID0gaW50dmFsKCRwYXJ0c1swXSk7CiAgICAgJG1ldHJpY19pZCA9IGludHZhbCgkcGFy
dHNbMV0pOwotICAgICRjb25maWdfcm93cyA9ICRkYi0+cXVlcnlfYW5kX2ZldGNoX2FsbCgnU0VM
RUNUIGNvbmZpZ19pZCwgY29uZmlnX3R5cGUsIGNvbmZpZ19wbGF0Zm9ybSwgY29uZmlnX21ldHJp
YworICAgICRjb25maWdfcm93cyA9ICRkYi0+cXVlcnlfYW5kX2ZldGNoX2FsbCgnU0VMRUNUICoK
ICAgICAgICAgRlJPTSB0ZXN0X2NvbmZpZ3VyYXRpb25zIFdIRVJFIGNvbmZpZ19tZXRyaWMgPSAk
MSBBTkQgY29uZmlnX3BsYXRmb3JtID0gJDInLCBhcnJheSgkbWV0cmljX2lkLCAkcGxhdGZvcm1f
aWQpKTsKICAgICBpZiAoISRjb25maWdfcm93cykKICAgICAgICAgZXhpdF93aXRoX2Vycm9yKCdD
b25maWd1cmF0aW9uTm90Rm91bmQnKTsKQEAgLTUyLDcgKzUyLDcgQEAgZnVuY3Rpb24gbWFpbigk
cGF0aCkgewogICAgICAgICBoZWFkZXIoIkNhY2hlLUNvbnRyb2w6IG1heGFnZT0kbWF4YWdlIik7
CiAgICAgfQogCi0gICAgJGdlbmVyYXRvciA9IG5ldyBSdW5zR2VuZXJhdG9yKCk7CisgICAgJGdl
bmVyYXRvciA9IG5ldyBSdW5zR2VuZXJhdG9yKCRjb25maWdfcm93cyk7CiAKICAgICBmb3JlYWNo
ICgkY29uZmlnX3Jvd3MgYXMgJGNvbmZpZykgewogICAgICAgICBpZiAoJHRlc3RfZ3JvdXBfaWQp
CkBAIC02MiwxNSArNjIsMjggQEAgZnVuY3Rpb24gbWFpbigkcGF0aCkgewogICAgICAgICAkZ2Vu
ZXJhdG9yLT5hZGRfcnVucygkY29uZmlnWydjb25maWdfdHlwZSddLCAkcmF3X3J1bnMpOwogICAg
IH0KIAotICAgIGV4aXRfd2l0aF9zdWNjZXNzKCRnZW5lcmF0b3ItPnJlc3VsdHMoKSk7CisgICAg
JGNvbnRlbnQgPSBzdWNjZXNzX2pzb24oJGdlbmVyYXRvci0+cmVzdWx0cygpKTsKKyAgICBpZiAo
ISR0ZXN0X2dyb3VwX2lkKQorICAgICAgICBnZW5lcmF0ZV9kYXRhX2ZpbGUoIiRwbGF0Zm9ybV9p
ZC0kbWV0cmljX2lkLmpzb24iLCAkY29udGVudCk7CisgICAgZWNobyAkY29udGVudDsKIH0KIAog
Y2xhc3MgUnVuc0dlbmVyYXRvciB7Ci0gICAgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7CisgICAg
ZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGNvbmZpZ19yb3dzKSB7CiAgICAgICAgICR0aGlzLT5yZXN1
bHRzID0gYXJyYXkoKTsKKyAgICAgICAgJGxhc3RfbW9kaWZpZWRfdGltZXMgPSBhcnJheSgpOwor
ICAgICAgICBmb3JlYWNoICgkY29uZmlnX3Jvd3MgYXMgJHJvdykKKyAgICAgICAgICAgIGFycmF5
X3B1c2goJGxhc3RfbW9kaWZpZWRfdGltZXMsIERhdGFiYXNlOjp0b19qc190aW1lKCRyb3dbJ2Nv
bmZpZ19ydW5zX2xhc3RfbW9kaWZpZWQnXSkpOworICAgICAgICAkdGhpcy0+bGFzdF9tb2RpZmll
ZCA9IG1heCgkbGFzdF9tb2RpZmllZF90aW1lcyk7CisgICAgICAgICR0aGlzLT5zdGFydF90aW1l
ID0gbWljcm90aW1lKHRydWUpOwogICAgIH0KIAotICAgIGZ1bmN0aW9uICZyZXN1bHRzKCkgeyBy
ZXR1cm4gJHRoaXMtPnJlc3VsdHM7IH0KKyAgICBmdW5jdGlvbiByZXN1bHRzKCkgeworICAgICAg
ICByZXR1cm4gYXJyYXkoCisgICAgICAgICAgICAnY29uZmlndXJhdGlvbnMnID0+ICYkdGhpcy0+
cmVzdWx0cywKKyAgICAgICAgICAgICdsYXN0TW9kaWZpZWQnID0+ICR0aGlzLT5sYXN0X21vZGlm
aWVkLAorICAgICAgICAgICAgJ2VsYXBzZWRUaW1lJyA9PiBtaWNyb3RpbWUodHJ1ZSkgLSAkdGhp
cy0+c3RhcnRfdGltZSk7CisgICAgfQogCiAgICAgZnVuY3Rpb24gYWRkX3J1bnMoJG5hbWUsICRy
YXdfcnVucykgewogICAgICAgICAkZm9ybWF0dGVkX3J1bnMgPSBhcnJheSgpOwpAQCAtOTEsNyAr
MTA0LDcgQEAgY2xhc3MgUnVuc0dlbmVyYXRvciB7CiAgICAgICAgICAgICAnc3F1YXJlU3VtJyA9
PiBmbG9hdHZhbCgkcnVuWydydW5fc3F1YXJlX3N1bV9jYWNoZSddKSwKICAgICAgICAgICAgICdy
ZXZpc2lvbnMnID0+IHNlbGY6OnBhcnNlX3JldmlzaW9uc19hcnJheSgkcnVuWydyZXZpc2lvbnMn
XSksCiAgICAgICAgICAgICAnYnVpbGQnID0+ICRydW5bJ2J1aWxkX2lkJ10sCi0gICAgICAgICAg
ICAnYnVpbGRUaW1lJyA9PiBzdHJ0b3RpbWUoJHJ1blsnYnVpbGRfdGltZSddKSAqIDEwMDAsCisg
ICAgICAgICAgICAnYnVpbGRUaW1lJyA9PiBEYXRhYmFzZTo6dG9fanNfdGltZSgkcnVuWydidWls
ZF90aW1lJ10pLAogICAgICAgICAgICAgJ2J1aWxkTnVtYmVyJyA9PiBpbnR2YWwoJHJ1blsnYnVp
bGRfbnVtYmVyJ10pLAogICAgICAgICAgICAgJ2J1aWxkZXInID0+ICRydW5bJ2J1aWxkX2J1aWxk
ZXInXSk7CiAgICAgfQpAQCAtMTA0LDcgKzExNyw3IEBAIGNsYXNzIFJ1bnNHZW5lcmF0b3Igewog
ICAgICAgICAgICAgJG5hbWVfYW5kX3JldmlzaW9uID0gZXhwbG9kZSgnLCcsIHRyaW0oJGl0ZW0s
ICcoKScpKTsKICAgICAgICAgICAgIGlmICghJG5hbWVfYW5kX3JldmlzaW9uWzBdKQogICAgICAg
ICAgICAgICAgIGNvbnRpbnVlOwotICAgICAgICAgICAgJHRpbWUgPSBzdHJ0b3RpbWUodHJpbSgk
bmFtZV9hbmRfcmV2aXNpb25bMl0sICciJykpICogMTAwMDsKKyAgICAgICAgICAgICR0aW1lID0g
RGF0YWJhc2U6OnRvX2pzX3RpbWUodHJpbSgkbmFtZV9hbmRfcmV2aXNpb25bMl0sICciJykpOwog
ICAgICAgICAgICAgJHJldmlzaW9uc1t0cmltKCRuYW1lX2FuZF9yZXZpc2lvblswXSwgJyInKV0g
PSBhcnJheSh0cmltKCRuYW1lX2FuZF9yZXZpc2lvblsxXSwgJyInKSwgJHRpbWUpOwogICAgICAg
ICB9CiAgICAgICAgIHJldHVybiAkcmV2aXNpb25zOwpJbmRleDogV2Vic2l0ZXMvcGVyZi53ZWJr
aXQub3JnL3B1YmxpYy9pbmNsdWRlL2RiLnBocAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvcHVibGljL2luY2x1ZGUvZGIucGhwCShyZXZpc2lvbiAxODA0NTIpCisrKyBX
ZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL2luY2x1ZGUvZGIucGhwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNywxMyArMjcsMjEgQEAgZnVuY3Rpb24gYXJyYXlfc2V0X2RlZmF1bHQoJiRhcnJh
eSwgJGtleQogCiAkX2NvbmZpZyA9IE5VTEw7CiAKK2RlZmluZSgnQ09ORklHX0RJUicsIGRpcm5h
bWUoX19GSUxFX18pIC4gJy8uLi8uLi8nKTsKKwogZnVuY3Rpb24gY29uZmlnKCRrZXkpIHsKICAg
ICBnbG9iYWwgJF9jb25maWc7CiAgICAgaWYgKCEkX2NvbmZpZykKLSAgICAgICAgJF9jb25maWcg
PSBqc29uX2RlY29kZShmaWxlX2dldF9jb250ZW50cyhkaXJuYW1lKF9fRklMRV9fKSAuICcvLi4v
Li4vY29uZmlnLmpzb24nKSwgdHJ1ZSk7CisgICAgICAgICRfY29uZmlnID0ganNvbl9kZWNvZGUo
ZmlsZV9nZXRfY29udGVudHMoQ09ORklHX0RJUiAuICdjb25maWcuanNvbicpLCB0cnVlKTsKICAg
ICByZXR1cm4gJF9jb25maWdbJGtleV07CiB9CiAKK2Z1bmN0aW9uIGdlbmVyYXRlX2RhdGFfZmls
ZSgkZmlsZW5hbWUsICRjb250ZW50KSB7CisgICAgaWYgKCFhc3NlcnQoY3R5cGVfYWxudW0oc3Ry
X3JlcGxhY2UoYXJyYXkoJy0nLCAnXycsICcuJyksICcnLCAkZmlsZW5hbWUpKSkpCisgICAgICAg
IHJldHVybiBGQUxTRTsKKyAgICByZXR1cm4gZmlsZV9wdXRfY29udGVudHMoQ09ORklHX0RJUiAu
IGNvbmZpZygnZGF0YURpcmVjdG9yeScpIC4gJy8nIC4gJGZpbGVuYW1lLCAkY29udGVudCk7Cit9
CisKIGlmIChjb25maWcoJ2RlYnVnJykpIHsKICAgICBlcnJvcl9yZXBvcnRpbmcoRV9BTEwgfCBF
X1NUUklDVCk7CiAgICAgaW5pX3NldCgnZGlzcGxheV9lcnJvcnMnLCAnT24nKTsKQEAgLTU2LDYg
KzY0LDEwIEBAIGNsYXNzIERhdGFiYXNlCiAgICAgICAgIHJldHVybiAkdmFsdWUgPT0gJ3QnOwog
ICAgIH0KIAorICAgIHN0YXRpYyBmdW5jdGlvbiB0b19qc190aW1lKCR0aW1lX3N0cikgeworICAg
ICAgICByZXR1cm4gc3RydG90aW1lKCR0aW1lX3N0cikgKiAxMDAwOworICAgIH0KKwogICAgIGZ1
bmN0aW9uIGNvbm5lY3QoKSB7CiAgICAgICAgICRkYXRhYmFzZUNvbmZpZyA9IGNvbmZpZygnZGF0
YWJhc2UnKTsKICAgICAgICAgJHRoaXMtPmNvbm5lY3Rpb24gPSBwZ19jb25uZWN0KCdob3N0PScg
LiAkZGF0YWJhc2VDb25maWdbJ2hvc3QnXSAuICcgcG9ydD0nIC4gJGRhdGFiYXNlQ29uZmlnWydw
b3J0J10KSW5kZXg6IFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvaW5jbHVkZS9qc29u
LWhlYWRlci5waHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1Ymxp
Yy9pbmNsdWRlL2pzb24taGVhZGVyLnBocAkocmV2aXNpb24gMTgwNDUyKQorKysgV2Vic2l0ZXMv
cGVyZi53ZWJraXQub3JnL3B1YmxpYy9pbmNsdWRlL2pzb24taGVhZGVyLnBocAkod29ya2luZyBj
b3B5KQpAQCAtMTMsMTUgKzEzLDE1IEBAIGZ1bmN0aW9uIGV4aXRfd2l0aF9lcnJvcigkc3RhdHVz
LCAkZGV0YWkKICAgICBleGl0KDEpOwogfQogCi1mdW5jdGlvbiBlY2hvX3N1Y2Nlc3MoJGRldGFp
bHMgPSBhcnJheSgpKSB7CitmdW5jdGlvbiBzdWNjZXNzX2pzb24oJGRldGFpbHMgPSBhcnJheSgp
KSB7CiAgICAgJGRldGFpbHNbJ3N0YXR1cyddID0gJ09LJzsKICAgICBtZXJnZV9hZGRpdGlvbmFs
X2RldGFpbHMoJGRldGFpbHMpOwogCi0gICAgZWNobyBqc29uX2VuY29kZSgkZGV0YWlscyk7Cisg
ICAgcmV0dXJuIGpzb25fZW5jb2RlKCRkZXRhaWxzKTsKIH0KIAogZnVuY3Rpb24gZXhpdF93aXRo
X3N1Y2Nlc3MoJGRldGFpbHMgPSBhcnJheSgpKSB7Ci0gICAgZWNob19zdWNjZXNzKCRkZXRhaWxz
KTsKKyAgICBlY2hvIHN1Y2Nlc3NfanNvbigkZGV0YWlscyk7CiAgICAgZXhpdCgwKTsKIH0KIApJ
bmRleDogV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy9pbmNsdWRlL21hbmlmZXN0LnBo
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL2luY2x1ZGUv
bWFuaWZlc3QucGhwCShyZXZpc2lvbiAxODA0NTIpCisrKyBXZWJzaXRlcy9wZXJmLndlYmtpdC5v
cmcvcHVibGljL2luY2x1ZGUvbWFuaWZlc3QucGhwCSh3b3JraW5nIGNvcHkpCkBAIC0xMiw2ICsx
Miw4IEBAIGNsYXNzIE1hbmlmZXN0R2VuZXJhdG9yIHsKICAgICB9CiAKICAgICBmdW5jdGlvbiBn
ZW5lcmF0ZSgpIHsKKyAgICAgICAgJHN0YXJ0X3RpbWUgPSBtaWNyb3RpbWUodHJ1ZSk7CisKICAg
ICAgICAgJGNvbmZpZ190YWJsZSA9ICR0aGlzLT5kYi0+ZmV0Y2hfdGFibGUoJ3Rlc3RfY29uZmln
dXJhdGlvbnMnKTsKICAgICAgICAgJHBsYXRmb3JtX3RhYmxlID0gJHRoaXMtPmRiLT5mZXRjaF90
YWJsZSgncGxhdGZvcm1zJyk7CiAgICAgICAgICRyZXBvc2l0b3JpZXNfdGFibGUgPSAkdGhpcy0+
ZGItPmZldGNoX3RhYmxlKCdyZXBvc2l0b3JpZXMnKTsKQEAgLTM0LDExICszNiwxNCBAQCBjbGFz
cyBNYW5pZmVzdEdlbmVyYXRvciB7CiAgICAgICAgICAgICAnYnVnVHJhY2tlcnMnID0+ICR0aGlz
LT5idWdfdHJhY2tlcnMoJHJlcG9zaXRvcmllc190YWJsZSksCiAgICAgICAgICAgICAnZGFzaGJv
YXJkcycgPT4gY29uZmlnKCdkYXNoYm9hcmRzJyksCiAgICAgICAgICk7Ci0gICAgICAgIHJldHVy
biAkdGhpcy0+bWFuaWZlc3Q7CisKKyAgICAgICAgJHRoaXMtPm1hbmlmZXN0WydlbGFwc2VkVGlt
ZSddID0gKG1pY3JvdGltZSh0cnVlKSAtICRzdGFydF90aW1lKSAqIDEwMDA7CisKKyAgICAgICAg
cmV0dXJuIFRSVUU7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gc3RvcmUoKSB7Ci0gICAgICAgIHJl
dHVybiBmaWxlX3B1dF9jb250ZW50cyhzZWxmOjpNQU5JRkVTVF9QQVRILCBqc29uX2VuY29kZSgk
dGhpcy0+bWFuaWZlc3QpKTsKKyAgICAgICAgcmV0dXJuIGdlbmVyYXRlX2RhdGFfZmlsZSgnbWFu
aWZlc3QuanNvbicsIGpzb25fZW5jb2RlKCR0aGlzLT5tYW5pZmVzdCkpOwogICAgIH0KIAogICAg
IHByaXZhdGUgZnVuY3Rpb24gdGVzdHMoKSB7CkBAIC03NywxOSArODIsMzcgQEAgY2xhc3MgTWFu
aWZlc3RHZW5lcmF0b3IgewogICAgICAgICAgICAgICAgIGlmICgkaXNfZGFzaGJvYXJkICYmICEk
dGhpcy0+ZGItPmlzX3RydWUoJGNvbmZpZ19yb3dbJ2NvbmZpZ19pc19pbl9kYXNoYm9hcmQnXSkp
CiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogCisgICAgICAgICAgICAgICAgJG5ld19s
YXN0X21vZGlmaWVkID0gYXJyYXlfZ2V0KCRjb25maWdfcm93LCAnY29uZmlnX3J1bnNfbGFzdF9t
b2RpZmllZCcsIDApOworICAgICAgICAgICAgICAgIGlmICgkbmV3X2xhc3RfbW9kaWZpZWQpCisg
ICAgICAgICAgICAgICAgICAgICRuZXdfbGFzdF9tb2RpZmllZCA9IHN0cnRvdGltZSgkY29uZmln
X3Jvd1snY29uZmlnX3J1bnNfbGFzdF9tb2RpZmllZCddKSAqIDEwMDA7CisKICAgICAgICAgICAg
ICAgICAkcGxhdGZvcm0gPSAmYXJyYXlfZW5zdXJlX2l0ZW1faGFzX2FycmF5KCRwbGF0Zm9ybV9t
ZXRyaWNzLCAkY29uZmlnX3Jvd1snY29uZmlnX3BsYXRmb3JtJ10pOwotICAgICAgICAgICAgICAg
IGlmICghaW5fYXJyYXkoJGNvbmZpZ19yb3dbJ2NvbmZpZ19tZXRyaWMnXSwgJHBsYXRmb3JtKSkK
LSAgICAgICAgICAgICAgICAgICAgYXJyYXlfcHVzaCgkcGxhdGZvcm0sICRjb25maWdfcm93Wydj
b25maWdfbWV0cmljJ10pOworICAgICAgICAgICAgICAgICRtZXRyaWNzID0gJmFycmF5X2Vuc3Vy
ZV9pdGVtX2hhc19hcnJheSgkcGxhdGZvcm0sICdtZXRyaWNzJyk7CisgICAgICAgICAgICAgICAg
JGxhc3RfbW9kaWZpZWQgPSAmYXJyYXlfZW5zdXJlX2l0ZW1faGFzX2FycmF5KCRwbGF0Zm9ybSwg
J2xhc3RfbW9kaWZpZWQnKTsKKworICAgICAgICAgICAgICAgICRtZXRyaWNfaWQgPSAkY29uZmln
X3Jvd1snY29uZmlnX21ldHJpYyddOworICAgICAgICAgICAgICAgICRpbmRleCA9IGFycmF5X3Nl
YXJjaCgkbWV0cmljX2lkLCAkbWV0cmljcyk7CisgICAgICAgICAgICAgICAgaWYgKCRpbmRleCA9
PT0gRkFMU0UpIHsKKyAgICAgICAgICAgICAgICAgICAgYXJyYXlfcHVzaCgkbWV0cmljcywgJG1l
dHJpY19pZCk7CisgICAgICAgICAgICAgICAgICAgIGFycmF5X3B1c2goJGxhc3RfbW9kaWZpZWQs
ICRuZXdfbGFzdF9tb2RpZmllZCk7CisgICAgICAgICAgICAgICAgfSBlbHNlCisgICAgICAgICAg
ICAgICAgICAgICRsYXN0X21vZGlmaWVkWyRpbmRleF0gPSBtYXgoJGxhc3RfbW9kaWZpZWRbJGlu
ZGV4XSwgJG5ld19sYXN0X21vZGlmaWVkKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQorICAg
ICAgICAkY29uZmlndXJhdGlvbnMgPSBhcnJheSgpOworICAgICAgICAKICAgICAgICAgJHBsYXRm
b3JtcyA9IGFycmF5KCk7CiAgICAgICAgIGlmICgkcGxhdGZvcm1fdGFibGUpIHsKICAgICAgICAg
ICAgIGZvcmVhY2ggKCRwbGF0Zm9ybV90YWJsZSBhcyAkcGxhdGZvcm1fcm93KSB7CiAgICAgICAg
ICAgICAgICAgaWYgKCR0aGlzLT5kYi0+aXNfdHJ1ZSgkcGxhdGZvcm1fcm93WydwbGF0Zm9ybV9o
aWRkZW4nXSkpCiAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAg
ICRpZCA9ICRwbGF0Zm9ybV9yb3dbJ3BsYXRmb3JtX2lkJ107Ci0gICAgICAgICAgICAgICAgaWYg
KGFycmF5X2tleV9leGlzdHMoJGlkLCAkcGxhdGZvcm1fbWV0cmljcykpCi0gICAgICAgICAgICAg
ICAgICAgICRwbGF0Zm9ybXNbJGlkXSA9IGFycmF5KCduYW1lJyA9PiAkcGxhdGZvcm1fcm93Wydw
bGF0Zm9ybV9uYW1lJ10sICdtZXRyaWNzJyA9PiAkcGxhdGZvcm1fbWV0cmljc1skaWRdKTsKKyAg
ICAgICAgICAgICAgICBpZiAoYXJyYXlfa2V5X2V4aXN0cygkaWQsICRwbGF0Zm9ybV9tZXRyaWNz
KSkgeworICAgICAgICAgICAgICAgICAgICAkcGxhdGZvcm1zWyRpZF0gPSBhcnJheSgKKyAgICAg
ICAgICAgICAgICAgICAgICAgICduYW1lJyA9PiAkcGxhdGZvcm1fcm93WydwbGF0Zm9ybV9uYW1l
J10sCisgICAgICAgICAgICAgICAgICAgICAgICAnbWV0cmljcycgPT4gJHBsYXRmb3JtX21ldHJp
Y3NbJGlkXVsnbWV0cmljcyddLAorICAgICAgICAgICAgICAgICAgICAgICAgJ2xhc3RNb2RpZmll
ZCcgPT4gJHBsYXRmb3JtX21ldHJpY3NbJGlkXVsnbGFzdF9tb2RpZmllZCddKTsKKyAgICAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuICRwbGF0
Zm9ybXM7CkluZGV4OiBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YyL2FwcC5qcwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YyL2FwcC5qcwko
cmV2aXNpb24gMTgwNDUyKQorKysgV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92Mi9h
cHAuanMJKHdvcmtpbmcgY29weSkKQEAgLTM0OSwyNyArMzQ5LDQxIEBAIEFwcC5QYW5lID0gRW1i
ZXIuT2JqZWN0LmV4dGVuZCh7CiAgICAgICAgIGVsc2UgaWYgKCF0aGlzLl9pc1ZhbGlkSWQobWV0
cmljSWQpKQogICAgICAgICAgICAgdGhpcy5zZXQoJ2ZhaWx1cmUnLCBtZXRyaWNJZCA/ICdJbnZh
bGlkIG1ldHJpYyBpZDonICsgbWV0cmljSWQgOiAnTWV0cmljIGlkIHdhcyBub3Qgc3BlY2lmaWVk
Jyk7CiAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgdmFyIHNlbGYgPSB0aGlzOwotCi0gICAg
ICAgICAgICBBcHAuTWFuaWZlc3QuZmV0Y2hSdW5zV2l0aFBsYXRmb3JtQW5kTWV0cmljKHRoaXMu
Z2V0KCdzdG9yZScpLCBwbGF0Zm9ybUlkLCBtZXRyaWNJZCkudGhlbihmdW5jdGlvbiAocmVzdWx0
KSB7Ci0gICAgICAgICAgICAgICAgc2VsZi5zZXQoJ3BsYXRmb3JtJywgcmVzdWx0LnBsYXRmb3Jt
KTsKLSAgICAgICAgICAgICAgICBzZWxmLnNldCgnbWV0cmljJywgcmVzdWx0Lm1ldHJpYyk7Ci0g
ICAgICAgICAgICAgICAgc2VsZi5zZXQoJ2NoYXJ0RGF0YScsIHJlc3VsdC5kYXRhKTsKLSAgICAg
ICAgICAgICAgICBzZWxmLl91cGRhdGVNb3ZpbmdBdmVyYWdlQW5kRW52ZWxvcGUoKTsKLSAgICAg
ICAgICAgIH0sIGZ1bmN0aW9uIChyZXN1bHQpIHsKLSAgICAgICAgICAgICAgICBpZiAoIXJlc3Vs
dCB8fCB0eXBlb2YocmVzdWx0KSA9PT0gInN0cmluZyIpCi0gICAgICAgICAgICAgICAgICAgIHNl
bGYuc2V0KCdmYWlsdXJlJywgJ0ZhaWxlZCB0byBmZXRjaCB0aGUgSlNPTiB3aXRoIGFuIGVycm9y
OiAnICsgcmVzdWx0KTsKLSAgICAgICAgICAgICAgICBlbHNlIGlmICghcmVzdWx0LnBsYXRmb3Jt
KQotICAgICAgICAgICAgICAgICAgICBzZWxmLnNldCgnZmFpbHVyZScsICdDb3VsZCBub3QgZmlu
ZCB0aGUgcGxhdGZvcm0gIicgKyBwbGF0Zm9ybUlkICsgJyInKTsKLSAgICAgICAgICAgICAgICBl
bHNlIGlmICghcmVzdWx0Lm1ldHJpYykKLSAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXQoJ2Zh
aWx1cmUnLCAnQ291bGQgbm90IGZpbmQgdGhlIG1ldHJpYyAiJyArIG1ldHJpY0lkICsgJyInKTsK
LSAgICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuc2V0KCdmYWls
dXJlJywgJ0FuIGludGVybmFsIGVycm9yJyk7Ci0gICAgICAgICAgICB9KTsKLQorICAgICAgICAg
ICAgdmFyIHN0b3JlID0gdGhpcy5nZXQoJ3N0b3JlJyk7CisgICAgICAgICAgICB2YXIgdXBkYXRl
Q2hhcnREYXRhID0gdGhpcy5fdXBkYXRlQ2hhcnREYXRhLmJpbmQodGhpcyk7CisgICAgICAgICAg
ICB2YXIgaGFuZGxlRXJyb3JzID0gdGhpcy5faGFuZGxlRmV0Y2hFcnJvcnMuYmluZCh0aGlzLCBw
bGF0Zm9ybUlkLCBtZXRyaWNJZCk7CisgICAgICAgICAgICB2YXIgdXNlQ2FjaGUgPSB0cnVlOwor
ICAgICAgICAgICAgQXBwLk1hbmlmZXN0LmZldGNoUnVuc1dpdGhQbGF0Zm9ybUFuZE1ldHJpYyhz
dG9yZSwgcGxhdGZvcm1JZCwgbWV0cmljSWQsIG51bGwsIHVzZUNhY2hlKS50aGVuKGZ1bmN0aW9u
IChyZXN1bHQpIHsKKyAgICAgICAgICAgICAgICAgICAgdXBkYXRlQ2hhcnREYXRhKHJlc3VsdCk7
CisgICAgICAgICAgICAgICAgICAgIGlmICghcmVzdWx0LnNob3VsZFJlZmV0Y2gpCisgICAgICAg
ICAgICAgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgICAgICAgICAgICAgdXNlQ2FjaGUg
PSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgQXBwLk1hbmlmZXN0LmZldGNoUnVuc1dpdGhQ
bGF0Zm9ybUFuZE1ldHJpYyhzdG9yZSwgcGxhdGZvcm1JZCwgbWV0cmljSWQsIG51bGwsIHVzZUNh
Y2hlKQorICAgICAgICAgICAgICAgICAgICAgICAgLnRoZW4odXBkYXRlQ2hhcnREYXRhLCBoYW5k
bGVFcnJvcnMpOworICAgICAgICAgICAgICAgIH0sIGhhbmRsZUVycm9ycyk7CiAgICAgICAgICAg
ICB0aGlzLmZldGNoQW5hbHl0aWNSYW5nZXMoKTsKICAgICAgICAgfQogICAgIH0ub2JzZXJ2ZXMo
J3BsYXRmb3JtSWQnLCAnbWV0cmljSWQnKS5vbignaW5pdCcpLAorICAgIF91cGRhdGVDaGFydERh
dGE6IGZ1bmN0aW9uIChyZXN1bHQpCisgICAgeworICAgICAgICB0aGlzLnNldCgncGxhdGZvcm0n
LCByZXN1bHQucGxhdGZvcm0pOworICAgICAgICB0aGlzLnNldCgnbWV0cmljJywgcmVzdWx0Lm1l
dHJpYyk7CisgICAgICAgIHRoaXMuc2V0KCdjaGFydERhdGEnLCByZXN1bHQuZGF0YSk7CisgICAg
ICAgIHRoaXMuX3VwZGF0ZU1vdmluZ0F2ZXJhZ2VBbmRFbnZlbG9wZSgpOworICAgIH0sCisgICAg
X2hhbmRsZUZldGNoRXJyb3JzOiBmdW5jdGlvbiAocGxhdGZvcm1JZCwgbWV0cmljSWQsIHJlc3Vs
dCkKKyAgICB7CisgICAgICAgIGNvbnNvbGUubG9nKHBsYXRmb3JtSWQsIG1ldHJpY0lkLCByZXN1
bHQpCisgICAgICAgIGlmICghcmVzdWx0IHx8IHR5cGVvZihyZXN1bHQpID09PSAic3RyaW5nIikK
KyAgICAgICAgICAgIHRoaXMuc2V0KCdmYWlsdXJlJywgJ0ZhaWxlZCB0byBmZXRjaCB0aGUgSlNP
TiB3aXRoIGFuIGVycm9yOiAnICsgcmVzdWx0KTsKKyAgICAgICAgZWxzZSBpZiAoIXJlc3VsdC5w
bGF0Zm9ybSkKKyAgICAgICAgICAgIHRoaXMuc2V0KCdmYWlsdXJlJywgJ0NvdWxkIG5vdCBmaW5k
IHRoZSBwbGF0Zm9ybSAiJyArIHBsYXRmb3JtSWQgKyAnIicpOworICAgICAgICBlbHNlIGlmICgh
cmVzdWx0Lm1ldHJpYykKKyAgICAgICAgICAgIHRoaXMuc2V0KCdmYWlsdXJlJywgJ0NvdWxkIG5v
dCBmaW5kIHRoZSBtZXRyaWMgIicgKyBtZXRyaWNJZCArICciJyk7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIHRoaXMuc2V0KCdmYWlsdXJlJywgJ0FuIGludGVybmFsIGVycm9yJyk7CisgICAg
fSwKICAgICBmZXRjaEFuYWx5dGljUmFuZ2VzOiBmdW5jdGlvbiAoKQogICAgIHsKICAgICAgICAg
dmFyIHBsYXRmb3JtSWQgPSB0aGlzLmdldCgncGxhdGZvcm1JZCcpOwpJbmRleDogV2Vic2l0ZXMv
cGVyZi53ZWJraXQub3JnL3B1YmxpYy92Mi9kYXRhLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYnNpdGVz
L3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjIvZGF0YS5qcwkocmV2aXNpb24gMTgwNDUyKQorKysg
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92Mi9kYXRhLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0zMjUsMjcgKzMyNSwzNSBAQCBSdW5zRGF0YS5wcm90b3R5cGUudGltZVNlcmllc0J5QnVp
bGRUaW1lCiAKIC8vIEZJWE1FOiBXZSBuZWVkIHRvIGRldmlzZSBhIHdheSB0byBmZXRjaCBydW5z
IGluIG11bHRpcGxlIGNodW5rcyBzbyB0aGF0CiAvLyB3ZSBkb24ndCBoYXZlIHRvIGZldGNoIHRo
ZSBlbnRpcmUgdGltZSBzZXJpZXMgdG8ganVzdCBzaG93IHRoZSBsYXN0IDMgZGF5cy4KLVJ1bnNE
YXRhLmZldGNoUnVucyA9IGZ1bmN0aW9uIChwbGF0Zm9ybUlkLCBtZXRyaWNJZCwgdGVzdEdyb3Vw
SWQpCitSdW5zRGF0YS5mZXRjaFJ1bnMgPSBmdW5jdGlvbiAocGxhdGZvcm1JZCwgbWV0cmljSWQs
IHRlc3RHcm91cElkLCB1c2VDYWNoZSkKIHsKLSAgICB2YXIgZmlsZW5hbWUgPSBwbGF0Zm9ybUlk
ICsgJy0nICsgbWV0cmljSWQgKyAnLmpzb24nOworICAgIHZhciB1cmwgPSB1c2VDYWNoZSA/ICcu
Li9kYXRhLycgOiAnLi4vYXBpL3J1bnMvJzsKIAorICAgIHVybCArPSBwbGF0Zm9ybUlkICsgJy0n
ICsgbWV0cmljSWQgKyAnLmpzb24nOwogICAgIGlmICh0ZXN0R3JvdXBJZCkKLSAgICAgICAgZmls
ZW5hbWUgKz0gJz90ZXN0R3JvdXA9JyArIHRlc3RHcm91cElkOworICAgICAgICB1cmwgKz0gJz90
ZXN0R3JvdXA9JyArIHRlc3RHcm91cElkOwogCiAgICAgcmV0dXJuIG5ldyBFbWJlci5SU1ZQLlBy
b21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAkLmdldEpTT04oJy4u
L2FwaS9ydW5zLycgKyBmaWxlbmFtZSwgZnVuY3Rpb24gKGRhdGEpIHsKLSAgICAgICAgICAgIGlm
IChkYXRhLnN0YXR1cyAhPSAnT0snKSB7Ci0gICAgICAgICAgICAgICAgcmVqZWN0KGRhdGEuc3Rh
dHVzKTsKKyAgICAgICAgJC5nZXRKU09OKHVybCwgZnVuY3Rpb24gKHJlc3BvbnNlKSB7CisgICAg
ICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzICE9ICdPSycpIHsKKyAgICAgICAgICAgICAgICBy
ZWplY3QocmVzcG9uc2Uuc3RhdHVzKTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBkZWxldGUgZGF0YS5zdGF0dXM7CisgICAgICAgICAgICBkZWxl
dGUgcmVzcG9uc2Uuc3RhdHVzOwogCisgICAgICAgICAgICB2YXIgZGF0YSA9IHJlc3BvbnNlLmNv
bmZpZ3VyYXRpb25zOwogICAgICAgICAgICAgZm9yICh2YXIgY29uZmlnIGluIGRhdGEpCiAgICAg
ICAgICAgICAgICAgZGF0YVtjb25maWddID0gbmV3IFJ1bnNEYXRhKGRhdGFbY29uZmlnXSk7Cisg
ICAgICAgICAgICAKKyAgICAgICAgICAgIGlmIChyZXNwb25zZS5sYXN0TW9kaWZpZWQpCisgICAg
ICAgICAgICAgICAgcmVzcG9uc2UubGFzdE1vZGlmaWVkID0gbmV3IERhdGUocmVzcG9uc2UubGFz
dE1vZGlmaWVkKTsKIAotICAgICAgICAgICAgcmVzb2x2ZShkYXRhKTsKKyAgICAgICAgICAgIHJl
c29sdmUocmVzcG9uc2UpOwogICAgICAgICB9KS5mYWlsKGZ1bmN0aW9uICh4aHIsIHN0YXR1cywg
ZXJyb3IpIHsKLSAgICAgICAgICAgIHJlamVjdCh4aHIuc3RhdHVzICsgKGVycm9yID8gJywgJyAr
IGVycm9yIDogJycpKTsKKyAgICAgICAgICAgIGlmICh4aHIuc3RhdHVzID09IDQwNCAmJiB1c2VD
YWNoZSkKKyAgICAgICAgICAgICAgICByZXNvbHZlKG51bGwpOworICAgICAgICAgICAgZWxzZQor
ICAgICAgICAgICAgICAgIHJlamVjdCh4aHIuc3RhdHVzICsgKGVycm9yID8gJywgJyArIGVycm9y
IDogJycpKTsKICAgICAgICAgfSkKICAgICB9KTsKIH0KSW5kZXg6IFdlYnNpdGVzL3BlcmYud2Vi
a2l0Lm9yZy9wdWJsaWMvdjIvbWFuaWZlc3QuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvcGVy
Zi53ZWJraXQub3JnL3B1YmxpYy92Mi9tYW5pZmVzdC5qcwkocmV2aXNpb24gMTgwNDUyKQorKysg
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92Mi9tYW5pZmVzdC5qcwkod29ya2luZyBj
b3B5KQpAQCAtMzQsNyArMzQsNyBAQCBBcHAuTWV0cmljID0gQXBwLk5hbWVMYWJlbE1vZGVsLmV4
dGVuZCh7CiAgICAgfS5wcm9wZXJ0eSgnbmFtZScsICd0ZXN0JyksCiAgICAgZnVsbE5hbWU6IGZ1
bmN0aW9uICgpCiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy5nZXQoJ3BhdGgnKS5qb2luKCcg
XHUyMjBiICcpIC8qICZuaTsgKi8KKyAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KCdwYXRoJykuam9p
bignIFx1MjIwYiAnKSAvKiAmaW47ICovCiAgICAgICAgICAgICArICcgOiAnICsgdGhpcy5nZXQo
J2xhYmVsJyk7CiAgICAgfS5wcm9wZXJ0eSgncGF0aCcsICdsYWJlbCcpLAogfSk7CkBAIC01NCwx
NiArNTQsMzEgQEAgQXBwLkJ1Z1RyYWNrZXIgPSBBcHAuTmFtZUxhYmVsTW9kZWwuZXh0ZQogICAg
IHJlcG9zaXRvcmllczogRFMuaGFzTWFueSgncmVwb3NpdG9yeScpLAogfSk7CiAKK0FwcC5EYXRl
QXJyYXlUcmFuc2Zvcm0gPSBEUy5UcmFuc2Zvcm0uZXh0ZW5kKHsKKyAgICBkZXNlcmlhbGl6ZTog
ZnVuY3Rpb24gKHNlcmlhbGl6ZWQpCisgICAgeworICAgICAgICByZXR1cm4gc2VyaWFsaXplZC5t
YXAoZnVuY3Rpb24gKHRpbWUpIHsgcmV0dXJuIG5ldyBEYXRlKHRpbWUpOyB9KTsKKyAgICB9Cit9
KTsKKwogQXBwLlBsYXRmb3JtID0gQXBwLk5hbWVMYWJlbE1vZGVsLmV4dGVuZCh7CiAgICAgX21l
dHJpY1NldDogbnVsbCwKICAgICBfdGVzdFNldDogbnVsbCwKICAgICBtZXRyaWNzOiBEUy5oYXNN
YW55KCdtZXRyaWMnKSwKKyAgICBsYXN0TW9kaWZpZWQ6IERTLmF0dHIoJ2RhdGVBcnJheScpLAog
ICAgIGNvbnRhaW5zTWV0cmljOiBmdW5jdGlvbiAobWV0cmljKQogICAgIHsKICAgICAgICAgaWYg
KCF0aGlzLl9tZXRyaWNTZXQpCiAgICAgICAgICAgICB0aGlzLl9tZXRyaWNTZXQgPSBuZXcgRW1i
ZXIuU2V0KHRoaXMuZ2V0KCdtZXRyaWNzJykpOwogICAgICAgICByZXR1cm4gdGhpcy5fbWV0cmlj
U2V0LmNvbnRhaW5zKG1ldHJpYyk7CiAgICAgfSwKKyAgICBsYXN0TW9kaWZpZWRUaW1lRm9yTWV0
cmljOiBmdW5jdGlvbiAobWV0cmljKQorICAgIHsKKyAgICAgICAgdmFyIGluZGV4ID0gdGhpcy5n
ZXQoJ21ldHJpY3MnKS5pbmRleE9mKG1ldHJpYyk7CisgICAgICAgIGlmIChpbmRleCA8IDApCisg
ICAgICAgICAgICByZXR1cm4gbnVsbDsKKyAgICAgICAgcmV0dXJuIHRoaXMuZ2V0KCdsYXN0TW9k
aWZpZWQnKS5vYmplY3RBdChpbmRleCk7CisgICAgfSwKICAgICBjb250YWluc1Rlc3Q6IGZ1bmN0
aW9uICh0ZXN0KQogICAgIHsKICAgICAgICAgaWYgKCF0aGlzLl90ZXN0U2V0KSB7CkBAIC0yNzks
NDkgKzI5NCw1OCBAQCBBcHAuTWFuaWZlc3QgPSBFbWJlci5Db250cm9sbGVyLmV4dGVuZCh7CiAg
ICAgICAgIGRhc2hib2FyZHMuZm9yRWFjaChmdW5jdGlvbiAoZGFzaGJvYXJkKSB7IHNlbGYuX2Rh
c2hib2FyZEJ5TmFtZVtkYXNoYm9hcmQuZ2V0KCduYW1lJyldID0gZGFzaGJvYXJkOyB9KTsKICAg
ICAgICAgdGhpcy5fZGVmYXVsdERhc2hib2FyZE5hbWUgPSBkYXNoYm9hcmRzLmxlbmd0aCA/IGRh
c2hib2FyZHNbMF0uZ2V0KCduYW1lJykgOiBudWxsOwogICAgIH0sCi0gICAgZmV0Y2hSdW5zV2l0
aFBsYXRmb3JtQW5kTWV0cmljOiBmdW5jdGlvbiAoc3RvcmUsIHBsYXRmb3JtSWQsIG1ldHJpY0lk
LCB0ZXN0R3JvdXBJZCkKKyAgICBmZXRjaFJ1bnNXaXRoUGxhdGZvcm1BbmRNZXRyaWM6IGZ1bmN0
aW9uIChzdG9yZSwgcGxhdGZvcm1JZCwgbWV0cmljSWQsIHRlc3RHcm91cElkLCB1c2VDYWNoZSkK
ICAgICB7CisgICAgICAgIEVtYmVyLmFzc2VydCgiQ2FuJ3QgY2FjaGUgcmVzdWx0cyBmb3IgdGVz
dCBncm91cHMiLCAhKHRlc3RHcm91cElkICYmIHVzZUNhY2hlKSk7CisgICAgICAgIHZhciBzZWxm
ID0gdGhpczsKICAgICAgICAgcmV0dXJuIEVtYmVyLlJTVlAuYWxsKFsKLSAgICAgICAgICAgIFJ1
bnNEYXRhLmZldGNoUnVucyhwbGF0Zm9ybUlkLCBtZXRyaWNJZCwgdGVzdEdyb3VwSWQpLAorICAg
ICAgICAgICAgUnVuc0RhdGEuZmV0Y2hSdW5zKHBsYXRmb3JtSWQsIG1ldHJpY0lkLCB0ZXN0R3Jv
dXBJZCwgdXNlQ2FjaGUpLAogICAgICAgICAgICAgdGhpcy5mZXRjaChzdG9yZSksCiAgICAgICAg
IF0pLnRoZW4oZnVuY3Rpb24gKHZhbHVlcykgewotICAgICAgICAgICAgdmFyIHJ1bnMgPSB2YWx1
ZXNbMF07CisgICAgICAgICAgICB2YXIgcmVzcG9uc2UgPSB2YWx1ZXNbMF07CiAKICAgICAgICAg
ICAgIHZhciBwbGF0Zm9ybSA9IEFwcC5NYW5pZmVzdC5wbGF0Zm9ybShwbGF0Zm9ybUlkKTsKICAg
ICAgICAgICAgIHZhciBtZXRyaWMgPSBBcHAuTWFuaWZlc3QubWV0cmljKG1ldHJpY0lkKTsKIAot
ICAgICAgICAgICAgdmFyIHN1ZmZpeCA9IG1ldHJpYy5nZXQoJ25hbWUnKS5tYXRjaCgnKFtBLXpd
W2Etel0rfEZyYW1lUmF0ZSkkJylbMF07Ci0gICAgICAgICAgICB2YXIgdW5pdCA9IHsKLSAgICAg
ICAgICAgICAgICAnRnJhbWVSYXRlJzogJ2ZwcycsCi0gICAgICAgICAgICAgICAgJ1J1bnMnOiAn
L3MnLAotICAgICAgICAgICAgICAgICdUaW1lJzogJ21zJywKLSAgICAgICAgICAgICAgICAnTWFs
bG9jJzogJ2J5dGVzJywKLSAgICAgICAgICAgICAgICAnSGVhcCc6ICdieXRlcycsCi0gICAgICAg
ICAgICAgICAgJ0FsbG9jYXRpb25zJzogJ2J5dGVzJwotICAgICAgICAgICAgfVtzdWZmaXhdOwot
ICAgICAgICAgICAgdmFyIHNtYWxsZXJJc0JldHRlciA9IHVuaXQgIT0gJ2ZwcycgJiYgdW5pdCAh
PSAnL3MnOyAvLyBBc3N1bWUgc21hbGxlciBpcyBiZXR0ZXIgZm9yIHVuaXQtbGVzcyBtZXRyaWNz
LgotCi0gICAgICAgICAgICB2YXIgdXNlU0kgPSB1bml0ID09ICdieXRlcyc7Ci0gICAgICAgICAg
ICB2YXIgdW5pdFN1ZmZpeCA9IHVuaXQgPyAnICcgKyB1bml0IDogJyc7Ci0gICAgICAgICAgICB2
YXIgZGVsdGFGb3JtYXR0ZXJXaXRob3V0U2lnbiA9IHVzZVNJID8gZDMuZm9ybWF0KCcuMnMnKSA6
IGQzLmZvcm1hdCgnLjJnJyk7CiAgICAgICAgICAgICByZXR1cm4gewogICAgICAgICAgICAgICAg
IHBsYXRmb3JtOiBwbGF0Zm9ybSwKICAgICAgICAgICAgICAgICBtZXRyaWM6IG1ldHJpYywKLSAg
ICAgICAgICAgICAgICBkYXRhOiB7Ci0gICAgICAgICAgICAgICAgICAgIGN1cnJlbnQ6IHJ1bnMu
Y3VycmVudC50aW1lU2VyaWVzQnlDb21taXRUaW1lKCksCi0gICAgICAgICAgICAgICAgICAgIGJh
c2VsaW5lOiBydW5zLmJhc2VsaW5lID8gcnVucy5iYXNlbGluZS50aW1lU2VyaWVzQnlDb21taXRU
aW1lKCkgOiBudWxsLAotICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IHJ1bnMudGFyZ2V0ID8g
cnVucy50YXJnZXQudGltZVNlcmllc0J5Q29tbWl0VGltZSgpIDogbnVsbCwKLSAgICAgICAgICAg
ICAgICAgICAgdW5pdDogdW5pdCwKLSAgICAgICAgICAgICAgICAgICAgZm9ybWF0V2l0aFVuaXQ6
IGZ1bmN0aW9uICh2YWx1ZSkgeyByZXR1cm4gdGhpcy5mb3JtYXR0ZXIodmFsdWUpICsgdW5pdFN1
ZmZpeDsgfSwKLSAgICAgICAgICAgICAgICAgICAgZm9ybWF0V2l0aERlbHRhQW5kVW5pdDogZnVu
Y3Rpb24gKHZhbHVlLCBkZWx0YSkKLSAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuIHRoaXMuZm9ybWF0dGVyKHZhbHVlKSArIChkZWx0YSAmJiAhaXNO
YU4oZGVsdGEpID8gJyBcdTAwYjEgJyArIGRlbHRhRm9ybWF0dGVyV2l0aG91dFNpZ24oZGVsdGEp
IDogJycpICsgdW5pdFN1ZmZpeDsKLSAgICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg
ICAgICAgICAgZm9ybWF0dGVyOiB1c2VTSSA/IGQzLmZvcm1hdCgnLjRzJykgOiBkMy5mb3JtYXQo
Jy40ZycpLAotICAgICAgICAgICAgICAgICAgICBkZWx0YUZvcm1hdHRlcjogdXNlU0kgPyBkMy5m
b3JtYXQoJysuMnMnKSA6IGQzLmZvcm1hdCgnKy4yZycpLAotICAgICAgICAgICAgICAgICAgICBz
bWFsbGVySXNCZXR0ZXI6IHNtYWxsZXJJc0JldHRlciwKLSAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgZGF0YTogcmVzcG9uc2UgPyBzZWxmLl9mb3JtYXRGZXRjaGVkRGF0YShtZXRy
aWMuZ2V0KCduYW1lJyksIHJlc3BvbnNlLmNvbmZpZ3VyYXRpb25zKSA6IG51bGwsCisgICAgICAg
ICAgICAgICAgc2hvdWxkUmVmZXRjaDogIXJlc3BvbnNlIHx8ICtyZXNwb25zZS5sYXN0TW9kaWZp
ZWQgPCArcGxhdGZvcm0ubGFzdE1vZGlmaWVkVGltZUZvck1ldHJpYyhtZXRyaWMpLAogICAgICAg
ICAgICAgfTsKICAgICAgICAgfSk7CiAgICAgfSwKKyAgICBfZm9ybWF0RmV0Y2hlZERhdGE6IGZ1
bmN0aW9uIChtZXRyaWNOYW1lLCBjb25maWd1cmF0aW9ucykKKyAgICB7CisgICAgICAgIHZhciBz
dWZmaXggPSBtZXRyaWNOYW1lLm1hdGNoKCcoW0Etel1bYS16XSt8RnJhbWVSYXRlKSQnKVswXTsK
KyAgICAgICAgdmFyIHVuaXQgPSB7CisgICAgICAgICAgICAnRnJhbWVSYXRlJzogJ2ZwcycsCisg
ICAgICAgICAgICAnUnVucyc6ICcvcycsCisgICAgICAgICAgICAnVGltZSc6ICdtcycsCisgICAg
ICAgICAgICAnTWFsbG9jJzogJ2J5dGVzJywKKyAgICAgICAgICAgICdIZWFwJzogJ2J5dGVzJywK
KyAgICAgICAgICAgICdBbGxvY2F0aW9ucyc6ICdieXRlcycKKyAgICAgICAgfVtzdWZmaXhdOwor
CisgICAgICAgIHZhciBzbWFsbGVySXNCZXR0ZXIgPSB1bml0ICE9ICdmcHMnICYmIHVuaXQgIT0g
Jy9zJzsgLy8gQXNzdW1lIHNtYWxsZXIgaXMgYmV0dGVyIGZvciB1bml0LWxlc3MgbWV0cmljcy4K
KworICAgICAgICB2YXIgdXNlU0kgPSB1bml0ID09ICdieXRlcyc7CisgICAgICAgIHZhciB1bml0
U3VmZml4ID0gdW5pdCA/ICcgJyArIHVuaXQgOiAnJzsKKyAgICAgICAgdmFyIGRlbHRhRm9ybWF0
dGVyV2l0aG91dFNpZ24gPSB1c2VTSSA/IGQzLmZvcm1hdCgnLjJzJykgOiBkMy5mb3JtYXQoJy4y
ZycpOworCisgICAgICAgIHJldHVybiB7CisgICAgICAgICAgICBjdXJyZW50OiBjb25maWd1cmF0
aW9ucy5jdXJyZW50LnRpbWVTZXJpZXNCeUNvbW1pdFRpbWUoKSwKKyAgICAgICAgICAgIGJhc2Vs
aW5lOiBjb25maWd1cmF0aW9ucy5iYXNlbGluZSA/IGNvbmZpZ3VyYXRpb25zLmJhc2VsaW5lLnRp
bWVTZXJpZXNCeUNvbW1pdFRpbWUoKSA6IG51bGwsCisgICAgICAgICAgICB0YXJnZXQ6IGNvbmZp
Z3VyYXRpb25zLnRhcmdldCA/IGNvbmZpZ3VyYXRpb25zLnRhcmdldC50aW1lU2VyaWVzQnlDb21t
aXRUaW1lKCkgOiBudWxsLAorICAgICAgICAgICAgdW5pdDogdW5pdCwKKyAgICAgICAgICAgIGZv
cm1hdFdpdGhVbml0OiBmdW5jdGlvbiAodmFsdWUpIHsgcmV0dXJuIHRoaXMuZm9ybWF0dGVyKHZh
bHVlKSArIHVuaXRTdWZmaXg7IH0sCisgICAgICAgICAgICBmb3JtYXRXaXRoRGVsdGFBbmRVbml0
OiBmdW5jdGlvbiAodmFsdWUsIGRlbHRhKQorICAgICAgICAgICAgeworICAgICAgICAgICAgICAg
IHJldHVybiB0aGlzLmZvcm1hdHRlcih2YWx1ZSkgKyAoZGVsdGEgJiYgIWlzTmFOKGRlbHRhKSA/
ICcgXHUwMGIxICcgKyBkZWx0YUZvcm1hdHRlcldpdGhvdXRTaWduKGRlbHRhKSA6ICcnKSArIHVu
aXRTdWZmaXg7CisgICAgICAgICAgICB9LAorICAgICAgICAgICAgZm9ybWF0dGVyOiB1c2VTSSA/
IGQzLmZvcm1hdCgnLjRzJykgOiBkMy5mb3JtYXQoJy40ZycpLAorICAgICAgICAgICAgZGVsdGFG
b3JtYXR0ZXI6IHVzZVNJID8gZDMuZm9ybWF0KCcrLjJzJykgOiBkMy5mb3JtYXQoJysuMmcnKSwK
KyAgICAgICAgICAgIHNtYWxsZXJJc0JldHRlcjogc21hbGxlcklzQmV0dGVyLAorICAgICAgICB9
OworICAgIH0KIH0pLmNyZWF0ZSgpOwpJbmRleDogV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3Rl
c3RzL2FwaS1yZXBvcnQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vic2l0ZXMvcGVyZi53ZWJraXQub3Jn
L3Rlc3RzL2FwaS1yZXBvcnQuanMJKHJldmlzaW9uIDE4MDQ1MikKKysrIFdlYnNpdGVzL3BlcmYu
d2Via2l0Lm9yZy90ZXN0cy9hcGktcmVwb3J0LmpzCSh3b3JraW5nIGNvcHkpCkBAIC02ODcsNCAr
Njg3LDczIEBAIGRlc2NyaWJlKCIvYXBpL3JlcG9ydCIsIGZ1bmN0aW9uICgpIHsKICAgICAgICAg
ICAgIH0pOwogICAgICAgICB9KTsKICAgICB9KTsKKworICAgIHZhciByZXBvcnRzVXBkYXRpbmdE
aWZmZXJlbnRUZXN0cyA9IFsKKyAgICAgICAgW3sKKyAgICAgICAgICAgICJidWlsZE51bWJlciI6
ICIxMjMiLAorICAgICAgICAgICAgImJ1aWxkVGltZSI6ICIyMDEzLTAyLTI4VDEwOjEyOjAzIiwK
KyAgICAgICAgICAgICJidWlsZGVyTmFtZSI6ICJzb21lQnVpbGRlciIsCisgICAgICAgICAgICAi
YnVpbGRlclBhc3N3b3JkIjogInNvbWVQYXNzd29yZCIsCisgICAgICAgICAgICAicGxhdGZvcm0i
OiAiTW91bnRhaW4gTGlvbiIsCisgICAgICAgICAgICAidGVzdHMiOiB7InRlc3QxIjogeyJtZXRy
aWNzIjogeyJUaW1lIjogeyJjdXJyZW50IjogM319fX0KKyAgICAgICAgfV0sCisgICAgICAgIFt7
CisgICAgICAgICAgICAiYnVpbGROdW1iZXIiOiAiMTI0IiwKKyAgICAgICAgICAgICJidWlsZFRp
bWUiOiAiMjAxMy0wMi0yOFQxMTozMToyMSIsCisgICAgICAgICAgICAiYnVpbGRlck5hbWUiOiAi
c29tZUJ1aWxkZXIiLAorICAgICAgICAgICAgImJ1aWxkZXJQYXNzd29yZCI6ICJzb21lUGFzc3dv
cmQiLAorICAgICAgICAgICAgInBsYXRmb3JtIjogIk1vdW50YWluIExpb24iLAorICAgICAgICAg
ICAgInRlc3RzIjogeyJ0ZXN0MiI6IHsibWV0cmljcyI6IHsiVGltZSI6IHsiY3VycmVudCI6IDN9
fX19CisgICAgICAgIH1dLAorICAgICAgICBbeworICAgICAgICAgICAgImJ1aWxkTnVtYmVyIjog
IjEyNSIsCisgICAgICAgICAgICAiYnVpbGRUaW1lIjogIjIwMTMtMDItMjhUMTI6NDU6MzQiLAor
ICAgICAgICAgICAgImJ1aWxkZXJOYW1lIjogInNvbWVCdWlsZGVyIiwKKyAgICAgICAgICAgICJi
dWlsZGVyUGFzc3dvcmQiOiAic29tZVBhc3N3b3JkIiwKKyAgICAgICAgICAgICJwbGF0Zm9ybSI6
ICJNb3VudGFpbiBMaW9uIiwKKyAgICAgICAgICAgICJ0ZXN0cyI6IHsidGVzdDEiOiB7Im1ldHJp
Y3MiOiB7IlRpbWUiOiB7ImN1cnJlbnQiOiAzfX19fQorICAgICAgICB9XSwKKyAgICBdOworCisg
ICAgZnVuY3Rpb24gZmV0Y2hUZXN0Q29uZmlnKHRlc3ROYW1lLCBtZXRyaWNOYW1lLCBjYWxsYmFj
aykgeworICAgICAgICAgcXVlcnlBbmRGZXRjaEFsbCgnU0VMRUNUICogRlJPTSB0ZXN0cywgdGVz
dF9tZXRyaWNzLCB0ZXN0X2NvbmZpZ3VyYXRpb25zIFdIRVJFIHRlc3RfaWQgPSBtZXRyaWNfdGVz
dCBBTkQgbWV0cmljX2lkID0gY29uZmlnX21ldHJpYycKKyAgICAgICAgICAgICsgJyBBTkQgdGVz
dF9uYW1lID0gJDEgQU5EIG1ldHJpY19uYW1lID0gJDInLCBbdGVzdE5hbWUsIG1ldHJpY05hbWVd
LCBmdW5jdGlvbiAocnVuUm93cykgeworICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChydW5S
b3dzLmxlbmd0aCwgMSk7CisgICAgICAgICAgICAgICAgY2FsbGJhY2socnVuUm93c1swXSk7Cisg
ICAgICAgICAgICB9KTsKKyAgICB9CisKKyAgICBpdCgic2hvdWxkIHVwZGF0ZSB0aGUgbGFzdCBt
b2RpZmllZCBkYXRlIG9mIHRlc3QgY29uZmlndXJhdGlvbnMgd2l0aCBuZXcgcnVucyIsIGZ1bmN0
aW9uICgpIHsKKyAgICAgICAgYWRkQnVpbGRlcihyZXBvcnRzVXBkYXRpbmdEaWZmZXJlbnRUZXN0
c1swXSwgZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgcG9zdEpTT04oJy9hcGkvcmVwb3J0Lycs
IHJlcG9ydHNVcGRhdGluZ0RpZmZlcmVudFRlc3RzWzBdLCBmdW5jdGlvbiAocmVzcG9uc2UpIHsK
KyAgICAgICAgICAgICAgICBhc3NlcnQuZXF1YWwocmVzcG9uc2Uuc3RhdHVzQ29kZSwgMjAwKTsK
KyAgICAgICAgICAgICAgICBmZXRjaFRlc3RDb25maWcoJ3Rlc3QxJywgJ1RpbWUnLCBmdW5jdGlv
biAob3JpZ2luYWxDb25maWcpIHsKKyAgICAgICAgICAgICAgICAgICAgcG9zdEpTT04oJy9hcGkv
cmVwb3J0LycsIHJlcG9ydHNVcGRhdGluZ0RpZmZlcmVudFRlc3RzWzJdLCBmdW5jdGlvbiAocmVz
cG9uc2UpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXNwb25zZS5z
dGF0dXNDb2RlLCAyMDApOworICAgICAgICAgICAgICAgICAgICAgICAgZmV0Y2hUZXN0Q29uZmln
KCd0ZXN0MScsICdUaW1lJywgZnVuY3Rpb24gKGNvbmZpZykgeworICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGFzc2VydC5ub3RFcXVhbCgrb3JpZ2luYWxDb25maWdbJ2NvbmZpZ19ydW5zX2xh
c3RfbW9kaWZpZWQnXSwgK2NvbmZpZ1snY29uZmlnX3J1bnNfbGFzdF9tb2RpZmllZCddKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpZnlEb25lKCk7CisgICAgICAgICAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICAgICAgfSk7CisgICAgICAgICAgICAgICAgfSk7
CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfSk7CisgICAgfSk7CisKKyAgICBpdCgic2hvdWxk
IHVwZGF0ZSB0aGUgbGFzdCBtb2RpZmllZCBkYXRlIG9mIHVucmVsYXRlZCB0ZXN0IGNvbmZpZ3Vy
YXRpb25zIiwgZnVuY3Rpb24gKCkgeworICAgICAgICBhZGRCdWlsZGVyKHJlcG9ydHNVcGRhdGlu
Z0RpZmZlcmVudFRlc3RzWzBdLCBmdW5jdGlvbiAoKSB7CisgICAgICAgICAgICBwb3N0SlNPTign
L2FwaS9yZXBvcnQvJywgcmVwb3J0c1VwZGF0aW5nRGlmZmVyZW50VGVzdHNbMF0sIGZ1bmN0aW9u
IChyZXNwb25zZSkgeworICAgICAgICAgICAgICAgIGFzc2VydC5lcXVhbChyZXNwb25zZS5zdGF0
dXNDb2RlLCAyMDApOworICAgICAgICAgICAgICAgIGZldGNoVGVzdENvbmZpZygndGVzdDEnLCAn
VGltZScsIGZ1bmN0aW9uIChvcmlnaW5hbENvbmZpZykgeworICAgICAgICAgICAgICAgICAgICBw
b3N0SlNPTignL2FwaS9yZXBvcnQvJywgcmVwb3J0c1VwZGF0aW5nRGlmZmVyZW50VGVzdHNbMV0s
IGZ1bmN0aW9uIChyZXNwb25zZSkgeworICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0LmVx
dWFsKHJlc3BvbnNlLnN0YXR1c0NvZGUsIDIwMCk7CisgICAgICAgICAgICAgICAgICAgICAgICBm
ZXRjaFRlc3RDb25maWcoJ3Rlc3QxJywgJ1RpbWUnLCBmdW5jdGlvbiAoY29uZmlnKSB7CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYXNzZXJ0LmVxdWFsKCtvcmlnaW5hbENvbmZpZ1snY29u
ZmlnX3J1bnNfbGFzdF9tb2RpZmllZCddLCArY29uZmlnWydjb25maWdfcnVuc19sYXN0X21vZGlm
aWVkJ10pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGlmeURvbmUoKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgICAgICB9KTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9KTsKKyAgICB9KTsKIH0pOwo=
</data>
<flag name="review"
          id="271960"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>