<?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>58758</bug_id>
          
          <creation_ts>2011-04-17 17:06:31 -0700</creation_ts>
          <short_desc>new-run-webkit-tests: obsolete old code, part 5: rename message_broker2 to message_broker</short_desc>
          <delta_ts>2011-04-21 20:30:09 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>58756</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Pranke">dpranke</reporter>
          <assigned_to name="Dirk Pranke">dpranke</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>387473</commentid>
    <comment_count>0</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-04-17 17:06:31 -0700</bug_when>
    <thetext>I think this is the last of it ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387477</commentid>
    <comment_count>1</comment_count>
      <attachid>89975</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-04-17 17:14:58 -0700</bug_when>
    <thetext>Created attachment 89975
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387478</commentid>
    <comment_count>2</comment_count>
      <attachid>89976</attachid>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-04-17 17:16:27 -0700</bug_when>
    <thetext>Created attachment 89976
raw git diff of patch, to pick up the rename</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387802</commentid>
    <comment_count>3</comment_count>
      <attachid>89976</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-04-18 09:39:54 -0700</bug_when>
    <thetext>Comment on attachment 89976
raw git diff of patch, to pick up the rename

rs=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390578</commentid>
    <comment_count>4</comment_count>
    <who name="Dirk Pranke">dpranke</who>
    <bug_when>2011-04-21 20:30:09 -0700</bug_when>
    <thetext>Committed r84596: &lt;http://trac.webkit.org/changeset/84596&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89975</attachid>
            <date>2011-04-17 17:14:58 -0700</date>
            <delta_ts>2011-04-17 17:16:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-58758-20110417171457.patch</filename>
            <type>text/plain</type>
            <size>6274</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODM4OTUKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBi
L1Rvb2xzL0NoYW5nZUxvZwppbmRleCBmMzZkZmY3NDMyY2M5ZjgyZTdiMGZiZDQxOGIzOWY3ODY0
YjBkNzQ3Li5kNDYxYzgwYmY4ZWFlMzExZmFhNzc5Yzc4ZTQxN2U2YzdkMjQ2N2UxIDEwMDY0NAot
LS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0yLDYgKzIsMjMg
QEAKIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KIAorICAgICAgICBuZXct
cnVuLXdlYmtpdC10ZXN0czogb2Jzb2xldGUgb2xkIGNvZGUsIHBhcnQgNTogcmVuYW1lIG1lc3Nh
Z2VfYnJva2VyMiB0byBtZXNzYWdlX2Jyb2tlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg3NTgKKworICAgICAgICBTaW5jZSB3b3JrZXJfbWl4aW4g
aXMgbm93IG9ubHkgdXNlZCBieSB3b3JrZXIsIHRoZXJlJ3Mgbm8gcG9pbnQKKyAgICAgICAgaW4g
aGF2aW5nIGl0IHNwbGl0IGFjcm9zcyB0d28gZmlsZXMuCisKKyAgICAgICAgKiBTY3JpcHRzL3dl
YmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9tYW5hZ2VyX3dvcmtlcl9icm9rZXIu
cHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2th
Z2UvbWFuYWdlcl93b3JrZXJfYnJva2VyX3VuaXR0ZXN0LnB5OgorICAgICAgICAqIFNjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL21lc3NhZ2VfYnJva2VyLnB5OiBB
ZGRlZAorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNr
YWdlL21lc3NhZ2VfYnJva2VyMi5weTogUmVtb3ZlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9tZXNzYWdlX2Jyb2tlcl91bml0dGVzdC5w
eTogKiBBZGRlZAorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91
dF9wYWNrYWdlL21lc3NhZ2VfYnJva2VyMl91bml0dGVzdC5weTogUmVtb3ZlZC4KKworMjAxMS0w
NC0xNyAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwogICAgICAgICBuZXctcnVuLXdlYmtpdC10ZXN0czog
b2Jzb2xldGUgb2xkIGNvZGUsIHBhcnQgNDogbWVyZ2Ugd29ya2VyX21peGluIGludG8gd29ya2Vy
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01ODc1Ngog
CmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRf
cGFja2FnZS9tYW5hZ2VyX3dvcmtlcl9icm9rZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9tYW5hZ2VyX3dvcmtlcl9icm9rZXIucHkKaW5k
ZXggN2VhZDQ4MzA5MWU2NmY5Y2RjNzk5MDZkZmQ5OWVlYmMwMmYzNmRjOS4uODNlNzVkNWU5ZDBm
MjhiZGI1ZDg0MzY3NDM5OTJiODc5ZDhlYmRiOCAxMDA3NTUKLS0tIGEvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvbWFuYWdlcl93b3JrZXJfYnJva2Vy
LnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNr
YWdlL21hbmFnZXJfd29ya2VyX2Jyb2tlci5weQpAQCAtMzAsNyArMzAsNyBAQAogCiBUaGlzIG1v
ZHVsZSBpbXBsZW1lbnRzIGEgbWVzc2FnZSBicm9rZXIgdGhhdCBjb25uZWN0cyB0aGUgbWFuYWdl
cgogKFRlc3RSdW5uZXIyKSB0byB0aGUgd29ya2VyczogaXQgcHJvdmlkZXMgYSBtZXNzYWdpbmcg
YWJzdHJhY3Rpb24gYW5kCi1tZXNzYWdlIGxvb3BzIChidWlsZGluZyBvbiB0b3Agb2YgbWVzc2Fn
ZV9icm9rZXIyKSwgYW5kIGhhbmRsZXMgc3RhcnRpbmcKK21lc3NhZ2UgbG9vcHMgKGJ1aWxkaW5n
IG9uIHRvcCBvZiBtZXNzYWdlX2Jyb2tlciksIGFuZCBoYW5kbGVzIHN0YXJ0aW5nCiB3b3JrZXJz
IGJ5IGxhdW5jaGluZyB0aHJlYWRzIGFuZC9vciBwcm9jZXNzZXMgZGVwZW5kaW5nIG9uIHRoZQog
cmVxdWVzdGVkIGNvbmZpZ3VyYXRpb24uCiAKQEAgLTYyLDcgKzYyLDcgQEAgZXhjZXB0IEltcG9y
dEVycm9yOgogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1wb3J0IHN0YWNrX3V0aWxz
CiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cyBpbXBvcnQgcG9ydAotZnJvbSB3ZWJraXRweS5s
YXlvdXRfdGVzdHMubGF5b3V0X3BhY2thZ2UgaW1wb3J0IG1lc3NhZ2VfYnJva2VyMgorZnJvbSB3
ZWJraXRweS5sYXlvdXRfdGVzdHMubGF5b3V0X3BhY2thZ2UgaW1wb3J0IG1lc3NhZ2VfYnJva2Vy
CiAKIAogX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQpAQCAtOTEsNyArOTEsNyBA
QCBkZWYgZ2V0KHBvcnQsIG9wdGlvbnMsIGNsaWVudCwgd29ya2VyX2NsYXNzKToKICAgICBBcmdz
OgogICAgICAgICBwb3J0IC0gaGFuZGxlIHRvIGxheW91dF90ZXN0cy9wb3J0IG9iamVjdCBmb3Ig
cG9ydC1zcGVjaWZpYyBzdHVmZgogICAgICAgICBvcHRpb25zIC0gb3B0cGFyc2UgYXJndW1lbnQg
Zm9yIGNvbW1hbmQtbGluZSBvcHRpb25zCi0gICAgICAgIGNsaWVudCAtIG1lc3NhZ2VfYnJva2Vy
Mi5Ccm9rZXJDbGllbnQgaW1wbGVtZW50YXRpb24gdG8gZGlzcGF0Y2gKKyAgICAgICAgY2xpZW50
IC0gbWVzc2FnZV9icm9rZXIuQnJva2VyQ2xpZW50IGltcGxlbWVudGF0aW9uIHRvIGRpc3BhdGNo
CiAgICAgICAgICAgICByZXBsaWVzIHRvLgogICAgICAgICB3b3JrZXJfY2xhc3MgLSB0eXBlIG9m
IHdvcmtlcnMgdG8gY3JlYXRlLiBUaGlzIGNsYXNzIG11c3QgaW1wbGVtZW50CiAgICAgICAgICAg
ICB0aGUgbWV0aG9kcyBpbiBBYnN0cmFjdFdvcmtlci4KQEAgLTExMywxMSArMTEzLDExIEBAIGRl
ZiBnZXQocG9ydCwgb3B0aW9ucywgY2xpZW50LCB3b3JrZXJfY2xhc3MpOgogICAgICAgICByYWlz
ZSBWYWx1ZUVycm9yKCJ1bnN1cHBvcnRlZCB2YWx1ZSBmb3IgLS13b3JrZXItbW9kZWw6ICVzIiAl
CiAgICAgICAgICAgICAgICAgICAgICAgICAgd29ya2VyX21vZGVsKQogCi0gICAgYnJva2VyID0g
bWVzc2FnZV9icm9rZXIyLkJyb2tlcihvcHRpb25zLCBxdWV1ZV9jbGFzcykKKyAgICBicm9rZXIg
PSBtZXNzYWdlX2Jyb2tlci5Ccm9rZXIob3B0aW9ucywgcXVldWVfY2xhc3MpCiAgICAgcmV0dXJu
IG1hbmFnZXJfY2xhc3MoYnJva2VyLCBwb3J0LCBvcHRpb25zLCBjbGllbnQsIHdvcmtlcl9jbGFz
cykKIAogCi1jbGFzcyBBYnN0cmFjdFdvcmtlcihtZXNzYWdlX2Jyb2tlcjIuQnJva2VyQ2xpZW50
KToKK2NsYXNzIEFic3RyYWN0V29ya2VyKG1lc3NhZ2VfYnJva2VyLkJyb2tlckNsaWVudCk6CiAg
ICAgZGVmIF9faW5pdF9fKHNlbGYsIGJyb2tlcl9jb25uZWN0aW9uLCB3b3JrZXJfbnVtYmVyLCBv
cHRpb25zKToKICAgICAgICAgIiIiVGhlIGNvbnN0cnVjdG9yIHNob3VsZCBiZSB1c2VkIHRvIGRv
IGFueSBzaW1wbGUgaW5pdGlhbGl6YXRpb24KICAgICAgICAgbmVjZXNzYXJ5LCBidXQgc2hvdWxk
IG5vdCBkbyBhbnl0aGluZyB0aGF0IGNyZWF0ZXMgZGF0YSBzdHJ1Y3R1cmVzCkBAIC0xNDUsMTcg
KzE0NSwxNyBAQCBjbGFzcyBBYnN0cmFjdFdvcmtlcihtZXNzYWdlX2Jyb2tlcjIuQnJva2VyQ2xp
ZW50KToKICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgogCiAKLWNsYXNzIF9NYW5h
Z2VyQ29ubmVjdGlvbihtZXNzYWdlX2Jyb2tlcjIuQnJva2VyQ29ubmVjdGlvbik6CitjbGFzcyBf
TWFuYWdlckNvbm5lY3Rpb24obWVzc2FnZV9icm9rZXIuQnJva2VyQ29ubmVjdGlvbik6CiAgICAg
ZGVmIF9faW5pdF9fKHNlbGYsIGJyb2tlciwgb3B0aW9ucywgY2xpZW50LCB3b3JrZXJfY2xhc3Mp
OgogICAgICAgICAiIiJCYXNlIGluaXRpYWxpemF0aW9uIGZvciBhbGwgTWFuYWdlciBvYmplY3Rz
LgogCiAgICAgICAgIEFyZ3M6Ci0gICAgICAgICAgICBicm9rZXI6IGhhbmRsZSB0byB0aGUgbWVz
c2FnZV9icm9rZXIyIG9iamVjdAorICAgICAgICAgICAgYnJva2VyOiBoYW5kbGUgdG8gdGhlIG1l
c3NhZ2VfYnJva2VyIG9iamVjdAogICAgICAgICAgICAgb3B0aW9uczogY29tbWFuZCBsaW5lIG9w
dGlvbnMgb2JqZWN0CiAgICAgICAgICAgICBjbGllbnQ6IGNhbGxiYWNrIG9iamVjdCAodGhlIGNh
bGxlcikKICAgICAgICAgICAgIHdvcmtlcl9jbGFzczogY2xhc3Mgb2JqZWN0IHRvIHVzZSB0byBj
cmVhdGUgd29ya2Vycy4KICAgICAgICAgIiIiCi0gICAgICAgIG1lc3NhZ2VfYnJva2VyMi5Ccm9r
ZXJDb25uZWN0aW9uLl9faW5pdF9fKHNlbGYsIGJyb2tlciwgY2xpZW50LAorICAgICAgICBtZXNz
YWdlX2Jyb2tlci5Ccm9rZXJDb25uZWN0aW9uLl9faW5pdF9fKHNlbGYsIGJyb2tlciwgY2xpZW50
LAogICAgICAgICAgICAgTUFOQUdFUl9UT1BJQywgQU5ZX1dPUktFUl9UT1BJQykKICAgICAgICAg
c2VsZi5fb3B0aW9ucyA9IG9wdGlvbnMKICAgICAgICAgc2VsZi5fd29ya2VyX2NsYXNzID0gd29y
a2VyX2NsYXNzCkBAIC0yMTAsMTIgKzIxMCwxMiBAQCBjbGFzcyBfTXVsdGlQcm9jZXNzTWFuYWdl
cihfTWFuYWdlckNvbm5lY3Rpb24pOgogICAgICAgICByZXR1cm4gd29ya2VyX2Nvbm5lY3Rpb24K
IAogCi1jbGFzcyBfV29ya2VyQ29ubmVjdGlvbihtZXNzYWdlX2Jyb2tlcjIuQnJva2VyQ29ubmVj
dGlvbik6CitjbGFzcyBfV29ya2VyQ29ubmVjdGlvbihtZXNzYWdlX2Jyb2tlci5Ccm9rZXJDb25u
ZWN0aW9uKToKICAgICBkZWYgX19pbml0X18oc2VsZiwgYnJva2VyLCB3b3JrZXJfY2xhc3MsIHdv
cmtlcl9udW1iZXIsIG9wdGlvbnMpOgogICAgICAgICBzZWxmLl9jbGllbnQgPSB3b3JrZXJfY2xh
c3Moc2VsZiwgd29ya2VyX251bWJlciwgb3B0aW9ucykKICAgICAgICAgc2VsZi5uYW1lID0gc2Vs
Zi5fY2xpZW50Lm5hbWUoKQotICAgICAgICBtZXNzYWdlX2Jyb2tlcjIuQnJva2VyQ29ubmVjdGlv
bi5fX2luaXRfXyhzZWxmLCBicm9rZXIsIHNlbGYuX2NsaWVudCwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQU5ZX1dPUktFUl9UT1BJQywgTUFOQUdF
Ul9UT1BJQykKKyAgICAgICAgbWVzc2FnZV9icm9rZXIuQnJva2VyQ29ubmVjdGlvbi5fX2luaXRf
XyhzZWxmLCBicm9rZXIsIHNlbGYuX2NsaWVudCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBBTllfV09SS0VSX1RPUElDLCBNQU5BR0VSX1RPUElDKQog
CiAgICAgZGVmIGNhbmNlbChzZWxmKToKICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJv
cgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0
X3BhY2thZ2UvbWFuYWdlcl93b3JrZXJfYnJva2VyX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0
cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvbWFuYWdlcl93b3JrZXJfYnJv
a2VyX3VuaXR0ZXN0LnB5CmluZGV4IDY5MTkyMjU0MjczNDZlZjE5ZWUzMDg5Yjc1NTkzNDQxNmI5
ZGFjN2QuLmRlOTA2OTNkZTYyYjIzODhlNjYwZGY2OWQwNDUzNDY4MDQ0YTk3MjcgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL21h
bmFnZXJfd29ya2VyX2Jyb2tlcl91bml0dGVzdC5weQorKysgYi9Ub29scy9TY3JpcHRzL3dlYmtp
dHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9tYW5hZ2VyX3dvcmtlcl9icm9rZXJfdW5p
dHRlc3QucHkKQEAgLTQxLDcgKzQxLDcgQEAgZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtIGlt
cG9ydCBvdXRwdXRjYXB0dXJlCiAKIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzIGltcG9ydCBw
b3J0CiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5sYXlvdXRfcGFja2FnZSBpbXBvcnQgbWFu
YWdlcl93b3JrZXJfYnJva2VyCi1mcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5sYXlvdXRfcGFj
a2FnZSBpbXBvcnQgbWVzc2FnZV9icm9rZXIyCitmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5s
YXlvdXRfcGFja2FnZSBpbXBvcnQgbWVzc2FnZV9icm9rZXIKIGZyb20gd2Via2l0cHkubGF5b3V0
X3Rlc3RzLmxheW91dF9wYWNrYWdlIGltcG9ydCBwcmludGluZwogCiAjIEluIG9yZGVyIHRvIHJl
bGlhYmx5IGNvbnRyb2wgd2hlbiBjaGlsZCB3b3JrZXJzIGFyZSBzdGFydGluZyBhbmQgc3RvcHBp
bmcsCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>89976</attachid>
            <date>2011-04-17 17:16:27 -0700</date>
            <delta_ts>2011-04-20 20:40:14 -0700</delta_ts>
            <desc>raw git diff of patch, to pick up the rename</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>30578</size>
            <attacher name="Dirk Pranke">dpranke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBmMzZk
