<?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>119251</bug_id>
          
          <creation_ts>2013-07-30 06:17:37 -0700</creation_ts>
          <short_desc>Pass column as 4th argument to WorkerGlobalScope.onerror and Window.onerror handlers</short_desc>
          <delta_ts>2013-07-30 10:37:48 -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>WebCore Misc.</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>http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#onerroreventhandler</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>BlinkMergeCandidate, WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>119257</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>ap</cc>
    
    <cc>arv</cc>
    
    <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ggaren</cc>
    
    <cc>kangil.han</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>mkwst</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>912808</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-30 06:17:37 -0700</bug_when>
    <thetext>As per the latest WebWorker specification, the WorkerGlobalScope.onerror and Window.onerror
event handlers should be given the column as fourth argument:
http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html#workerglobalscope
http://www.whatwg.org/specs/web-apps/current-work/multipage/webappapis.html#onerroreventhandler

This is already supported by IE10 and Blink.

Corresponding Blink revision:
https://src.chromium.org/viewvc/blink?revision=154630&amp;view=revision

Test case:
http://samples.msdn.microsoft.com/ietestcenter/WebWorkers/webworkers_harness.htm?url=WorkerGlobalScope_ErrorEvent_colno.htm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>912829</commentid>
    <comment_count>1</comment_count>
      <attachid>207733</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-30 07:00:15 -0700</bug_when>
    <thetext>Created attachment 207733
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>912831</commentid>
    <comment_count>2</comment_count>
      <attachid>207734</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-07-30 07:07:28 -0700</bug_when>
    <thetext>Created attachment 207734
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>912866</commentid>
    <comment_count>3</comment_count>
      <attachid>207734</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-07-30 09:07:50 -0700</bug_when>
    <thetext>Comment on attachment 207734
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>912929</commentid>
    <comment_count>4</comment_count>
      <attachid>207734</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-30 10:37:45 -0700</bug_when>
    <thetext>Comment on attachment 207734
Patch

Clearing flags on attachment: 207734

Committed r153480: &lt;http://trac.webkit.org/changeset/153480&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>912930</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-07-30 10:37:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>207733</attachid>
            <date>2013-07-30 07:00:15 -0700</date>
            <delta_ts>2013-07-30 07:07:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-119251-20130730170013.patch</filename>
            <type>text/plain</type>
            <size>32797</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUzNDcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmViZGFjN2IwMjk4MTBm