ZmY3Li5kNDYxYzgwIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hh
bmdlTG9nCkBAIC0yLDYgKzIsMjMgQEAKIAogICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KIAorICAgICAgICBuZXctcnVuLXdlYmtpdC10ZXN0czogb2Jzb2xldGUgb2xkIGNvZGUs
IHBhcnQgNTogcmVuYW1lIG1lc3NhZ2VfYnJva2VyMiB0byBtZXNzYWdlX2Jyb2tlcgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTg3NTgKKworICAgICAg
ICBTaW5jZSB3b3JrZXJfbWl4aW4gaXMgbm93IG9ubHkgdXNlZCBieSB3b3JrZXIsIHRoZXJlJ3Mg
bm8gcG9pbnQKKyAgICAgICAgaW4gaGF2aW5nIGl0IHNwbGl0IGFjcm9zcyB0d28gZmlsZXMuCisK
KyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9t
YW5hZ2VyX3dvcmtlcl9icm9rZXIucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9sYXlv
dXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvbWFuYWdlcl93b3JrZXJfYnJva2VyX3VuaXR0ZXN0LnB5
OgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdl
L21lc3NhZ2VfYnJva2VyLnB5OiBBZGRlZAorICAgICAgICAqIFNjcmlwdHMvd2Via2l0cHkvbGF5
b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL21lc3NhZ2VfYnJva2VyMi5weTogUmVtb3ZlZC4KKyAg
ICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9tZXNz
YWdlX2Jyb2tlcl91bml0dGVzdC5weTogKiBBZGRlZAorICAgICAgICAqIFNjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL21lc3NhZ2VfYnJva2VyMl91bml0dGVzdC5w
eTogUmVtb3ZlZC4KKworMjAxMS0wNC0xNyAgRGlyayBQcmFua2UgIDxkcHJhbmtlQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwogICAgICAgICBu
ZXctcnVuLXdlYmtpdC10ZXN0czogb2Jzb2xldGUgb2xkIGNvZGUsIHBhcnQgNDogbWVyZ2Ugd29y
a2VyX21peGluIGludG8gd29ya2VyCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD01ODc1NgogCmRpZmYgLS1naXQgYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9tYW5hZ2VyX3dvcmtlcl9icm9rZXIucHkgYi9U
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9tYW5hZ2Vy
X3dvcmtlcl9icm9rZXIucHkKaW5kZXggN2VhZDQ4My4uODNlNzVkNSAxMDA3NTUKLS0tIGEvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvbWFuYWdlcl93
b3JrZXJfYnJva2VyLnB5CisrKyBiL1Rvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3Rz
L2xheW91dF9wYWNrYWdlL21hbmFnZXJfd29ya2VyX2Jyb2tlci5weQpAQCAtMzAsNyArMzAsNyBA
QAogCiBUaGlzIG1vZHVsZSBpbXBsZW1lbnRzIGEgbWVzc2FnZSBicm9rZXIgdGhhdCBjb25uZWN0
cyB0aGUgbWFuYWdlcgogKFRlc3RSdW5uZXIyKSB0byB0aGUgd29ya2VyczogaXQgcHJvdmlkZXMg
YSBtZXNzYWdpbmcgYWJzdHJhY3Rpb24gYW5kCi1tZXNzYWdlIGxvb3BzIChidWlsZGluZyBvbiB0
b3Agb2YgbWVzc2FnZV9icm9rZXIyKSwgYW5kIGhhbmRsZXMgc3RhcnRpbmcKK21lc3NhZ2UgbG9v
cHMgKGJ1aWxkaW5nIG9uIHRvcCBvZiBtZXNzYWdlX2Jyb2tlciksIGFuZCBoYW5kbGVzIHN0YXJ0
aW5nCiB3b3JrZXJzIGJ5IGxhdW5jaGluZyB0aHJlYWRzIGFuZC9vciBwcm9jZXNzZXMgZGVwZW5k
aW5nIG9uIHRoZQogcmVxdWVzdGVkIGNvbmZpZ3VyYXRpb24uCiAKQEAgLTYyLDcgKzYyLDcgQEAg
ZXhjZXB0IEltcG9ydEVycm9yOgogCiBmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1wb3J0
IHN0YWNrX3V0aWxzCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cyBpbXBvcnQgcG9ydAotZnJv
bSB3ZWJraXRweS5sYXlvdXRfdGVzdHMubGF5b3V0X3BhY2thZ2UgaW1wb3J0IG1lc3NhZ2VfYnJv
a2VyMgorZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMubGF5b3V0X3BhY2thZ2UgaW1wb3J0IG1l
c3NhZ2VfYnJva2VyCiAKIAogX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQpAQCAt
OTEsNyArOTEsNyBAQCBkZWYgZ2V0KHBvcnQsIG9wdGlvbnMsIGNsaWVudCwgd29ya2VyX2NsYXNz
KToKICAgICBBcmdzOgogICAgICAgICBwb3J0IC0gaGFuZGxlIHRvIGxheW91dF90ZXN0cy9wb3J0
IG9iamVjdCBmb3IgcG9ydC1zcGVjaWZpYyBzdHVmZgogICAgICAgICBvcHRpb25zIC0gb3B0cGFy
c2UgYXJndW1lbnQgZm9yIGNvbW1hbmQtbGluZSBvcHRpb25zCi0gICAgICAgIGNsaWVudCAtIG1l
c3NhZ2VfYnJva2VyMi5Ccm9rZXJDbGllbnQgaW1wbGVtZW50YXRpb24gdG8gZGlzcGF0Y2gKKyAg
ICAgICAgY2xpZW50IC0gbWVzc2FnZV9icm9rZXIuQnJva2VyQ2xpZW50IGltcGxlbWVudGF0aW9u
IHRvIGRpc3BhdGNoCiAgICAgICAgICAgICByZXBsaWVzIHRvLgogICAgICAgICB3b3JrZXJfY2xh
c3MgLSB0eXBlIG9mIHdvcmtlcnMgdG8gY3JlYXRlLiBUaGlzIGNsYXNzIG11c3QgaW1wbGVtZW50
CiAgICAgICAgICAgICB0aGUgbWV0aG9kcyBpbiBBYnN0cmFjdFdvcmtlci4KQEAgLTExMywxMSAr
MTEzLDExIEBAIGRlZiBnZXQocG9ydCwgb3B0aW9ucywgY2xpZW50LCB3b3JrZXJfY2xhc3MpOgog
ICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJ1bnN1cHBvcnRlZCB2YWx1ZSBmb3IgLS13b3JrZXIt
bW9kZWw6ICVzIiAlCiAgICAgICAgICAgICAgICAgICAgICAgICAgd29ya2VyX21vZGVsKQogCi0g
ICAgYnJva2VyID0gbWVzc2FnZV9icm9rZXIyLkJyb2tlcihvcHRpb25zLCBxdWV1ZV9jbGFzcykK
KyAgICBicm9rZXIgPSBtZXNzYWdlX2Jyb2tlci5Ccm9rZXIob3B0aW9ucywgcXVldWVfY2xhc3Mp
CiAgICAgcmV0dXJuIG1hbmFnZXJfY2xhc3MoYnJva2VyLCBwb3J0LCBvcHRpb25zLCBjbGllbnQs
IHdvcmtlcl9jbGFzcykKIAogCi1jbGFzcyBBYnN0cmFjdFdvcmtlcihtZXNzYWdlX2Jyb2tlcjIu
QnJva2VyQ2xpZW50KToKK2NsYXNzIEFic3RyYWN0V29ya2VyKG1lc3NhZ2VfYnJva2VyLkJyb2tl
ckNsaWVudCk6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGJyb2tlcl9jb25uZWN0aW9uLCB3b3Jr
ZXJfbnVtYmVyLCBvcHRpb25zKToKICAgICAgICAgIiIiVGhlIGNvbnN0cnVjdG9yIHNob3VsZCBi
ZSB1c2VkIHRvIGRvIGFueSBzaW1wbGUgaW5pdGlhbGl6YXRpb24KICAgICAgICAgbmVjZXNzYXJ5
LCBidXQgc2hvdWxkIG5vdCBkbyBhbnl0aGluZyB0aGF0IGNyZWF0ZXMgZGF0YSBzdHJ1Y3R1cmVz
CkBAIC0xNDUsMTcgKzE0NSwxNyBAQCBjbGFzcyBBYnN0cmFjdFdvcmtlcihtZXNzYWdlX2Jyb2tl
cjIuQnJva2VyQ2xpZW50KToKICAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgogCiAK
LWNsYXNzIF9NYW5hZ2VyQ29ubmVjdGlvbihtZXNzYWdlX2Jyb2tlcjIuQnJva2VyQ29ubmVjdGlv
bik6CitjbGFzcyBfTWFuYWdlckNvbm5lY3Rpb24obWVzc2FnZV9icm9rZXIuQnJva2VyQ29ubmVj
dGlvbik6CiAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGJyb2tlciwgb3B0aW9ucywgY2xpZW50LCB3
b3JrZXJfY2xhc3MpOgogICAgICAgICAiIiJCYXNlIGluaXRpYWxpemF0aW9uIGZvciBhbGwgTWFu
YWdlciBvYmplY3RzLgogCiAgICAgICAgIEFyZ3M6Ci0gICAgICAgICAgICBicm9rZXI6IGhhbmRs
ZSB0byB0aGUgbWVzc2FnZV9icm9rZXIyIG9iamVjdAorICAgICAgICAgICAgYnJva2VyOiBoYW5k
bGUgdG8gdGhlIG1lc3NhZ2VfYnJva2VyIG9iamVjdAogICAgICAgICAgICAgb3B0aW9uczogY29t
bWFuZCBsaW5lIG9wdGlvbnMgb2JqZWN0CiAgICAgICAgICAgICBjbGllbnQ6IGNhbGxiYWNrIG9i
amVjdCAodGhlIGNhbGxlcikKICAgICAgICAgICAgIHdvcmtlcl9jbGFzczogY2xhc3Mgb2JqZWN0
IHRvIHVzZSB0byBjcmVhdGUgd29ya2Vycy4KICAgICAgICAgIiIiCi0gICAgICAgIG1lc3NhZ2Vf
YnJva2VyMi5Ccm9rZXJDb25uZWN0aW9uLl9faW5pdF9fKHNlbGYsIGJyb2tlciwgY2xpZW50LAor
ICAgICAgICBtZXNzYWdlX2Jyb2tlci5Ccm9rZXJDb25uZWN0aW9uLl9faW5pdF9fKHNlbGYsIGJy
b2tlciwgY2xpZW50LAogICAgICAgICAgICAgTUFOQUdFUl9UT1BJQywgQU5ZX1dPUktFUl9UT1BJ
QykKICAgICAgICAgc2VsZi5fb3B0aW9ucyA9IG9wdGlvbnMKICAgICAgICAgc2VsZi5fd29ya2Vy
X2NsYXNzID0gd29ya2VyX2NsYXNzCkBAIC0yMTAsMTIgKzIxMCwxMiBAQCBjbGFzcyBfTXVsdGlQ
cm9jZXNzTWFuYWdlcihfTWFuYWdlckNvbm5lY3Rpb24pOgogICAgICAgICByZXR1cm4gd29ya2Vy
X2Nvbm5lY3Rpb24KIAogCi1jbGFzcyBfV29ya2VyQ29ubmVjdGlvbihtZXNzYWdlX2Jyb2tlcjIu
QnJva2VyQ29ubmVjdGlvbik6CitjbGFzcyBfV29ya2VyQ29ubmVjdGlvbihtZXNzYWdlX2Jyb2tl
ci5Ccm9rZXJDb25uZWN0aW9uKToKICAgICBkZWYgX19pbml0X18oc2VsZiwgYnJva2VyLCB3b3Jr
ZXJfY2xhc3MsIHdvcmtlcl9udW1iZXIsIG9wdGlvbnMpOgogICAgICAgICBzZWxmLl9jbGllbnQg
PSB3b3JrZXJfY2xhc3Moc2VsZiwgd29ya2VyX251bWJlciwgb3B0aW9ucykKICAgICAgICAgc2Vs
Zi5uYW1lID0gc2VsZi5fY2xpZW50Lm5hbWUoKQotICAgICAgICBtZXNzYWdlX2Jyb2tlcjIuQnJv
a2VyQ29ubmVjdGlvbi5fX2luaXRfXyhzZWxmLCBicm9rZXIsIHNlbGYuX2NsaWVudCwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQU5ZX1dPUktFUl9U
T1BJQywgTUFOQUdFUl9UT1BJQykKKyAgICAgICAgbWVzc2FnZV9icm9rZXIuQnJva2VyQ29ubmVj
dGlvbi5fX2luaXRfXyhzZWxmLCBicm9rZXIsIHNlbGYuX2NsaWVudCwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBTllfV09SS0VSX1RPUElDLCBNQU5B
R0VSX1RPUElDKQogCiAgICAgZGVmIGNhbmNlbChzZWxmKToKICAgICAgICAgcmFpc2UgTm90SW1w
bGVtZW50ZWRFcnJvcgpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvbGF5b3V0X3BhY2thZ2UvbWFuYWdlcl93b3JrZXJfYnJva2VyX3VuaXR0ZXN0LnB5IGIv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvbWFuYWdl
cl93b3JrZXJfYnJva2VyX3VuaXR0ZXN0LnB5CmluZGV4IDY5MTkyMjUuLmRlOTA2OTNkIDEwMDY0
NAotLS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2Fn
ZS9tYW5hZ2VyX3dvcmtlcl9icm9rZXJfdW5pdHRlc3QucHkKKysrIGIvVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvbWFuYWdlcl93b3JrZXJfYnJva2Vy
X3VuaXR0ZXN0LnB5CkBAIC00MSw3ICs0MSw3IEBAIGZyb20gd2Via2l0cHkuY29tbW9uLnN5c3Rl
bSBpbXBvcnQgb3V0cHV0Y2FwdHVyZQogCiBmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cyBpbXBv
cnQgcG9ydAogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMubGF5b3V0X3BhY2thZ2UgaW1wb3J0
IG1hbmFnZXJfd29ya2VyX2Jyb2tlcgotZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMubGF5b3V0
X3BhY2thZ2UgaW1wb3J0IG1lc3NhZ2VfYnJva2VyMgorZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVz
dHMubGF5b3V0X3BhY2thZ2UgaW1wb3J0IG1lc3NhZ2VfYnJva2VyCiBmcm9tIHdlYmtpdHB5Lmxh
eW91dF90ZXN0cy5sYXlvdXRfcGFja2FnZSBpbXBvcnQgcHJpbnRpbmcKIAogIyBJbiBvcmRlciB0
byByZWxpYWJseSBjb250cm9sIHdoZW4gY2hpbGQgd29ya2VycyBhcmUgc3RhcnRpbmcgYW5kIHN0
b3BwaW5nLApkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMv
bGF5b3V0X3BhY2thZ2UvbWVzc2FnZV9icm9rZXIucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9tZXNzYWdlX2Jyb2tlci5weQpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYzNjOTcwCi0tLSAvZGV2L251bGwKKysrIGIvVG9v
bHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvbWVzc2FnZV9i
cm9rZXIucHkKQEAgLTAsMCArMSwxOTYgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisjIG1ldDoKKyMKKyMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisjIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZQorIyBkaXN0cmlidXRpb24uCisjICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2Yg
R29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyMgY29udHJpYnV0b3JzIG1heSBiZSB1
c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyMgdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyMKKyMg
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyMgQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyMg
T1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisjIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyMgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisjIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
IyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisjIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisiIiJNb2R1bGUg
Zm9yIGhhbmRsaW5nIG1lc3NhZ2luZyBmb3IgcnVuLXdlYmtpdC10ZXN0cy4KKworVGhpcyBtb2R1
bGUgaW1wbGVtZW50cyBhIHNpbXBsZSBtZXNzYWdlIGJyb2tlciBhYnN0cmFjdGlvbiB0aGF0IHdp
bGwgYmUKK3VzZWQgdG8gY29vcmRpbmF0ZSBtZXNzYWdlcyBiZXR3ZWVuIHRoZSBtYWluIHJ1bi13
ZWJraXQtdGVzdHMgdGhyZWFkCisoYWthIFRlc3RSdW5uZXIpIGFuZCB0aGUgaW5kaXZpZHVhbCB3
b3JrZXIgdGhyZWFkcyAocHJldmlvdXNseSBrbm93biBhcworZHVtcF9yZW5kZXJfdHJlZV90aHJl
YWRzKS4KKworVGhlIGJyb2tlciBzaW1wbHkgZGlzdHJpYnV0ZXMgbWVzc2FnZXMgb250byB0b3Bp
Y3MgKG5hbWVkIHF1ZXVlcyk7IHRoZSBhY3R1YWwKK3F1ZXVlcyB0aGVtc2VsdmVzIGFyZSBwcm92
aWRlZCBieSB0aGUgY2FsbGVyLCBhcyB0aGUgcXVldWUncyBpbXBsZW1lbnRhdGlvbgorcmVxdWly
ZW1lbnRzIHZhcmllcyB2YXJ5IGRlcGVuZGluZyBvbiB0aGUgZGVzaXJlZCBjb25jdXJyZW5jeSBt
b2RlbAorKG5vbmUvdGhyZWFkcy9wcm9jZXNzZXMpLgorCitJbiBvcmRlciBmb3Igc2hhcmVkLW5v
dGhpbmcgbWVzc2FnaW5nIGJldHdlZW4gcHJvY2Vzc2luZyB0byBiZSBwb3NzaWJsZSwKK01lc3Nh
Z2VzIG11c3QgYmUgcGlja2xhYmxlLgorCitUaGUgbW9kdWxlIGRlZmluZXMgb25lIGludGVyZmFj
ZSBhbmQgdHdvIGNsYXNzZXMuIENhbGxlcnMgb2YgdGhpcyBwYWNrYWdlCittdXN0IGltcGxlbWVu
dCB0aGUgQnJva2VyQ2xpZW50IGludGVyZmFjZSwgYW5kIG1vc3QgY2FsbGVycyB3aWxsIGNyZWF0
ZQorQnJva2VyQ29ubmVjdGlvbnMgYXMgd2VsbCBhcyBCcm9rZXJzLgorCitUaGUgY2xhc3NlcyBy
ZWxhdGUgdG8gZWFjaCBvdGhlciBhczoKKworICAgIEJyb2tlckNsaWVudCAgIC0tLS0tLT4gICAg
QnJva2VyQ29ubmVjdGlvbgorICAgICAgICAgXiAgICAgICAgICAgICAgICAgICAgICAgICB8Cisg
ICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgIHYKKyAgICAgICAgIFwtLS0tLS0tLS0t
LS0tLS0tICAgICAgQnJva2VyCisKKyhUaGUgQnJva2VyQ2xpZW50IG5ldmVyIGNhbGxzIGJyb2tl
ciBkaXJlY3RseSBhZnRlciBpdCBpcyBjcmVhdGVkLCBvbmx5CitCcm9rZXJDb25uZWN0aW9uLiAg
QnJva2VyQ29ubmVjdGlvbiBwYXNzZXMgYSByZWZlcmVuY2UgdG8gQnJva2VyQ2xpZW50IHRvCitC
cm9rZXIsIGFuZCBCcm9rZXIgb25seSBpbnZva2VzIHRoYXQgcmVmZXJlbmNlLCBuZXZlciB0YWxr
aW5nIGRpcmVjdGx5IHRvCitCcm9rZXJDb25uZWN0aW9uKS4KKyIiIgorCitpbXBvcnQgY1BpY2ts
ZQoraW1wb3J0IGxvZ2dpbmcKK2ltcG9ydCBRdWV1ZQoraW1wb3J0IHRpbWUKKworCitfbG9nID0g
bG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCisKKworY2xhc3MgQnJva2VyQ2xpZW50KG9iamVj
dCk6CisgICAgIiIiQWJzdHJhY3QgYmFzZSBjbGFzcyAvIGludGVyZmFjZSB0aGF0IGFsbCBtZXNz
YWdlIGJyb2tlciBjbGllbnRzIG11c3QKKyAgICBpbXBsZW1lbnQuIEluIGFkZGl0aW9uIHRvIHRo
ZSBtZXRob2RzIGJlbG93LCBieSBjb252ZW50aW9uIGNsaWVudHMKKyAgICBpbXBsZW1lbnQgcm91
dGluZXMgb2YgdGhlIHNpZ25hdHVyZSB0eXBlCisKKyAgICAgICAgaGFuZGxlX01FU1NBR0VfTkFN
RShzZWxmLCBzcmMsIC4uLik6CisKKyAgICB3aGVyZSBNRVNTQUdFX05BTUUgbWF0Y2hlcyB0aGUg
c3RyaW5nIHBhc3NlZCB0byBwb3N0X21lc3NhZ2UoKSwgYW5kCisgICAgc3JjIGluZGljYXRlcyB0
aGUgbmFtZSBvZiB0aGUgc2VuZGVyLiBJZiB0aGUgbWVzc2FnZSBjb250YWlucyB2YWx1ZXMgaW4K
KyAgICB0aGUgbWVzc2FnZSBib2R5LCB0aG9zZSB3aWxsIGJlIHByb3ZpZGVkIGFzIG9wdHBhcmFt
cy4iIiIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqb3B0YXJncywgKiprd2FyZ3MpOgorICAg
ICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVycm9yCisKKyAgICBkZWYgaXNfZG9uZShzZWxmKToK
KyAgICAgICAgIiIiQ2FsbGVkIGZyb20gaW5zaWRlIHJ1bl9tZXNzYWdlX2xvb3AoKSB0byBpbmRp
Y2F0ZSB3aGV0aGVyIHRvIGV4aXQuIiIiCisgICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJy
b3IKKworICAgIGRlZiBuYW1lKHNlbGYpOgorICAgICAgICAiIiJSZXR1cm4gYSBuYW1lIHRoYXQg
aWRlbnRpZmllcyB0aGUgY2xpZW50LiIiIgorICAgICAgICByYWlzZSBOb3RJbXBsZW1lbnRlZEVy
cm9yCisKKworY2xhc3MgQnJva2VyKG9iamVjdCk6CisgICAgIiIiQnJva2VycyBwcm92aWRlIHRo
ZSBiYXNpYyBtb2RlbCBvZiBhIHNldCBvZiB0b3BpY3MuIENsaWVudHMgY2FuIHBvc3QgYQorICAg
IG1lc3NhZ2UgdG8gYW55IHRvcGljIHVzaW5nIHBvc3RfbWVzc2FnZSgpLCBhbmQgY2FuIHByb2Nl
c3MgbWVzc2FnZXMgb24gb25lCisgICAgdG9waWMgYXQgYSB0aW1lIHVzaW5nIHJ1bl9tZXNzYWdl
X2xvb3AoKS4iIiIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBvcHRpb25zLCBxdWV1ZV9tYWtl
cik6CisgICAgICAgICIiIkFyZ3M6CisgICAgICAgICAgICBvcHRpb25zOiBhIHJ1bnRpbWUgb3B0
aW9uIGNsYXNzIGZyb20gb3B0cGFyc2UKKyAgICAgICAgICAgIHF1ZXVlX21ha2VyOiBhIGZhY3Rv
cnkgbWV0aG9kIHRoYXQgcmV0dXJucyBvYmplY3RzIGltcGxlbWVudGluZyBhCisgICAgICAgICAg
ICAgICAgUXVldWUgaW50ZXJmYWNlIChwdXQoKS9nZXQoKSkuCisgICAgICAgICIiIgorICAgICAg
ICBzZWxmLl9vcHRpb25zID0gb3B0aW9ucworICAgICAgICBzZWxmLl9xdWV1ZV9tYWtlciA9IHF1
ZXVlX21ha2VyCisgICAgICAgIHNlbGYuX3RvcGljcyA9IHt9CisKKyAgICBkZWYgYWRkX3RvcGlj
KHNlbGYsIHRvcGljX25hbWUpOgorICAgICAgICBpZiB0b3BpY19uYW1lIG5vdCBpbiBzZWxmLl90
b3BpY3M6CisgICAgICAgICAgICBzZWxmLl90b3BpY3NbdG9waWNfbmFtZV0gPSBzZWxmLl9xdWV1
ZV9tYWtlcigpCisKKyAgICBkZWYgX2dldF9xdWV1ZV9mb3JfdG9waWMoc2VsZiwgdG9waWNfbmFt
ZSk6CisgICAgICAgIHJldHVybiBzZWxmLl90b3BpY3NbdG9waWNfbmFtZV0KKworICAgIGRlZiBw
b3N0X21lc3NhZ2Uoc2VsZiwgY2xpZW50LCB0b3BpY19uYW1lLCBtZXNzYWdlX25hbWUsICptZXNz
YWdlX2FyZ3MpOgorICAgICAgICAiIiJQb3N0IGEgbWVzc2FnZSB0byB0aGUgYXBwcm9wcmlhdGUg
dG9waWMgbmFtZS4KKworICAgICAgICBNZXNzYWdlcyBoYXZlIGEgbmFtZSBhbmQgYSB0dXBsZSBv
ZiBvcHRpb25hbCBhcmd1bWVudHMuIEJvdGggbXVzdCBiZSBwaWNrbGFibGUuIiIiCisgICAgICAg
IG1lc3NhZ2UgPSBfTWVzc2FnZShjbGllbnQubmFtZSgpLCB0b3BpY19uYW1lLCBtZXNzYWdlX25h
bWUsIG1lc3NhZ2VfYXJncykKKyAgICAgICAgcXVldWUgPSBzZWxmLl9nZXRfcXVldWVfZm9yX3Rv
cGljKHRvcGljX25hbWUpCisgICAgICAgIHF1ZXVlLnB1dChfTWVzc2FnZS5kdW1wcyhtZXNzYWdl
KSkKKworICAgIGRlZiBydW5fbWVzc2FnZV9sb29wKHNlbGYsIHRvcGljX25hbWUsIGNsaWVudCwg
ZGVsYXlfc2Vjcz1Ob25lKToKKyAgICAgICAgIiIiTG9vcCBwcm9jZXNzaW5nIG1lc3NhZ2VzIHVu
dGlsIGNsaWVudC5pc19kb25lKCkgb3IgZGVsYXkgcGFzc2VzLgorCisgICAgICAgIFRvIHJ1biBp
bmRlZmluaXRlbHksIHNldCBkZWxheV9zZWNzIHRvIE5vbmUuIiIiCisgICAgICAgIGFzc2VydCBk
ZWxheV9zZWNzIGlzIE5vbmUgb3IgZGVsYXlfc2VjcyA+IDAKKyAgICAgICAgc2VsZi5fcnVuX2xv
b3AodG9waWNfbmFtZSwgY2xpZW50LCBibG9jaz1UcnVlLCBkZWxheV9zZWNzPWRlbGF5X3NlY3Mp
CisKKyAgICBkZWYgcnVuX2FsbF9wZW5kaW5nKHNlbGYsIHRvcGljX25hbWUsIGNsaWVudCk6Cisg
ICAgICAgICIiIlByb2Nlc3MgbWVzc2FnZXMgdW50aWwgY2xpZW50LmlzX2RvbmUoKSBvciBjYWxs
ZXIgd291bGQgYmxvY2suIiIiCisgICAgICAgIHNlbGYuX3J1bl9sb29wKHRvcGljX25hbWUsIGNs
aWVudCwgYmxvY2s9RmFsc2UsIGRlbGF5X3NlY3M9Tm9uZSkKKworICAgIGRlZiBfcnVuX2xvb3Ao
c2VsZiwgdG9waWNfbmFtZSwgY2xpZW50LCBibG9jaywgZGVsYXlfc2Vjcyk6CisgICAgICAgIHF1
ZXVlID0gc2VsZi5fZ2V0X3F1ZXVlX2Zvcl90b3BpYyh0b3BpY19uYW1lKQorICAgICAgICB3aGls
ZSBub3QgY2xpZW50LmlzX2RvbmUoKToKKyAgICAgICAgICAgIHRyeToKKyAgICAgICAgICAgICAg
ICBzID0gcXVldWUuZ2V0KGJsb2NrLCBkZWxheV9zZWNzKQorICAgICAgICAgICAgZXhjZXB0IFF1
ZXVlLkVtcHR5OgorICAgICAgICAgICAgICAgIHJldHVybgorICAgICAgICAgICAgbXNnID0gX01l
c3NhZ2UubG9hZHMocykKKyAgICAgICAgICAgIHNlbGYuX2Rpc3BhdGNoX21lc3NhZ2UobXNnLCBj
bGllbnQpCisKKyAgICBkZWYgX2Rpc3BhdGNoX21lc3NhZ2Uoc2VsZiwgbWVzc2FnZSwgY2xpZW50
KToKKyAgICAgICAgaWYgbm90IGhhc2F0dHIoY2xpZW50LCAnaGFuZGxlXycgKyBtZXNzYWdlLm5h
bWUpOgorICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigKKyAgICAgICAgICAgICAgICIlczog
cmVjZWl2ZWQgbWVzc2FnZSAnJXMnIGl0IGNvdWxkbid0IGhhbmRsZSIgJQorICAgICAgICAgICAg
ICAgKGNsaWVudC5uYW1lKCksIG1lc3NhZ2UubmFtZSkpCisgICAgICAgIG9wdGFyZ3MgPSBtZXNz
YWdlLmFyZ3MKKyAgICAgICAgbWVzc2FnZV9oYW5kbGVyID0gZ2V0YXR0cihjbGllbnQsICdoYW5k
bGVfJyArIG1lc3NhZ2UubmFtZSkKKyAgICAgICAgbWVzc2FnZV9oYW5kbGVyKG1lc3NhZ2Uuc3Jj
LCAqb3B0YXJncykKKworCitjbGFzcyBfTWVzc2FnZShvYmplY3QpOgorICAgIEBzdGF0aWNtZXRo
b2QKKyAgICBkZWYgbG9hZHMoc3RyKToKKyAgICAgICAgb2JqID0gY1BpY2tsZS5sb2FkcyhzdHIp
CisgICAgICAgIGFzc2VydChpc2luc3RhbmNlKG9iaiwgX01lc3NhZ2UpKQorICAgICAgICByZXR1
cm4gb2JqCisKKyAgICBkZWYgX19pbml0X18oc2VsZiwgc3JjLCB0b3BpY19uYW1lLCBtZXNzYWdl
X25hbWUsIG1lc3NhZ2VfYXJncyk6CisgICAgICAgIHNlbGYuc3JjID0gc3JjCisgICAgICAgIHNl
bGYudG9waWNfbmFtZSA9IHRvcGljX25hbWUKKyAgICAgICAgc2VsZi5uYW1lID0gbWVzc2FnZV9u
YW1lCisgICAgICAgIHNlbGYuYXJncyA9IG1lc3NhZ2VfYXJncworCisgICAgZGVmIGR1bXBzKHNl
bGYpOgorICAgICAgICByZXR1cm4gY1BpY2tsZS5kdW1wcyhzZWxmKQorCisgICAgZGVmIF9fcmVw
cl9fKHNlbGYpOgorICAgICAgICByZXR1cm4gKCJfTWVzc2FnZShmcm9tPSclcycsIHRvcGljX25h
bWU9JyVzJywgbWVzc2FnZV9uYW1lPSclcycpIiAlCisgICAgICAgICAgICAgICAgKHNlbGYuc3Jj
LCBzZWxmLnRvcGljX25hbWUsIHNlbGYubmFtZSkpCisKKworY2xhc3MgQnJva2VyQ29ubmVjdGlv
bihvYmplY3QpOgorICAgICIiIkJyb2tlckNvbm5lY3Rpb24gcHJvdmlkZXMgYSBjb25uZWN0aW9u
LW9yaWVudGVkIGZhY2FkZSBvbiB0b3Agb2YgYQorICAgIEJyb2tlciwgc28gdGhhdCBjYWxsZXJz
IGRvbid0IGhhdmUgdG8gcmVwZWF0ZWRseSBwYXNzIHRoZSBzYW1lIHRvcGljCisgICAgbmFtZXMg
b3ZlciBhbmQgb3Zlci4iIiIKKworICAgIGRlZiBfX2luaXRfXyhzZWxmLCBicm9rZXIsIGNsaWVu
dCwgcnVuX3RvcGljLCBwb3N0X3RvcGljKToKKyAgICAgICAgIiIiQ3JlYXRlIGEgQnJva2VyQ29u
bmVjdGlvbiBvbiB0b3Agb2YgYSBCcm9rZXIuIE5vdGUgdGhhdCB0aGUgQnJva2VyCisgICAgICAg
IGlzIHBhc3NlZCBpbiByYXRoZXIgdGhhbiBjcmVhdGVkIHNvIHRoYXQgYSBzaW5nbGUgQnJva2Vy
IGNhbiBiZSB1c2VkCisgICAgICAgIGJ5IG11bHRpcGxlIEJyb2tlckNvbm5lY3Rpb25zLiIiIgor
ICAgICAgICBzZWxmLl9icm9rZXIgPSBicm9rZXIKKyAgICAgICAgc2VsZi5fY2xpZW50ID0gY2xp
ZW50CisgICAgICAgIHNlbGYuX3Bvc3RfdG9waWMgPSBwb3N0X3RvcGljCisgICAgICAgIHNlbGYu
X3J1bl90b3BpYyA9IHJ1bl90b3BpYworICAgICAgICBicm9rZXIuYWRkX3RvcGljKHJ1bl90b3Bp
YykKKyAgICAgICAgYnJva2VyLmFkZF90b3BpYyhwb3N0X3RvcGljKQorCisgICAgZGVmIHJ1bl9t
ZXNzYWdlX2xvb3Aoc2VsZiwgZGVsYXlfc2Vjcz1Ob25lKToKKyAgICAgICAgc2VsZi5fYnJva2Vy
LnJ1bl9tZXNzYWdlX2xvb3Aoc2VsZi5fcnVuX3RvcGljLCBzZWxmLl9jbGllbnQsIGRlbGF5X3Nl
Y3MpCisKKyAgICBkZWYgcG9zdF9tZXNzYWdlKHNlbGYsIG1lc3NhZ2VfbmFtZSwgKm1lc3NhZ2Vf
YXJncyk6CisgICAgICAgIHNlbGYuX2Jyb2tlci5wb3N0X21lc3NhZ2Uoc2VsZi5fY2xpZW50LCBz
ZWxmLl9wb3N0X3RvcGljLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3Nh
Z2VfbmFtZSwgKm1lc3NhZ2VfYXJncykKZGlmZiAtLWdpdCBhL1Rvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL21lc3NhZ2VfYnJva2VyMi5weSBiL1Rvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL21lc3NhZ2VfYnJv
a2VyMi5weQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWMzYzk3MC4uMDAwMDAwMAot
LS0gYS9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9sYXlvdXRfcGFja2FnZS9t
ZXNzYWdlX2Jyb2tlcjIucHkKKysrIC9kZXYvbnVsbApAQCAtMSwxOTYgKzAsMCBAQAotIyBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSMKLSMgUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0jIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSMgbWV0OgotIwotIyAgICAgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0jICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKLSMgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCi0jIGRpc3RyaWJ1dGlvbi4KLSMgICAg
ICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwot
IyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbQotIyB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgotIwotIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCi0jICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCi0jIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgotIyBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVAotIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKLSMgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotIyBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKLSMgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCi0jIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSMgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0jIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0KLSIiIk1vZHVsZSBmb3IgaGFuZGxpbmcgbWVzc2FnaW5nIGZvciBydW4td2Vi
a2l0LXRlc3RzLgotCi1UaGlzIG1vZHVsZSBpbXBsZW1lbnRzIGEgc2ltcGxlIG1lc3NhZ2UgYnJv
a2VyIGFic3RyYWN0aW9uIHRoYXQgd2lsbCBiZQotdXNlZCB0byBjb29yZGluYXRlIG1lc3NhZ2Vz
IGJldHdlZW4gdGhlIG1haW4gcnVuLXdlYmtpdC10ZXN0cyB0aHJlYWQKLShha2EgVGVzdFJ1bm5l
cikgYW5kIHRoZSBpbmRpdmlkdWFsIHdvcmtlciB0aHJlYWRzIChwcmV2aW91c2x5IGtub3duIGFz
Ci1kdW1wX3JlbmRlcl90cmVlX3RocmVhZHMpLgotCi1UaGUgYnJva2VyIHNpbXBseSBkaXN0cmli
dXRlcyBtZXNzYWdlcyBvbnRvIHRvcGljcyAobmFtZWQgcXVldWVzKTsgdGhlIGFjdHVhbAotcXVl
dWVzIHRoZW1zZWx2ZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZSBjYWxsZXIsIGFzIHRoZSBxdWV1ZSdz
IGltcGxlbWVudGF0aW9uCi1yZXF1aXJlbWVudHMgdmFyaWVzIHZhcnkgZGVwZW5kaW5nIG9uIHRo
ZSBkZXNpcmVkIGNvbmN1cnJlbmN5IG1vZGVsCi0obm9uZS90aHJlYWRzL3Byb2Nlc3NlcykuCi0K
LUluIG9yZGVyIGZvciBzaGFyZWQtbm90aGluZyBtZXNzYWdpbmcgYmV0d2VlbiBwcm9jZXNzaW5n
IHRvIGJlIHBvc3NpYmxlLAotTWVzc2FnZXMgbXVzdCBiZSBwaWNrbGFibGUuCi0KLVRoZSBtb2R1
bGUgZGVmaW5lcyBvbmUgaW50ZXJmYWNlIGFuZCB0d28gY2xhc3Nlcy4gQ2FsbGVycyBvZiB0aGlz
IHBhY2thZ2UKLW11c3QgaW1wbGVtZW50IHRoZSBCcm9rZXJDbGllbnQgaW50ZXJmYWNlLCBhbmQg
bW9zdCBjYWxsZXJzIHdpbGwgY3JlYXRlCi1Ccm9rZXJDb25uZWN0aW9ucyBhcyB3ZWxsIGFzIEJy
b2tlcnMuCi0KLVRoZSBjbGFzc2VzIHJlbGF0ZSB0byBlYWNoIG90aGVyIGFzOgotCi0gICAgQnJv
a2VyQ2xpZW50ICAgLS0tLS0tPiAgICBCcm9rZXJDb25uZWN0aW9uCi0gICAgICAgICBeICAgICAg
ICAgICAgICAgICAgICAgICAgIHwKLSAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg
dgotICAgICAgICAgXC0tLS0tLS0tLS0tLS0tLS0gICAgICBCcm9rZXIKLQotKFRoZSBCcm9rZXJD
bGllbnQgbmV2ZXIgY2FsbHMgYnJva2VyIGRpcmVjdGx5IGFmdGVyIGl0IGlzIGNyZWF0ZWQsIG9u
bHkKLUJyb2tlckNvbm5lY3Rpb24uICBCcm9rZXJDb25uZWN0aW9uIHBhc3NlcyBhIHJlZmVyZW5j
ZSB0byBCcm9rZXJDbGllbnQgdG8KLUJyb2tlciwgYW5kIEJyb2tlciBvbmx5IGludm9rZXMgdGhh
dCByZWZlcmVuY2UsIG5ldmVyIHRhbGtpbmcgZGlyZWN0bHkgdG8KLUJyb2tlckNvbm5lY3Rpb24p
LgotIiIiCi0KLWltcG9ydCBjUGlja2xlCi1pbXBvcnQgbG9nZ2luZwotaW1wb3J0IFF1ZXVlCi1p
bXBvcnQgdGltZQotCi0KLV9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKLQotCi1j
bGFzcyBCcm9rZXJDbGllbnQob2JqZWN0KToKLSAgICAiIiJBYnN0cmFjdCBiYXNlIGNsYXNzIC8g
aW50ZXJmYWNlIHRoYXQgYWxsIG1lc3NhZ2UgYnJva2VyIGNsaWVudHMgbXVzdAotICAgIGltcGxl
bWVudC4gSW4gYWRkaXRpb24gdG8gdGhlIG1ldGhvZHMgYmVsb3csIGJ5IGNvbnZlbnRpb24gY2xp
ZW50cwotICAgIGltcGxlbWVudCByb3V0aW5lcyBvZiB0aGUgc2lnbmF0dXJlIHR5cGUKLQotICAg
ICAgICBoYW5kbGVfTUVTU0FHRV9OQU1FKHNlbGYsIHNyYywgLi4uKToKLQotICAgIHdoZXJlIE1F
U1NBR0VfTkFNRSBtYXRjaGVzIHRoZSBzdHJpbmcgcGFzc2VkIHRvIHBvc3RfbWVzc2FnZSgpLCBh
bmQKLSAgICBzcmMgaW5kaWNhdGVzIHRoZSBuYW1lIG9mIHRoZSBzZW5kZXIuIElmIHRoZSBtZXNz
YWdlIGNvbnRhaW5zIHZhbHVlcyBpbgotICAgIHRoZSBtZXNzYWdlIGJvZHksIHRob3NlIHdpbGwg
YmUgcHJvdmlkZWQgYXMgb3B0cGFyYW1zLiIiIgotCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsICpv
cHRhcmdzLCAqKmt3YXJncyk6Ci0gICAgICAgIHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKLQot
ICAgIGRlZiBpc19kb25lKHNlbGYpOgotICAgICAgICAiIiJDYWxsZWQgZnJvbSBpbnNpZGUgcnVu
X21lc3NhZ2VfbG9vcCgpIHRvIGluZGljYXRlIHdoZXRoZXIgdG8gZXhpdC4iIiIKLSAgICAgICAg
cmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgotCi0gICAgZGVmIG5hbWUoc2VsZik6Ci0gICAgICAg
ICIiIlJldHVybiBhIG5hbWUgdGhhdCBpZGVudGlmaWVzIHRoZSBjbGllbnQuIiIiCi0gICAgICAg
IHJhaXNlIE5vdEltcGxlbWVudGVkRXJyb3IKLQotCi1jbGFzcyBCcm9rZXIob2JqZWN0KToKLSAg
ICAiIiJCcm9rZXJzIHByb3ZpZGUgdGhlIGJhc2ljIG1vZGVsIG9mIGEgc2V0IG9mIHRvcGljcy4g
Q2xpZW50cyBjYW4gcG9zdCBhCi0gICAgbWVzc2FnZSB0byBhbnkgdG9waWMgdXNpbmcgcG9zdF9t
ZXNzYWdlKCksIGFuZCBjYW4gcHJvY2VzcyBtZXNzYWdlcyBvbiBvbmUKLSAgICB0b3BpYyBhdCBh
IHRpbWUgdXNpbmcgcnVuX21lc3NhZ2VfbG9vcCgpLiIiIgotCi0gICAgZGVmIF9faW5pdF9fKHNl
bGYsIG9wdGlvbnMsIHF1ZXVlX21ha2VyKToKLSAgICAgICAgIiIiQXJnczoKLSAgICAgICAgICAg
IG9wdGlvbnM6IGEgcnVudGltZSBvcHRpb24gY2xhc3MgZnJvbSBvcHRwYXJzZQotICAgICAgICAg
ICAgcXVldWVfbWFrZXI6IGEgZmFjdG9yeSBtZXRob2QgdGhhdCByZXR1cm5zIG9iamVjdHMgaW1w
bGVtZW50aW5nIGEKLSAgICAgICAgICAgICAgICBRdWV1ZSBpbnRlcmZhY2UgKHB1dCgpL2dldCgp
KS4KLSAgICAgICAgIiIiCi0gICAgICAgIHNlbGYuX29wdGlvbnMgPSBvcHRpb25zCi0gICAgICAg
IHNlbGYuX3F1ZXVlX21ha2VyID0gcXVldWVfbWFrZXIKLSAgICAgICAgc2VsZi5fdG9waWNzID0g
e30KLQotICAgIGRlZiBhZGRfdG9waWMoc2VsZiwgdG9waWNfbmFtZSk6Ci0gICAgICAgIGlmIHRv
cGljX25hbWUgbm90IGluIHNlbGYuX3RvcGljczoKLSAgICAgICAgICAgIHNlbGYuX3RvcGljc1t0
b3BpY19uYW1lXSA9IHNlbGYuX3F1ZXVlX21ha2VyKCkKLQotICAgIGRlZiBfZ2V0X3F1ZXVlX2Zv
cl90b3BpYyhzZWxmLCB0b3BpY19uYW1lKToKLSAgICAgICAgcmV0dXJuIHNlbGYuX3RvcGljc1t0
b3BpY19uYW1lXQotCi0gICAgZGVmIHBvc3RfbWVzc2FnZShzZWxmLCBjbGllbnQsIHRvcGljX25h
bWUsIG1lc3NhZ2VfbmFtZSwgKm1lc3NhZ2VfYXJncyk6Ci0gICAgICAgICIiIlBvc3QgYSBtZXNz
YWdlIHRvIHRoZSBhcHByb3ByaWF0ZSB0b3BpYyBuYW1lLgotCi0gICAgICAgIE1lc3NhZ2VzIGhh
dmUgYSBuYW1lIGFuZCBhIHR1cGxlIG9mIG9wdGlvbmFsIGFyZ3VtZW50cy4gQm90aCBtdXN0IGJl
IHBpY2tsYWJsZS4iIiIKLSAgICAgICAgbWVzc2FnZSA9IF9NZXNzYWdlKGNsaWVudC5uYW1lKCks
IHRvcGljX25hbWUsIG1lc3NhZ2VfbmFtZSwgbWVzc2FnZV9hcmdzKQotICAgICAgICBxdWV1ZSA9
IHNlbGYuX2dldF9xdWV1ZV9mb3JfdG9waWModG9waWNfbmFtZSkKLSAgICAgICAgcXVldWUucHV0
KF9NZXNzYWdlLmR1bXBzKG1lc3NhZ2UpKQotCi0gICAgZGVmIHJ1bl9tZXNzYWdlX2xvb3Aoc2Vs
ZiwgdG9waWNfbmFtZSwgY2xpZW50LCBkZWxheV9zZWNzPU5vbmUpOgotICAgICAgICAiIiJMb29w
IHByb2Nlc3NpbmcgbWVzc2FnZXMgdW50aWwgY2xpZW50LmlzX2RvbmUoKSBvciBkZWxheSBwYXNz
ZXMuCi0KLSAgICAgICAgVG8gcnVuIGluZGVmaW5pdGVseSwgc2V0IGRlbGF5X3NlY3MgdG8gTm9u
ZS4iIiIKLSAgICAgICAgYXNzZXJ0IGRlbGF5X3NlY3MgaXMgTm9uZSBvciBkZWxheV9zZWNzID4g
MAotICAgICAgICBzZWxmLl9ydW5fbG9vcCh0b3BpY19uYW1lLCBjbGllbnQsIGJsb2NrPVRydWUs
IGRlbGF5X3NlY3M9ZGVsYXlfc2VjcykKLQotICAgIGRlZiBydW5fYWxsX3BlbmRpbmcoc2VsZiwg
dG9waWNfbmFtZSwgY2xpZW50KToKLSAgICAgICAgIiIiUHJvY2VzcyBtZXNzYWdlcyB1bnRpbCBj
bGllbnQuaXNfZG9uZSgpIG9yIGNhbGxlciB3b3VsZCBibG9jay4iIiIKLSAgICAgICAgc2VsZi5f
cnVuX2xvb3AodG9waWNfbmFtZSwgY2xpZW50LCBibG9jaz1GYWxzZSwgZGVsYXlfc2Vjcz1Ob25l
KQotCi0gICAgZGVmIF9ydW5fbG9vcChzZWxmLCB0b3BpY19uYW1lLCBjbGllbnQsIGJsb2NrLCBk
ZWxheV9zZWNzKToKLSAgICAgICAgcXVldWUgPSBzZWxmLl9nZXRfcXVldWVfZm9yX3RvcGljKHRv
cGljX25hbWUpCi0gICAgICAgIHdoaWxlIG5vdCBjbGllbnQuaXNfZG9uZSgpOgotICAgICAgICAg
ICAgdHJ5OgotICAgICAgICAgICAgICAgIHMgPSBxdWV1ZS5nZXQoYmxvY2ssIGRlbGF5X3NlY3Mp
Ci0gICAgICAgICAgICBleGNlcHQgUXVldWUuRW1wdHk6Ci0gICAgICAgICAgICAgICAgcmV0dXJu
Ci0gICAgICAgICAgICBtc2cgPSBfTWVzc2FnZS5sb2FkcyhzKQotICAgICAgICAgICAgc2VsZi5f
ZGlzcGF0Y2hfbWVzc2FnZShtc2csIGNsaWVudCkKLQotICAgIGRlZiBfZGlzcGF0Y2hfbWVzc2Fn
ZShzZWxmLCBtZXNzYWdlLCBjbGllbnQpOgotICAgICAgICBpZiBub3QgaGFzYXR0cihjbGllbnQs
ICdoYW5kbGVfJyArIG1lc3NhZ2UubmFtZSk6Ci0gICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9y
KAotICAgICAgICAgICAgICAgIiVzOiByZWNlaXZlZCBtZXNzYWdlICclcycgaXQgY291bGRuJ3Qg
aGFuZGxlIiAlCi0gICAgICAgICAgICAgICAoY2xpZW50Lm5hbWUoKSwgbWVzc2FnZS5uYW1lKSkK
LSAgICAgICAgb3B0YXJncyA9IG1lc3NhZ2UuYXJncwotICAgICAgICBtZXNzYWdlX2hhbmRsZXIg
PSBnZXRhdHRyKGNsaWVudCwgJ2hhbmRsZV8nICsgbWVzc2FnZS5uYW1lKQotICAgICAgICBtZXNz
YWdlX2hhbmRsZXIobWVzc2FnZS5zcmMsICpvcHRhcmdzKQotCi0KLWNsYXNzIF9NZXNzYWdlKG9i
amVjdCk6Ci0gICAgQHN0YXRpY21ldGhvZAotICAgIGRlZiBsb2FkcyhzdHIpOgotICAgICAgICBv
YmogPSBjUGlja2xlLmxvYWRzKHN0cikKLSAgICAgICAgYXNzZXJ0KGlzaW5zdGFuY2Uob2JqLCBf
TWVzc2FnZSkpCi0gICAgICAgIHJldHVybiBvYmoKLQotICAgIGRlZiBfX2luaXRfXyhzZWxmLCBz
cmMsIHRvcGljX25hbWUsIG1lc3NhZ2VfbmFtZSwgbWVzc2FnZV9hcmdzKToKLSAgICAgICAgc2Vs
Zi5zcmMgPSBzcmMKLSAgICAgICAgc2VsZi50b3BpY19uYW1lID0gdG9waWNfbmFtZQotICAgICAg
ICBzZWxmLm5hbWUgPSBtZXNzYWdlX25hbWUKLSAgICAgICAgc2VsZi5hcmdzID0gbWVzc2FnZV9h
cmdzCi0KLSAgICBkZWYgZHVtcHMoc2VsZik6Ci0gICAgICAgIHJldHVybiBjUGlja2xlLmR1bXBz
KHNlbGYpCi0KLSAgICBkZWYgX19yZXByX18oc2VsZik6Ci0gICAgICAgIHJldHVybiAoIl9NZXNz
YWdlKGZyb209JyVzJywgdG9waWNfbmFtZT0nJXMnLCBtZXNzYWdlX25hbWU9JyVzJykiICUKLSAg
ICAgICAgICAgICAgICAoc2VsZi5zcmMsIHNlbGYudG9waWNfbmFtZSwgc2VsZi5uYW1lKSkKLQot
Ci1jbGFzcyBCcm9rZXJDb25uZWN0aW9uKG9iamVjdCk6Ci0gICAgIiIiQnJva2VyQ29ubmVjdGlv
biBwcm92aWRlcyBhIGNvbm5lY3Rpb24tb3JpZW50ZWQgZmFjYWRlIG9uIHRvcCBvZiBhCi0gICAg
QnJva2VyLCBzbyB0aGF0IGNhbGxlcnMgZG9uJ3QgaGF2ZSB0byByZXBlYXRlZGx5IHBhc3MgdGhl
IHNhbWUgdG9waWMKLSAgICBuYW1lcyBvdmVyIGFuZCBvdmVyLiIiIgotCi0gICAgZGVmIF9faW5p
dF9fKHNlbGYsIGJyb2tlciwgY2xpZW50LCBydW5fdG9waWMsIHBvc3RfdG9waWMpOgotICAgICAg
ICAiIiJDcmVhdGUgYSBCcm9rZXJDb25uZWN0aW9uIG9uIHRvcCBvZiBhIEJyb2tlci4gTm90ZSB0
aGF0IHRoZSBCcm9rZXIKLSAgICAgICAgaXMgcGFzc2VkIGluIHJhdGhlciB0aGFuIGNyZWF0ZWQg
c28gdGhhdCBhIHNpbmdsZSBCcm9rZXIgY2FuIGJlIHVzZWQKLSAgICAgICAgYnkgbXVsdGlwbGUg
QnJva2VyQ29ubmVjdGlvbnMuIiIiCi0gICAgICAgIHNlbGYuX2Jyb2tlciA9IGJyb2tlcgotICAg
ICAgICBzZWxmLl9jbGllbnQgPSBjbGllbnQKLSAgICAgICAgc2VsZi5fcG9zdF90b3BpYyA9IHBv
c3RfdG9waWMKLSAgICAgICAgc2VsZi5fcnVuX3RvcGljID0gcnVuX3RvcGljCi0gICAgICAgIGJy
b2tlci5hZGRfdG9waWMocnVuX3RvcGljKQotICAgICAgICBicm9rZXIuYWRkX3RvcGljKHBvc3Rf
dG9waWMpCi0KLSAgICBkZWYgcnVuX21lc3NhZ2VfbG9vcChzZWxmLCBkZWxheV9zZWNzPU5vbmUp
OgotICAgICAgICBzZWxmLl9icm9rZXIucnVuX21lc3NhZ2VfbG9vcChzZWxmLl9ydW5fdG9waWMs
IHNlbGYuX2NsaWVudCwgZGVsYXlfc2VjcykKLQotICAgIGRlZiBwb3N0X21lc3NhZ2Uoc2VsZiwg
bWVzc2FnZV9uYW1lLCAqbWVzc2FnZV9hcmdzKToKLSAgICAgICAgc2VsZi5fYnJva2VyLnBvc3Rf
bWVzc2FnZShzZWxmLl9jbGllbnQsIHNlbGYuX3Bvc3RfdG9waWMsCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbWVzc2FnZV9uYW1lLCAqbWVzc2FnZV9hcmdzKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvbWVz
c2FnZV9icm9rZXIyX3VuaXR0ZXN0LnB5IGIvVG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRf
dGVzdHMvbGF5b3V0X3BhY2thZ2UvbWVzc2FnZV9icm9rZXIyX3VuaXR0ZXN0LnB5CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwZTBhODhkLi4wMDAwMDAwCi0tLSBhL1Rvb2xzL1Njcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2xheW91dF9wYWNrYWdlL21lc3NhZ2VfYnJva2VyMl91
bml0dGVzdC5weQorKysgL2Rldi9udWxsCkBAIC0xLDgzICswLDAgQEAKLSMgQ29weXJpZ2h0IChD
KSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0jCi0jIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAot
IyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMgYXJlCi0jIG1ldDoKLSMKLSMgICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotIyAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
Ci0jIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIKLSMgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotIyBkaXN0cmlidXRpb24uCi0jICAgICAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSMgY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KLSMgdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KLSMKLSMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotIyAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAotIyBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSMg
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKLSMgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCi0jIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSMgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCi0j
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWQotIyBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0jIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotIyBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotCi1pbXBvcnQgdW5pdHRlc3QKLQotZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMubGF5b3V0
X3BhY2thZ2UgaW1wb3J0IG1lc3NhZ2VfYnJva2VyMgotCi0jIFRoaXMgZmlsZSBleGlzdHMgdG8g
dGVzdCByb3V0aW5lcyB0aGF0IGFyZW4ndCBuZWNlc3NhcmlseSBjb3ZlcmVkIGVsc2V3aGVyZTsK
LSMgbW9zdCBvZiB0aGUgdGVzdGluZyBvZiBtZXNzYWdlX2Jyb2tlcjIgd2lsbCBiZSBjb3ZlcmVk
IHVuZGVyIHRoZSB0ZXN0cyBpbgotIyB0aGUgbWFuYWdlcl93b3JrZXJfYnJva2VyIG1vZHVsZS4K
LQotCi1jbGFzcyBNZXNzYWdlVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgZGVmIHRlc3Rf
X25vX2JvZHkoc2VsZik6Ci0gICAgICAgIG1zZyA9IG1lc3NhZ2VfYnJva2VyMi5fTWVzc2FnZSgn
c3JjJywgJ3RvcGljX25hbWUnLCAnbWVzc2FnZV9uYW1lJywgTm9uZSkKLSAgICAgICAgc2VsZi5h
c3NlcnRUcnVlKHJlcHIobXNnKSkKLSAgICAgICAgcyA9IG1zZy5kdW1wcygpCi0gICAgICAgIG5l
d19tc2cgPSBtZXNzYWdlX2Jyb2tlcjIuX01lc3NhZ2UubG9hZHMocykKLSAgICAgICAgc2VsZi5h
c3NlcnRFcXVhbChuZXdfbXNnLm5hbWUsICdtZXNzYWdlX25hbWUnKQotICAgICAgICBzZWxmLmFz
c2VydEVxdWFsKG5ld19tc2cuYXJncywgTm9uZSkKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChu
ZXdfbXNnLnRvcGljX25hbWUsICd0b3BpY19uYW1lJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVh
bChuZXdfbXNnLnNyYywgJ3NyYycpCi0KLSAgICBkZWYgdGVzdF9fYm9keShzZWxmKToKLSAgICAg
ICAgbXNnID0gbWVzc2FnZV9icm9rZXIyLl9NZXNzYWdlKCdzcmMnLCAndG9waWNfbmFtZScsICdt
ZXNzYWdlX25hbWUnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ2Jv
ZHknLCAwKSkKLSAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlcHIobXNnKSkKLSAgICAgICAgcyA9
IG1zZy5kdW1wcygpCi0gICAgICAgIG5ld19tc2cgPSBtZXNzYWdlX2Jyb2tlcjIuX01lc3NhZ2Uu
bG9hZHMocykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuZXdfbXNnLm5hbWUsICdtZXNzYWdl
X25hbWUnKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFsKG5ld19tc2cuYXJncywgKCdib2R5Jywg
MCkpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmV3X21zZy50b3BpY19uYW1lLCAndG9waWNf
bmFtZScpCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmV3X21zZy5zcmMsICdzcmMnKQotCi0K
LWNsYXNzIEludGVyZmFjZVRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgotICAgICMgVGhlc2UgdGVz
dHMgbW9zdGx5IGV4aXN0IHRvIHBhY2lmeSBjb3ZlcmFnZS4KLQotICAgICMgRklYTUU6IFRoZXJl
IG11c3QgYmUgYSBiZXR0ZXIgd2F5IHRvIGRvIHRoaXMgYW5kIGFsc28gdmVyaWZ5Ci0gICAgIyB0
aGF0IGNsYXNzZXMgZG8gaW1wbGVtZW50IGV2ZXJ5IGFic3RyYWN0IG1ldGhvZCBpbiBhbiBpbnRl
cmZhY2UuCi0KLSAgICBkZWYgdGVzdF9icm9rZXJjbGllbnRfaXNfYWJzdHJhY3Qoc2VsZik6Ci0g
ICAgICAgICMgVGVzdCB0aGF0IHdlIGNhbid0IGNyZWF0ZSBhbiBpbnN0YW5jZSBkaXJlY3RseS4K
LSAgICAgICAgc2VsZi5hc3NlcnRSYWlzZXMoTm90SW1wbGVtZW50ZWRFcnJvciwgbWVzc2FnZV9i
cm9rZXIyLkJyb2tlckNsaWVudCkKLQotICAgICAgICBjbGFzcyBUZXN0Q2xpZW50KG1lc3NhZ2Vf
YnJva2VyMi5Ccm9rZXJDbGllbnQpOgotICAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgot
ICAgICAgICAgICAgICAgIHBhc3MKLQotICAgICAgICAjIFRlc3QgdGhhdCBhbGwgdGhlIGJhc2Ug
Y2xhc3MgbWV0aG9kcyBhcmUgYWJzdHJhY3QgYW5kIGhhdmUgdGhlCi0gICAgICAgICMgc2lnbmF0
dXJlIHdlIGV4cGVjdC4KLSAgICAgICAgb2JqID0gVGVzdENsaWVudCgpCi0gICAgICAgIHNlbGYu
YXNzZXJ0UmFpc2VzKE5vdEltcGxlbWVudGVkRXJyb3IsIG9iai5pc19kb25lKQotICAgICAgICBz
ZWxmLmFzc2VydFJhaXNlcyhOb3RJbXBsZW1lbnRlZEVycm9yLCBvYmoubmFtZSkKLQotCi1pZiBf
X25hbWVfXyA9PSAnX19tYWluX18nOgotICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEv
VG9vbHMvU2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvbWVzc2Fn
ZV9icm9rZXJfdW5pdHRlc3QucHkgYi9Ub29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0
cy9sYXlvdXRfcGFja2FnZS9tZXNzYWdlX2Jyb2tlcl91bml0dGVzdC5weQpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYWY2ZWUwCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9sYXlvdXRfdGVzdHMvbGF5b3V0X3BhY2thZ2UvbWVzc2FnZV9icm9r
ZXJfdW5pdHRlc3QucHkKQEAgLTAsMCArMSw4MyBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyMgbWV0OgorIworIyAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyMgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorIyBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlCisjIGRpc3RyaWJ1dGlvbi4KKyMgICAgICogTmVpdGhlciB0aGUgbmFt
ZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworIyBjb250cmlidXRvcnMgbWF5
IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorIyB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
IworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisjICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisjIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorIyBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorIyBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyMgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorIyBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyMgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisjIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKK2ltcG9y
dCB1bml0dGVzdAorCitmcm9tIHdlYmtpdHB5LmxheW91dF90ZXN0cy5sYXlvdXRfcGFja2FnZSBp
bXBvcnQgbWVzc2FnZV9icm9rZXIKKworIyBUaGlzIGZpbGUgZXhpc3RzIHRvIHRlc3Qgcm91dGlu
ZXMgdGhhdCBhcmVuJ3QgbmVjZXNzYXJpbHkgY292ZXJlZCBlbHNld2hlcmU7CisjIG1vc3Qgb2Yg
dGhlIHRlc3Rpbmcgb2YgbWVzc2FnZV9icm9rZXIgd2lsbCBiZSBjb3ZlcmVkIHVuZGVyIHRoZSB0
ZXN0cyBpbgorIyB0aGUgbWFuYWdlcl93b3JrZXJfYnJva2VyIG1vZHVsZS4KKworCitjbGFzcyBN
ZXNzYWdlVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgZGVmIHRlc3RfX25vX2JvZHkoc2Vs
Zik6CisgICAgICAgIG1zZyA9IG1lc3NhZ2VfYnJva2VyLl9NZXNzYWdlKCdzcmMnLCAndG9waWNf
bmFtZScsICdtZXNzYWdlX25hbWUnLCBOb25lKQorICAgICAgICBzZWxmLmFzc2VydFRydWUocmVw
cihtc2cpKQorICAgICAgICBzID0gbXNnLmR1bXBzKCkKKyAgICAgICAgbmV3X21zZyA9IG1lc3Nh
Z2VfYnJva2VyLl9NZXNzYWdlLmxvYWRzKHMpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmV3
X21zZy5uYW1lLCAnbWVzc2FnZV9uYW1lJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChuZXdf
bXNnLmFyZ3MsIE5vbmUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmV3X21zZy50b3BpY19u
YW1lLCAndG9waWNfbmFtZScpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwobmV3X21zZy5zcmMs
ICdzcmMnKQorCisgICAgZGVmIHRlc3RfX2JvZHkoc2VsZik6CisgICAgICAgIG1zZyA9IG1lc3Nh
Z2VfYnJva2VyLl9NZXNzYWdlKCdzcmMnLCAndG9waWNfbmFtZScsICdtZXNzYWdlX25hbWUnLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ2JvZHknLCAwKSkKKyAgICAg
ICAgc2VsZi5hc3NlcnRUcnVlKHJlcHIobXNnKSkKKyAgICAgICAgcyA9IG1zZy5kdW1wcygpCisg
ICAgICAgIG5ld19tc2cgPSBtZXNzYWdlX2Jyb2tlci5fTWVzc2FnZS5sb2FkcyhzKQorICAgICAg
ICBzZWxmLmFzc2VydEVxdWFsKG5ld19tc2cubmFtZSwgJ21lc3NhZ2VfbmFtZScpCisgICAgICAg
IHNlbGYuYXNzZXJ0RXF1YWwobmV3X21zZy5hcmdzLCAoJ2JvZHknLCAwKSkKKyAgICAgICAgc2Vs
Zi5hc3NlcnRFcXVhbChuZXdfbXNnLnRvcGljX25hbWUsICd0b3BpY19uYW1lJykKKyAgICAgICAg
c2VsZi5hc3NlcnRFcXVhbChuZXdfbXNnLnNyYywgJ3NyYycpCisKKworY2xhc3MgSW50ZXJmYWNl
VGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CisgICAgIyBUaGVzZSB0ZXN0cyBtb3N0bHkgZXhpc3Qg
dG8gcGFjaWZ5IGNvdmVyYWdlLgorCisgICAgIyBGSVhNRTogVGhlcmUgbXVzdCBiZSBhIGJldHRl
ciB3YXkgdG8gZG8gdGhpcyBhbmQgYWxzbyB2ZXJpZnkKKyAgICAjIHRoYXQgY2xhc3NlcyBkbyBp
bXBsZW1lbnQgZXZlcnkgYWJzdHJhY3QgbWV0aG9kIGluIGFuIGludGVyZmFjZS4KKworICAgIGRl
ZiB0ZXN0X2Jyb2tlcmNsaWVudF9pc19hYnN0cmFjdChzZWxmKToKKyAgICAgICAgIyBUZXN0IHRo
YXQgd2UgY2FuJ3QgY3JlYXRlIGFuIGluc3RhbmNlIGRpcmVjdGx5LgorICAgICAgICBzZWxmLmFz
c2VydFJhaXNlcyhOb3RJbXBsZW1lbnRlZEVycm9yLCBtZXNzYWdlX2Jyb2tlci5Ccm9rZXJDbGll
bnQpCisKKyAgICAgICAgY2xhc3MgVGVzdENsaWVudChtZXNzYWdlX2Jyb2tlci5Ccm9rZXJDbGll
bnQpOgorICAgICAgICAgICAgZGVmIF9faW5pdF9fKHNlbGYpOgorICAgICAgICAgICAgICAgIHBh
c3MKKworICAgICAgICAjIFRlc3QgdGhhdCBhbGwgdGhlIGJhc2UgY2xhc3MgbWV0aG9kcyBhcmUg
YWJzdHJhY3QgYW5kIGhhdmUgdGhlCisgICAgICAgICMgc2lnbmF0dXJlIHdlIGV4cGVjdC4KKyAg
ICAgICAgb2JqID0gVGVzdENsaWVudCgpCisgICAgICAgIHNlbGYuYXNzZXJ0UmFpc2VzKE5vdElt
cGxlbWVudGVkRXJyb3IsIG9iai5pc19kb25lKQorICAgICAgICBzZWxmLmFzc2VydFJhaXNlcyhO
b3RJbXBsZW1lbnRlZEVycm9yLCBvYmoubmFtZSkKKworCitpZiBfX25hbWVfXyA9PSAnX19tYWlu
X18nOgorICAgIHVuaXR0ZXN0Lm1haW4oKQo=
</data>
<flag name="review"
          id="82693"
          type_id="1"
          status="+"
          setter="eric"
    />
    <flag name="commit-queue"
          id="83244"
          type_id="3"
          status="-"
          setter="dpranke"
    />
          </attachment>
      

    </bug>

</bugzilla>