MDY2MGM5NzhjNmM4MzcyMzI5YjhhNTEzMi4uNTZmMzUyYzU1NjkyZTZhY2IxZGVjNzQ5NzBjYmIz
NDQ3MGNmODA3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEzLTA3LTMwICBDaHJp
c3RvcGhlIER1bWV6ICA8Y2guZHVtZXpAc2lzYS5zYW1zdW5nLmNvbT4KKworICAgICAgICBQYXNz
IGNvbHVtbiBhcyA0dGggYXJndW1lbnQgdG8gV29ya2VyR2xvYmFsU2NvcGUub25lcnJvciBhbmQg
V2luZG93Lm9uZXJyb3IgaGFuZGxlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTExOTI1MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFzIHBlciB0aGUgbGF0ZXN0IFdlYldvcmtlciBzcGVjaWZpY2F0aW9u
LCB0aGUgV29ya2VyR2xvYmFsU2NvcGUub25lcnJvciBhbmQKKyAgICAgICAgV2luZG93Lm9uZXJy
b3IgZXZlbnQgaGFuZGxlcnMgc2hvdWxkIGJlIGdpdmVuIHRoZSBjb2x1bW4gYXMgZm91cnRoIGFy
Z3VtZW50OgorICAgICAgICBodHRwOi8vd3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3Vy
cmVudC13b3JrL211bHRpcGFnZS93b3JrZXJzLmh0bWwjd29ya2VyZ2xvYmFsc2NvcGUKKyAgICAg
ICAgaHR0cDovL3d3dy53aGF0d2cub3JnL3NwZWNzL3dlYi1hcHBzL2N1cnJlbnQtd29yay9tdWx0
aXBhZ2Uvd2ViYXBwYXBpcy5odG1sI29uZXJyb3JldmVudGhhbmRsZXIKKworICAgICAgICBUaGUg
Y29sdW1uIGFyZ3VtZW50IGlzIGFscmVhZHkgc3VwcG9ydGVkIGJ5IElFMTAgYW5kIEJsaW5rLgor
CisgICAgICAgIE5vIG5ldyB0ZXN0cywgY292ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAg
ICAgICAqIGJpbmRpbmdzL2pzL0pTRXJyb3JIYW5kbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkpTRXJyb3JIYW5kbGVyOjpoYW5kbGVFdmVudCk6CisgICAgICAgICogYmluZGluZ3MvanMvV29y
a2VyU2NyaXB0Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJTY3JpcHRD
b250cm9sbGVyOjpldmFsdWF0ZSk6CisgICAgICAgICogZG9tL0Vycm9yRXZlbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6RXJyb3JFdmVudDo6RXJyb3JFdmVudCk6CisgICAgICAgICogZG9tL0Vy
cm9yRXZlbnQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkVycm9yRXZlbnQ6OmNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpFcnJvckV2ZW50Ojpjb2xubyk6CisgICAgICAgICogZG9tL1NjcmlwdEV4
ZWN1dGlvbkNvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29u
dGV4dDo6c2FuaXRpemVTY3JpcHRFcnJvcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVj
dXRpb25Db250ZXh0OjpyZXBvcnRFeGNlcHRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2NyaXB0
RXhlY3V0aW9uQ29udGV4dDo6ZGlzcGF0Y2hFcnJvckV2ZW50KToKKyAgICAgICAgKiBkb20vU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dC5oOgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyTWVzc2FnaW5n
UHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V29ya2VyRXhjZXB0aW9uVGFzazo6cGVyZm9y
bVRhc2spOgorCiAyMDEzLTA3LTMwICBLd2FuZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5u
ZXQ+CiAKICAgICAgICAgUmVtb3ZlIHVzaW5nIG5hbWVzcGFjZSBzdGQgZnJvbSBTcGF0aWFsTmF2
aWdhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFcnJvckhh
bmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNFcnJvckhhbmRsZXIuY3Bw
CmluZGV4IDExYzcyMDEzNzFhZDkxMTQ2M2JlOGI3YTJjMjRhZTg1NTExOTIyMDguLmYyOGY2YjUw
MGVkNzNjMDIzNjM3M2U5ZGM1OTcwOWJiOTAyMmU3NTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRXJyb3JIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0Vycm9ySGFuZGxlci5jcHAKQEAgLTg4LDYgKzg4LDcgQEAgdm9pZCBKU0Vy
cm9ySGFuZGxlcjo6aGFuZGxlRXZlbnQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCwKICAgICAgICAgYXJncy5hcHBlbmQoanNTdHJpbmdXaXRoQ2FjaGUoZXhl
YywgZXJyb3JFdmVudC0+bWVzc2FnZSgpKSk7CiAgICAgICAgIGFyZ3MuYXBwZW5kKGpzU3RyaW5n
V2l0aENhY2hlKGV4ZWMsIGVycm9yRXZlbnQtPmZpbGVuYW1lKCkpKTsKICAgICAgICAgYXJncy5h
cHBlbmQoanNOdW1iZXIoZXJyb3JFdmVudC0+bGluZW5vKCkpKTsKKyAgICAgICAgYXJncy5hcHBl
bmQoanNOdW1iZXIoZXJyb3JFdmVudC0+Y29sbm8oKSkpOwogCiAgICAgICAgIFZNJiB2bSA9IGds
b2JhbE9iamVjdC0+dm0oKTsKICAgICAgICAgRHluYW1pY0dsb2JhbE9iamVjdFNjb3BlIGdsb2Jh
bE9iamVjdFNjb3BlKHZtLCB2bS5keW5hbWljR2xvYmFsT2JqZWN0ID8gdm0uZHluYW1pY0dsb2Jh
bE9iamVjdCA6IGdsb2JhbE9iamVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9Xb3JrZXJTY3JpcHRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dvcmtlclNjcmlwdENvbnRyb2xsZXIuY3BwCmluZGV4IGUyYWNhZWMxOTExOTg2MDZm
OTA3Mzc1NzE0YTVhOGZlMTBkZmZiYmMuLjhkYTA2ZWUwMjEyYTZlZmZjMjJjOGQ0YWNiOGEyOWFm
YWVmZjZhNmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtlclNj
cmlwdENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dvcmtl
clNjcmlwdENvbnRyb2xsZXIuY3BwCkBAIC0xNDUsOCArMTQ1LDkgQEAgdm9pZCBXb3JrZXJTY3Jp
cHRDb250cm9sbGVyOjpldmFsdWF0ZShjb25zdCBTY3JpcHRTb3VyY2VDb2RlJiBzb3VyY2VDb2Rl
LCBTY3JpcHQKICAgICBpZiAoZXZhbHVhdGlvbkV4Y2VwdGlvbikgewogICAgICAgICBTdHJpbmcg
ZXJyb3JNZXNzYWdlOwogICAgICAgICBpbnQgbGluZU51bWJlciA9IDA7CisgICAgICAgIGludCBj
b2x1bW5OdW1iZXIgPSAwOwogICAgICAgICBTdHJpbmcgc291cmNlVVJMID0gc291cmNlQ29kZS51
cmwoKS5zdHJpbmcoKTsKLSAgICAgICAgaWYgKG1fd29ya2VyR2xvYmFsU2NvcGUtPnNhbml0aXpl
U2NyaXB0RXJyb3IoZXJyb3JNZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VVUkwsIHNvdXJjZUNv
ZGUuY2FjaGVkU2NyaXB0KCkpKQorICAgICAgICBpZiAobV93b3JrZXJHbG9iYWxTY29wZS0+c2Fu
aXRpemVTY3JpcHRFcnJvcihlcnJvck1lc3NhZ2UsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwg
c291cmNlVVJMLCBzb3VyY2VDb2RlLmNhY2hlZFNjcmlwdCgpKSkKICAgICAgICAgICAgICpleGNl
cHRpb24gPSBTY3JpcHRWYWx1ZSgqbV92bSwgdGhyb3dFcnJvcihleGVjLCBjcmVhdGVFcnJvcihl
eGVjLCBlcnJvck1lc3NhZ2UuaW1wbCgpKSkpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICAq
ZXhjZXB0aW9uID0gU2NyaXB0VmFsdWUoKm1fdm0sIGV2YWx1YXRpb25FeGNlcHRpb24pOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Vycm9yRXZlbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL0Vycm9yRXZlbnQuY3BwCmluZGV4IDQyYzQ0ZmUyNGQ5NjYwMGNmOThjZjk2ZjRiM2Ix
M2YzMzZmYTMzN2QuLmVkNDAxZThkYzFhNDA0Y2IwNmYyMzFmY2YzZDNmY2RjY2VjODQyM2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FcnJvckV2ZW50LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXJyb3JFdmVudC5jcHAKQEAgLTUxLDE0ICs1MSwxNiBAQCBFcnJvckV2ZW50
OjpFcnJvckV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgRXJyb3JFdmVudElu
aXQmIGluaXRpYWxpegogICAgICwgbV9tZXNzYWdlKGluaXRpYWxpemVyLm1lc3NhZ2UpCiAgICAg
LCBtX2ZpbGVOYW1lKGluaXRpYWxpemVyLmZpbGVuYW1lKQogICAgICwgbV9saW5lTnVtYmVyKGlu
aXRpYWxpemVyLmxpbmVubykKKyAgICAsIG1fY29sdW1uTnVtYmVyKDApCiB7CiB9CiAKLUVycm9y
RXZlbnQ6OkVycm9yRXZlbnQoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGZp
bGVOYW1lLCB1bnNpZ25lZCBsaW5lTnVtYmVyKQorRXJyb3JFdmVudDo6RXJyb3JFdmVudChjb25z
dCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZmlsZU5hbWUsIHVuc2lnbmVkIGxpbmVO
dW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlcikKICAgICA6IEV2ZW50KGV2ZW50TmFtZXMoKS5l
cnJvckV2ZW50LCBmYWxzZSwgdHJ1ZSkKICAgICAsIG1fbWVzc2FnZShtZXNzYWdlKQogICAgICwg
bV9maWxlTmFtZShmaWxlTmFtZSkKICAgICAsIG1fbGluZU51bWJlcihsaW5lTnVtYmVyKQorICAg
ICwgbV9jb2x1bW5OdW1iZXIoY29sdW1uTnVtYmVyKQogewogfQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXJyb3JFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0Vycm9yRXZl
bnQuaAppbmRleCA1ZGRlOTQ5MmU3YzczZTg3NzZlMjNjZjE1NTdhOGU1NjIwZTBkNzJmLi5iMzFl
ZmFkZmYwNTQ2N2RhMzhjYjE2YTdlNzhlNGM3ZGYwYWViMjA1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXJyb3JFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FcnJvckV2
ZW50LmgKQEAgLTUwLDkgKzUwLDkgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBFcnJvckV2ZW50KTsKICAgICB9Ci0gICAgc3RhdGljIFBhc3NSZWZQdHI8RXJy
b3JFdmVudD4gY3JlYXRlKGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBmaWxl
TmFtZSwgdW5zaWduZWQgbGluZU51bWJlcikKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxFcnJvckV2
ZW50PiBjcmVhdGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGZpbGVOYW1l
LCB1bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIpCiAgICAgewotICAg
ICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEVycm9yRXZlbnQobWVzc2FnZSwgZmlsZU5hbWUsIGxp
bmVOdW1iZXIpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBFcnJvckV2ZW50KG1lc3Nh
Z2UsIGZpbGVOYW1lLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIpKTsKICAgICB9CiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8RXJyb3JFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlw
ZSwgY29uc3QgRXJyb3JFdmVudEluaXQmIGluaXRpYWxpemVyKQogICAgIHsKQEAgLTYzLDE3ICs2
MywxOSBAQCBwdWJsaWM6CiAgICAgY29uc3QgU3RyaW5nJiBtZXNzYWdlKCkgY29uc3QgeyByZXR1
cm4gbV9tZXNzYWdlOyB9CiAgICAgY29uc3QgU3RyaW5nJiBmaWxlbmFtZSgpIGNvbnN0IHsgcmV0
dXJuIG1fZmlsZU5hbWU7IH0KICAgICB1bnNpZ25lZCBsaW5lbm8oKSBjb25zdCB7IHJldHVybiBt
X2xpbmVOdW1iZXI7IH0KKyAgICB1bnNpZ25lZCBjb2xubygpIGNvbnN0IHsgcmV0dXJuIG1fY29s
dW1uTnVtYmVyOyB9CiAKICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNl
TmFtZSgpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIEVycm9yRXZlbnQoKTsKLSAgICBFcnJvckV2
ZW50KGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5nJiBmaWxlTmFtZSwgdW5zaWdu
ZWQgbGluZU51bWJlcik7CisgICAgRXJyb3JFdmVudChjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNv
bnN0IFN0cmluZyYgZmlsZU5hbWUsIHVuc2lnbmVkIGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVt
bk51bWJlcik7CiAgICAgRXJyb3JFdmVudChjb25zdCBBdG9taWNTdHJpbmcmLCBjb25zdCBFcnJv
ckV2ZW50SW5pdCYpOwogCiAgICAgU3RyaW5nIG1fbWVzc2FnZTsKICAgICBTdHJpbmcgbV9maWxl
TmFtZTsKICAgICB1bnNpZ25lZCBtX2xpbmVOdW1iZXI7CisgICAgdW5zaWduZWQgbV9jb2x1bW5O
dW1iZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKaW5kZXggMmRhYzg1YThkMWY5NmRkZDBkYzdi
MjJiZmI2NjY0OWE1Y2JiNmZlMy4uNzVmZGM2Y2QxOTI1MzkxMmM4ODI2YTRmYTEzNjEzNWYyMDg2
MjU5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNw
cApAQCAtMjc3LDcgKzI3Nyw3IEBAIHZvaWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6Y2xvc2VN
ZXNzYWdlUG9ydHMoKSB7CiAgICAgfQogfQogCi1ib29sIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6
OnNhbml0aXplU2NyaXB0RXJyb3IoU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCYgbGluZU51bWJl
ciwgU3RyaW5nJiBzb3VyY2VVUkwsIENhY2hlZFNjcmlwdCogY2FjaGVkU2NyaXB0KQorYm9vbCBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0OjpzYW5pdGl6ZVNjcmlwdEVycm9yKFN0cmluZyYgZXJyb3JN
ZXNzYWdlLCBpbnQmIGxpbmVOdW1iZXIsIGludCYgY29sdW1uTnVtYmVyLCBTdHJpbmcmIHNvdXJj
ZVVSTCwgQ2FjaGVkU2NyaXB0KiBjYWNoZWRTY3JpcHQpCiB7CiAgICAgS1VSTCB0YXJnZXRVUkwg
PSBjb21wbGV0ZVVSTChzb3VyY2VVUkwpOwogICAgIGlmIChzZWN1cml0eU9yaWdpbigpLT5jYW5S
ZXF1ZXN0KHRhcmdldFVSTCkgfHwgKGNhY2hlZFNjcmlwdCAmJiBjYWNoZWRTY3JpcHQtPnBhc3Nl
c0FjY2Vzc0NvbnRyb2xDaGVjayhzZWN1cml0eU9yaWdpbigpKSkpCkBAIC0yODUsNiArMjg1LDcg
QEAgYm9vbCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpzYW5pdGl6ZVNjcmlwdEVycm9yKFN0cmlu
ZyYgZXJyb3JNZXNzYWdlLCBpbnQmIGxpbmUKICAgICBlcnJvck1lc3NhZ2UgPSAiU2NyaXB0IGVy
cm9yLiI7CiAgICAgc291cmNlVVJMID0gU3RyaW5nKCk7CiAgICAgbGluZU51bWJlciA9IDA7Cisg
ICAgY29sdW1uTnVtYmVyID0gMDsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMjk4LDcgKzI5
OSw3IEBAIHZvaWQgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6cmVwb3J0RXhjZXB0aW9uKGNvbnN0
IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGluCiAgICAgfQogCiAgICAgLy8gRmlyc3QgcmVw
b3J0IHRoZSBvcmlnaW5hbCBleGNlcHRpb24gYW5kIG9ubHkgdGhlbiBhbGwgdGhlIG5lc3RlZCBv
bmVzLgotICAgIGlmICghZGlzcGF0Y2hFcnJvckV2ZW50KGVycm9yTWVzc2FnZSwgbGluZU51bWJl
ciwgc291cmNlVVJMLCBjYWNoZWRTY3JpcHQpKQorICAgIGlmICghZGlzcGF0Y2hFcnJvckV2ZW50
KGVycm9yTWVzc2FnZSwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBzb3VyY2VVUkwsIGNhY2hl
ZFNjcmlwdCkpCiAgICAgICAgIGxvZ0V4Y2VwdGlvblRvQ29uc29sZShlcnJvck1lc3NhZ2UsIHNv
dXJjZVVSTCwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBjYWxsU3RhY2spOwogCiAgICAgaWYg
KCFtX3BlbmRpbmdFeGNlcHRpb25zKQpAQCAtMzE2LDcgKzMxNyw3IEBAIHZvaWQgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDo6YWRkQ29uc29sZU1lc3NhZ2UoTWVzc2FnZVNvdXJjZSBzb3VyY2UsIE1l
c3NhZ2VMZXZlCiAgICAgYWRkTWVzc2FnZShzb3VyY2UsIGxldmVsLCBtZXNzYWdlLCBzb3VyY2VV
UkwsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlciwgMCwgc3RhdGUsIHJlcXVlc3RJZGVudGlmaWVy
KTsKIH0KIAotYm9vbCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpkaXNwYXRjaEVycm9yRXZlbnQo
Y29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcm
IHNvdXJjZVVSTCwgQ2FjaGVkU2NyaXB0KiBjYWNoZWRTY3JpcHQpCitib29sIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ6OmRpc3BhdGNoRXJyb3JFdmVudChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2Fn
ZSwgaW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNl
VVJMLCBDYWNoZWRTY3JpcHQqIGNhY2hlZFNjcmlwdCkKIHsKICAgICBFdmVudFRhcmdldCogdGFy
Z2V0ID0gZXJyb3JFdmVudFRhcmdldCgpOwogICAgIGlmICghdGFyZ2V0KQpAQCAtMzI0LDEyICsz
MjUsMTMgQEAgYm9vbCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpkaXNwYXRjaEVycm9yRXZlbnQo
Y29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludAogCiAgICAgU3RyaW5nIG1lc3NhZ2UgPSBl
cnJvck1lc3NhZ2U7CiAgICAgaW50IGxpbmUgPSBsaW5lTnVtYmVyOworICAgIGludCBjb2x1bW4g
PSBjb2x1bW5OdW1iZXI7CiAgICAgU3RyaW5nIHNvdXJjZU5hbWUgPSBzb3VyY2VVUkw7Ci0gICAg
c2FuaXRpemVTY3JpcHRFcnJvcihtZXNzYWdlLCBsaW5lLCBzb3VyY2VOYW1lLCBjYWNoZWRTY3Jp
cHQpOworICAgIHNhbml0aXplU2NyaXB0RXJyb3IobWVzc2FnZSwgbGluZSwgY29sdW1uLCBzb3Vy
Y2VOYW1lLCBjYWNoZWRTY3JpcHQpOwogCiAgICAgQVNTRVJUKCFtX2luRGlzcGF0Y2hFcnJvckV2
ZW50KTsKICAgICBtX2luRGlzcGF0Y2hFcnJvckV2ZW50ID0gdHJ1ZTsKLSAgICBSZWZQdHI8RXJy
b3JFdmVudD4gZXJyb3JFdmVudCA9IEVycm9yRXZlbnQ6OmNyZWF0ZShtZXNzYWdlLCBzb3VyY2VO
YW1lLCBsaW5lKTsKKyAgICBSZWZQdHI8RXJyb3JFdmVudD4gZXJyb3JFdmVudCA9IEVycm9yRXZl
bnQ6OmNyZWF0ZShtZXNzYWdlLCBzb3VyY2VOYW1lLCBsaW5lLCBjb2x1bW4pOwogICAgIHRhcmdl
dC0+ZGlzcGF0Y2hFdmVudChlcnJvckV2ZW50KTsKICAgICBtX2luRGlzcGF0Y2hFcnJvckV2ZW50
ID0gZmFsc2U7CiAgICAgcmV0dXJuIGVycm9yRXZlbnQtPmRlZmF1bHRQcmV2ZW50ZWQoKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5oCmluZGV4IDJlMDk4YTk3
MDZmZTAyMzEwODhiMGMyOGZkNjVhMTBhNzM3ZjBmYjQuLjYyNzU5MGQ4ZTZhMTBlMjAwNDhhY2Zj
NjRiZTFiYmQzODQ0ZDk2NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRF
eGVjdXRpb25Db250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlv
bkNvbnRleHQuaApAQCAtNzUsNyArNzUsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIHZvaWQg
ZGlzYWJsZUV2YWwoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UpID0gMDsKIAotICAgIGJvb2wg
c2FuaXRpemVTY3JpcHRFcnJvcihTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50JiBsaW5lTnVtYmVy
LCBTdHJpbmcmIHNvdXJjZVVSTCwgQ2FjaGVkU2NyaXB0KiA9IDApOworICAgIGJvb2wgc2FuaXRp
emVTY3JpcHRFcnJvcihTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50JiBsaW5lTnVtYmVyLCBpbnQm
IGNvbHVtbk51bWJlciwgU3RyaW5nJiBzb3VyY2VVUkwsIENhY2hlZFNjcmlwdCogPSAwKTsKICAg
ICAvLyBGSVhNRTogPGh0dHA6Ly93ZWJraXQub3JnL2IvMTE0MzE1PiBTY3JpcHRFeGVjdXRpb25D
b250ZXh0IGxvZyBleGNlcHRpb24gc2hvdWxkIGluY2x1ZGUgYSBjb2x1bW4gbnVtYmVyCiAgICAg
dm9pZCByZXBvcnRFeGNlcHRpb24oY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGludCBsaW5l
TnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgUGFzc1Jl
ZlB0cjxTY3JpcHRDYWxsU3RhY2s+LCBDYWNoZWRTY3JpcHQqID0gMCk7CiAKQEAgLTE4NSw3ICsx
ODUsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBhZGRNZXNzYWdlKE1lc3NhZ2VTb3Vy
Y2UsIE1lc3NhZ2VMZXZlbCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNv
dXJjZVVSTCwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyLCBQYXNz
UmVmUHRyPFNjcmlwdENhbGxTdGFjaz4sIFNjcmlwdFN0YXRlKiA9IDAsIHVuc2lnbmVkIGxvbmcg
cmVxdWVzdElkZW50aWZpZXIgPSAwKSA9IDA7CiAgICAgdmlydHVhbCBFdmVudFRhcmdldCogZXJy
b3JFdmVudFRhcmdldCgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgbG9nRXhjZXB0aW9uVG9Db25z
b2xlKGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwg
aW50IGxpbmVOdW1iZXIsIGludCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8U2NyaXB0Q2FsbFN0
YWNrPikgPSAwOwotICAgIGJvb2wgZGlzcGF0Y2hFcnJvckV2ZW50KGNvbnN0IFN0cmluZyYgZXJy
b3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIENhY2hl
ZFNjcmlwdCopOworICAgIGJvb2wgZGlzcGF0Y2hFcnJvckV2ZW50KGNvbnN0IFN0cmluZyYgZXJy
b3JNZXNzYWdlLCBpbnQgbGluZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5n
JiBzb3VyY2VVUkwsIENhY2hlZFNjcmlwdCopOwogCiAgICAgdm9pZCBjbG9zZU1lc3NhZ2VQb3J0
cygpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlck1lc3NhZ2lu
Z1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHku
Y3BwCmluZGV4IDRkODc3OGE3ZDdkZjMzMTgwOWE5Y2ZjMDU3MGQwZTA3NjRmY2I0ODcuLjllY2U1
YWU1NmE0ZjM3MGMzYWI5MDE0ZGVlZThjYTJmZDBkOWIwNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3BwCkBAIC0xMzksNyArMTM5LDcgQEAg
cHJpdmF0ZToKICAgICAgICAgLy8gV2UgZG9uJ3QgYm90aGVyIGNoZWNraW5nIHRoZSBhc2tlZFRv
VGVybWluYXRlKCkgZmxhZyBoZXJlLCBiZWNhdXNlIGV4Y2VwdGlvbnMgc2hvdWxkICphbHdheXMq
IGJlIHJlcG9ydGVkIGV2ZW4gaWYgdGhlIHRocmVhZCBpcyB0ZXJtaW5hdGVkLgogICAgICAgICAv
LyBUaGlzIGlzIGludGVudGlvbmFsbHkgZGlmZmVyZW50IHRoYW4gdGhlIGJlaGF2aW9yIGluIE1l
c3NhZ2VXb3JrZXJUYXNrLCBiZWNhdXNlIHRlcm1pbmF0ZWQgd29ya2VycyBubyBsb25nZXIgZGVs
aXZlciBtZXNzYWdlcyAoc2VjdGlvbiA0LjYgb2YgdGhlIFdlYldvcmtlciBzcGVjKSwgYnV0IHRo
ZXkgZG8gcmVwb3J0IGV4Y2VwdGlvbnMuCiAKLSAgICAgICAgYm9vbCBlcnJvckhhbmRsZWQgPSAh
d29ya2VyT2JqZWN0LT5kaXNwYXRjaEV2ZW50KEVycm9yRXZlbnQ6OmNyZWF0ZShtX2Vycm9yTWVz
c2FnZSwgbV9zb3VyY2VVUkwsIG1fbGluZU51bWJlcikpOworICAgICAgICBib29sIGVycm9ySGFu
ZGxlZCA9ICF3b3JrZXJPYmplY3QtPmRpc3BhdGNoRXZlbnQoRXJyb3JFdmVudDo6Y3JlYXRlKG1f
ZXJyb3JNZXNzYWdlLCBtX3NvdXJjZVVSTCwgbV9saW5lTnVtYmVyLCBtX2NvbHVtbk51bWJlcikp
OwogICAgICAgICBpZiAoIWVycm9ySGFuZGxlZCkKICAgICAgICAgICAgIGNvbnRleHQtPnJlcG9y
dEV4Y2VwdGlvbihtX2Vycm9yTWVzc2FnZSwgbV9saW5lTnVtYmVyLCBtX2NvbHVtbk51bWJlciwg
bV9zb3VyY2VVUkwsIDApOwogICAgIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBjOWEzNWQ2MTJiYTQ3NDgyZjQyMDk0NDg2
ZmJkNzg0YzJhYTE1OTA3Li40MDljNzAyMDVhMjk1M2I4NTBhMjcwYmM0OGZjNzllZjkyY2I0YzVm
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsNDAgQEAKKzIwMTMtMDctMzAgIENocmlzdG9waGUgRHVtZXogIDxj
aC5kdW1lekBzaXNhLnNhbXN1bmcuY29tPgorCisgICAgICAgIFBhc3MgY29sdW1uIGFzIDR0aCBh
cmd1bWVudCB0byBXb3JrZXJHbG9iYWxTY29wZS5vbmVycm9yIGFuZCBXaW5kb3cub25lcnJvciBo
YW5kbGVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTE5MjUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VXBkYXRlIHNldmVyYWwgdGVzdHMgdG8gbWFrZSB1c2Ugb2YgdGhlIG5ldyBjb2x1bW4gYXJndW1l
bnQgcGFzc2VkIHRvCisgICAgICAgIFdvcmtlckdsb2JhbFNjb3BlLm9uZXJyb3IgYW5kIFdpbmRv
dy5vbmVycm9yIGhhbmRsZXJzLgorCisgICAgICAgICogZmFzdC9ldmVudHMvd2luZG93LW9uZXJy
b3IxLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjEu
aHRtbDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjExLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjExLmh0bWw6CisgICAgICAg
ICogZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IxMi1leHBlY3RlZC50eHQ6CisgICAgICAgICog
ZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IxMi5odG1sOgorICAgICAgICAqIGZhc3QvZXZlbnRz
L3dpbmRvdy1vbmVycm9yMTMuaHRtbDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy93aW5kb3ctb25l
cnJvcjE0Lmh0bWw6CisgICAgICAgICogZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IxNi5odG1s
OgorICAgICAgICAqIGZhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMi1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IyLmh0bWw6CisgICAgICAgICogZmFz
dC9ldmVudHMvd2luZG93LW9uZXJyb3I0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2V2
ZW50cy93aW5kb3ctb25lcnJvcjQuaHRtbDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy93aW5kb3ct
b25lcnJvcjUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZXZlbnRzL3dpbmRvdy1vbmVy
cm9yNS5odG1sOgorICAgICAgICAqIGZhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNi1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I2Lmh0bWw6CisgICAg
ICAgICogZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I3LWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjcuaHRtbDoKKyAgICAgICAgKiBmYXN0L2V2ZW50
cy93aW5kb3ctb25lcnJvcjgtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZXZlbnRzL3dp
bmRvdy1vbmVycm9yOC5odG1sOgorICAgICAgICAqIGZhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9y
OS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I5Lmh0
bWw6CisgICAgICAgICogZmFzdC93b3JrZXJzL3Jlc291cmNlcy93b3JrZXItc2NyaXB0LWVycm9y
LWhhbmRsZWQuanM6CisgICAgICAgIChvbmVycm9yKToKKyAgICAgICAgKiBmYXN0L3dvcmtlcnMv
d29ya2VyLXNjcmlwdC1lcnJvci1leHBlY3RlZC50eHQ6CisKIDIwMTMtMDctMzAgIE1hbnVlbCBS
ZWdvIENhc2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gZmFzdC9y
ZWdpb25zL2ZpcnN0bGV0dGVyLWluc2lkZS1mbG93dGhyZWFkLmh0bWwgaXMgZmxha3kKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMS1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjEtZXhwZWN0ZWQudHh0
CmluZGV4IGZlNTFiNzIyZjBiMzcwOWFlY2Q0YjgxNWNkMjA3MDk1YzAyNDY1NDUuLmJlMGRiY2Mw
M2U3MmM3ZWEwNzI3MTViZjMyMzY1ZjU0ZTY5ZWM0Y2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IxLWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMg
QEAKIFRoaXMgcGFnZSB0ZXN0cyBzZXR0aW5nIG9uZXJyb3IgaGFuZGxlcnMgdGhyb3VnaCB0aGUg
RE9NLiBJZiBpdCBwYXNzZXMsIHlvdSB3aWxsIHNlZSAiUEFTUyIgbWVzc2FnZXMgYmVsb3cuQnVn
IDg1MTkuCiAKLVBBU1M6IGNhdWdodCBnbG9iYWwgZXJyb3I6IFJlZmVyZW5jZUVycm9yOiBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBoYWhhaGFfZ29vZF9sdWNrX2ZpbmRpbmdfbWUgYXQgd2luZG93LW9u
ZXJyb3IxLmh0bWw6MjUKK1BBU1M6IGNhdWdodCBnbG9iYWwgZXJyb3I6IFJlZmVyZW5jZUVycm9y
OiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBoYWhhaGFfZ29vZF9sdWNrX2ZpbmRpbmdfbWUgYXQgd2lu
ZG93LW9uZXJyb3IxLmh0bWwsIGxpbmU6IDI1LCBjb2x1bW46IDMyCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjEuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMS5odG1sCmluZGV4IDNjOWU0ZTJjMjJkMWU3YmM3MjRl
ZDI3OTJlY2I3OWI5NzU4ZjI4ZWEuLjcwNzQ5NjJmZTI5OWI2ZTBiNjBiNTI5NDAzYTFhNWI1Nzdk
ZjA3ZTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9y
MS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMS5odG1s
CkBAIC0xNyw5ICsxNyw5IEBAIGZ1bmN0aW9uIHByaW50KG1lc3NhZ2UsIGNvbG9yKQogZnVuY3Rp
b24gdGVzdCgpCiB7CiAgICAgLy8gbXVzdCBiZSBsYXN0IGJlY2F1c2UgdGhlIGV4Y2VwdGlvbiBl
bmRzIEphdmFTY3JpcHQgZXhlY3V0aW9uCi0gICAgd2luZG93Lm9uZXJyb3IgPSBmdW5jdGlvbiAo
ZXJyb3IsIHVybCwgbGluZSkgeworICAgIHdpbmRvdy5vbmVycm9yID0gZnVuY3Rpb24gKGVycm9y
LCB1cmwsIGxpbmUsIGNvbHVtbikgewogICAgICAgICB1cmwgPSB1cmwgPyB1cmwubWF0Y2goIC9b
XlwvXStcLz8kLyApWzBdIDogdXJsOwotICAgICAgICBwcmludCgiUEFTUzogY2F1Z2h0IGdsb2Jh
bCBlcnJvcjogIiArIGVycm9yICsgIiBhdCAiICsgdXJsICsgIjoiICsgbGluZSwgImdyZWVuIik7
CisgICAgICAgIHByaW50KCJQQVNTOiBjYXVnaHQgZ2xvYmFsIGVycm9yOiAiICsgZXJyb3IgKyAi
IGF0ICIgKyB1cmwgKyAiLCBsaW5lOiAiICsgbGluZSArICIsIGNvbHVtbjogIiArIGNvbHVtbiwg
ImdyZWVuIik7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH07CiAgICAgaGFoYWhhX2dvb2Rf
bHVja19maW5kaW5nX21lKCk7IC8vIGNhdWdodCBieSB3aW5kb3cub25lcnJvcgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IxMS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjExLWV4cGVjdGVkLnR4dApp
bmRleCA5NmUyMGNjM2VjM2IxMGI3NTNjYmFjZDZkMGJhMDk0M2RjZGVlMjY0Li5iZTk0NzA3NWJh
OWY4YzcxODNhMzE2ODVmYmRlZjRjMmRlODljZThkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjExLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjExLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsxLDQg
QEAKIFRlc3QgdGhhdCB3aW5kb3cub25lcnJvciBpcyBjYWxsZWQgb24gd2luZG93IG9iamVjdC4g
QnVnIDg1MTkuCiAKLU1haW4gZnJhbWUgd2luZG93Lm9uZXJyb3I6IEVycm9yOiBBbiBleGNlcHRp
b24gYXQgd2luZG93LW9uZXJyb3IuanM6MgorTWFpbiBmcmFtZSB3aW5kb3cub25lcnJvcjogRXJy
b3I6IEFuIGV4Y2VwdGlvbiBhdCB3aW5kb3ctb25lcnJvci5qcywgbGluZTogMiwgY29sdW1uOiAz
NgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjEx
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjExLmh0bWwKaW5k
ZXggNjI4ZDcyOTIyYjc4MWVkNDQ5MjNmZmI4N2M5MGNkYWU3MWQ4YzQ1Yy4uMTUwZDBjN2YzODhm
NDA5MjE3OGU5MGVmOGY4MmE4YmNlN2RlMjNhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvd2luZG93LW9uZXJyb3IxMS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3dpbmRvdy1vbmVycm9yMTEuaHRtbApAQCAtMTQsMTAgKzE0LDEwIEBAIGZ1bmN0aW9uIGxv
Zyhtc2cpIHsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRN
TCArPSBtc2cgKyAiPGJyPiI7CiB9CiAKLXdpbmRvdy5vbmVycm9yID0gZnVuY3Rpb24obXNnLCB1
cmwsIGxpbmUpCit3aW5kb3cub25lcnJvciA9IGZ1bmN0aW9uKG1zZywgdXJsLCBsaW5lLCBjb2x1
bW4pCiB7CiAgICAgdXJsID0gdXJsID8gdXJsLm1hdGNoKCAvW15cL10rXC8/JC8gKVswXSA6IHVy
bDsKLSAgICBsb2coIk1haW4gZnJhbWUgd2luZG93Lm9uZXJyb3I6ICIgKyBtc2cgKyAiIGF0ICIg
KyB1cmwgKyAiOiIgKyBsaW5lKTsKKyAgICBsb2coIk1haW4gZnJhbWUgd2luZG93Lm9uZXJyb3I6
ICIgKyBtc2cgKyAiIGF0ICIgKyB1cmwgKyAiLCBsaW5lOiAiICsgbGluZSArICIsIGNvbHVtbjog
IiArIGNvbHVtbik7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IxMi1leHBlY3RlZC50eHQKaW5kZXggZTE2ZmU5
Nzg3MzE5OTQ4NTNiYjQyMzcyODFkOGI3MTAxODRlZjNiOS4uNTBjYzEzZGNmZjU5ZTEwMzFkNGMy
ZjI2YmRlOTliNzZjOWYzNmEwYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
d2luZG93LW9uZXJyb3IxMi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvd2luZG93LW9uZXJyb3IxMi1leHBlY3RlZC50eHQKQEAgLTQsNSArNCw2IEBAIE1haW4gZnJh
bWUgd2luZG93Lm9uZXJyb3I6CiBtc2c6IFtvYmplY3QgRXZlbnRdCiB1cmw6IHVuZGVmaW5lZAog
bGluZTogdW5kZWZpbmVkCitjb2x1bW46IHVuZGVmaW5lZAogRE9ORS4KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IxMi5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IxMi5odG1sCmluZGV4IDU2NGM2NDA3NTI5MjE2
YjY5M2FhZjZlZmRkM2RmMzQyOTk3ZTRjMzUuLjQ0ZDQ4ODQ5NWZmZTE4YTMyMDVjYTE3OTUwMzUx
N2MwNzczMDc3NDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1v
bmVycm9yMTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJv
cjEyLmh0bWwKQEAgLTE0LDEyICsxNCwxMyBAQCBmdW5jdGlvbiBsb2cobXNnKSB7CiAgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lckhUTUwgKz0gbXNnICsgIjxicj4i
OwogfQogCi13aW5kb3cub25lcnJvciA9IGZ1bmN0aW9uKG1zZywgdXJsLCBsaW5lKQord2luZG93
Lm9uZXJyb3IgPSBmdW5jdGlvbihtc2csIHVybCwgbGluZSwgY29sdW1uKQogewogICAgIGxvZygi
TWFpbiBmcmFtZSB3aW5kb3cub25lcnJvcjogIik7CiAgICAgbG9nKCJtc2c6ICIgKyBtc2cpOwog
ICAgIGxvZygidXJsOiAiICsgdXJsKTsKICAgICBsb2coImxpbmU6ICIgKyBsaW5lKTsKKyAgICBs
b2coImNvbHVtbjogIiArIGNvbHVtbik7CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMTMuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMTMuaHRtbAppbmRleCA3ZDIxY2QxNTFm
NDMwN2Y3YmZhOWI5NTA2MDUxMmRlN2E1NzQwODc5Li42NTVkMzYxNzk0OTdlNjk4ZGE5OWViNTA0
NmMxMDExYTA4ODcxMTdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5k
b3ctb25lcnJvcjEzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9u
ZXJyb3IxMy5odG1sCkBAIC0xNSw3ICsxNSw3IEBAIGZ1bmN0aW9uIGxvZyhtc2cpIHsKICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRNTCArPSBtc2cgKyAiPGJy
PiI7CiB9CiAKLXdpbmRvdy5vbmVycm9yID0gZnVuY3Rpb24obXNnLCB1cmwsIGxpbmUpCit3aW5k
b3cub25lcnJvciA9IGZ1bmN0aW9uKG1zZywgdXJsLCBsaW5lLCBjb2x1bW4pCiB7CiAgIGxvZygi
VW5jYXVnaHQgZXJyb3Igc2hvdWxkIGJlIHByaW50ZWQgaW4gY29uc29sZSB3aGVuIHdpbmRvdy5v
bmVycm9yIHJldHVybnMgbm90IHRydWUuIik7CiAgIGxvZygiRE9ORS4iKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMTQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMTQuaHRtbAppbmRleCAwYzFmODI0NjUzMzk0
MzU3ZjhmODZkYjg0NGE3ZWVmZmIyYTczYTg2Li41YmI1ZGM2NGE4Y2Y3NDdmZjJiMTk5OTJjOTFj
NDM3MGVhMGEzMWIwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ct
b25lcnJvcjE0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJy
b3IxNC5odG1sCkBAIC0xNSw3ICsxNSw3IEBAIGZ1bmN0aW9uIGxvZyhtc2cpIHsKICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRNTCArPSBtc2cgKyAiPGJyPiI7
CiB9CiAKLXdpbmRvdy5vbmVycm9yID0gZnVuY3Rpb24obXNnLCB1cmwsIGxpbmUpCit3aW5kb3cu
b25lcnJvciA9IGZ1bmN0aW9uKG1zZywgdXJsLCBsaW5lLCBjb2x1bW4pCiB7CiAgIGxvZygiVW5j
YXVnaHQgZXJyb3Igc2hvdWxkICpub3QqIGJlIHByaW50ZWQgaW4gY29uc29sZSB3aGVuIHdpbmRv
dy5vbmVycm9yIHJldHVybnMgdHJ1ZS4iKTsKICAgbG9nKCJ3aW5kb3cub25lcnJvciBpbnZva2Vk
LiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3Ix
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IxNi5odG1sCmlu
ZGV4IGY3OTRmNzI5ZjRiOGYzNmMzZDVmMDFkZTFmYjM0OWZlNzk2MTA3NDEuLjBlZWI1NGExMDdi
MzNmOWNjNDNlMmZjYTJiN2U2ZDRjYzFiODVjMzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMTYuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy93aW5kb3ctb25lcnJvcjE2Lmh0bWwKQEAgLTE1LDcgKzE1LDcgQEAgZnVuY3Rpb24gbG9n
KG1zZykgewogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1M
ICs9IG1zZyArICI8YnI+IjsKIH0KIAotd2luZG93Lm9uZXJyb3IgPSBmdW5jdGlvbihtc2csIHVy
bCwgbGluZSkKK3dpbmRvdy5vbmVycm9yID0gZnVuY3Rpb24obXNnLCB1cmwsIGxpbmUsIGNvbHVt
bikKIHsKICAgbG9nKCJ3aW5kb3cub25lcnJvciBpbnZva2VkLiBVbmNhdWdodCBlcnJvciBzaG91
bGQgYmUgcHJpbnRlZCBpbiBjb25zb2xlIik7CiAgIGxvZygiRE9ORS4iKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMi1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjItZXhwZWN0ZWQudHh0CmluZGV4
IDllMGM2NjM1YWQwMjZjMmU0ODEwNjA5NDgzYjdmMTg4ODgyOTk3ZmUuLjg4OWMzMDliNzYyNTk0
YzE0NzJhMDRhMDdmMDkwNTRhNjA0YTIwODkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3dpbmRvdy1vbmVycm9yMi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvd2luZG93LW9uZXJyb3IyLWV4cGVjdGVkLnR4dApAQCAtMSw2ICsxLDYgQEAKIFRl
c3QgdGhhdCB1bmNhdWdodCBleGNlcHRpb25zIHdpbGwgYmUgcmVwb3J0ZWQgdG8gdGhlIHdpbmRv
dy5vbmVycm9yIGhhbmRsZXIuIEJ1ZyA4NTE5LgogCi1NYWluIGZyYW1lIHdpbmRvdy5vbmVycm9y
OiBFcnJvcjogSW5saW5lIHNjcmlwdCBleGNlcHRpb24gYXQgd2luZG93LW9uZXJyb3IyLmh0bWw6
MzQKLU1haW4gZnJhbWUgd2luZG93Lm9uZXJyb3I6IEV4Y2VwdGlvbiBpbiBvbmxvYWQgYXQgd2lu
ZG93LW9uZXJyb3IyLmh0bWw6MgotTWFpbiBmcmFtZSB3aW5kb3cub25lcnJvcjogRXJyb3I6IEV4
Y2VwdGlvbiBpbiBzZXRUaW1lb3V0IGF0IHdpbmRvdy1vbmVycm9yMi5odG1sOjI5CitNYWluIGZy
YW1lIHdpbmRvdy5vbmVycm9yOiBFcnJvcjogSW5saW5lIHNjcmlwdCBleGNlcHRpb24gYXQgd2lu
ZG93LW9uZXJyb3IyLmh0bWwsIGxpbmU6IDM0LCBjb2x1bW46IDQ3CitNYWluIGZyYW1lIHdpbmRv
dy5vbmVycm9yOiBFeGNlcHRpb24gaW4gb25sb2FkIGF0IHdpbmRvdy1vbmVycm9yMi5odG1sLCBs
aW5lOiAyLCBjb2x1bW46IDE1MAorTWFpbiBmcmFtZSB3aW5kb3cub25lcnJvcjogRXJyb3I6IEV4
Y2VwdGlvbiBpbiBzZXRUaW1lb3V0IGF0IHdpbmRvdy1vbmVycm9yMi5odG1sLCBsaW5lOiAyOSwg
Y29sdW1uOiA0NwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ct
b25lcnJvcjIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMi5o
dG1sCmluZGV4IGM2MDlhNjU3MjIwMDcxMjBjMzhmZGQ3ZTIxZmE0OTI0NmRmNTlhZjUuLjMwN2Ux
NmFmOGMyMGIxOTc0YjE4ODI5ZGZkZTk1ODZkYmRiZjQ3MjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMi5odG1sCkBAIC0xMywxMCArMTMsMTAgQEAgZnVuY3Rp
b24gbG9nKG1zZykgewogfQogCiB2YXIgdW5oYW5kbGVkRXJyb3JDb3VudCA9IDA7Ci13aW5kb3cu
b25lcnJvciA9IGZ1bmN0aW9uKG1zZywgdXJsLCBsaW5lKQord2luZG93Lm9uZXJyb3IgPSBmdW5j
dGlvbihtc2csIHVybCwgbGluZSwgY29sdW1uKQogewogICAgIHVybCA9IHVybCA/IHVybC5tYXRj
aCggL1teXC9dK1wvPyQvIClbMF0gOiB1cmw7Ci0gICAgbG9nKCJNYWluIGZyYW1lIHdpbmRvdy5v
bmVycm9yOiAiICsgbXNnICsgIiBhdCAiICsgdXJsICsgIjoiICsgbGluZSk7CisgICAgbG9nKCJN
YWluIGZyYW1lIHdpbmRvdy5vbmVycm9yOiAiICsgbXNnICsgIiBhdCAiICsgdXJsICsgIiwgbGlu
ZTogIiArIGxpbmUgKyAiLCBjb2x1bW46ICIgKyBjb2x1bW4pOwogICAgIAogICAgIGlmICgrK3Vu
aGFuZGxlZEVycm9yQ291bnQgPT09IDMgJiYgd2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgIHRl
c3RSdW5uZXIubm90aWZ5RG9uZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvd2luZG93LW9uZXJyb3I0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3dpbmRvdy1vbmVycm9yNC1leHBlY3RlZC50eHQKaW5kZXggMjZhZjhhMWVhOWM4MmQxZGRiMjBi
ZmEwNzFiZGE3ZjhjNjc3Yjc2Ni4uYWRiZmExNzJmNDRmMGViZTU1MDVkNTZkMDMwMmZjODFmNDAy
Y2NjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I0
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJv
cjQtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogWW91IHNob3VsZCBzZWUgYSBsb2cgcmVj
b3JkIGlmIHdpbmRvdy5vbmVycm9yIGlzIHdvcmtpbmcgcHJvcGVybHkgZm9yIHRoaXMgdGVzdC5C
dWcgODUxOS4KIAotRXJyb3IgY2F1Z2h0IHN1Y2Nlc3NmdWxseTogUmVmZXJlbmNlRXJyb3I6IExl
ZnQgc2lkZSBvZiBhc3NpZ25tZW50IGlzIG5vdCBhIHJlZmVyZW5jZS4gRmlsZTogdW5kZWZpbmVk
IExpbmU6IDEKK0Vycm9yIGNhdWdodCBzdWNjZXNzZnVsbHk6IFJlZmVyZW5jZUVycm9yOiBMZWZ0
IHNpZGUgb2YgYXNzaWdubWVudCBpcyBub3QgYSByZWZlcmVuY2UuIEZpbGU6IHVuZGVmaW5lZCBM
aW5lOiAxIENvbHVtbjogMAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93
aW5kb3ctb25lcnJvcjQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVy
cm9yNC5odG1sCmluZGV4IDZjMmMzZThiYjFlNTFjMDgwMTA0NjA5MWVhZjljNjEzYTIzODE5MTQu
LjVjMGYwYzQ3MGQ2M2MxOTE2NWMyOTFlNTk0N2I4OTRmOTA3OGE5NjIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNC5odG1sCkBAIC04LDkgKzgsOSBAQCBmdW5j
dGlvbiBsb2cobXNnKSB7CiAKIGZ1bmN0aW9uIHRlc3QxKCkKIHsKLSAgICB3aW5kb3cub25lcnJv
ciA9IGZ1bmN0aW9uIChlcnJvciwgdXJsLCBsaW5lKSB7CisgICAgd2luZG93Lm9uZXJyb3IgPSBm
dW5jdGlvbiAoZXJyb3IsIHVybCwgbGluZSwgY29sdW1uKSB7CiAgICAgICAgIHVybCA9IHVybCA/
IHVybC5tYXRjaCggL1teXC9dK1wvPyQvIClbMF0gOiB1cmw7Ci0gICAgICAgIGxvZygiRXJyb3Ig
Y2F1Z2h0IHN1Y2Nlc3NmdWxseTogIiArIGVycm9yICsgIlxuRmlsZTogIiArIHVybCArICJcbkxp
bmU6ICIgKyBsaW5lKQorICAgICAgICBsb2coIkVycm9yIGNhdWdodCBzdWNjZXNzZnVsbHk6ICIg
KyBlcnJvciArICJcbkZpbGU6ICIgKyB1cmwgKyAiXG5MaW5lOiAiICsgbGluZSArICJcbkNvbHVt
bjogIiArIGNvbHVtbikKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfTsKICAgICBldmFsKCIx
PTIiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9y
NS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjUt
ZXhwZWN0ZWQudHh0CmluZGV4IGUxODVjNTdlZTZhM2I1ZjZjYzA0MWFlMTExOTU0MjI1MjkzNTky
NzIuLmE1Mjk1ZmU4ZTBhOGI3Yjc3MjU2ZmIzMDM2OTc3Zjc4MTc3MGYxZjMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I1LWV4cGVjdGVkLnR4dApA
QCAtMSw0ICsxLDQgQEAKIFRlc3QgdGhhdCB3aW5kb3cub25lcnJvciBpcyBpbnZva2VkIGZvciBz
eW50YXggZXJyb3IgaW4gZXZhbC4gWW91IHNob3VsZCBzZWUgYSBsb2cgcmVjb3JkIGlmIHdpbmRv
dy5vbmVycm9yIGlzIHdvcmtpbmcgcHJvcGVybHkgZm9yIHRoaXMgdGVzdC5CdWcgODUxOS4KIAot
RXJyb3IgY2F1Z2h0IHN1Y2Nlc3NmdWxseTogU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgRU9GIEZp
bGU6IHdpbmRvdy1vbmVycm9yNS5odG1sIExpbmU6IDE2CitFcnJvciBjYXVnaHQgc3VjY2Vzc2Z1
bGx5OiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBFT0YgRmlsZTogd2luZG93LW9uZXJyb3I1Lmh0
bWwgTGluZTogMTYgQ29sdW1uOiAwCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3dpbmRvdy1vbmVycm9yNS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93
LW9uZXJyb3I1Lmh0bWwKaW5kZXggZjI2MDg5ZmQ5ZmEyZTQwOTE1NWIxZjNiNjg5NTk2ZTc4YjE1
MTk1Mi4uYjBlMWM1N2E3Njc3ZDRjMTdmOGQwYjM3YzA3NTU3ZjZmNWZkMWE4NiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I1Lmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I1Lmh0bWwKQEAgLTgsOSArOCw5IEBA
IGZ1bmN0aW9uIGxvZyhtc2cpIHsKIAogZnVuY3Rpb24gdGVzdDEoKQogewotICAgIHdpbmRvdy5v
bmVycm9yID0gZnVuY3Rpb24gKGVycm9yLCB1cmwsIGxpbmUpIHsKKyAgICB3aW5kb3cub25lcnJv
ciA9IGZ1bmN0aW9uIChlcnJvciwgdXJsLCBsaW5lLCBjb2x1bW4pIHsKICAgICAgICAgdXJsID0g
dXJsID8gdXJsLm1hdGNoKCAvW15cL10rXC8/JC8gKVswXSA6IHVybDsKLSAgICAgICAgbG9nKCJF
cnJvciBjYXVnaHQgc3VjY2Vzc2Z1bGx5OiAiICsgZXJyb3IgKyAiXG5GaWxlOiAiICsgdXJsICsg
IlxuTGluZTogIiArIGxpbmUpCisgICAgICAgIGxvZygiRXJyb3IgY2F1Z2h0IHN1Y2Nlc3NmdWxs
eTogIiArIGVycm9yICsgIlxuRmlsZTogIiArIHVybCArICJcbkxpbmU6ICIgKyBsaW5lICsgIlxu
Q29sdW1uOiAiICsgY29sdW1uKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9OwogICAgIGV2
YWwoImEoIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25l
cnJvcjYtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJy
b3I2LWV4cGVjdGVkLnR4dAppbmRleCA3YzRkNGQ5OWVjNzc2MjY4MzA0YmM0NjEzN2MxMjk2ZDQx
MGRjMmU4Li5hYzQyZWE5ZTIwZTk2ODhhMDQ3NDYwZDkyYzU3ODIxMjQ1NjQ5MmRkIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjYtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNi1leHBlY3RlZC50
eHQKQEAgLTEsNCArMSw0IEBACiBUZXN0IHRoYXQgc3ludGF4IGVycm9yIHdpbGwgYmUgcmVwb3J0
ZWQgdG8gdGhlIHdpbmRvdy5vbmVycm9yIGhhbmRsZXIuIEJ1ZyA4NTE5LgogCi1NYWluIGZyYW1l
IHdpbmRvdy5vbmVycm9yOiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCB0b2tlbiAnKScgYXQgd2lu
ZG93LW9uZXJyb3I2Lmh0bWw6MjIKK01haW4gZnJhbWUgd2luZG93Lm9uZXJyb3I6IFN5bnRheEVy
cm9yOiBVbmV4cGVjdGVkIHRva2VuICcpJyBhdCB3aW5kb3ctb25lcnJvcjYuaHRtbCwgbGluZTog
MjIsIGNvbHVtbjogMAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5k
b3ctb25lcnJvcjYuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9y
Ni5odG1sCmluZGV4IDE0MmNkMjE3YjdiZTJmZGVjMzc3NTY1YmZlNzBkYWUxZGU5MzM0M2EuLjhi
MjE2NTMzNmQzODNhZGM3YzBlZmExZGM4Mzk5NDU2YTIxOGNkMmEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNi5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNi5odG1sCkBAIC0xMCwxMCArMTAsMTAgQEAgZnVu
Y3Rpb24gbG9nKG1zZykgewogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIiku
aW5uZXJIVE1MICs9IG1zZyArICI8YnI+IjsKIH0KIAotd2luZG93Lm9uZXJyb3IgPSBmdW5jdGlv
bihtc2csIHVybCwgbGluZSkKK3dpbmRvdy5vbmVycm9yID0gZnVuY3Rpb24obXNnLCB1cmwsIGxp
bmUsIGNvbHVtbikKIHsKICAgICB1cmwgPSB1cmwgPyB1cmwubWF0Y2goIC9bXlwvXStcLz8kLyAp
WzBdIDogdXJsOwotICAgIGxvZygiTWFpbiBmcmFtZSB3aW5kb3cub25lcnJvcjogIiArIG1zZyAr
ICIgYXQgIiArIHVybCArICI6IiArIGxpbmUpOworICAgIGxvZygiTWFpbiBmcmFtZSB3aW5kb3cu
b25lcnJvcjogIiArIG1zZyArICIgYXQgIiArIHVybCArICIsIGxpbmU6ICIgKyBsaW5lICsgIiwg
Y29sdW1uOiAiICsgY29sdW1uKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIDwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I3LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNy1leHBlY3RlZC50
eHQKaW5kZXggNWQyMmU3ZTc1NTY4YTI0OTU5Y2JlNjNkOWZhYWUxNGZkYWJjZjM2MC4uNWM0YTA2
MmY3OTRhMmJmOTYzNDA1YThiMzlhNDg0ZmI0ZDcwNDFhOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I3LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjctZXhwZWN0ZWQudHh0CkBAIC0yLDUgKzIs
NSBAQCBDT05TT0xFIE1FU1NBR0U6IGxpbmUgMjA6IEVycm9yOiBPcmlnaW5hbCBlcnJvcgogQ09O
U09MRSBNRVNTQUdFOiBsaW5lIDE3OiBFcnJvcjogTmVzdGVkIGVycm9yCiBUZXN0IHRoYXQgZXhj
ZXB0aW9uIGluIHdpbmRvdy5vbmVycm9yIHdvbid0IGxlYWQgdG8gcmVjdXJzaXZlIHdpbmRvdy5v
bmVycm9yIGNhbGwuIEJ1ZyA4NTE5LgogCi1NYWluIGZyYW1lIHdpbmRvdy5vbmVycm9yOiBFcnJv
cjogT3JpZ2luYWwgZXJyb3IgYXQgd2luZG93LW9uZXJyb3I3Lmh0bWw6MjAKK01haW4gZnJhbWUg
d2luZG93Lm9uZXJyb3I6IEVycm9yOiBPcmlnaW5hbCBlcnJvciBhdCB3aW5kb3ctb25lcnJvcjcu
aHRtbCwgbGluZTogMjAsIGNvbHVtbjogMzQKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvd2luZG93LW9uZXJyb3I3Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93
aW5kb3ctb25lcnJvcjcuaHRtbAppbmRleCA2ZTliMjZhOTgwOTRmMzBlZmEzY2I0YzY4NTE5OTgz
ZTlhNmUzZDljLi5kZDdmMTRhNzllZjc2NzYzNTEyY2VjMjRiMWE4OWJiZTM3MDgwZTk2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjcuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjcuaHRtbApAQCAtMTAsMTAg
KzEwLDEwIEBAIGZ1bmN0aW9uIGxvZyhtc2cpIHsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiY29uc29sZSIpLmlubmVySFRNTCArPSBtc2cgKyAiPGJyPiI7CiB9CiAKLXdpbmRvdy5vbmVy
cm9yID0gZnVuY3Rpb24obXNnLCB1cmwsIGxpbmUpCit3aW5kb3cub25lcnJvciA9IGZ1bmN0aW9u
KG1zZywgdXJsLCBsaW5lLCBjb2x1bW4pCiB7CiAgICAgdXJsID0gdXJsID8gdXJsLm1hdGNoKCAv
W15cL10rXC8/JC8gKVswXSA6IHVybDsKLSAgICBsb2coIk1haW4gZnJhbWUgd2luZG93Lm9uZXJy
b3I6ICIgKyBtc2cgKyAiIGF0ICIgKyB1cmwgKyAiOiIgKyBsaW5lKTsKKyAgICBsb2coIk1haW4g
ZnJhbWUgd2luZG93Lm9uZXJyb3I6ICIgKyBtc2cgKyAiIGF0ICIgKyB1cmwgKyAiLCBsaW5lOiAi
ICsgbGluZSArICIsIGNvbHVtbjogIiArIGNvbHVtbik7CiAgICAgdGhyb3cgbmV3IEVycm9yKCJO
ZXN0ZWQgZXJyb3IiKTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
d2luZG93LW9uZXJyb3I4LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dp
bmRvdy1vbmVycm9yOC1leHBlY3RlZC50eHQKaW5kZXggMTVlZDNiNDc3ODVjYjNiNzBmZTc4MWZi
NWI4MGIzMmU0YzA3OWU0My4uNWVjMjY1ODNkMzAzNzQ0MjBlMDY2YmIzOGM3OTM1Y2M4ZTFiOTkx
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I4LWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjgt
ZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogVGVzdCB0aGF0IHdpbmRvdy5vbmVycm9yIGlz
IGNhbGxlZCBvbiB3aW5kb3cgb2JqZWN0LiBCdWcgODUxOS4KIAotTWFpbiBmcmFtZSB3aW5kb3cu
b25lcnJvcjogMjAxMCBhdCB3aW5kb3ctb25lcnJvcjguaHRtbDoyNAorTWFpbiBmcmFtZSB3aW5k
b3cub25lcnJvcjogMjAxMCBhdCB3aW5kb3ctb25lcnJvcjguaHRtbCwgbGluZTogMjQsIGNvbHVt
bjogMTEKIFBBU1NFRDogdGhpcyA9PT0gd2luZG93CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yOC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvd2luZG93LW9uZXJyb3I4Lmh0bWwKaW5kZXggMzNkNWYzYTc0YTFmZGFiZDRjMWU1YzBhNDJm
ODY3ZTg0OGExZmYwNy4uZDlkMjBmN2UwMjI1MjU5NTVlMGM1MjFmZWViYzY4NDRmZWU2M2YxZiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I4Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I4Lmh0bWwKQEAgLTEw
LDEwICsxMCwxMCBAQCBmdW5jdGlvbiBsb2cobXNnKSB7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoImNvbnNvbGUiKS5pbm5lckhUTUwgKz0gbXNnICsgIjxicj4iOwogfQogCi13aW5kb3cu
b25lcnJvciA9IGZ1bmN0aW9uKG1zZywgdXJsLCBsaW5lKQord2luZG93Lm9uZXJyb3IgPSBmdW5j
dGlvbihtc2csIHVybCwgbGluZSwgY29sdW1uKQogewogICAgIHVybCA9IHVybCA/IHVybC5tYXRj
aCggL1teXC9dK1wvPyQvIClbMF0gOiB1cmw7Ci0gICAgbG9nKCJNYWluIGZyYW1lIHdpbmRvdy5v
bmVycm9yOiAiICsgbXNnICsgIiBhdCAiICsgdXJsICsgIjoiICsgbGluZSk7CisgICAgbG9nKCJN
YWluIGZyYW1lIHdpbmRvdy5vbmVycm9yOiAiICsgbXNnICsgIiBhdCAiICsgdXJsICsgIiwgbGlu
ZTogIiArIGxpbmUgKyAiLCBjb2x1bW46ICIgKyBjb2x1bW4pOwogICAgIGlmICh0aGlzID09PSB3
aW5kb3cpIAogICAgICAgICBsb2coIlBBU1NFRDogdGhpcyA9PT0gd2luZG93Iik7CiAgICAgZWxz
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yOS1leHBl
Y3RlZC50eHQKaW5kZXggOTQzMTZkM2YxMDdlOWNiNGY0OTk5NDhiMTlmZDllMmU0YWUzZGFkNi4u
ZGZjZWE4NDVkNzBkN2FmMWViY2NiZjUwMDU4OTViMjNhNzA1ZDkzNiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I5LWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjktZXhwZWN0ZWQudHh0CkBAIC0x
LDYgKzEsNiBAQAogVGVzdCB0aGF0IHdoZW4gd2luZG93Lm9uZXJyb3IgaGFuZGxlciBpcyBjYWxs
ZWQsIHdpbmRvdy5ldmVudCBpcyB0aGUgY29ycmVzcG9uZGluZyBFcnJvckV2ZW50IG9iamVjdC4g
QnVnIDg1MTkuCiAKLU1haW4gZnJhbWUgd2luZG93Lm9uZXJyb3I6IEVycm9yOiAyMDEwIGF0IHdp
bmRvdy1vbmVycm9yOS5odG1sOjMxCitNYWluIGZyYW1lIHdpbmRvdy5vbmVycm9yOiBFcnJvcjog
MjAxMCBhdCB3aW5kb3ctb25lcnJvcjkuaHRtbCwgbGluZTogMzEsIGNvbHVtbjogMjIKIHdpbmRv
dy5ldmVudC50eXBlID0gZXJyb3IKIHdpbmRvdy5ldmVudC5tZXNzYWdlID0gRXJyb3I6IDIwMTAK
IHdpbmRvdy5ldmVudC5maWxlbmFtZSA9IHdpbmRvdy1vbmVycm9yOS5odG1sCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjkuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yOS5odG1sCmluZGV4IDZhM2UxYjQwMjRmYWJm
ZWNjNzAyM2UxN2M4MzgzOTljZGY0YzM1ZGEuLjBjODE5ODE4Y2FiNjM0M2IxMmY1NjIxODNlNjEz
YzRmYjU0MmY2ZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1v
bmVycm9yOS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9y
OS5odG1sCkBAIC0xNiw5ICsxNiw5IEBAIGZ1bmN0aW9uIGxhc3RQYXRoQ29tcG9uZW50KHVybCkg
ewogICAgIHJldHVybiB1cmwgPyB1cmwubWF0Y2goIC9bXlwvXStcLz8kLyApWzBdIDogdXJsOwog
fQogCi13aW5kb3cub25lcnJvciA9IGZ1bmN0aW9uKG1zZywgdXJsLCBsaW5lKQord2luZG93Lm9u
ZXJyb3IgPSBmdW5jdGlvbihtc2csIHVybCwgbGluZSwgY29sdW1uKQogewotICAgIGxvZygiTWFp
biBmcmFtZSB3aW5kb3cub25lcnJvcjogIiArIG1zZyArICIgYXQgIiArIGxhc3RQYXRoQ29tcG9u
ZW50KHVybCkgKyAiOiIgKyBsaW5lKTsKKyAgICBsb2coIk1haW4gZnJhbWUgd2luZG93Lm9uZXJy
b3I6ICIgKyBtc2cgKyAiIGF0ICIgKyBsYXN0UGF0aENvbXBvbmVudCh1cmwpICsgIiwgbGluZTog
IiArIGxpbmUgKyAiLCBjb2x1bW46ICIgKyBjb2x1bW4pOwogICAgIGxvZygid2luZG93LmV2ZW50
LnR5cGUgPSAiICsgd2luZG93LmV2ZW50LnR5cGUpOwogICAgIGxvZygid2luZG93LmV2ZW50Lm1l
c3NhZ2UgPSAiICsgd2luZG93LmV2ZW50Lm1lc3NhZ2UpOwogICAgIGxvZygid2luZG93LmV2ZW50
LmZpbGVuYW1lID0gIiArIGxhc3RQYXRoQ29tcG9uZW50KHdpbmRvdy5ldmVudC5maWxlbmFtZSkp
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3Jlc291cmNlcy93b3JrZXIt
c2NyaXB0LWVycm9yLWhhbmRsZWQuanMgYi9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvcmVzb3Vy
Y2VzL3dvcmtlci1zY3JpcHQtZXJyb3ItaGFuZGxlZC5qcwppbmRleCBhMjBkNDEwOGI1OTVjMDRh
MDg5ZWJlYjA0OGIyMWRhYmNlOWFjODg3Li43M2E5N2E2ZTc3Yzc0NGY5YTNmM2M5MGM1OGM0MDA0
ZmRlZDE1YzE3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvcmVzb3VyY2Vz
L3dvcmtlci1zY3JpcHQtZXJyb3ItaGFuZGxlZC5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L3dv
cmtlcnMvcmVzb3VyY2VzL3dvcmtlci1zY3JpcHQtZXJyb3ItaGFuZGxlZC5qcwpAQCAtMSw3ICsx
LDcgQEAKLW9uZXJyb3IgPSBmdW5jdGlvbihtZXNzYWdlLCB1cmwsIGxpbmVubykKK29uZXJyb3Ig
PSBmdW5jdGlvbihtZXNzYWdlLCB1cmwsIGxpbmVubywgY29sbm8pCiB7Ci0gICAgcG9zdE1lc3Nh
Z2UoIm9uZXJyb3IgaW52b2tlZCBmb3IgYSBzY3JpcHQgdGhhdCBoYXMgc2NyaXB0IGVycm9yICci
ICsgbWVzc2FnZSArICInIGF0IGxpbmUgIiArIGxpbmVubyk7CisgICAgcG9zdE1lc3NhZ2UoIm9u
ZXJyb3IgaW52b2tlZCBmb3IgYSBzY3JpcHQgdGhhdCBoYXMgc2NyaXB0IGVycm9yICciICsgbWVz
c2FnZSArICInIGF0IGxpbmUgIiArIGxpbmVubyArICIgYW5kIGNvbHVtbiAiICsgY29sbm8pOwog
ICAgIHJldHVybiB0cnVlOwogfQogCi1mb28uYmFyID0gMDsKK2lmICh0cnVlKSBmb28uYmFyID0g
MDsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy93b3JrZXItc2NyaXB0LWVy
cm9yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy93b3JrZXItc2NyaXB0
LWVycm9yLWV4cGVjdGVkLnR4dAppbmRleCAyODRmZDljMTEzMTc4OTRiNzYyMzFmYjM5YTkwZjU1
Y2U3NTViMjBkLi41Yjc4OGQ1YzQ1NDUzMDliOWY5ZGM4MDgyNzgwZWIxMGY0MmIxMzAyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvd29ya2VyLXNjcmlwdC1lcnJvci1leHBl
Y3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3dvcmtlci1zY3JpcHQtZXJy
b3ItZXhwZWN0ZWQudHh0CkBAIC05LDcgKzksNyBAQCBQQVNTOiBvbmVycm9yIGludm9rZWQgZm9y
IGEgc2NyaXB0IHRoYXQgaGFzIHNjcmlwdCBlcnJvciAnUmVmZXJlbmNlRXJyb3I6IENhbid0CiBt
ZXNzYWdlIGZyb20gd29ya2VyOiAiUEFTUzogb25lcnJvciBpbiB3b3JrZXIgY29udGV4dCBpbnZv
a2VkIGZvciBhIHNjcmlwdCB0aGF0IGhhcyBzY3JpcHQgZXJyb3IgJ1JlZmVyZW5jZUVycm9yOiBD
YW4ndCBmaW5kIHZhcmlhYmxlOiBmb28nIGF0IGxpbmUgMTAgaW4gd29ya2VyLXNjcmlwdC1lcnJv
ci1idWJibGVkLmpzIi4KIFBBU1M6IG9uZXJyb3IgaW52b2tlZCBmb3IgYSBzY3JpcHQgdGhhdCBo
YXMgc2NyaXB0IGVycm9yICdSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogZm9v
JyBhdCBsaW5lIDEwLgogUEFTUzogb25lcnJvciBpbnZva2VkIGZvciBhIHNjcmlwdCB0aGF0IGhh
cyBzY3JpcHQgZXJyb3IgJ1JlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBmb28n
IGF0IGxpbmUgMTAuCi1QQVNTOiBtZXNzYWdlIHJlY2VpdmVkIGZyb20gV29ya2VyR2xvYmFsU2Nv
cGUub25lcnJvcjogb25lcnJvciBpbnZva2VkIGZvciBhIHNjcmlwdCB0aGF0IGhhcyBzY3JpcHQg
ZXJyb3IgJ1JlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBmb28nIGF0IGxpbmUg
Ny4KK1BBU1M6IG1lc3NhZ2UgcmVjZWl2ZWQgZnJvbSBXb3JrZXJHbG9iYWxTY29wZS5vbmVycm9y
OiBvbmVycm9yIGludm9rZWQgZm9yIGEgc2NyaXB0IHRoYXQgaGFzIHNjcmlwdCBlcnJvciAnUmVm
ZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IGZvbycgYXQgbGluZSA3IGFuZCBjb2x1
bW4gMTQuCiBQQVNTOiBvbmVycm9yIGludm9rZWQgZm9yIGFuIGV4Y2VwdGlvbiBpbiBzZXRUaW1l
b3V0IGNhbGxiYWNrLgogRE9ORQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>207734</attachid>
            <date>2013-07-30 07:07:28 -0700</date>
            <delta_ts>2013-07-30 10:37:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-119251-20130730170726.patch</filename>
            <type>text/plain</type>
            <size>32787</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUzNDcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmViZGFjN2IwMjk4MTBm
MDY2MGM5NzhjNmM4MzcyMzI5YjhhNTEzMi4uN2IwZTJjOTM5NzkwNjQxYTllNDUxYmE2Nzc3NzUy
MTUwMzYxZTAzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDEzLTA3LTMwICBDaHJp
c3RvcGhlIER1bWV6ICA8Y2guZHVtZXpAc2lzYS5zYW1zdW5nLmNvbT4KKworICAgICAgICBQYXNz
IGNvbHVtbiBhcyA0dGggYXJndW1lbnQgdG8gV29ya2VyR2xvYmFsU2NvcGUub25lcnJvciBhbmQg
V2luZG93Lm9uZXJyb3IgaGFuZGxlcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTExOTI1MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFzIHBlciB0aGUgbGF0ZXN0IHNwZWNpZmljYXRpb24sIHRoZSBXb3Jr
ZXJHbG9iYWxTY29wZS5vbmVycm9yIGFuZCBXaW5kb3cub25lcnJvciBldmVudAorICAgICAgICBo
YW5kbGVycyBzaG91bGQgYmUgZ2l2ZW4gdGhlIGNvbHVtbiBhcyBmb3VydGggYXJndW1lbnQ6Cisg
ICAgICAgIGh0dHA6Ly93d3cud2hhdHdnLm9yZy9zcGVjcy93ZWItYXBwcy9jdXJyZW50LXdvcmsv
bXVsdGlwYWdlL3dvcmtlcnMuaHRtbCN3b3JrZXJnbG9iYWxzY29wZQorICAgICAgICBodHRwOi8v
d3d3LndoYXR3Zy5vcmcvc3BlY3Mvd2ViLWFwcHMvY3VycmVudC13b3JrL211bHRpcGFnZS93ZWJh
cHBhcGlzLmh0bWwjb25lcnJvcmV2ZW50aGFuZGxlcgorCisgICAgICAgIFRoZSBjb2x1bW4gYXJn
dW1lbnQgaXMgYWxyZWFkeSBzdXBwb3J0ZWQgYnkgSUUxMCBhbmQgQmxpbmsuCisKKyAgICAgICAg
Tm8gbmV3IHRlc3RzLCBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogYmlu
ZGluZ3MvanMvSlNFcnJvckhhbmRsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNFcnJvckhh
bmRsZXI6OmhhbmRsZUV2ZW50KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9Xb3JrZXJTY3JpcHRD
b250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldvcmtlclNjcmlwdENvbnRyb2xsZXI6
OmV2YWx1YXRlKToKKyAgICAgICAgKiBkb20vRXJyb3JFdmVudC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpFcnJvckV2ZW50OjpFcnJvckV2ZW50KToKKyAgICAgICAgKiBkb20vRXJyb3JFdmVudC5o
OgorICAgICAgICAoV2ViQ29yZTo6RXJyb3JFdmVudDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkVycm9yRXZlbnQ6OmNvbG5vKToKKyAgICAgICAgKiBkb20vU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpzYW5p
dGl6ZVNjcmlwdEVycm9yKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQ6OnJlcG9ydEV4Y2VwdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25D
b250ZXh0OjpkaXNwYXRjaEVycm9yRXZlbnQpOgorICAgICAgICAqIGRvbS9TY3JpcHRFeGVjdXRp
b25Db250ZXh0Lmg6CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJFeGNlcHRpb25UYXNrOjpwZXJmb3JtVGFzayk6CisK
IDIwMTMtMDctMzAgIEt3YW5nIFl1bCBTZW8gIDxza3l1bEBjb21wYW55MTAwLm5ldD4KIAogICAg
ICAgICBSZW1vdmUgdXNpbmcgbmFtZXNwYWNlIHN0ZCBmcm9tIFNwYXRpYWxOYXZpZ2F0aW9uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Vycm9ySGFuZGxlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0Vycm9ySGFuZGxlci5jcHAKaW5kZXggMTFj
NzIwMTM3MWFkOTExNDYzYmU4YjdhMmMyNGFlODU1MTE5MjIwOC4uZjI4ZjZiNTAwZWQ3M2MwMjM2
MzczZTlkYzU5NzA5YmI5MDIyZTc1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvSlNFcnJvckhhbmRsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTRXJyb3JIYW5kbGVyLmNwcApAQCAtODgsNiArODgsNyBAQCB2b2lkIEpTRXJyb3JIYW5kbGVy
OjpoYW5kbGVFdmVudChTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250
ZXh0LAogICAgICAgICBhcmdzLmFwcGVuZChqc1N0cmluZ1dpdGhDYWNoZShleGVjLCBlcnJvckV2
ZW50LT5tZXNzYWdlKCkpKTsKICAgICAgICAgYXJncy5hcHBlbmQoanNTdHJpbmdXaXRoQ2FjaGUo
ZXhlYywgZXJyb3JFdmVudC0+ZmlsZW5hbWUoKSkpOwogICAgICAgICBhcmdzLmFwcGVuZChqc051
bWJlcihlcnJvckV2ZW50LT5saW5lbm8oKSkpOworICAgICAgICBhcmdzLmFwcGVuZChqc051bWJl
cihlcnJvckV2ZW50LT5jb2xubygpKSk7CiAKICAgICAgICAgVk0mIHZtID0gZ2xvYmFsT2JqZWN0
LT52bSgpOwogICAgICAgICBEeW5hbWljR2xvYmFsT2JqZWN0U2NvcGUgZ2xvYmFsT2JqZWN0U2Nv
cGUodm0sIHZtLmR5bmFtaWNHbG9iYWxPYmplY3QgPyB2bS5keW5hbWljR2xvYmFsT2JqZWN0IDog
Z2xvYmFsT2JqZWN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dv
cmtlclNjcmlwdENvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29y
a2VyU2NyaXB0Q29udHJvbGxlci5jcHAKaW5kZXggZTJhY2FlYzE5MTE5ODYwNmY5MDczNzU3MTRh
NWE4ZmUxMGRmZmJiYy4uOGRhMDZlZTAyMTJhNmVmZmMyMmM4ZDRhY2I4YTI5YWZhZWZmNmE2YyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV29ya2VyU2NyaXB0Q29u
dHJvbGxlci5jcHAKQEAgLTE0NSw4ICsxNDUsOSBAQCB2b2lkIFdvcmtlclNjcmlwdENvbnRyb2xs
ZXI6OmV2YWx1YXRlKGNvbnN0IFNjcmlwdFNvdXJjZUNvZGUmIHNvdXJjZUNvZGUsIFNjcmlwdAog
ICAgIGlmIChldmFsdWF0aW9uRXhjZXB0aW9uKSB7CiAgICAgICAgIFN0cmluZyBlcnJvck1lc3Nh
Z2U7CiAgICAgICAgIGludCBsaW5lTnVtYmVyID0gMDsKKyAgICAgICAgaW50IGNvbHVtbk51bWJl
ciA9IDA7CiAgICAgICAgIFN0cmluZyBzb3VyY2VVUkwgPSBzb3VyY2VDb2RlLnVybCgpLnN0cmlu
ZygpOwotICAgICAgICBpZiAobV93b3JrZXJHbG9iYWxTY29wZS0+c2FuaXRpemVTY3JpcHRFcnJv
cihlcnJvck1lc3NhZ2UsIGxpbmVOdW1iZXIsIHNvdXJjZVVSTCwgc291cmNlQ29kZS5jYWNoZWRT
Y3JpcHQoKSkpCisgICAgICAgIGlmIChtX3dvcmtlckdsb2JhbFNjb3BlLT5zYW5pdGl6ZVNjcmlw
dEVycm9yKGVycm9yTWVzc2FnZSwgbGluZU51bWJlciwgY29sdW1uTnVtYmVyLCBzb3VyY2VVUkws
IHNvdXJjZUNvZGUuY2FjaGVkU2NyaXB0KCkpKQogICAgICAgICAgICAgKmV4Y2VwdGlvbiA9IFNj
cmlwdFZhbHVlKCptX3ZtLCB0aHJvd0Vycm9yKGV4ZWMsIGNyZWF0ZUVycm9yKGV4ZWMsIGVycm9y
TWVzc2FnZS5pbXBsKCkpKSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgICpleGNlcHRpb24g
PSBTY3JpcHRWYWx1ZSgqbV92bSwgZXZhbHVhdGlvbkV4Y2VwdGlvbik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRXJyb3JFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXJy
b3JFdmVudC5jcHAKaW5kZXggNDJjNDRmZTI0ZDk2NjAwY2Y5OGNmOTZmNGIzYjEzZjMzNmZhMzM3
ZC4uZWQ0MDFlOGRjMWE0MDRjYjA2ZjIzMWZjZjNkM2ZjZGNjZWM4NDIzZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0Vycm9yRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FcnJvckV2ZW50LmNwcApAQCAtNTEsMTQgKzUxLDE2IEBAIEVycm9yRXZlbnQ6OkVycm9yRXZl
bnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBFcnJvckV2ZW50SW5pdCYgaW5pdGlh
bGl6CiAgICAgLCBtX21lc3NhZ2UoaW5pdGlhbGl6ZXIubWVzc2FnZSkKICAgICAsIG1fZmlsZU5h
bWUoaW5pdGlhbGl6ZXIuZmlsZW5hbWUpCiAgICAgLCBtX2xpbmVOdW1iZXIoaW5pdGlhbGl6ZXIu
bGluZW5vKQorICAgICwgbV9jb2x1bW5OdW1iZXIoMCkKIHsKIH0KIAotRXJyb3JFdmVudDo6RXJy
b3JFdmVudChjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZmlsZU5hbWUsIHVu
c2lnbmVkIGxpbmVOdW1iZXIpCitFcnJvckV2ZW50OjpFcnJvckV2ZW50KGNvbnN0IFN0cmluZyYg
bWVzc2FnZSwgY29uc3QgU3RyaW5nJiBmaWxlTmFtZSwgdW5zaWduZWQgbGluZU51bWJlciwgdW5z
aWduZWQgY29sdW1uTnVtYmVyKQogICAgIDogRXZlbnQoZXZlbnROYW1lcygpLmVycm9yRXZlbnQs
IGZhbHNlLCB0cnVlKQogICAgICwgbV9tZXNzYWdlKG1lc3NhZ2UpCiAgICAgLCBtX2ZpbGVOYW1l
KGZpbGVOYW1lKQogICAgICwgbV9saW5lTnVtYmVyKGxpbmVOdW1iZXIpCisgICAgLCBtX2NvbHVt
bk51bWJlcihjb2x1bW5OdW1iZXIpCiB7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FcnJvckV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXJyb3JFdmVudC5oCmluZGV4
IDVkZGU5NDkyZTdjNzNlODc3NmUyM2NmMTU1N2E4ZTU2MjBlMGQ3MmYuLmIzMWVmYWRmZjA1NDY3
ZGEzOGNiMTZhN2U3OGU0YzdkZjBhZWIyMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FcnJvckV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Vycm9yRXZlbnQuaApAQCAt
NTAsOSArNTAsOSBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IEVycm9yRXZlbnQpOwogICAgIH0KLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxFcnJvckV2ZW50PiBj
cmVhdGUoY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGZpbGVOYW1lLCB1bnNp
Z25lZCBsaW5lTnVtYmVyKQorICAgIHN0YXRpYyBQYXNzUmVmUHRyPEVycm9yRXZlbnQ+IGNyZWF0
ZShjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgZmlsZU5hbWUsIHVuc2lnbmVk
IGxpbmVOdW1iZXIsIHVuc2lnbmVkIGNvbHVtbk51bWJlcikKICAgICB7Ci0gICAgICAgIHJldHVy
biBhZG9wdFJlZihuZXcgRXJyb3JFdmVudChtZXNzYWdlLCBmaWxlTmFtZSwgbGluZU51bWJlcikp
OworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEVycm9yRXZlbnQobWVzc2FnZSwgZmlsZU5h
bWUsIGxpbmVOdW1iZXIsIGNvbHVtbk51bWJlcikpOwogICAgIH0KICAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxFcnJvckV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBF
cnJvckV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIpCiAgICAgewpAQCAtNjMsMTcgKzYzLDE5IEBAIHB1
YmxpYzoKICAgICBjb25zdCBTdHJpbmcmIG1lc3NhZ2UoKSBjb25zdCB7IHJldHVybiBtX21lc3Nh
Z2U7IH0KICAgICBjb25zdCBTdHJpbmcmIGZpbGVuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9maWxl
TmFtZTsgfQogICAgIHVuc2lnbmVkIGxpbmVubygpIGNvbnN0IHsgcmV0dXJuIG1fbGluZU51bWJl
cjsgfQorICAgIHVuc2lnbmVkIGNvbG5vKCkgY29uc3QgeyByZXR1cm4gbV9jb2x1bW5OdW1iZXI7
IH0KIAogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiBpbnRlcmZhY2VOYW1lKCkgY29u
c3Q7CiAKIHByaXZhdGU6CiAgICAgRXJyb3JFdmVudCgpOwotICAgIEVycm9yRXZlbnQoY29uc3Qg
U3RyaW5nJiBtZXNzYWdlLCBjb25zdCBTdHJpbmcmIGZpbGVOYW1lLCB1bnNpZ25lZCBsaW5lTnVt
YmVyKTsKKyAgICBFcnJvckV2ZW50KGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QgU3RyaW5n
JiBmaWxlTmFtZSwgdW5zaWduZWQgbGluZU51bWJlciwgdW5zaWduZWQgY29sdW1uTnVtYmVyKTsK
ICAgICBFcnJvckV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYsIGNvbnN0IEVycm9yRXZlbnRJbml0
Jik7CiAKICAgICBTdHJpbmcgbV9tZXNzYWdlOwogICAgIFN0cmluZyBtX2ZpbGVOYW1lOwogICAg
IHVuc2lnbmVkIG1fbGluZU51bWJlcjsKKyAgICB1bnNpZ25lZCBtX2NvbHVtbk51bWJlcjsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRF
eGVjdXRpb25Db250ZXh0LmNwcAppbmRleCAyZGFjODVhOGQxZjk2ZGRkMGRjN2IyMmJmYjY2NjQ5
YTVjYmI2ZmUzLi43NWZkYzZjZDE5MjUzOTEyYzg4MjZhNGZhMTM2MTM1ZjIwODYyNTk1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuY3BwCkBAIC0yNzcs
NyArMjc3LDcgQEAgdm9pZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpjbG9zZU1lc3NhZ2VQb3J0
cygpIHsKICAgICB9CiB9CiAKLWJvb2wgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6c2FuaXRpemVT
Y3JpcHRFcnJvcihTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50JiBsaW5lTnVtYmVyLCBTdHJpbmcm
IHNvdXJjZVVSTCwgQ2FjaGVkU2NyaXB0KiBjYWNoZWRTY3JpcHQpCitib29sIFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQ6OnNhbml0aXplU2NyaXB0RXJyb3IoU3RyaW5nJiBlcnJvck1lc3NhZ2UsIGlu
dCYgbGluZU51bWJlciwgaW50JiBjb2x1bW5OdW1iZXIsIFN0cmluZyYgc291cmNlVVJMLCBDYWNo
ZWRTY3JpcHQqIGNhY2hlZFNjcmlwdCkKIHsKICAgICBLVVJMIHRhcmdldFVSTCA9IGNvbXBsZXRl
VVJMKHNvdXJjZVVSTCk7CiAgICAgaWYgKHNlY3VyaXR5T3JpZ2luKCktPmNhblJlcXVlc3QodGFy
Z2V0VVJMKSB8fCAoY2FjaGVkU2NyaXB0ICYmIGNhY2hlZFNjcmlwdC0+cGFzc2VzQWNjZXNzQ29u
dHJvbENoZWNrKHNlY3VyaXR5T3JpZ2luKCkpKSkKQEAgLTI4NSw2ICsyODUsNyBAQCBib29sIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnNhbml0aXplU2NyaXB0RXJyb3IoU3RyaW5nJiBlcnJvck1l
c3NhZ2UsIGludCYgbGluZQogICAgIGVycm9yTWVzc2FnZSA9ICJTY3JpcHQgZXJyb3IuIjsKICAg
ICBzb3VyY2VVUkwgPSBTdHJpbmcoKTsKICAgICBsaW5lTnVtYmVyID0gMDsKKyAgICBjb2x1bW5O
dW1iZXIgPSAwOwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC0yOTgsNyArMjk5LDcgQEAgdm9p
ZCBTY3JpcHRFeGVjdXRpb25Db250ZXh0OjpyZXBvcnRFeGNlcHRpb24oY29uc3QgU3RyaW5nJiBl
cnJvck1lc3NhZ2UsIGludCBsaW4KICAgICB9CiAKICAgICAvLyBGaXJzdCByZXBvcnQgdGhlIG9y
aWdpbmFsIGV4Y2VwdGlvbiBhbmQgb25seSB0aGVuIGFsbCB0aGUgbmVzdGVkIG9uZXMuCi0gICAg
aWYgKCFkaXNwYXRjaEVycm9yRXZlbnQoZXJyb3JNZXNzYWdlLCBsaW5lTnVtYmVyLCBzb3VyY2VV
UkwsIGNhY2hlZFNjcmlwdCkpCisgICAgaWYgKCFkaXNwYXRjaEVycm9yRXZlbnQoZXJyb3JNZXNz
YWdlLCBsaW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIHNvdXJjZVVSTCwgY2FjaGVkU2NyaXB0KSkK
ICAgICAgICAgbG9nRXhjZXB0aW9uVG9Db25zb2xlKGVycm9yTWVzc2FnZSwgc291cmNlVVJMLCBs
aW5lTnVtYmVyLCBjb2x1bW5OdW1iZXIsIGNhbGxTdGFjayk7CiAKICAgICBpZiAoIW1fcGVuZGlu
Z0V4Y2VwdGlvbnMpCkBAIC0zMTYsNyArMzE3LDcgQEAgdm9pZCBTY3JpcHRFeGVjdXRpb25Db250
ZXh0OjphZGRDb25zb2xlTWVzc2FnZShNZXNzYWdlU291cmNlIHNvdXJjZSwgTWVzc2FnZUxldmUK
ICAgICBhZGRNZXNzYWdlKHNvdXJjZSwgbGV2ZWwsIG1lc3NhZ2UsIHNvdXJjZVVSTCwgbGluZU51
bWJlciwgY29sdW1uTnVtYmVyLCAwLCBzdGF0ZSwgcmVxdWVzdElkZW50aWZpZXIpOwogfQogCi1i
b29sIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmRpc3BhdGNoRXJyb3JFdmVudChjb25zdCBTdHJp
bmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJM
LCBDYWNoZWRTY3JpcHQqIGNhY2hlZFNjcmlwdCkKK2Jvb2wgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dDo6ZGlzcGF0Y2hFcnJvckV2ZW50KGNvbnN0IFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQgbGlu
ZU51bWJlciwgaW50IGNvbHVtbk51bWJlciwgY29uc3QgU3RyaW5nJiBzb3VyY2VVUkwsIENhY2hl
ZFNjcmlwdCogY2FjaGVkU2NyaXB0KQogewogICAgIEV2ZW50VGFyZ2V0KiB0YXJnZXQgPSBlcnJv
ckV2ZW50VGFyZ2V0KCk7CiAgICAgaWYgKCF0YXJnZXQpCkBAIC0zMjQsMTIgKzMyNSwxMyBAQCBi
b29sIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ6OmRpc3BhdGNoRXJyb3JFdmVudChjb25zdCBTdHJp
bmcmIGVycm9yTWVzc2FnZSwgaW50CiAKICAgICBTdHJpbmcgbWVzc2FnZSA9IGVycm9yTWVzc2Fn
ZTsKICAgICBpbnQgbGluZSA9IGxpbmVOdW1iZXI7CisgICAgaW50IGNvbHVtbiA9IGNvbHVtbk51
bWJlcjsKICAgICBTdHJpbmcgc291cmNlTmFtZSA9IHNvdXJjZVVSTDsKLSAgICBzYW5pdGl6ZVNj
cmlwdEVycm9yKG1lc3NhZ2UsIGxpbmUsIHNvdXJjZU5hbWUsIGNhY2hlZFNjcmlwdCk7CisgICAg
c2FuaXRpemVTY3JpcHRFcnJvcihtZXNzYWdlLCBsaW5lLCBjb2x1bW4sIHNvdXJjZU5hbWUsIGNh
Y2hlZFNjcmlwdCk7CiAKICAgICBBU1NFUlQoIW1faW5EaXNwYXRjaEVycm9yRXZlbnQpOwogICAg
IG1faW5EaXNwYXRjaEVycm9yRXZlbnQgPSB0cnVlOwotICAgIFJlZlB0cjxFcnJvckV2ZW50PiBl
cnJvckV2ZW50ID0gRXJyb3JFdmVudDo6Y3JlYXRlKG1lc3NhZ2UsIHNvdXJjZU5hbWUsIGxpbmUp
OworICAgIFJlZlB0cjxFcnJvckV2ZW50PiBlcnJvckV2ZW50ID0gRXJyb3JFdmVudDo6Y3JlYXRl
KG1lc3NhZ2UsIHNvdXJjZU5hbWUsIGxpbmUsIGNvbHVtbik7CiAgICAgdGFyZ2V0LT5kaXNwYXRj
aEV2ZW50KGVycm9yRXZlbnQpOwogICAgIG1faW5EaXNwYXRjaEVycm9yRXZlbnQgPSBmYWxzZTsK
ICAgICByZXR1cm4gZXJyb3JFdmVudC0+ZGVmYXVsdFByZXZlbnRlZCgpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9TY3JpcHRFeGVjdXRpb25Db250ZXh0LmgKaW5kZXggMmUwOThhOTcwNmZlMDIzMTA4
OGIwYzI4ZmQ2NWExMGE3MzdmMGZiNC4uNjI3NTkwZDhlNmExMGUyMDA0OGFjZmM2NGJlMWJiZDM4
NDRkOTY3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNv
bnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29udGV4dC5o
CkBAIC03NSw3ICs3NSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlRXZh
bChjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSkgPSAwOwogCi0gICAgYm9vbCBzYW5pdGl6ZVNj
cmlwdEVycm9yKFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQmIGxpbmVOdW1iZXIsIFN0cmluZyYg
c291cmNlVVJMLCBDYWNoZWRTY3JpcHQqID0gMCk7CisgICAgYm9vbCBzYW5pdGl6ZVNjcmlwdEVy
cm9yKFN0cmluZyYgZXJyb3JNZXNzYWdlLCBpbnQmIGxpbmVOdW1iZXIsIGludCYgY29sdW1uTnVt
YmVyLCBTdHJpbmcmIHNvdXJjZVVSTCwgQ2FjaGVkU2NyaXB0KiA9IDApOwogICAgIC8vIEZJWE1F
OiA8aHR0cDovL3dlYmtpdC5vcmcvYi8xMTQzMTU+IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQgbG9n
IGV4Y2VwdGlvbiBzaG91bGQgaW5jbHVkZSBhIGNvbHVtbiBudW1iZXIKICAgICB2b2lkIHJlcG9y
dEV4Y2VwdGlvbihjb25zdCBTdHJpbmcmIGVycm9yTWVzc2FnZSwgaW50IGxpbmVOdW1iZXIsIGlu
dCBjb2x1bW5OdW1iZXIsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBQYXNzUmVmUHRyPFNjcmlw
dENhbGxTdGFjaz4sIENhY2hlZFNjcmlwdCogPSAwKTsKIApAQCAtMTg1LDcgKzE4NSw3IEBAIHBy
aXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGFkZE1lc3NhZ2UoTWVzc2FnZVNvdXJjZSwgTWVzc2Fn
ZUxldmVsLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCB1
bnNpZ25lZCBsaW5lTnVtYmVyLCB1bnNpZ25lZCBjb2x1bW5OdW1iZXIsIFBhc3NSZWZQdHI8U2Ny
aXB0Q2FsbFN0YWNrPiwgU2NyaXB0U3RhdGUqID0gMCwgdW5zaWduZWQgbG9uZyByZXF1ZXN0SWRl
bnRpZmllciA9IDApID0gMDsKICAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0KiBlcnJvckV2ZW50VGFy
Z2V0KCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBsb2dFeGNlcHRpb25Ub0NvbnNvbGUoY29uc3Qg
U3RyaW5nJiBlcnJvck1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVVJMLCBpbnQgbGluZU51
bWJlciwgaW50IGNvbHVtbk51bWJlciwgUGFzc1JlZlB0cjxTY3JpcHRDYWxsU3RhY2s+KSA9IDA7
Ci0gICAgYm9vbCBkaXNwYXRjaEVycm9yRXZlbnQoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2Us
IGludCBsaW5lTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVSTCwgQ2FjaGVkU2NyaXB0Kik7
CisgICAgYm9vbCBkaXNwYXRjaEVycm9yRXZlbnQoY29uc3QgU3RyaW5nJiBlcnJvck1lc3NhZ2Us
IGludCBsaW5lTnVtYmVyLCBpbnQgY29sdW1uTnVtYmVyLCBjb25zdCBTdHJpbmcmIHNvdXJjZVVS
TCwgQ2FjaGVkU2NyaXB0Kik7CiAKICAgICB2b2lkIGNsb3NlTWVzc2FnZVBvcnRzKCk7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyTWVzc2FnaW5nUHJveHkuY3Bw
IGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKaW5kZXgg
NGQ4Nzc4YTdkN2RmMzMxODA5YTljZmMwNTcwZDBlMDc2NGZjYjQ4Ny4uOWVjZTVhZTU2YTRmMzcw
YzNhYjkwMTRkZWVlOGNhMmZkMGQ5YjA0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9Xb3JrZXJNZXNzYWdpbmdQcm94eS5jcHAKQEAgLTEzOSw3ICsxMzksNyBAQCBwcml2YXRlOgog
ICAgICAgICAvLyBXZSBkb24ndCBib3RoZXIgY2hlY2tpbmcgdGhlIGFza2VkVG9UZXJtaW5hdGUo
KSBmbGFnIGhlcmUsIGJlY2F1c2UgZXhjZXB0aW9ucyBzaG91bGQgKmFsd2F5cyogYmUgcmVwb3J0
ZWQgZXZlbiBpZiB0aGUgdGhyZWFkIGlzIHRlcm1pbmF0ZWQuCiAgICAgICAgIC8vIFRoaXMgaXMg
aW50ZW50aW9uYWxseSBkaWZmZXJlbnQgdGhhbiB0aGUgYmVoYXZpb3IgaW4gTWVzc2FnZVdvcmtl
clRhc2ssIGJlY2F1c2UgdGVybWluYXRlZCB3b3JrZXJzIG5vIGxvbmdlciBkZWxpdmVyIG1lc3Nh
Z2VzIChzZWN0aW9uIDQuNiBvZiB0aGUgV2ViV29ya2VyIHNwZWMpLCBidXQgdGhleSBkbyByZXBv
cnQgZXhjZXB0aW9ucy4KIAotICAgICAgICBib29sIGVycm9ySGFuZGxlZCA9ICF3b3JrZXJPYmpl
Y3QtPmRpc3BhdGNoRXZlbnQoRXJyb3JFdmVudDo6Y3JlYXRlKG1fZXJyb3JNZXNzYWdlLCBtX3Nv
dXJjZVVSTCwgbV9saW5lTnVtYmVyKSk7CisgICAgICAgIGJvb2wgZXJyb3JIYW5kbGVkID0gIXdv
cmtlck9iamVjdC0+ZGlzcGF0Y2hFdmVudChFcnJvckV2ZW50OjpjcmVhdGUobV9lcnJvck1lc3Nh
Z2UsIG1fc291cmNlVVJMLCBtX2xpbmVOdW1iZXIsIG1fY29sdW1uTnVtYmVyKSk7CiAgICAgICAg
IGlmICghZXJyb3JIYW5kbGVkKQogICAgICAgICAgICAgY29udGV4dC0+cmVwb3J0RXhjZXB0aW9u
KG1fZXJyb3JNZXNzYWdlLCBtX2xpbmVOdW1iZXIsIG1fY29sdW1uTnVtYmVyLCBtX3NvdXJjZVVS
TCwgMCk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGM5YTM1ZDYxMmJhNDc0ODJmNDIwOTQ0ODZmYmQ3ODRjMmFh
MTU5MDcuLjQwOWM3MDIwNWEyOTUzYjg1MGEyNzBiYzQ4ZmM3OWVmOTJjYjRjNWYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSw0MCBAQAorMjAxMy0wNy0zMCAgQ2hyaXN0b3BoZSBEdW1leiAgPGNoLmR1bWV6QHNp
c2Euc2Ftc3VuZy5jb20+CisKKyAgICAgICAgUGFzcyBjb2x1bW4gYXMgNHRoIGFyZ3VtZW50IHRv
IFdvcmtlckdsb2JhbFNjb3BlLm9uZXJyb3IgYW5kIFdpbmRvdy5vbmVycm9yIGhhbmRsZXJzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTkyNTEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgc2V2
ZXJhbCB0ZXN0cyB0byBtYWtlIHVzZSBvZiB0aGUgbmV3IGNvbHVtbiBhcmd1bWVudCBwYXNzZWQg
dG8KKyAgICAgICAgV29ya2VyR2xvYmFsU2NvcGUub25lcnJvciBhbmQgV2luZG93Lm9uZXJyb3Ig
aGFuZGxlcnMuCisKKyAgICAgICAgKiBmYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjEtZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIGZhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMS5odG1sOgorICAg
ICAgICAqIGZhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMTEtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIGZhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMTEuaHRtbDoKKyAgICAgICAgKiBmYXN0L2V2
ZW50cy93aW5kb3ctb25lcnJvcjEyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2V2ZW50
cy93aW5kb3ctb25lcnJvcjEyLmh0bWw6CisgICAgICAgICogZmFzdC9ldmVudHMvd2luZG93LW9u
ZXJyb3IxMy5odG1sOgorICAgICAgICAqIGZhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMTQuaHRt
bDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjE2Lmh0bWw6CisgICAgICAg
ICogZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBm
YXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjIuaHRtbDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy93
aW5kb3ctb25lcnJvcjQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZXZlbnRzL3dpbmRv
dy1vbmVycm9yNC5odG1sOgorICAgICAgICAqIGZhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNS1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I1Lmh0bWw6
CisgICAgICAgICogZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I2LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBmYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjYuaHRtbDoKKyAgICAgICAgKiBmYXN0
L2V2ZW50cy93aW5kb3ctb25lcnJvcjctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZXZl
bnRzL3dpbmRvdy1vbmVycm9yNy5odG1sOgorICAgICAgICAqIGZhc3QvZXZlbnRzL3dpbmRvdy1v
bmVycm9yOC1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9ldmVudHMvd2luZG93LW9uZXJy
b3I4Lmh0bWw6CisgICAgICAgICogZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I5LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjkuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L3dvcmtlcnMvcmVzb3VyY2VzL3dvcmtlci1zY3JpcHQtZXJyb3ItaGFuZGxlZC5q
czoKKyAgICAgICAgKG9uZXJyb3IpOgorICAgICAgICAqIGZhc3Qvd29ya2Vycy93b3JrZXItc2Ny
aXB0LWVycm9yLWV4cGVjdGVkLnR4dDoKKwogMjAxMy0wNy0zMCAgTWFudWVsIFJlZ28gQ2FzYXNu
b3ZhcyAgPHJlZ29AaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBmYXN0L3JlZ2lvbnMvZmly
c3RsZXR0ZXItaW5zaWRlLWZsb3d0aHJlYWQuaHRtbCBpcyBmbGFreQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IxLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMS1leHBlY3RlZC50eHQKaW5kZXggZmU1
MWI3MjJmMGIzNzA5YWVjZDRiODE1Y2QyMDcwOTVjMDI0NjU0NS4uYmUwZGJjYzAzZTcyYzdlYTA3
MjcxNWJmMzIzNjVmNTRlNjllYzRjZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvd2luZG93LW9uZXJyb3IxLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy93aW5kb3ctb25lcnJvcjEtZXhwZWN0ZWQudHh0CkBAIC0xLDMgKzEsMyBAQAogVGhpcyBw
YWdlIHRlc3RzIHNldHRpbmcgb25lcnJvciBoYW5kbGVycyB0aHJvdWdoIHRoZSBET00uIElmIGl0
IHBhc3NlcywgeW91IHdpbGwgc2VlICJQQVNTIiBtZXNzYWdlcyBiZWxvdy5CdWcgODUxOS4KIAot
UEFTUzogY2F1Z2h0IGdsb2JhbCBlcnJvcjogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFy
aWFibGU6IGhhaGFoYV9nb29kX2x1Y2tfZmluZGluZ19tZSBhdCB3aW5kb3ctb25lcnJvcjEuaHRt
bDoyNQorUEFTUzogY2F1Z2h0IGdsb2JhbCBlcnJvcjogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZp
bmQgdmFyaWFibGU6IGhhaGFoYV9nb29kX2x1Y2tfZmluZGluZ19tZSBhdCB3aW5kb3ctb25lcnJv
cjEuaHRtbCwgbGluZTogMjUsIGNvbHVtbjogMzIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
d2luZG93LW9uZXJyb3IxLmh0bWwKaW5kZXggM2M5ZTRlMmMyMmQxZTdiYzcyNGVkMjc5MmVjYjc5
Yjk3NThmMjhlYS4uNzA3NDk2MmZlMjk5YjZlMGI2MGI1Mjk0MDNhMWE1YjU3N2RmMDdlOCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IxLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IxLmh0bWwKQEAgLTE3LDkg
KzE3LDkgQEAgZnVuY3Rpb24gcHJpbnQobWVzc2FnZSwgY29sb3IpCiBmdW5jdGlvbiB0ZXN0KCkK
IHsKICAgICAvLyBtdXN0IGJlIGxhc3QgYmVjYXVzZSB0aGUgZXhjZXB0aW9uIGVuZHMgSmF2YVNj
cmlwdCBleGVjdXRpb24KLSAgICB3aW5kb3cub25lcnJvciA9IGZ1bmN0aW9uIChlcnJvciwgdXJs
LCBsaW5lKSB7CisgICAgd2luZG93Lm9uZXJyb3IgPSBmdW5jdGlvbiAoZXJyb3IsIHVybCwgbGlu
ZSwgY29sdW1uKSB7CiAgICAgICAgIHVybCA9IHVybCA/IHVybC5tYXRjaCggL1teXC9dK1wvPyQv
IClbMF0gOiB1cmw7Ci0gICAgICAgIHByaW50KCJQQVNTOiBjYXVnaHQgZ2xvYmFsIGVycm9yOiAi
ICsgZXJyb3IgKyAiIGF0ICIgKyB1cmwgKyAiOiIgKyBsaW5lLCAiZ3JlZW4iKTsKKyAgICAgICAg
cHJpbnQoIlBBU1M6IGNhdWdodCBnbG9iYWwgZXJyb3I6ICIgKyBlcnJvciArICIgYXQgIiArIHVy
bCArICIsIGxpbmU6ICIgKyBsaW5lICsgIiwgY29sdW1uOiAiICsgY29sdW1uLCAiZ3JlZW4iKTsK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfTsKICAgICBoYWhhaGFfZ29vZF9sdWNrX2ZpbmRp
bmdfbWUoKTsgLy8gY2F1Z2h0IGJ5IHdpbmRvdy5vbmVycm9yCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjExLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMTEtZXhwZWN0ZWQudHh0CmluZGV4IDk2ZTIw
Y2MzZWMzYjEwYjc1M2NiYWNkNmQwYmEwOTQzZGNkZWUyNjQuLmJlOTQ3MDc1YmE5ZjhjNzE4M2Ez
MTY4NWZiZGVmNGMyZGU4OWNlOGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRz
L3dpbmRvdy1vbmVycm9yMTEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZl
bnRzL3dpbmRvdy1vbmVycm9yMTEtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEsNCBAQAogVGVzdCB0
aGF0IHdpbmRvdy5vbmVycm9yIGlzIGNhbGxlZCBvbiB3aW5kb3cgb2JqZWN0LiBCdWcgODUxOS4K
IAotTWFpbiBmcmFtZSB3aW5kb3cub25lcnJvcjogRXJyb3I6IEFuIGV4Y2VwdGlvbiBhdCB3aW5k
b3ctb25lcnJvci5qczoyCitNYWluIGZyYW1lIHdpbmRvdy5vbmVycm9yOiBFcnJvcjogQW4gZXhj
ZXB0aW9uIGF0IHdpbmRvdy1vbmVycm9yLmpzLCBsaW5lOiAyLCBjb2x1bW46IDM2CiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMTEuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMTEuaHRtbAppbmRleCA2MjhkNzI5
MjJiNzgxZWQ0NDkyM2ZmYjg3YzkwY2RhZTcxZDhjNDVjLi4xNTBkMGM3ZjM4OGY0MDkyMTc4ZTkw
ZWY4ZjgyYThiY2U3ZGUyM2EyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93
aW5kb3ctb25lcnJvcjExLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93
LW9uZXJyb3IxMS5odG1sCkBAIC0xNCwxMCArMTQsMTAgQEAgZnVuY3Rpb24gbG9nKG1zZykgewog
ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1zZyAr
ICI8YnI+IjsKIH0KIAotd2luZG93Lm9uZXJyb3IgPSBmdW5jdGlvbihtc2csIHVybCwgbGluZSkK
K3dpbmRvdy5vbmVycm9yID0gZnVuY3Rpb24obXNnLCB1cmwsIGxpbmUsIGNvbHVtbikKIHsKICAg
ICB1cmwgPSB1cmwgPyB1cmwubWF0Y2goIC9bXlwvXStcLz8kLyApWzBdIDogdXJsOwotICAgIGxv
ZygiTWFpbiBmcmFtZSB3aW5kb3cub25lcnJvcjogIiArIG1zZyArICIgYXQgIiArIHVybCArICI6
IiArIGxpbmUpOworICAgIGxvZygiTWFpbiBmcmFtZSB3aW5kb3cub25lcnJvcjogIiArIG1zZyAr
ICIgYXQgIiArIHVybCArICIsIGxpbmU6ICIgKyBsaW5lICsgIiwgY29sdW1uOiAiICsgY29sdW1u
KTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvd2luZG93LW9uZXJyb3IxMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy93aW5kb3ctb25lcnJvcjEyLWV4cGVjdGVkLnR4dAppbmRleCBlMTZmZTk3ODczMTk5NDg1
M2JiNDIzNzI4MWQ4YjcxMDE4NGVmM2I5Li41MGNjMTNkY2ZmNTllMTAzMWQ0YzJmMjZiZGU5OWI3
NmM5ZjM2YTBhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25l
cnJvcjEyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ct
b25lcnJvcjEyLWV4cGVjdGVkLnR4dApAQCAtNCw1ICs0LDYgQEAgTWFpbiBmcmFtZSB3aW5kb3cu
b25lcnJvcjoKIG1zZzogW29iamVjdCBFdmVudF0KIHVybDogdW5kZWZpbmVkCiBsaW5lOiB1bmRl
ZmluZWQKK2NvbHVtbjogdW5kZWZpbmVkCiBET05FLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjEyLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy93aW5kb3ctb25lcnJvcjEyLmh0bWwKaW5kZXggNTY0YzY0MDc1MjkyMTZiNjkzYWFmNmVm
ZGQzZGYzNDI5OTdlNGMzNS4uNDRkNDg4NDk1ZmZlMThhMzIwNWNhMTc5NTAzNTE3YzA3NzMwNzc0
OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IxMi5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMTIuaHRtbApA
QCAtMTQsMTIgKzE0LDEzIEBAIGZ1bmN0aW9uIGxvZyhtc2cpIHsKICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgiY29uc29sZSIpLmlubmVySFRNTCArPSBtc2cgKyAiPGJyPiI7CiB9CiAKLXdp
bmRvdy5vbmVycm9yID0gZnVuY3Rpb24obXNnLCB1cmwsIGxpbmUpCit3aW5kb3cub25lcnJvciA9
IGZ1bmN0aW9uKG1zZywgdXJsLCBsaW5lLCBjb2x1bW4pCiB7CiAgICAgbG9nKCJNYWluIGZyYW1l
IHdpbmRvdy5vbmVycm9yOiAiKTsKICAgICBsb2coIm1zZzogIiArIG1zZyk7CiAgICAgbG9nKCJ1
cmw6ICIgKyB1cmwpOwogICAgIGxvZygibGluZTogIiArIGxpbmUpOworICAgIGxvZygiY29sdW1u
OiAiICsgY29sdW1uKTsKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IxMy5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvd2luZG93LW9uZXJyb3IxMy5odG1sCmluZGV4IDdkMjFjZDE1MWY0MzA3ZjdiZmE5
Yjk1MDYwNTEyZGU3YTU3NDA4NzkuLjY1NWQzNjE3OTQ5N2U2OThkYTk5ZWI1MDQ2YzEwMTFhMDg4
NzExN2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9y
MTMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjEzLmh0
bWwKQEAgLTE1LDcgKzE1LDcgQEAgZnVuY3Rpb24gbG9nKG1zZykgewogICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1zZyArICI8YnI+IjsKIH0KIAot
d2luZG93Lm9uZXJyb3IgPSBmdW5jdGlvbihtc2csIHVybCwgbGluZSkKK3dpbmRvdy5vbmVycm9y
ID0gZnVuY3Rpb24obXNnLCB1cmwsIGxpbmUsIGNvbHVtbikKIHsKICAgbG9nKCJVbmNhdWdodCBl
cnJvciBzaG91bGQgYmUgcHJpbnRlZCBpbiBjb25zb2xlIHdoZW4gd2luZG93Lm9uZXJyb3IgcmV0
dXJucyBub3QgdHJ1ZS4iKTsKICAgbG9nKCJET05FLiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IxNC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvd2luZG93LW9uZXJyb3IxNC5odG1sCmluZGV4IDBjMWY4MjQ2NTMzOTQzNTdmOGY4NmRi
ODQ0YTdlZWZmYjJhNzNhODYuLjViYjVkYzY0YThjZjc0N2ZmMmIxOTk5MmM5MWM0MzcwZWEwYTMx
YjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMTQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjE0Lmh0bWwK
QEAgLTE1LDcgKzE1LDcgQEAgZnVuY3Rpb24gbG9nKG1zZykgewogICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb25zb2xlIikuaW5uZXJIVE1MICs9IG1zZyArICI8YnI+IjsKIH0KIAotd2lu
ZG93Lm9uZXJyb3IgPSBmdW5jdGlvbihtc2csIHVybCwgbGluZSkKK3dpbmRvdy5vbmVycm9yID0g
ZnVuY3Rpb24obXNnLCB1cmwsIGxpbmUsIGNvbHVtbikKIHsKICAgbG9nKCJVbmNhdWdodCBlcnJv
ciBzaG91bGQgKm5vdCogYmUgcHJpbnRlZCBpbiBjb25zb2xlIHdoZW4gd2luZG93Lm9uZXJyb3Ig
cmV0dXJucyB0cnVlLiIpOwogICBsb2coIndpbmRvdy5vbmVycm9yIGludm9rZWQuIik7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjE2Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjE2Lmh0bWwKaW5kZXggZjc5NGY3
MjlmNGI4ZjM2YzNkNWYwMWRlMWZiMzQ5ZmU3OTYxMDc0MS4uMGVlYjU0YTEwN2IzM2Y5Y2M0M2Uy
ZmNhMmI3ZTZkNGNjMWI4NWMzNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
d2luZG93LW9uZXJyb3IxNi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRv
dy1vbmVycm9yMTYuaHRtbApAQCAtMTUsNyArMTUsNyBAQCBmdW5jdGlvbiBsb2cobXNnKSB7CiAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lckhUTUwgKz0gbXNnICsg
Ijxicj4iOwogfQogCi13aW5kb3cub25lcnJvciA9IGZ1bmN0aW9uKG1zZywgdXJsLCBsaW5lKQor
d2luZG93Lm9uZXJyb3IgPSBmdW5jdGlvbihtc2csIHVybCwgbGluZSwgY29sdW1uKQogewogICBs
b2coIndpbmRvdy5vbmVycm9yIGludm9rZWQuIFVuY2F1Z2h0IGVycm9yIHNob3VsZCBiZSBwcmlu
dGVkIGluIGNvbnNvbGUiKTsKICAgbG9nKCJET05FLiIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IyLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMi1leHBlY3RlZC50eHQKaW5kZXggOWUwYzY2MzVh
ZDAyNmMyZTQ4MTA2MDk0ODNiN2YxODg4ODI5OTdmZS4uODg5YzMwOWI3NjI1OTRjMTQ3MmEwNGEw
N2YwOTA1NGE2MDRhMjA4OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2lu
ZG93LW9uZXJyb3IyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93
aW5kb3ctb25lcnJvcjItZXhwZWN0ZWQudHh0CkBAIC0xLDYgKzEsNiBAQAogVGVzdCB0aGF0IHVu
Y2F1Z2h0IGV4Y2VwdGlvbnMgd2lsbCBiZSByZXBvcnRlZCB0byB0aGUgd2luZG93Lm9uZXJyb3Ig
aGFuZGxlci4gQnVnIDg1MTkuCiAKLU1haW4gZnJhbWUgd2luZG93Lm9uZXJyb3I6IEVycm9yOiBJ
bmxpbmUgc2NyaXB0IGV4Y2VwdGlvbiBhdCB3aW5kb3ctb25lcnJvcjIuaHRtbDozNAotTWFpbiBm
cmFtZSB3aW5kb3cub25lcnJvcjogRXhjZXB0aW9uIGluIG9ubG9hZCBhdCB3aW5kb3ctb25lcnJv
cjIuaHRtbDoyCi1NYWluIGZyYW1lIHdpbmRvdy5vbmVycm9yOiBFcnJvcjogRXhjZXB0aW9uIGlu
IHNldFRpbWVvdXQgYXQgd2luZG93LW9uZXJyb3IyLmh0bWw6MjkKK01haW4gZnJhbWUgd2luZG93
Lm9uZXJyb3I6IEVycm9yOiBJbmxpbmUgc2NyaXB0IGV4Y2VwdGlvbiBhdCB3aW5kb3ctb25lcnJv
cjIuaHRtbCwgbGluZTogMzQsIGNvbHVtbjogNDcKK01haW4gZnJhbWUgd2luZG93Lm9uZXJyb3I6
IEV4Y2VwdGlvbiBpbiBvbmxvYWQgYXQgd2luZG93LW9uZXJyb3IyLmh0bWwsIGxpbmU6IDIsIGNv
bHVtbjogMTUwCitNYWluIGZyYW1lIHdpbmRvdy5vbmVycm9yOiBFcnJvcjogRXhjZXB0aW9uIGlu
IHNldFRpbWVvdXQgYXQgd2luZG93LW9uZXJyb3IyLmh0bWwsIGxpbmU6IDI5LCBjb2x1bW46IDQ3
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yMi5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3IyLmh0bWwKaW5kZXgg
YzYwOWE2NTcyMjAwNzEyMGMzOGZkZDdlMjFmYTQ5MjQ2ZGY1OWFmNS4uMzA3ZTE2YWY4YzIwYjE5
NzRiMTg4MjlkZmRlOTU4NmRiZGJmNDcyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvd2luZG93LW9uZXJyb3IyLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
d2luZG93LW9uZXJyb3IyLmh0bWwKQEAgLTEzLDEwICsxMywxMCBAQCBmdW5jdGlvbiBsb2cobXNn
KSB7CiB9CiAKIHZhciB1bmhhbmRsZWRFcnJvckNvdW50ID0gMDsKLXdpbmRvdy5vbmVycm9yID0g
ZnVuY3Rpb24obXNnLCB1cmwsIGxpbmUpCit3aW5kb3cub25lcnJvciA9IGZ1bmN0aW9uKG1zZywg
dXJsLCBsaW5lLCBjb2x1bW4pCiB7CiAgICAgdXJsID0gdXJsID8gdXJsLm1hdGNoKCAvW15cL10r
XC8/JC8gKVswXSA6IHVybDsKLSAgICBsb2coIk1haW4gZnJhbWUgd2luZG93Lm9uZXJyb3I6ICIg
KyBtc2cgKyAiIGF0ICIgKyB1cmwgKyAiOiIgKyBsaW5lKTsKKyAgICBsb2coIk1haW4gZnJhbWUg
d2luZG93Lm9uZXJyb3I6ICIgKyBtc2cgKyAiIGF0ICIgKyB1cmwgKyAiLCBsaW5lOiAiICsgbGlu
ZSArICIsIGNvbHVtbjogIiArIGNvbHVtbik7CiAgICAgCiAgICAgaWYgKCsrdW5oYW5kbGVkRXJy
b3JDb3VudCA9PT0gMyAmJiB3aW5kb3cudGVzdFJ1bm5lcikKICAgICAgICAgdGVzdFJ1bm5lci5u
b3RpZnlEb25lKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ct
b25lcnJvcjQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9u
ZXJyb3I0LWV4cGVjdGVkLnR4dAppbmRleCAyNmFmOGExZWE5YzgyZDFkZGIyMGJmYTA3MWJkYTdm
OGM2NzdiNzY2Li5hZGJmYTE3MmY0NGYwZWJlNTUwNWQ1NmQwMzAyZmM4MWY0MDJjY2NiIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjQtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNC1leHBlY3Rl
ZC50eHQKQEAgLTEsNCArMSw0IEBACiBZb3Ugc2hvdWxkIHNlZSBhIGxvZyByZWNvcmQgaWYgd2lu
ZG93Lm9uZXJyb3IgaXMgd29ya2luZyBwcm9wZXJseSBmb3IgdGhpcyB0ZXN0LkJ1ZyA4NTE5Lgog
Ci1FcnJvciBjYXVnaHQgc3VjY2Vzc2Z1bGx5OiBSZWZlcmVuY2VFcnJvcjogTGVmdCBzaWRlIG9m
IGFzc2lnbm1lbnQgaXMgbm90IGEgcmVmZXJlbmNlLiBGaWxlOiB1bmRlZmluZWQgTGluZTogMQor
RXJyb3IgY2F1Z2h0IHN1Y2Nlc3NmdWxseTogUmVmZXJlbmNlRXJyb3I6IExlZnQgc2lkZSBvZiBh
c3NpZ25tZW50IGlzIG5vdCBhIHJlZmVyZW5jZS4gRmlsZTogdW5kZWZpbmVkIExpbmU6IDEgQ29s
dW1uOiAwCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVy
cm9yNC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I0Lmh0bWwK
aW5kZXggNmMyYzNlOGJiMWU1MWMwODAxMDQ2MDkxZWFmOWM2MTNhMjM4MTkxNC4uNWMwZjBjNDcw
ZDYzYzE5MTY1YzI5MWU1OTQ3Yjg5NGY5MDc4YTk2MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvd2luZG93LW9uZXJyb3I0Lmh0bWwKQEAgLTgsOSArOCw5IEBAIGZ1bmN0aW9uIGxvZyht
c2cpIHsKIAogZnVuY3Rpb24gdGVzdDEoKQogewotICAgIHdpbmRvdy5vbmVycm9yID0gZnVuY3Rp
b24gKGVycm9yLCB1cmwsIGxpbmUpIHsKKyAgICB3aW5kb3cub25lcnJvciA9IGZ1bmN0aW9uIChl
cnJvciwgdXJsLCBsaW5lLCBjb2x1bW4pIHsKICAgICAgICAgdXJsID0gdXJsID8gdXJsLm1hdGNo
KCAvW15cL10rXC8/JC8gKVswXSA6IHVybDsKLSAgICAgICAgbG9nKCJFcnJvciBjYXVnaHQgc3Vj
Y2Vzc2Z1bGx5OiAiICsgZXJyb3IgKyAiXG5GaWxlOiAiICsgdXJsICsgIlxuTGluZTogIiArIGxp
bmUpCisgICAgICAgIGxvZygiRXJyb3IgY2F1Z2h0IHN1Y2Nlc3NmdWxseTogIiArIGVycm9yICsg
IlxuRmlsZTogIiArIHVybCArICJcbkxpbmU6ICIgKyBsaW5lICsgIlxuQ29sdW1uOiAiICsgY29s
dW1uKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9OwogICAgIGV2YWwoIjE9MiIpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I1LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNS1leHBlY3RlZC50
eHQKaW5kZXggZTE4NWM1N2VlNmEzYjVmNmNjMDQxYWUxMTE5NTQyMjUyOTM1OTI3Mi4uYTUyOTVm
ZThlMGE4YjdiNzcyNTZmYjMwMzY5NzdmNzgxNzcwZjFmMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I1LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjUtZXhwZWN0ZWQudHh0CkBAIC0xLDQgKzEs
NCBAQAogVGVzdCB0aGF0IHdpbmRvdy5vbmVycm9yIGlzIGludm9rZWQgZm9yIHN5bnRheCBlcnJv
ciBpbiBldmFsLiBZb3Ugc2hvdWxkIHNlZSBhIGxvZyByZWNvcmQgaWYgd2luZG93Lm9uZXJyb3Ig
aXMgd29ya2luZyBwcm9wZXJseSBmb3IgdGhpcyB0ZXN0LkJ1ZyA4NTE5LgogCi1FcnJvciBjYXVn
aHQgc3VjY2Vzc2Z1bGx5OiBTeW50YXhFcnJvcjogVW5leHBlY3RlZCBFT0YgRmlsZTogd2luZG93
LW9uZXJyb3I1Lmh0bWwgTGluZTogMTYKK0Vycm9yIGNhdWdodCBzdWNjZXNzZnVsbHk6IFN5bnRh
eEVycm9yOiBVbmV4cGVjdGVkIEVPRiBGaWxlOiB3aW5kb3ctb25lcnJvcjUuaHRtbCBMaW5lOiAx
NiBDb2x1bW46IDAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93
LW9uZXJyb3I1Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjUu
aHRtbAppbmRleCBmMjYwODlmZDlmYTJlNDA5MTU1YjFmM2I2ODk1OTZlNzhiMTUxOTUyLi5iMGUx
YzU3YTc2NzdkNGMxN2Y4ZDBiMzdjMDc1NTdmNmY1ZmQxYTg2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjUuaHRtbApAQCAtOCw5ICs4LDkgQEAgZnVuY3Rpb24g
bG9nKG1zZykgewogCiBmdW5jdGlvbiB0ZXN0MSgpCiB7Ci0gICAgd2luZG93Lm9uZXJyb3IgPSBm
dW5jdGlvbiAoZXJyb3IsIHVybCwgbGluZSkgeworICAgIHdpbmRvdy5vbmVycm9yID0gZnVuY3Rp
b24gKGVycm9yLCB1cmwsIGxpbmUsIGNvbHVtbikgewogICAgICAgICB1cmwgPSB1cmwgPyB1cmwu
bWF0Y2goIC9bXlwvXStcLz8kLyApWzBdIDogdXJsOwotICAgICAgICBsb2coIkVycm9yIGNhdWdo
dCBzdWNjZXNzZnVsbHk6ICIgKyBlcnJvciArICJcbkZpbGU6ICIgKyB1cmwgKyAiXG5MaW5lOiAi
ICsgbGluZSkKKyAgICAgICAgbG9nKCJFcnJvciBjYXVnaHQgc3VjY2Vzc2Z1bGx5OiAiICsgZXJy
b3IgKyAiXG5GaWxlOiAiICsgdXJsICsgIlxuTGluZTogIiArIGxpbmUgKyAiXG5Db2x1bW46ICIg
KyBjb2x1bW4pCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH07CiAgICAgZXZhbCgiYSgiKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjYtZXhwZWN0
ZWQudHh0CmluZGV4IDdjNGQ0ZDk5ZWM3NzYyNjgzMDRiYzQ2MTM3YzEyOTZkNDEwZGMyZTguLmFj
NDJlYTllMjBlOTY4OGEwNDc0NjBkOTJjNTc4MjEyNDU2NDkyZGQgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNi1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I2LWV4cGVjdGVkLnR4dApAQCAtMSw0
ICsxLDQgQEAKIFRlc3QgdGhhdCBzeW50YXggZXJyb3Igd2lsbCBiZSByZXBvcnRlZCB0byB0aGUg
d2luZG93Lm9uZXJyb3IgaGFuZGxlci4gQnVnIDg1MTkuCiAKLU1haW4gZnJhbWUgd2luZG93Lm9u
ZXJyb3I6IFN5bnRheEVycm9yOiBVbmV4cGVjdGVkIHRva2VuICcpJyBhdCB3aW5kb3ctb25lcnJv
cjYuaHRtbDoyMgorTWFpbiBmcmFtZSB3aW5kb3cub25lcnJvcjogU3ludGF4RXJyb3I6IFVuZXhw
ZWN0ZWQgdG9rZW4gJyknIGF0IHdpbmRvdy1vbmVycm9yNi5odG1sLCBsaW5lOiAyMiwgY29sdW1u
OiAwCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9y
Ni5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I2Lmh0bWwKaW5k
ZXggMTQyY2QyMTdiN2JlMmZkZWMzNzc1NjViZmU3MGRhZTFkZTkzMzQzYS4uOGIyMTY1MzM2ZDM4
M2FkYzdjMGVmYTFkYzgzOTk0NTZhMjE4Y2QyYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvd2luZG93LW9uZXJyb3I2Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvd2luZG93LW9uZXJyb3I2Lmh0bWwKQEAgLTEwLDEwICsxMCwxMCBAQCBmdW5jdGlvbiBsb2co
bXNnKSB7CiAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5pbm5lckhUTUwg
Kz0gbXNnICsgIjxicj4iOwogfQogCi13aW5kb3cub25lcnJvciA9IGZ1bmN0aW9uKG1zZywgdXJs
LCBsaW5lKQord2luZG93Lm9uZXJyb3IgPSBmdW5jdGlvbihtc2csIHVybCwgbGluZSwgY29sdW1u
KQogewogICAgIHVybCA9IHVybCA/IHVybC5tYXRjaCggL1teXC9dK1wvPyQvIClbMF0gOiB1cmw7
Ci0gICAgbG9nKCJNYWluIGZyYW1lIHdpbmRvdy5vbmVycm9yOiAiICsgbXNnICsgIiBhdCAiICsg
dXJsICsgIjoiICsgbGluZSk7CisgICAgbG9nKCJNYWluIGZyYW1lIHdpbmRvdy5vbmVycm9yOiAi
ICsgbXNnICsgIiBhdCAiICsgdXJsICsgIiwgbGluZTogIiArIGxpbmUgKyAiLCBjb2x1bW46ICIg
KyBjb2x1bW4pOwogICAgIHJldHVybiB0cnVlOwogfQogPC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjctZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I3LWV4cGVjdGVkLnR4dAppbmRleCA1
ZDIyZTdlNzU1NjhhMjQ5NTljYmU2M2Q5ZmFhZTE0ZmRhYmNmMzYwLi41YzRhMDYyZjc5NGEyYmY5
NjM0MDVhOGIzOWE0ODRmYjRkNzA0MWE4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy93aW5kb3ctb25lcnJvcjctZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL3dpbmRvdy1vbmVycm9yNy1leHBlY3RlZC50eHQKQEAgLTIsNSArMiw1IEBAIENPTlNP
TEUgTUVTU0FHRTogbGluZSAyMDogRXJyb3I6IE9yaWdpbmFsIGVycm9yCiBDT05TT0xFIE1FU1NB
R0U6IGxpbmUgMTc6IEVycm9yOiBOZXN0ZWQgZXJyb3IKIFRlc3QgdGhhdCBleGNlcHRpb24gaW4g
d2luZG93Lm9uZXJyb3Igd29uJ3QgbGVhZCB0byByZWN1cnNpdmUgd2luZG93Lm9uZXJyb3IgY2Fs
bC4gQnVnIDg1MTkuCiAKLU1haW4gZnJhbWUgd2luZG93Lm9uZXJyb3I6IEVycm9yOiBPcmlnaW5h
bCBlcnJvciBhdCB3aW5kb3ctb25lcnJvcjcuaHRtbDoyMAorTWFpbiBmcmFtZSB3aW5kb3cub25l
cnJvcjogRXJyb3I6IE9yaWdpbmFsIGVycm9yIGF0IHdpbmRvdy1vbmVycm9yNy5odG1sLCBsaW5l
OiAyMCwgY29sdW1uOiAzNAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93
aW5kb3ctb25lcnJvcjcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVy
cm9yNy5odG1sCmluZGV4IDZlOWIyNmE5ODA5NGYzMGVmYTNjYjRjNjg1MTk5ODNlOWE2ZTNkOWMu
LmRkN2YxNGE3OWVmNzY3NjM1MTJjZWMyNGIxYTg5YmJlMzcwODBlOTYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yNy5odG1sCkBAIC0xMCwxMCArMTAsMTAgQEAg
ZnVuY3Rpb24gbG9nKG1zZykgewogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb25zb2xl
IikuaW5uZXJIVE1MICs9IG1zZyArICI8YnI+IjsKIH0KIAotd2luZG93Lm9uZXJyb3IgPSBmdW5j
dGlvbihtc2csIHVybCwgbGluZSkKK3dpbmRvdy5vbmVycm9yID0gZnVuY3Rpb24obXNnLCB1cmws
IGxpbmUsIGNvbHVtbikKIHsKICAgICB1cmwgPSB1cmwgPyB1cmwubWF0Y2goIC9bXlwvXStcLz8k
LyApWzBdIDogdXJsOwotICAgIGxvZygiTWFpbiBmcmFtZSB3aW5kb3cub25lcnJvcjogIiArIG1z
ZyArICIgYXQgIiArIHVybCArICI6IiArIGxpbmUpOworICAgIGxvZygiTWFpbiBmcmFtZSB3aW5k
b3cub25lcnJvcjogIiArIG1zZyArICIgYXQgIiArIHVybCArICIsIGxpbmU6ICIgKyBsaW5lICsg
IiwgY29sdW1uOiAiICsgY29sdW1uKTsKICAgICB0aHJvdyBuZXcgRXJyb3IoIk5lc3RlZCBlcnJv
ciIpOwogfQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25l
cnJvcjgtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJy
b3I4LWV4cGVjdGVkLnR4dAppbmRleCAxNWVkM2I0Nzc4NWNiM2I3MGZlNzgxZmI1YjgwYjMyZTRj
MDc5ZTQzLi41ZWMyNjU4M2QzMDM3NDQyMGUwNjZiYjM4Yzc5MzVjYzhlMWI5OTEwIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjgtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yOC1leHBlY3RlZC50
eHQKQEAgLTEsNSArMSw1IEBACiBUZXN0IHRoYXQgd2luZG93Lm9uZXJyb3IgaXMgY2FsbGVkIG9u
IHdpbmRvdyBvYmplY3QuIEJ1ZyA4NTE5LgogCi1NYWluIGZyYW1lIHdpbmRvdy5vbmVycm9yOiAy
MDEwIGF0IHdpbmRvdy1vbmVycm9yOC5odG1sOjI0CitNYWluIGZyYW1lIHdpbmRvdy5vbmVycm9y
OiAyMDEwIGF0IHdpbmRvdy1vbmVycm9yOC5odG1sLCBsaW5lOiAyNCwgY29sdW1uOiAxMQogUEFT
U0VEOiB0aGlzID09PSB3aW5kb3cKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvd2luZG93LW9uZXJyb3I4Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ct
b25lcnJvcjguaHRtbAppbmRleCAzM2Q1ZjNhNzRhMWZkYWJkNGMxZTVjMGE0MmY4NjdlODQ4YTFm
ZjA3Li5kOWQyMGY3ZTAyMjUyNTk1NWUwYzUyMWZlZWJjNjg0NGZlZTYzZjFmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjguaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjguaHRtbApAQCAtMTAsMTAgKzEwLDEw
IEBAIGZ1bmN0aW9uIGxvZyhtc2cpIHsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
c29sZSIpLmlubmVySFRNTCArPSBtc2cgKyAiPGJyPiI7CiB9CiAKLXdpbmRvdy5vbmVycm9yID0g
ZnVuY3Rpb24obXNnLCB1cmwsIGxpbmUpCit3aW5kb3cub25lcnJvciA9IGZ1bmN0aW9uKG1zZywg
dXJsLCBsaW5lLCBjb2x1bW4pCiB7CiAgICAgdXJsID0gdXJsID8gdXJsLm1hdGNoKCAvW15cL10r
XC8/JC8gKVswXSA6IHVybDsKLSAgICBsb2coIk1haW4gZnJhbWUgd2luZG93Lm9uZXJyb3I6ICIg
KyBtc2cgKyAiIGF0ICIgKyB1cmwgKyAiOiIgKyBsaW5lKTsKKyAgICBsb2coIk1haW4gZnJhbWUg
d2luZG93Lm9uZXJyb3I6ICIgKyBtc2cgKyAiIGF0ICIgKyB1cmwgKyAiLCBsaW5lOiAiICsgbGlu
ZSArICIsIGNvbHVtbjogIiArIGNvbHVtbik7CiAgICAgaWYgKHRoaXMgPT09IHdpbmRvdykgCiAg
ICAgICAgIGxvZygiUEFTU0VEOiB0aGlzID09PSB3aW5kb3ciKTsKICAgICBlbHNlCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjktZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I5LWV4cGVjdGVkLnR4dApp
bmRleCA5NDMxNmQzZjEwN2U5Y2I0ZjQ5OTk0OGIxOWZkOWUyZTRhZTNkYWQ2Li5kZmNlYTg0NWQ3
MGQ3YWYxZWJjY2JmNTAwNTg5NWIyM2E3MDVkOTM2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L2V2ZW50cy93aW5kb3ctb25lcnJvcjktZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yOS1leHBlY3RlZC50eHQKQEAgLTEsNiArMSw2IEBA
CiBUZXN0IHRoYXQgd2hlbiB3aW5kb3cub25lcnJvciBoYW5kbGVyIGlzIGNhbGxlZCwgd2luZG93
LmV2ZW50IGlzIHRoZSBjb3JyZXNwb25kaW5nIEVycm9yRXZlbnQgb2JqZWN0LiBCdWcgODUxOS4K
IAotTWFpbiBmcmFtZSB3aW5kb3cub25lcnJvcjogRXJyb3I6IDIwMTAgYXQgd2luZG93LW9uZXJy
b3I5Lmh0bWw6MzEKK01haW4gZnJhbWUgd2luZG93Lm9uZXJyb3I6IEVycm9yOiAyMDEwIGF0IHdp
bmRvdy1vbmVycm9yOS5odG1sLCBsaW5lOiAzMSwgY29sdW1uOiAyMgogd2luZG93LmV2ZW50LnR5
cGUgPSBlcnJvcgogd2luZG93LmV2ZW50Lm1lc3NhZ2UgPSBFcnJvcjogMjAxMAogd2luZG93LmV2
ZW50LmZpbGVuYW1lID0gd2luZG93LW9uZXJyb3I5Lmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3dpbmRvdy1vbmVycm9yOS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvd2luZG93LW9uZXJyb3I5Lmh0bWwKaW5kZXggNmEzZTFiNDAyNGZhYmZlY2M3MDIzZTE3
YzgzODM5OWNkZjRjMzVkYS4uMGM4MTk4MThjYWI2MzQzYjEyZjU2MjE4M2U2MTNjNGZiNTQyZjZk
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I5Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvd2luZG93LW9uZXJyb3I5Lmh0bWwKQEAg
LTE2LDkgKzE2LDkgQEAgZnVuY3Rpb24gbGFzdFBhdGhDb21wb25lbnQodXJsKSB7CiAgICAgcmV0
dXJuIHVybCA/IHVybC5tYXRjaCggL1teXC9dK1wvPyQvIClbMF0gOiB1cmw7CiB9CiAKLXdpbmRv
dy5vbmVycm9yID0gZnVuY3Rpb24obXNnLCB1cmwsIGxpbmUpCit3aW5kb3cub25lcnJvciA9IGZ1
bmN0aW9uKG1zZywgdXJsLCBsaW5lLCBjb2x1bW4pCiB7Ci0gICAgbG9nKCJNYWluIGZyYW1lIHdp
bmRvdy5vbmVycm9yOiAiICsgbXNnICsgIiBhdCAiICsgbGFzdFBhdGhDb21wb25lbnQodXJsKSAr
ICI6IiArIGxpbmUpOworICAgIGxvZygiTWFpbiBmcmFtZSB3aW5kb3cub25lcnJvcjogIiArIG1z
ZyArICIgYXQgIiArIGxhc3RQYXRoQ29tcG9uZW50KHVybCkgKyAiLCBsaW5lOiAiICsgbGluZSAr
ICIsIGNvbHVtbjogIiArIGNvbHVtbik7CiAgICAgbG9nKCJ3aW5kb3cuZXZlbnQudHlwZSA9ICIg
KyB3aW5kb3cuZXZlbnQudHlwZSk7CiAgICAgbG9nKCJ3aW5kb3cuZXZlbnQubWVzc2FnZSA9ICIg
KyB3aW5kb3cuZXZlbnQubWVzc2FnZSk7CiAgICAgbG9nKCJ3aW5kb3cuZXZlbnQuZmlsZW5hbWUg
PSAiICsgbGFzdFBhdGhDb21wb25lbnQod2luZG93LmV2ZW50LmZpbGVuYW1lKSk7CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvcmVzb3VyY2VzL3dvcmtlci1zY3JpcHQtZXJy
b3ItaGFuZGxlZC5qcyBiL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9yZXNvdXJjZXMvd29ya2Vy
LXNjcmlwdC1lcnJvci1oYW5kbGVkLmpzCmluZGV4IGEyMGQ0MTA4YjU5NWMwNGEwODllYmViMDQ4
YjIxZGFiY2U5YWM4ODcuLjczYTk3YTZlNzdjNzQ0ZjlhM2YzYzkwYzU4YzQwMDRmZGVkMTVjMTcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9yZXNvdXJjZXMvd29ya2VyLXNj
cmlwdC1lcnJvci1oYW5kbGVkLmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvd29ya2Vycy9yZXNv
dXJjZXMvd29ya2VyLXNjcmlwdC1lcnJvci1oYW5kbGVkLmpzCkBAIC0xLDcgKzEsNyBAQAotb25l
cnJvciA9IGZ1bmN0aW9uKG1lc3NhZ2UsIHVybCwgbGluZW5vKQorb25lcnJvciA9IGZ1bmN0aW9u
KG1lc3NhZ2UsIHVybCwgbGluZW5vLCBjb2xubykKIHsKLSAgICBwb3N0TWVzc2FnZSgib25lcnJv
ciBpbnZva2VkIGZvciBhIHNjcmlwdCB0aGF0IGhhcyBzY3JpcHQgZXJyb3IgJyIgKyBtZXNzYWdl
ICsgIicgYXQgbGluZSAiICsgbGluZW5vKTsKKyAgICBwb3N0TWVzc2FnZSgib25lcnJvciBpbnZv
a2VkIGZvciBhIHNjcmlwdCB0aGF0IGhhcyBzY3JpcHQgZXJyb3IgJyIgKyBtZXNzYWdlICsgIicg
YXQgbGluZSAiICsgbGluZW5vICsgIiBhbmQgY29sdW1uICIgKyBjb2xubyk7CiAgICAgcmV0dXJu
IHRydWU7CiB9CiAKLWZvby5iYXIgPSAwOworaWYgKHRydWUpIGZvby5iYXIgPSAwOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3dvcmtlci1zY3JpcHQtZXJyb3ItZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC93b3JrZXJzL3dvcmtlci1zY3JpcHQtZXJyb3ItZXhw
ZWN0ZWQudHh0CmluZGV4IDI4NGZkOWMxMTMxNzg5NGI3NjIzMWZiMzlhOTBmNTVjZTc1NWIyMGQu
LjViNzg4ZDVjNDU0NTMwOWI5ZjlkYzgwODI3ODBlYjEwZjQyYjEzMDIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3Qvd29ya2Vycy93b3JrZXItc2NyaXB0LWVycm9yLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3dvcmtlcnMvd29ya2VyLXNjcmlwdC1lcnJvci1leHBlY3Rl
ZC50eHQKQEAgLTksNyArOSw3IEBAIFBBU1M6IG9uZXJyb3IgaW52b2tlZCBmb3IgYSBzY3JpcHQg
dGhhdCBoYXMgc2NyaXB0IGVycm9yICdSZWZlcmVuY2VFcnJvcjogQ2FuJ3QKIG1lc3NhZ2UgZnJv
bSB3b3JrZXI6ICJQQVNTOiBvbmVycm9yIGluIHdvcmtlciBjb250ZXh0IGludm9rZWQgZm9yIGEg
c2NyaXB0IHRoYXQgaGFzIHNjcmlwdCBlcnJvciAnUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQg
dmFyaWFibGU6IGZvbycgYXQgbGluZSAxMCBpbiB3b3JrZXItc2NyaXB0LWVycm9yLWJ1YmJsZWQu
anMiLgogUEFTUzogb25lcnJvciBpbnZva2VkIGZvciBhIHNjcmlwdCB0aGF0IGhhcyBzY3JpcHQg
ZXJyb3IgJ1JlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBmb28nIGF0IGxpbmUg
MTAuCiBQQVNTOiBvbmVycm9yIGludm9rZWQgZm9yIGEgc2NyaXB0IHRoYXQgaGFzIHNjcmlwdCBl
cnJvciAnUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IGZvbycgYXQgbGluZSAx
MC4KLVBBU1M6IG1lc3NhZ2UgcmVjZWl2ZWQgZnJvbSBXb3JrZXJHbG9iYWxTY29wZS5vbmVycm9y
OiBvbmVycm9yIGludm9rZWQgZm9yIGEgc2NyaXB0IHRoYXQgaGFzIHNjcmlwdCBlcnJvciAnUmVm
ZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IGZvbycgYXQgbGluZSA3LgorUEFTUzog
bWVzc2FnZSByZWNlaXZlZCBmcm9tIFdvcmtlckdsb2JhbFNjb3BlLm9uZXJyb3I6IG9uZXJyb3Ig
aW52b2tlZCBmb3IgYSBzY3JpcHQgdGhhdCBoYXMgc2NyaXB0IGVycm9yICdSZWZlcmVuY2VFcnJv
cjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogZm9vJyBhdCBsaW5lIDcgYW5kIGNvbHVtbiAxNC4KIFBB
U1M6IG9uZXJyb3IgaW52b2tlZCBmb3IgYW4gZXhjZXB0aW9uIGluIHNldFRpbWVvdXQgY2FsbGJh
Y2suCiBET05FCiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>