<?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>30791</bug_id>
          
          <creation_ts>2009-10-26 14:23:25 -0700</creation_ts>
          <short_desc>svn-* scripts should share code through VCSUtils.pm</short_desc>
          <delta_ts>2009-10-27 03:02:11 -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>
          
          <blocked>30683</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aroben</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>157922</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-26 14:23:25 -0700</bug_when>
    <thetext>svn-* scripts should share code through VCSUtils.pm

Per David&apos;s request I&apos;m moving code into a shared location first before modifying it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>157932</commentid>
    <comment_count>1</comment_count>
      <attachid>41901</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-26 14:39:03 -0700</bug_when>
    <thetext>Created attachment 41901
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158111</commentid>
    <comment_count>2</comment_count>
      <attachid>41901</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-10-27 00:39:39 -0700</bug_when>
    <thetext>Comment on attachment 41901
Patch v1

Copy paste code makes baby Jesus cry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158134</commentid>
    <comment_count>3</comment_count>
      <attachid>41901</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-27 03:02:05 -0700</bug_when>
    <thetext>Comment on attachment 41901
Patch v1

Clearing flags on attachment: 41901

Committed r50136: &lt;http://trac.webkit.org/changeset/50136&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>158135</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-10-27 03:02:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41901</attachid>
            <date>2009-10-26 14:39:03 -0700</date>
            <delta_ts>2009-10-27 03:02:05 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-30791-20091026143902.patch</filename>
            <type>text/plain</type>
            <size>25619</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCA4NzQ3NWE5Li43NGE2ZjllIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMDktMTAt
MjYgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHN2bi0qIHNjcmlwdHMgc2hvdWxkIHNoYXJlIGNv
ZGUgdGhyb3VnaCBWQ1NVdGlscy5wbQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MzA3OTEKKworICAgICAgICBKdXN0IG1vdmluZyBjb2RlIGludG8gYSBz
aGFyZWQgbG9jYXRpb24uCisKKyAgICAgICAgKiBTY3JpcHRzL1ZDU1V0aWxzLnBtOgorICAgICAg
ICAqIFNjcmlwdHMvcHJlcGFyZS1DaGFuZ2VMb2c6CisgICAgICAgICogU2NyaXB0cy9yZXNvbHZl
LUNoYW5nZUxvZ3M6CisgICAgICAgICogU2NyaXB0cy9zdm4tYXBwbHk6CisgICAgICAgICogU2Ny
aXB0cy9zdm4tY3JlYXRlLXBhdGNoOgorICAgICAgICAqIFNjcmlwdHMvc3ZuLXVuYXBwbHk6Cisg
ICAgICAgICogU2NyaXB0cy91cGRhdGUtd2Via2l0OgorCiAyMDA5LTEwLTI2ICBDYXJvbCBTemFi
byAgPGNhcm9sLnN6YWJvQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBM
ZXZpbi4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMucG0gYi9XZWJL
aXRUb29scy9TY3JpcHRzL1ZDU1V0aWxzLnBtCmluZGV4IDMwNmNkZDYuLmUxZTBiYzIgMTAwNjQ0
Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMucG0KKysrIGIvV2ViS2l0VG9vbHMv
U2NyaXB0cy9WQ1NVdGlscy5wbQpAQCAtNDAsMTAgKzQwLDEzIEBAIEJFR0lOIHsKICAgICAkVkVS
U0lPTiAgICAgPSAxLjAwOwogICAgIEBJU0EgICAgICAgICA9IHF3KEV4cG9ydGVyKTsKICAgICBA
RVhQT1JUICAgICAgPSBxdygKKyAgICAgICAgJmNhbm9uaWNhbGl6ZVBhdGgKICAgICAgICAgJmNo
ZGlyUmV0dXJuaW5nUmVsYXRpdmVQYXRoCiAgICAgICAgICZkZXRlcm1pbmVTVk5Sb290CiAgICAg
ICAgICZkZXRlcm1pbmVWQ1NSb290CisgICAgICAgICZmaXhDaGFuZ2VMb2dQYXRjaAogICAgICAg
ICAmZ2l0QnJhbmNoCisgICAgICAgICZnaXRkaWZmMnN2bmRpZmYKICAgICAgICAgJmlzR2l0CiAg
ICAgICAgICZpc0dpdEJyYW5jaEJ1aWxkCiAgICAgICAgICZpc0dpdERpcmVjdG9yeQpAQCAtNTEs
OCArNTQsMTAgQEAgQkVHSU4gewogICAgICAgICAmaXNTVk5EaXJlY3RvcnkKICAgICAgICAgJmlz
U1ZOVmVyc2lvbjE2T3JOZXdlcgogICAgICAgICAmbWFrZUZpbGVQYXRoUmVsYXRpdmUKKyAgICAg
ICAgJm5vcm1hbGl6ZVBhdGgKICAgICAgICAgJnBhdGhSZWxhdGl2ZVRvU1ZOUmVwb3NpdG9yeVJv
b3RGb3JQYXRoCiAgICAgICAgICZzdm5SZXZpc2lvbkZvckRpcmVjdG9yeQorICAgICAgICAmc3Zu
U3RhdHVzCiAgICAgKTsKICAgICAlRVhQT1JUX1RBR1MgPSAoICk7CiAgICAgQEVYUE9SVF9PSyAg
ID0gKCk7CkBAIC0yNjcsNCArMjcyLDEzMSBAQCBzdWIgbWFrZUZpbGVQYXRoUmVsYXRpdmUoJCkK
ICAgICByZXR1cm4gJGdpdFJvb3QgLiAkcGF0aDsKIH0KIAorc3ViIG5vcm1hbGl6ZVBhdGgoJCkK
K3sKKyAgICBteSAoJHBhdGgpID0gQF87CisgICAgJHBhdGggPX4gcy9cXC9cLy9nOworICAgIHJl
dHVybiAkcGF0aDsKK30KKworc3ViIGNhbm9uaWNhbGl6ZVBhdGgoJCkKK3sKKyAgICBteSAoJGZp
bGUpID0gQF87CisKKyAgICAjIFJlbW92ZSBleHRyYSBzbGFzaGVzIGFuZCAnLicgZGlyZWN0b3Jp
ZXMgaW4gcGF0aAorICAgICRmaWxlID0gRmlsZTo6U3BlYy0+Y2Fub25wYXRoKCRmaWxlKTsKKwor
ICAgICMgUmVtb3ZlICcuLicgZGlyZWN0b3JpZXMgaW4gcGF0aAorICAgIG15IEBkaXJzID0gKCk7
CisgICAgZm9yZWFjaCBteSAkZGlyIChGaWxlOjpTcGVjLT5zcGxpdGRpcigkZmlsZSkpIHsKKyAg
ICAgICAgaWYgKCRkaXIgZXEgJy4uJyAmJiAkI2RpcnMgPj0gMCAmJiAkZGlyc1skI2RpcnNdIG5l
ICcuLicpIHsKKyAgICAgICAgICAgIHBvcChAZGlycyk7CisgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICBwdXNoKEBkaXJzLCAkZGlyKTsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4g
KCQjZGlycyA+PSAwKSA/IEZpbGU6OlNwZWMtPmNhdGRpcihAZGlycykgOiAiLiI7Cit9CisKK3N1
YiBzdm5TdGF0dXMoJCkKK3sKKyAgICBteSAoJGZ1bGxQYXRoKSA9IEBfOworICAgIG15ICRzdm5T
dGF0dXM7CisgICAgb3BlbiBTVk4sICJzdm4gc3RhdHVzIC0tbm9uLWludGVyYWN0aXZlIC0tbm9u
LXJlY3Vyc2l2ZSAnJGZ1bGxQYXRoJyB8IiBvciBkaWU7CisgICAgaWYgKC1kICRmdWxsUGF0aCkg
eworICAgICAgICAjIFdoZW4gcnVubmluZyAic3ZuIHN0YXQiIG9uIGEgZGlyZWN0b3J5LCB3ZSBj
YW4ndCBhc3N1bWUgdGhhdCBvbmx5IG9uZQorICAgICAgICAjIHN0YXR1cyB3aWxsIGJlIHJldHVy
bmVkIChzaW5jZSBhbnkgZmlsZXMgd2l0aCBhIHN0YXR1cyBiZWxvdyB0aGUKKyAgICAgICAgIyBk
aXJlY3Rvcnkgd2lsbCBiZSByZXR1cm5lZCksIGFuZCB3ZSBjYW4ndCBhc3N1bWUgdGhhdCB0aGUg
ZGlyZWN0b3J5IHdpbGwKKyAgICAgICAgIyBiZSBmaXJzdCAoc2luY2UgYW55IGZpbGVzIHdpdGgg
dW5rbm93biBzdGF0dXMgd2lsbCBiZSBsaXN0ZWQgZmlyc3QpLgorICAgICAgICBteSAkbm9ybWFs
aXplZEZ1bGxQYXRoID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKEZpbGU6OlNwZWMtPnNwbGl0ZGlyKCRm
dWxsUGF0aCkpOworICAgICAgICB3aGlsZSAoPFNWTj4pIHsKKyAgICAgICAgICAgICMgSW5wdXQg
bWF5IHVzZSBhIGRpZmZlcmVudCBFT0wgc2VxdWVuY2UgdGhhbiAkLywgc28gYXZvaWQgY2hvbXAu
CisgICAgICAgICAgICAkXyA9IHJlbW92ZUVPTCgkXyk7CisgICAgICAgICAgICBteSAkbm9ybWFs
aXplZFN0YXRQYXRoID0gRmlsZTo6U3BlYy0+Y2F0ZGlyKEZpbGU6OlNwZWMtPnNwbGl0ZGlyKHN1
YnN0cigkXywgNykpKTsKKyAgICAgICAgICAgIGlmICgkbm9ybWFsaXplZEZ1bGxQYXRoIGVxICRu
b3JtYWxpemVkU3RhdFBhdGgpIHsKKyAgICAgICAgICAgICAgICAkc3ZuU3RhdHVzID0gIiRfXG4i
OworICAgICAgICAgICAgICAgIGxhc3Q7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAg
ICAgIyBSZWFkIHRoZSByZXN0IG9mIHRoZSBzdm4gY29tbWFuZCBvdXRwdXQgdG8gYXZvaWQgYSBi
cm9rZW4gcGlwZSB3YXJuaW5nLgorICAgICAgICBsb2NhbCAkLyA9IHVuZGVmOworICAgICAgICA8
U1ZOPjsKKyAgICB9CisgICAgZWxzZSB7CisgICAgICAgICMgRmlsZXMgd2lsbCBoYXZlIG9ubHkg
b25lIHN0YXR1cyByZXR1cm5lZC4KKyAgICAgICAgJHN2blN0YXR1cyA9IHJlbW92ZUVPTCg8U1ZO
PikgLiAiXG4iOworICAgIH0KKyAgICBjbG9zZSBTVk47CisgICAgcmV0dXJuICRzdm5TdGF0dXM7
Cit9CisKK3N1YiBnaXRkaWZmMnN2bmRpZmYoJCkKK3sKKyAgICAkXyA9IHNoaWZ0IEBfOworICAg
IGlmIChtI15kaWZmIC0tZ2l0IGEvKC4rKSBiLyguKykjKSB7CisgICAgICAgIHJldHVybiAiSW5k
ZXg6ICQxIjsKKyAgICB9IGVsc2lmIChtL15uZXcgZmlsZS4qLykgeworICAgICAgICByZXR1cm4g
IiI7CisgICAgfSBlbHNpZiAobSNeaW5kZXggWzAtOWEtZl17N31cLlwuWzAtOWEtZl17N30gWzAt
OV17Nn0jKSB7CisgICAgICAgIHJldHVybiAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSI7CisgICAgfSBlbHNpZiAobSNe
LS0tIGEvKC4rKSMpIHsKKyAgICAgICAgcmV0dXJuICItLS0gJDEiOworICAgIH0gZWxzaWYgKG0j
XlwrXCtcKyBiLyguKykjKSB7CisgICAgICAgIHJldHVybiAiKysrICQxIjsKKyAgICB9CisgICAg
cmV0dXJuICRfOworfQorCitzdWIgZml4Q2hhbmdlTG9nUGF0Y2goJCkKK3sKKyAgICBteSAkcGF0
Y2ggPSBzaGlmdDsKKyAgICBteSAkY29udGV4dExpbmVDb3VudCA9IDM7CisKKyAgICByZXR1cm4g
JHBhdGNoIGlmICRwYXRjaCAhfiAvXG5AQCAtMSwoXGQrKSBcKzEsKFxkKykgQEBcbiggLipcbikr
KFwrLipcbikrKCAuKlxuKXskY29udGV4dExpbmVDb3VudH0kL207CisgICAgbXkgKCRvbGRMaW5l
Q291bnQsICRuZXdMaW5lQ291bnQpID0gKCQxLCAkMik7CisgICAgcmV0dXJuICRwYXRjaCBpZiAk
b2xkTGluZUNvdW50IDw9ICRjb250ZXh0TGluZUNvdW50OworCisgICAgIyBUaGUgZGlmZigxKSBj
b21tYW5kIGlzIGdyZWVkeSB3aGVuIG1hdGNoaW5nIGxpbmVzLCBzbyBhIG5ldyBDaGFuZ2VMb2cg
ZW50cnkgd2lsbAorICAgICMgaGF2ZSBsaW5lcyBvZiBjb250ZXh0IGF0IHRoZSB0b3Agb2YgYSBw
YXRjaCB3aGVuIHRoZSBleGlzdGluZyBlbnRyeSBoYXMgdGhlIHNhbWUKKyAgICAjIGRhdGUgYW5k
IGF1dGhvciBhcyB0aGUgbmV3IGVudHJ5LiAgVGhpcyBuaWZ0eSBsb29wIGFsdGVycyBhIENoYW5n
ZUxvZyBwYXRjaCBzbworICAgICMgdGhhdCB0aGUgYWRkZWQgbGluZXMgKCIrIikgaW4gdGhlIHBh
dGNoIGFsd2F5cyBzdGFydCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZQorICAgICMgcGF0Y2ggYW5k
IHRoZXJlIGFyZSBubyBpbml0aWFsIGxpbmVzIG9mIGNvbnRleHQuCisgICAgbXkgJG5ld1BhdGNo
OworICAgIG15ICRsaW5lQ291bnRJblN0YXRlID0gMDsKKyAgICBteSAkb2xkQ29udGVudExpbmVD
b3VudFJlZHVjdGlvbiA9ICRvbGRMaW5lQ291bnQgLSAkY29udGV4dExpbmVDb3VudDsKKyAgICBt
eSAkbmV3Q29udGVudExpbmVDb3VudFdpdGhvdXRDb250ZXh0ID0gJG5ld0xpbmVDb3VudCAtICRv
bGRMaW5lQ291bnQgLSAkb2xkQ29udGVudExpbmVDb3VudFJlZHVjdGlvbjsKKyAgICBteSAoJHN0
YXRlSGVhZGVyLCAkc3RhdGVQcmVDb250ZXh0LCAkc3RhdGVOZXdDaGFuZ2VzLCAkc3RhdGVQb3N0
Q29udGV4dCkgPSAoMS4uNCk7CisgICAgbXkgJHN0YXRlID0gJHN0YXRlSGVhZGVyOworICAgIGZv
cmVhY2ggbXkgJGxpbmUgKHNwbGl0KC9cbi8sICRwYXRjaCkpIHsKKyAgICAgICAgJGxpbmVDb3Vu
dEluU3RhdGUrKzsKKyAgICAgICAgaWYgKCRzdGF0ZSA9PSAkc3RhdGVIZWFkZXIgJiYgJGxpbmUg
PX4gL15AQCAtMSwkb2xkTGluZUNvdW50IFwrMSwkbmV3TGluZUNvdW50IEBcQCQvKSB7CisgICAg
ICAgICAgICAkbGluZSA9ICJAQCAtMSwkY29udGV4dExpbmVDb3VudCArMSwiIC4gKCRuZXdMaW5l
Q291bnQgLSAkb2xkQ29udGVudExpbmVDb3VudFJlZHVjdGlvbikgLiAiIEBAIjsKKyAgICAgICAg
ICAgICRsaW5lQ291bnRJblN0YXRlID0gMDsKKyAgICAgICAgICAgICRzdGF0ZSA9ICRzdGF0ZVBy
ZUNvbnRleHQ7CisgICAgICAgIH0gZWxzaWYgKCRzdGF0ZSA9PSAkc3RhdGVQcmVDb250ZXh0ICYm
IHN1YnN0cigkbGluZSwgMCwgMSkgZXEgIiAiKSB7CisgICAgICAgICAgICAkbGluZSA9ICIrIiAu
IHN1YnN0cigkbGluZSwgMSk7CisgICAgICAgICAgICBpZiAoJGxpbmVDb3VudEluU3RhdGUgPT0g
JG9sZENvbnRlbnRMaW5lQ291bnRSZWR1Y3Rpb24pIHsKKyAgICAgICAgICAgICAgICAkbGluZUNv
dW50SW5TdGF0ZSA9IDA7CisgICAgICAgICAgICAgICAgJHN0YXRlID0gJHN0YXRlTmV3Q2hhbmdl
czsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNpZiAoJHN0YXRlID09ICRzdGF0ZU5ld0No
YW5nZXMgJiYgc3Vic3RyKCRsaW5lLCAwLCAxKSBlcSAiKyIpIHsKKyAgICAgICAgICAgICMgTm8g
Y2hhbmdlcyB0byB0aGVzZSBsaW5lcworICAgICAgICAgICAgaWYgKCRsaW5lQ291bnRJblN0YXRl
ID09ICRuZXdDb250ZW50TGluZUNvdW50V2l0aG91dENvbnRleHQpIHsKKyAgICAgICAgICAgICAg
ICAkbGluZUNvdW50SW5TdGF0ZSA9IDA7CisgICAgICAgICAgICAgICAgJHN0YXRlID0gJHN0YXRl
UG9zdENvbnRleHQ7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzaWYgKCRzdGF0ZSA9PSAk
c3RhdGVQb3N0Q29udGV4dCkgeworICAgICAgICAgICAgaWYgKHN1YnN0cigkbGluZSwgMCwgMSkg
ZXEgIisiICYmICRsaW5lQ291bnRJblN0YXRlIDw9ICRvbGRDb250ZW50TGluZUNvdW50UmVkdWN0
aW9uKSB7CisgICAgICAgICAgICAgICAgJGxpbmUgPSAiICIgLiBzdWJzdHIoJGxpbmUsIDEpOwor
ICAgICAgICAgICAgfSBlbHNpZiAoJGxpbmVDb3VudEluU3RhdGUgPiAkY29udGV4dExpbmVDb3Vu
dCAmJiBzdWJzdHIoJGxpbmUsIDAsIDEpIGVxICIgIikgeworICAgICAgICAgICAgICAgIG5leHQ7
ICMgRGlzY2FyZAorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgICRuZXdQYXRjaCAu
PSAkbGluZSAuICJcbiI7CisgICAgfQorCisgICAgcmV0dXJuICRuZXdQYXRjaDsKK30KKworCiAx
OwpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9wcmVwYXJlLUNoYW5nZUxvZyBiL1dl
YktpdFRvb2xzL1NjcmlwdHMvcHJlcGFyZS1DaGFuZ2VMb2cKaW5kZXggZWQzMTAwNS4uZGQ4NjRk
ZiAxMDA3NTUKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9wcmVwYXJlLUNoYW5nZUxvZworKysg
Yi9XZWJLaXRUb29scy9TY3JpcHRzL3ByZXBhcmUtQ2hhbmdlTG9nCkBAIC04NSw3ICs4NSw2IEBA
IHN1YiBpc0NvbmZsaWN0U3RhdHVzKCQpOwogc3ViIHN0YXR1c0Rlc2NyaXB0aW9uKCQkJCQpOwog
c3ViIHByb3BlcnR5Q2hhbmdlRGVzY3JpcHRpb24oJCk7CiBzdWIgZXh0cmFjdExpbmVSYW5nZSgk
KTsKLXN1YiBjYW5vbmljYWxpemVQYXRoKCQpOwogc3ViIHRlc3RMaXN0Rm9yQ2hhbmdlTG9nKEAp
Owogc3ViIGdldF9mdW5jdGlvbl9saW5lX3JhbmdlcygkJCk7CiBzdWIgZ2V0X2Z1bmN0aW9uX2xp
bmVfcmFuZ2VzX2Zvcl9jKCQkKTsKQEAgLTk1LDcgKzk0LDYgQEAgc3ViIG1ldGhvZF9kZWNsX3Rv
X3NlbGVjdG9yKCQpOwogc3ViIHByb2Nlc3NQYXRocyhcQCk7CiBzdWIgcmV2aWV3ZXJBbmREZXNj
cmlwdGlvbkZvckdpdENvbW1pdCgkKTsKIHN1YiBub3JtYWxpemVMaW5lRW5kaW5ncygkJCk7Ci1z
dWIgbm9ybWFsaXplUGF0aCgkKTsKIHN1YiBkZWNvZGVFbnRpdGllcygkKTsKIAogIyBQcm9qZWN0
IHRpbWUgem9uZSBmb3IgQ3VwZXJ0aW5vLCBDQSwgVVMKQEAgLTQyOSwyNCArNDI3LDYgQEAgaWYg
KCRvcGVuQ2hhbmdlTG9ncyAmJiBAbG9ncykgewogIyBEb25lLgogZXhpdDsKIAotc3ViIGNhbm9u
aWNhbGl6ZVBhdGgoJCkKLXsKLSAgICBteSAoJGZpbGUpID0gQF87Ci0KLSAgICAjIFJlbW92ZSBl
eHRyYSBzbGFzaGVzIGFuZCAnLicgZGlyZWN0b3JpZXMgaW4gcGF0aAotICAgICRmaWxlID0gRmls
ZTo6U3BlYy0+Y2Fub25wYXRoKCRmaWxlKTsKLQotICAgICMgUmVtb3ZlICcuLicgZGlyZWN0b3Jp
ZXMgaW4gcGF0aAotICAgIG15IEBkaXJzID0gKCk7Ci0gICAgZm9yZWFjaCBteSAkZGlyIChGaWxl
OjpTcGVjLT5zcGxpdGRpcigkZmlsZSkpIHsKLSAgICAgICAgaWYgKCRkaXIgZXEgJy4uJyAmJiAk
I2RpcnMgPj0gMCAmJiAkZGlyc1skI2RpcnNdIG5lICcuLicpIHsKLSAgICAgICAgICAgIHBvcChA
ZGlycyk7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBwdXNoKEBkaXJzLCAkZGlyKTsK
LSAgICAgICAgfQotICAgIH0KLSAgICByZXR1cm4gKCQjZGlycyA+PSAwKSA/IEZpbGU6OlNwZWMt
PmNhdGRpcihAZGlycykgOiAiLiI7Ci19CiAKIHN1YiBjaGFuZ2VMb2dEYXRlKCQpCiB7CkBAIC0x
NzE3LDEzICsxNjk3LDYgQEAgc3ViIG5vcm1hbGl6ZUxpbmVFbmRpbmdzKCQkKQogICAgIHJldHVy
biAkc3RyaW5nOwogfQogCi1zdWIgbm9ybWFsaXplUGF0aCgkKQotewotICAgIG15ICgkcGF0aCkg
PSBAXzsKLSAgICAkcGF0aCA9fiBzL1xcL1wvL2c7Ci0gICAgcmV0dXJuICRwYXRoOwotfQotCiBz
dWIgZGVjb2RlRW50aXRpZXMoJCkKIHsKICAgICBteSAoJHRleHQpID0gQF87CmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9TY3JpcHRzL3Jlc29sdmUtQ2hhbmdlTG9ncyBiL1dlYktpdFRvb2xzL1Nj
cmlwdHMvcmVzb2x2ZS1DaGFuZ2VMb2dzCmluZGV4IGJlNThhY2IuLjFhMmQyYWYgMTAwNzU1Ci0t
LSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvcmVzb2x2ZS1DaGFuZ2VMb2dzCisrKyBiL1dlYktpdFRv
b2xzL1NjcmlwdHMvcmVzb2x2ZS1DaGFuZ2VMb2dzCkBAIC00NCw3ICs0NCw2IEBAIHN1YiBjYW5v
bmljYWxSZWxhdGl2ZVBhdGgoJCk7CiBzdWIgY29uZmxpY3RGaWxlcygkKTsKIHN1YiBmaW5kQ2hh
bmdlTG9nKCQpOwogc3ViIGZpbmRVbm1lcmdlZENoYW5nZUxvZ3MoKTsKLXN1YiBmaXhDaGFuZ2VM
b2dQYXRjaCgkKTsKIHN1YiBmaXhNZXJnZWRDaGFuZ2VMb2dzKCQ7QCk7CiBzdWIgZml4T25lTWVy
Z2VkQ2hhbmdlTG9nKCQpOwogc3ViIGhhc0dpdFVubWVyZ2VkRmlsZXMoKTsKQEAgLTU2LDcgKzU1
LDYgQEAgc3ViIHJlc29sdmVDaGFuZ2VMb2coJCk7CiBzdWIgcmVzb2x2ZUNvbmZsaWN0KCQpOwog
c3ViIHNob3dTdGF0dXMoJDskKTsKIHN1YiB1c2FnZUFuZEV4aXQoKTsKLXN1YiBub3JtYWxpemVQ
YXRoKCQpOwogCiBteSAkaXNHaXQgPSBpc0dpdCgpOwogbXkgJGlzU1ZOID0gaXNTVk4oKTsKQEAg
LTI4MSw1NyArMjc5LDYgQEAgc3ViIGZpbmRVbm1lcmdlZENoYW5nZUxvZ3MoKQogICAgIHJldHVy
biBAcmVzdWx0czsKIH0KIAotc3ViIGZpeENoYW5nZUxvZ1BhdGNoKCQpCi17Ci0gICAgbXkgJHBh
dGNoID0gc2hpZnQ7Ci0gICAgbXkgJGNvbnRleHRMaW5lQ291bnQgPSAzOwotCi0gICAgcmV0dXJu
ICRwYXRjaCBpZiAkcGF0Y2ggIX4gL1xuQEAgLTEsKFxkKykgXCsxLChcZCspIEBAXG4oIC4qXG4p
KyhcKy4qXG4pKyggLipcbil7JGNvbnRleHRMaW5lQ291bnR9JC9tOwotICAgIG15ICgkb2xkTGlu
ZUNvdW50LCAkbmV3TGluZUNvdW50KSA9ICgkMSwgJDIpOwotICAgIHJldHVybiAkcGF0Y2ggaWYg
JG9sZExpbmVDb3VudCA8PSAkY29udGV4dExpbmVDb3VudDsKLQotICAgICMgVGhlIGRpZmYoMSkg
Y29tbWFuZCBpcyBncmVlZHkgd2hlbiBtYXRjaGluZyBsaW5lcywgc28gYSBuZXcgQ2hhbmdlTG9n
IGVudHJ5IHdpbGwKLSAgICAjIGhhdmUgbGluZXMgb2YgY29udGV4dCBhdCB0aGUgdG9wIG9mIGEg
cGF0Y2ggd2hlbiB0aGUgZXhpc3RpbmcgZW50cnkgaGFzIHRoZSBzYW1lCi0gICAgIyBkYXRlIGFu
ZCBhdXRob3IgYXMgdGhlIG5ldyBlbnRyeS4gIFRoaXMgbmlmdHkgbG9vcCBhbHRlcnMgYSBDaGFu
Z2VMb2cgcGF0Y2ggc28KLSAgICAjIHRoYXQgdGhlIGFkZGVkIGxpbmVzICgiKyIpIGluIHRoZSBw
YXRjaCBhbHdheXMgc3RhcnQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUKLSAgICAjIHBhdGNoIGFu
ZCB0aGVyZSBhcmUgbm8gaW5pdGlhbCBsaW5lcyBvZiBjb250ZXh0LgotICAgIG15ICRuZXdQYXRj
aDsKLSAgICBteSAkbGluZUNvdW50SW5TdGF0ZSA9IDA7Ci0gICAgbXkgJG9sZENvbnRlbnRMaW5l
Q291bnRSZWR1Y3Rpb24gPSAkb2xkTGluZUNvdW50IC0gJGNvbnRleHRMaW5lQ291bnQ7Ci0gICAg
bXkgJG5ld0NvbnRlbnRMaW5lQ291bnRXaXRob3V0Q29udGV4dCA9ICRuZXdMaW5lQ291bnQgLSAk
b2xkTGluZUNvdW50IC0gJG9sZENvbnRlbnRMaW5lQ291bnRSZWR1Y3Rpb247Ci0gICAgbXkgKCRz
dGF0ZUhlYWRlciwgJHN0YXRlUHJlQ29udGV4dCwgJHN0YXRlTmV3Q2hhbmdlcywgJHN0YXRlUG9z
dENvbnRleHQpID0gKDEuLjQpOwotICAgIG15ICRzdGF0ZSA9ICRzdGF0ZUhlYWRlcjsKLSAgICBm
b3JlYWNoIG15ICRsaW5lIChzcGxpdCgvXG4vLCAkcGF0Y2gpKSB7Ci0gICAgICAgICRsaW5lQ291
bnRJblN0YXRlKys7Ci0gICAgICAgIGlmICgkc3RhdGUgPT0gJHN0YXRlSGVhZGVyICYmICRsaW5l
ID1+IC9eQEAgLTEsJG9sZExpbmVDb3VudCBcKzEsJG5ld0xpbmVDb3VudCBAXEAkLykgewotICAg
ICAgICAgICAgJGxpbmUgPSAiQEAgLTEsJGNvbnRleHRMaW5lQ291bnQgKzEsIiAuICgkbmV3TGlu
ZUNvdW50IC0gJG9sZENvbnRlbnRMaW5lQ291bnRSZWR1Y3Rpb24pIC4gIiBAQCI7Ci0gICAgICAg
ICAgICAkbGluZUNvdW50SW5TdGF0ZSA9IDA7Ci0gICAgICAgICAgICAkc3RhdGUgPSAkc3RhdGVQ
cmVDb250ZXh0OwotICAgICAgICB9IGVsc2lmICgkc3RhdGUgPT0gJHN0YXRlUHJlQ29udGV4dCAm
JiBzdWJzdHIoJGxpbmUsIDAsIDEpIGVxICIgIikgewotICAgICAgICAgICAgJGxpbmUgPSAiKyIg
LiBzdWJzdHIoJGxpbmUsIDEpOwotICAgICAgICAgICAgaWYgKCRsaW5lQ291bnRJblN0YXRlID09
ICRvbGRDb250ZW50TGluZUNvdW50UmVkdWN0aW9uKSB7Ci0gICAgICAgICAgICAgICAgJGxpbmVD
b3VudEluU3RhdGUgPSAwOwotICAgICAgICAgICAgICAgICRzdGF0ZSA9ICRzdGF0ZU5ld0NoYW5n
ZXM7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzaWYgKCRzdGF0ZSA9PSAkc3RhdGVOZXdD
aGFuZ2VzICYmIHN1YnN0cigkbGluZSwgMCwgMSkgZXEgIisiKSB7Ci0gICAgICAgICAgICAjIE5v
IGNoYW5nZXMgdG8gdGhlc2UgbGluZXMKLSAgICAgICAgICAgIGlmICgkbGluZUNvdW50SW5TdGF0
ZSA9PSAkbmV3Q29udGVudExpbmVDb3VudFdpdGhvdXRDb250ZXh0KSB7Ci0gICAgICAgICAgICAg
ICAgJGxpbmVDb3VudEluU3RhdGUgPSAwOwotICAgICAgICAgICAgICAgICRzdGF0ZSA9ICRzdGF0
ZVBvc3RDb250ZXh0OwotICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2lmICgkc3RhdGUgPT0g
JHN0YXRlUG9zdENvbnRleHQpIHsKLSAgICAgICAgICAgIGlmIChzdWJzdHIoJGxpbmUsIDAsIDEp
IGVxICIrIiAmJiAkbGluZUNvdW50SW5TdGF0ZSA8PSAkb2xkQ29udGVudExpbmVDb3VudFJlZHVj
dGlvbikgewotICAgICAgICAgICAgICAgICRsaW5lID0gIiAiIC4gc3Vic3RyKCRsaW5lLCAxKTsK
LSAgICAgICAgICAgIH0gZWxzaWYgKCRsaW5lQ291bnRJblN0YXRlID4gJGNvbnRleHRMaW5lQ291
bnQgJiYgc3Vic3RyKCRsaW5lLCAwLCAxKSBlcSAiICIpIHsKLSAgICAgICAgICAgICAgICBuZXh0
OyAjIERpc2NhcmQKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICAkbmV3UGF0Y2gg
Lj0gJGxpbmUgLiAiXG4iOwotICAgIH0KLQotICAgIHJldHVybiAkbmV3UGF0Y2g7Ci19Ci0KIHN1
YiBmaXhNZXJnZWRDaGFuZ2VMb2dzKCQ7QCkKIHsKICAgICBteSAkcmV2aXNpb25SYW5nZSA9IHNo
aWZ0OwpAQCAtNTcxLDkgKzUxOCwzIEBAIHN1YiBzaG93U3RhdHVzKCQ7JCkKICAgICB9CiB9CiAK
LXN1YiBub3JtYWxpemVQYXRoKCQpCi17Ci0gICAgbXkgKCRwYXRoKSA9IEBfOwotICAgICRwYXRo
ID1+IHMvXFwvXC8vZzsKLSAgICByZXR1cm4gJHBhdGg7Ci19CmRpZmYgLS1naXQgYS9XZWJLaXRU
b29scy9TY3JpcHRzL3N2bi1hcHBseSBiL1dlYktpdFRvb2xzL1NjcmlwdHMvc3ZuLWFwcGx5Cmlu
ZGV4IDE5YzhjNTYuLjNkZDE2N2IgMTAwNzU1Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvc3Zu
LWFwcGx5CisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvc3ZuLWFwcGx5CkBAIC03NCwxNSArNzQs
MTIgQEAgdXNlIFZDU1V0aWxzOwogc3ViIGFkZERpcmVjdG9yaWVzSWZOZWVkZWQoJCk7CiBzdWIg
YXBwbHlQYXRjaCgkJDskKTsKIHN1YiBjaGVja3N1bSgkKTsKLXN1YiBmaXhDaGFuZ2VMb2dQYXRj
aCgkKTsKLXN1YiBnaXRkaWZmMnN2bmRpZmYoJCk7CiBzdWIgaGFuZGxlQmluYXJ5Q2hhbmdlKCQk
KTsKIHN1YiBpc0RpcmVjdG9yeUVtcHR5Rm9yUmVtb3ZhbCgkKTsKIHN1YiBwYXRjaCgkKTsKIHN1
YiByZW1vdmVEaXJlY3Rvcmllc0lmTmVlZGVkKCk7CiBzdWIgc2V0Q2hhbmdlTG9nRGF0ZUFuZFJl
dmlld2VyKCQkKTsKIHN1YiByZW1vdmVFT0woJCk7Ci1zdWIgc3ZuU3RhdHVzKCQpOwogCiAjIFRo
ZXNlIHNob3VsZCBiZSByZXBsYWNlZCBieSBhbiBzY20gY2xhc3MvbW9kdWxlOgogc3ViIHNjbUtu
b3dzT2ZGaWxlKCQpOwpAQCAtMjU4LDc0ICsyNTUsNiBAQCBzdWIgY2hlY2tzdW0oJCkKICAgICBy
ZXR1cm4gJGNoZWNrc3VtOwogfQogCi1zdWIgZml4Q2hhbmdlTG9nUGF0Y2goJCkKLXsKLSAgICBt
eSAkcGF0Y2ggPSBzaGlmdDsKLSAgICBteSAkY29udGV4dExpbmVDb3VudCA9IDM7Ci0KLSAgICBy
ZXR1cm4gJHBhdGNoIGlmICRwYXRjaCAhfiAvXG5AQCAtMSwoXGQrKSBcKzEsKFxkKykgQEBccj9c
biggLipccj9cbikrKFwrLipccj9cbikrKCAuKlxyP1xuKXskY29udGV4dExpbmVDb3VudH0kL207
Ci0gICAgbXkgKCRvbGRMaW5lQ291bnQsICRuZXdMaW5lQ291bnQpID0gKCQxLCAkMik7Ci0gICAg
cmV0dXJuICRwYXRjaCBpZiAkb2xkTGluZUNvdW50IDw9ICRjb250ZXh0TGluZUNvdW50OwotCi0g
ICAgIyBUaGUgZGlmZigxKSBjb21tYW5kIGlzIGdyZWVkeSB3aGVuIG1hdGNoaW5nIGxpbmVzLCBz
byBhIG5ldyBDaGFuZ2VMb2cgZW50cnkgd2lsbAotICAgICMgaGF2ZSBsaW5lcyBvZiBjb250ZXh0
IGF0IHRoZSB0b3Agb2YgYSBwYXRjaCB3aGVuIHRoZSBleGlzdGluZyBlbnRyeSBoYXMgdGhlIHNh
bWUKLSAgICAjIGRhdGUgYW5kIGF1dGhvciBhcyB0aGUgbmV3IGVudHJ5LiAgVGhpcyBuaWZ0eSBs
b29wIGFsdGVycyBhIENoYW5nZUxvZyBwYXRjaCBzbwotICAgICMgdGhhdCB0aGUgYWRkZWQgbGlu
ZXMgKCIrIikgaW4gdGhlIHBhdGNoIGFsd2F5cyBzdGFydCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRo
ZQotICAgICMgcGF0Y2ggYW5kIHRoZXJlIGFyZSBubyBpbml0aWFsIGxpbmVzIG9mIGNvbnRleHQu
Ci0gICAgbXkgJG5ld1BhdGNoOwotICAgIG15ICRsaW5lQ291bnRJblN0YXRlID0gMDsKLSAgICBt
eSAkb2xkQ29udGVudExpbmVDb3VudFJlZHVjdGlvbiA9ICRvbGRMaW5lQ291bnQgLSAkY29udGV4
dExpbmVDb3VudDsKLSAgICBteSAkbmV3Q29udGVudExpbmVDb3VudFdpdGhvdXRDb250ZXh0ID0g
JG5ld0xpbmVDb3VudCAtICRvbGRMaW5lQ291bnQgLSAkb2xkQ29udGVudExpbmVDb3VudFJlZHVj
dGlvbjsKLSAgICBteSAoJHN0YXRlSGVhZGVyLCAkc3RhdGVQcmVDb250ZXh0LCAkc3RhdGVOZXdD
aGFuZ2VzLCAkc3RhdGVQb3N0Q29udGV4dCkgPSAoMS4uNCk7Ci0gICAgbXkgJHN0YXRlID0gJHN0
YXRlSGVhZGVyOwotICAgIGZvcmVhY2ggbXkgJGxpbmUgKHNwbGl0KC9cbi8sICRwYXRjaCkpIHsK
LSAgICAgICAgJGxpbmVDb3VudEluU3RhdGUrKzsKLSAgICAgICAgaWYgKCRzdGF0ZSA9PSAkc3Rh
dGVIZWFkZXIgJiYgJGxpbmUgPX4gL15AQCAtMSwkb2xkTGluZUNvdW50IFwrMSwkbmV3TGluZUNv
dW50IEBcQCQvKSB7Ci0gICAgICAgICAgICAkbGluZSA9ICJAQCAtMSwkY29udGV4dExpbmVDb3Vu
dCArMSwiIC4gKCRuZXdMaW5lQ291bnQgLSAkb2xkQ29udGVudExpbmVDb3VudFJlZHVjdGlvbikg
LiAiIEBAIjsKLSAgICAgICAgICAgICRsaW5lQ291bnRJblN0YXRlID0gMDsKLSAgICAgICAgICAg
ICRzdGF0ZSA9ICRzdGF0ZVByZUNvbnRleHQ7Ci0gICAgICAgIH0gZWxzaWYgKCRzdGF0ZSA9PSAk
c3RhdGVQcmVDb250ZXh0ICYmIHN1YnN0cigkbGluZSwgMCwgMSkgZXEgIiAiKSB7Ci0gICAgICAg
ICAgICAkbGluZSA9ICIrIiAuIHN1YnN0cigkbGluZSwgMSk7Ci0gICAgICAgICAgICBpZiAoJGxp
bmVDb3VudEluU3RhdGUgPT0gJG9sZENvbnRlbnRMaW5lQ291bnRSZWR1Y3Rpb24pIHsKLSAgICAg
ICAgICAgICAgICAkbGluZUNvdW50SW5TdGF0ZSA9IDA7Ci0gICAgICAgICAgICAgICAgJHN0YXRl
ID0gJHN0YXRlTmV3Q2hhbmdlczsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNpZiAoJHN0
YXRlID09ICRzdGF0ZU5ld0NoYW5nZXMgJiYgc3Vic3RyKCRsaW5lLCAwLCAxKSBlcSAiKyIpIHsK
LSAgICAgICAgICAgICMgTm8gY2hhbmdlcyB0byB0aGVzZSBsaW5lcwotICAgICAgICAgICAgaWYg
KCRsaW5lQ291bnRJblN0YXRlID09ICRuZXdDb250ZW50TGluZUNvdW50V2l0aG91dENvbnRleHQp
IHsKLSAgICAgICAgICAgICAgICAkbGluZUNvdW50SW5TdGF0ZSA9IDA7Ci0gICAgICAgICAgICAg
ICAgJHN0YXRlID0gJHN0YXRlUG9zdENvbnRleHQ7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0g
ZWxzaWYgKCRzdGF0ZSA9PSAkc3RhdGVQb3N0Q29udGV4dCkgewotICAgICAgICAgICAgaWYgKHN1
YnN0cigkbGluZSwgMCwgMSkgZXEgIisiICYmICRsaW5lQ291bnRJblN0YXRlIDw9ICRvbGRDb250
ZW50TGluZUNvdW50UmVkdWN0aW9uKSB7Ci0gICAgICAgICAgICAgICAgJGxpbmUgPSAiICIgLiBz
dWJzdHIoJGxpbmUsIDEpOwotICAgICAgICAgICAgfSBlbHNpZiAoJGxpbmVDb3VudEluU3RhdGUg
PiAkY29udGV4dExpbmVDb3VudCAmJiBzdWJzdHIoJGxpbmUsIDAsIDEpIGVxICIgIikgewotICAg
ICAgICAgICAgICAgIG5leHQ7ICMgRGlzY2FyZAotICAgICAgICAgICAgfQotICAgICAgICB9Ci0g
ICAgICAgICRuZXdQYXRjaCAuPSAkbGluZSAuICJcbiI7Ci0gICAgfQotCi0gICAgcmV0dXJuICRu
ZXdQYXRjaDsKLX0KLQotc3ViIGdpdGRpZmYyc3ZuZGlmZigkKQotewotICAgICRfID0gc2hpZnQg
QF87Ci0gICAgaWYgKG0jXmRpZmYgLS1naXQgYS8oLispIGIvKC4rKSMpIHsKLSAgICAgICAgcmV0
dXJuICJJbmRleDogJDEiOwotICAgIH0gZWxzaWYgKG0vXm5ldyBmaWxlLiovKSB7Ci0gICAgICAg
IHJldHVybiAiIjsKLSAgICB9IGVsc2lmIChtI15pbmRleCBbMC05YS1mXXs3fVwuXC5bMC05YS1m
XXs3fSBbMC05XXs2fSMpIHsKLSAgICAgICAgcmV0dXJuICI9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IjsKLSAgICB9IGVs
c2lmIChtI14tLS0gYS8oLispIykgewotICAgICAgICByZXR1cm4gIi0tLSAkMSI7Ci0gICAgfSBl
bHNpZiAobSNeXCtcK1wrIGIvKC4rKSMpIHsKLSAgICAgICAgcmV0dXJuICIrKysgJDEiOwotICAg
IH0KLSAgICByZXR1cm4gJF87Ci19Ci0KIHN1YiBoYW5kbGVCaW5hcnlDaGFuZ2UoJCQpCiB7CiAg
ICAgbXkgKCRmdWxsUGF0aCwgJGNvbnRlbnRzKSA9IEBfOwpAQCAtNDU1LDM4ICszODQsNiBAQCBz
dWIgcmVtb3ZlRU9MKCQpCiAgICAgcmV0dXJuICRsaW5lOwogfQogCi1zdWIgc3ZuU3RhdHVzKCQp
Ci17Ci0gICAgbXkgKCRmdWxsUGF0aCkgPSBAXzsKLSAgICBteSAkc3ZuU3RhdHVzOwotICAgIG9w
ZW4gU1ZOLCAic3ZuIHN0YXR1cyAtLW5vbi1pbnRlcmFjdGl2ZSAtLW5vbi1yZWN1cnNpdmUgJyRm
dWxsUGF0aCcgfCIgb3IgZGllOwotICAgIGlmICgtZCAkZnVsbFBhdGgpIHsKLSAgICAgICAgIyBX
aGVuIHJ1bm5pbmcgInN2biBzdGF0IiBvbiBhIGRpcmVjdG9yeSwgd2UgY2FuJ3QgYXNzdW1lIHRo
YXQgb25seSBvbmUKLSAgICAgICAgIyBzdGF0dXMgd2lsbCBiZSByZXR1cm5lZCAoc2luY2UgYW55
IGZpbGVzIHdpdGggYSBzdGF0dXMgYmVsb3cgdGhlCi0gICAgICAgICMgZGlyZWN0b3J5IHdpbGwg
YmUgcmV0dXJuZWQpLCBhbmQgd2UgY2FuJ3QgYXNzdW1lIHRoYXQgdGhlIGRpcmVjdG9yeSB3aWxs
Ci0gICAgICAgICMgYmUgZmlyc3QgKHNpbmNlIGFueSBmaWxlcyB3aXRoIHVua25vd24gc3RhdHVz
IHdpbGwgYmUgbGlzdGVkIGZpcnN0KS4KLSAgICAgICAgbXkgJG5vcm1hbGl6ZWRGdWxsUGF0aCA9
IEZpbGU6OlNwZWMtPmNhdGRpcihGaWxlOjpTcGVjLT5zcGxpdGRpcigkZnVsbFBhdGgpKTsKLSAg
ICAgICAgd2hpbGUgKDxTVk4+KSB7Ci0gICAgICAgICAgICAjIElucHV0IG1heSB1c2UgYSBkaWZm
ZXJlbnQgRU9MIHNlcXVlbmNlIHRoYW4gJC8sIHNvIGF2b2lkIGNob21wLgotICAgICAgICAgICAg
JF8gPSByZW1vdmVFT0woJF8pOwotICAgICAgICAgICAgbXkgJG5vcm1hbGl6ZWRTdGF0UGF0aCA9
IEZpbGU6OlNwZWMtPmNhdGRpcihGaWxlOjpTcGVjLT5zcGxpdGRpcihzdWJzdHIoJF8sIDcpKSk7
Ci0gICAgICAgICAgICBpZiAoJG5vcm1hbGl6ZWRGdWxsUGF0aCBlcSAkbm9ybWFsaXplZFN0YXRQ
YXRoKSB7Ci0gICAgICAgICAgICAgICAgJHN2blN0YXR1cyA9ICIkX1xuIjsKLSAgICAgICAgICAg
ICAgICBsYXN0OwotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgICMgUmVhZCB0aGUg
cmVzdCBvZiB0aGUgc3ZuIGNvbW1hbmQgb3V0cHV0IHRvIGF2b2lkIGEgYnJva2VuIHBpcGUgd2Fy
bmluZy4KLSAgICAgICAgbG9jYWwgJC8gPSB1bmRlZjsKLSAgICAgICAgPFNWTj47Ci0gICAgfQot
ICAgIGVsc2UgewotICAgICAgICAjIEZpbGVzIHdpbGwgaGF2ZSBvbmx5IG9uZSBzdGF0dXMgcmV0
dXJuZWQuCi0gICAgICAgICRzdm5TdGF0dXMgPSByZW1vdmVFT0woPFNWTj4pIC4gIlxuIjsKLSAg
ICB9Ci0gICAgY2xvc2UgU1ZOOwotICAgIHJldHVybiAkc3ZuU3RhdHVzOwotfQotCiAjIFRoaXMg
Y291bGQgYmUgbWFkZSBpbnRvIGEgbW9yZSBnZW5lcmFsICJzdGF0dXMiIGNhbGwsIGV4Y2VwdCBz
dm4gYW5kIGdpdAogIyBoYXZlIGRpZmZlcmVudCBpZGVhcyBhYm91dCAibW92aW5nIiBmaWxlcyB3
aGljaCBtaWdodCBnZXQgY29uZnVzaW5nLgogc3ViIHNjbVdpbGxEZWxldGVGaWxlKCQpCmRpZmYg
LS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3N2bi1jcmVhdGUtcGF0Y2ggYi9XZWJLaXRUb29s
cy9TY3JpcHRzL3N2bi1jcmVhdGUtcGF0Y2gKaW5kZXggM2Y0MDc4My4uNzY4YThlZCAxMDA3NTUK
LS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9zdm4tY3JlYXRlLXBhdGNoCisrKyBiL1dlYktpdFRv
b2xzL1NjcmlwdHMvc3ZuLWNyZWF0ZS1wYXRjaApAQCAtNTYsMTIgKzU2LDEwIEBAIHVzZSBUaW1l
OjpnbXRpbWU7CiB1c2UgVkNTVXRpbHM7CiAKIHN1YiBiaW5hcnljbXAoJCQpOwotc3ViIGNhbm9u
aWNhbGl6ZVBhdGgoJCk7CiBzdWIgZmluZEJhc2VVcmwoJCk7CiBzdWIgZmluZE1pbWVUeXBlKCQ7
JCk7CiBzdWIgZmluZE1vZGlmaWNhdGlvblR5cGUoJCk7CiBzdWIgZmluZFNvdXJjZUZpbGVBbmRS
ZXZpc2lvbigkKTsKLXN1YiBmaXhDaGFuZ2VMb2dQYXRjaCgkKTsKIHN1YiBnZW5lcmF0ZURpZmYo
JCQpOwogc3ViIGdlbmVyYXRlRmlsZUxpc3QoJFwlKTsKIHN1YiBpc0JpbmFyeU1pbWVUeXBlKCQp
OwpAQCAtMTMyLDI1ICsxMzAsNiBAQCBzdWIgYmluYXJ5Y21wKCQkKQogICAgIHJldHVybiAkZmls
ZURhdGFBLT57aXNCaW5hcnl9IDw9PiAkZmlsZURhdGFCLT57aXNCaW5hcnl9OwogfQogCi1zdWIg
Y2Fub25pY2FsaXplUGF0aCgkKQotewotICAgIG15ICgkZmlsZSkgPSBAXzsKLQotICAgICMgUmVt
b3ZlIGV4dHJhIHNsYXNoZXMgYW5kICcuJyBkaXJlY3RvcmllcyBpbiBwYXRoCi0gICAgJGZpbGUg
PSBGaWxlOjpTcGVjLT5jYW5vbnBhdGgoJGZpbGUpOwotCi0gICAgIyBSZW1vdmUgJy4uJyBkaXJl
Y3RvcmllcyBpbiBwYXRoCi0gICAgbXkgQGRpcnMgPSAoKTsKLSAgICBmb3JlYWNoIG15ICRkaXIg
KEZpbGU6OlNwZWMtPnNwbGl0ZGlyKCRmaWxlKSkgewotICAgICAgICBpZiAoJGRpciBlcSAnLi4n
ICYmICQjZGlycyA+PSAwICYmICRkaXJzWyQjZGlyc10gbmUgJy4uJykgewotICAgICAgICAgICAg
cG9wKEBkaXJzKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIHB1c2goQGRpcnMsICRk
aXIpOwotICAgICAgICB9Ci0gICAgfQotICAgIHJldHVybiAoJCNkaXJzID49IDApID8gRmlsZTo6
U3BlYy0+Y2F0ZGlyKEBkaXJzKSA6ICIuIjsKLX0KLQogc3ViIGZpbmRCYXNlVXJsKCQpCiB7CiAg
ICAgbXkgKCRpbmZvUGF0aCkgPSBAXzsKQEAgLTIxMSw1NyArMTkwLDYgQEAgc3ViIGZpbmRTb3Vy
Y2VGaWxlQW5kUmV2aXNpb24oJCkKICAgICByZXR1cm4gKCRzb3VyY2VGaWxlLCAkc291cmNlUmV2
aXNpb24pOwogfQogCi1zdWIgZml4Q2hhbmdlTG9nUGF0Y2goJCkKLXsKLSAgICBteSAkcGF0Y2gg
PSBzaGlmdDsKLSAgICBteSAkY29udGV4dExpbmVDb3VudCA9IDM7Ci0KLSAgICByZXR1cm4gJHBh
dGNoIGlmICRwYXRjaCAhfiAvXG5AQCAtMSwoXGQrKSBcKzEsKFxkKykgQEBcbiggLipcbikrKFwr
LipcbikrKCAuKlxuKXskY29udGV4dExpbmVDb3VudH0kL207Ci0gICAgbXkgKCRvbGRMaW5lQ291
bnQsICRuZXdMaW5lQ291bnQpID0gKCQxLCAkMik7Ci0gICAgcmV0dXJuICRwYXRjaCBpZiAkb2xk
TGluZUNvdW50IDw9ICRjb250ZXh0TGluZUNvdW50OwotCi0gICAgIyBUaGUgZGlmZigxKSBjb21t
YW5kIGlzIGdyZWVkeSB3aGVuIG1hdGNoaW5nIGxpbmVzLCBzbyBhIG5ldyBDaGFuZ2VMb2cgZW50
cnkgd2lsbAotICAgICMgaGF2ZSBsaW5lcyBvZiBjb250ZXh0IGF0IHRoZSB0b3Agb2YgYSBwYXRj
aCB3aGVuIHRoZSBleGlzdGluZyBlbnRyeSBoYXMgdGhlIHNhbWUKLSAgICAjIGRhdGUgYW5kIGF1
dGhvciBhcyB0aGUgbmV3IGVudHJ5LiAgVGhpcyBuaWZ0eSBsb29wIGFsdGVycyBhIENoYW5nZUxv
ZyBwYXRjaCBzbwotICAgICMgdGhhdCB0aGUgYWRkZWQgbGluZXMgKCIrIikgaW4gdGhlIHBhdGNo
IGFsd2F5cyBzdGFydCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZQotICAgICMgcGF0Y2ggYW5kIHRo
ZXJlIGFyZSBubyBpbml0aWFsIGxpbmVzIG9mIGNvbnRleHQuCi0gICAgbXkgJG5ld1BhdGNoOwot
ICAgIG15ICRsaW5lQ291bnRJblN0YXRlID0gMDsKLSAgICBteSAkb2xkQ29udGVudExpbmVDb3Vu
dFJlZHVjdGlvbiA9ICRvbGRMaW5lQ291bnQgLSAkY29udGV4dExpbmVDb3VudDsKLSAgICBteSAk
bmV3Q29udGVudExpbmVDb3VudFdpdGhvdXRDb250ZXh0ID0gJG5ld0xpbmVDb3VudCAtICRvbGRM
aW5lQ291bnQgLSAkb2xkQ29udGVudExpbmVDb3VudFJlZHVjdGlvbjsKLSAgICBteSAoJHN0YXRl
SGVhZGVyLCAkc3RhdGVQcmVDb250ZXh0LCAkc3RhdGVOZXdDaGFuZ2VzLCAkc3RhdGVQb3N0Q29u
dGV4dCkgPSAoMS4uNCk7Ci0gICAgbXkgJHN0YXRlID0gJHN0YXRlSGVhZGVyOwotICAgIGZvcmVh
Y2ggbXkgJGxpbmUgKHNwbGl0KC9cbi8sICRwYXRjaCkpIHsKLSAgICAgICAgJGxpbmVDb3VudElu
U3RhdGUrKzsKLSAgICAgICAgaWYgKCRzdGF0ZSA9PSAkc3RhdGVIZWFkZXIgJiYgJGxpbmUgPX4g
L15AQCAtMSwkb2xkTGluZUNvdW50IFwrMSwkbmV3TGluZUNvdW50IEBcQCQvKSB7Ci0gICAgICAg
ICAgICAkbGluZSA9ICJAQCAtMSwkY29udGV4dExpbmVDb3VudCArMSwiIC4gKCRuZXdMaW5lQ291
bnQgLSAkb2xkQ29udGVudExpbmVDb3VudFJlZHVjdGlvbikgLiAiIEBAIjsKLSAgICAgICAgICAg
ICRsaW5lQ291bnRJblN0YXRlID0gMDsKLSAgICAgICAgICAgICRzdGF0ZSA9ICRzdGF0ZVByZUNv
bnRleHQ7Ci0gICAgICAgIH0gZWxzaWYgKCRzdGF0ZSA9PSAkc3RhdGVQcmVDb250ZXh0ICYmIHN1
YnN0cigkbGluZSwgMCwgMSkgZXEgIiAiKSB7Ci0gICAgICAgICAgICAkbGluZSA9ICIrIiAuIHN1
YnN0cigkbGluZSwgMSk7Ci0gICAgICAgICAgICBpZiAoJGxpbmVDb3VudEluU3RhdGUgPT0gJG9s
ZENvbnRlbnRMaW5lQ291bnRSZWR1Y3Rpb24pIHsKLSAgICAgICAgICAgICAgICAkbGluZUNvdW50
SW5TdGF0ZSA9IDA7Ci0gICAgICAgICAgICAgICAgJHN0YXRlID0gJHN0YXRlTmV3Q2hhbmdlczsK
LSAgICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNpZiAoJHN0YXRlID09ICRzdGF0ZU5ld0NoYW5n
ZXMgJiYgc3Vic3RyKCRsaW5lLCAwLCAxKSBlcSAiKyIpIHsKLSAgICAgICAgICAgICMgTm8gY2hh
bmdlcyB0byB0aGVzZSBsaW5lcwotICAgICAgICAgICAgaWYgKCRsaW5lQ291bnRJblN0YXRlID09
ICRuZXdDb250ZW50TGluZUNvdW50V2l0aG91dENvbnRleHQpIHsKLSAgICAgICAgICAgICAgICAk
bGluZUNvdW50SW5TdGF0ZSA9IDA7Ci0gICAgICAgICAgICAgICAgJHN0YXRlID0gJHN0YXRlUG9z
dENvbnRleHQ7Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzaWYgKCRzdGF0ZSA9PSAkc3Rh
dGVQb3N0Q29udGV4dCkgewotICAgICAgICAgICAgaWYgKHN1YnN0cigkbGluZSwgMCwgMSkgZXEg
IisiICYmICRsaW5lQ291bnRJblN0YXRlIDw9ICRvbGRDb250ZW50TGluZUNvdW50UmVkdWN0aW9u
KSB7Ci0gICAgICAgICAgICAgICAgJGxpbmUgPSAiICIgLiBzdWJzdHIoJGxpbmUsIDEpOwotICAg
ICAgICAgICAgfSBlbHNpZiAoJGxpbmVDb3VudEluU3RhdGUgPiAkY29udGV4dExpbmVDb3VudCAm
JiBzdWJzdHIoJGxpbmUsIDAsIDEpIGVxICIgIikgewotICAgICAgICAgICAgICAgIG5leHQ7ICMg
RGlzY2FyZAotICAgICAgICAgICAgfQotICAgICAgICB9Ci0gICAgICAgICRuZXdQYXRjaCAuPSAk
bGluZSAuICJcbiI7Ci0gICAgfQotCi0gICAgcmV0dXJuICRuZXdQYXRjaDsKLX0KLQogc3ViIGdl
bmVyYXRlRGlmZigkJCkKIHsKICAgICBteSAoJGZpbGVEYXRhLCAkcHJlZml4KSA9IEBfOwpkaWZm
IC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9zdm4tdW5hcHBseSBiL1dlYktpdFRvb2xzL1Nj
cmlwdHMvc3ZuLXVuYXBwbHkKaW5kZXggYTRjZWM5YS4uOTRiYjFjZSAxMDA3NTUKLS0tIGEvV2Vi
S2l0VG9vbHMvU2NyaXB0cy9zdm4tdW5hcHBseQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3N2
bi11bmFwcGx5CkBAIC03MSwxMiArNzEsOSBAQCB1c2UgbGliICRGaW5kQmluOjpCaW47CiB1c2Ug
VkNTVXRpbHM7CiAKIHN1YiBjaGVja3N1bSgkKTsKLXN1YiBmaXhDaGFuZ2VMb2dQYXRjaCgkKTsK
LXN1YiBnaXRkaWZmMnN2bmRpZmYoJCk7CiBzdWIgcGF0Y2goJCk7CiBzdWIgcmV2ZXJ0RGlyZWN0
b3JpZXMoKTsKIHN1YiByZW1vdmVFT0woJCk7Ci1zdWIgc3ZuU3RhdHVzKCQpOwogc3ViIHVuYXBw
bHlQYXRjaCgkJDskKTsKIHN1YiB1bnNldENoYW5nZUxvZ0RhdGUoJCQpOwogCkBAIC0xNTgsNzQg
KzE1NSw2IEBAIHN1YiBjaGVja3N1bSgkKQogICAgIHJldHVybiAkY2hlY2tzdW07CiB9CiAKLXN1
YiBmaXhDaGFuZ2VMb2dQYXRjaCgkKQotewotICAgIG15ICRwYXRjaCA9IHNoaWZ0OwotICAgIG15
ICRjb250ZXh0TGluZUNvdW50ID0gMzsKLQotICAgIHJldHVybiAkcGF0Y2ggaWYgJHBhdGNoICF+
IC9cbkBAIC0xLChcZCspIFwrMSwoXGQrKSBAQFxuKCAuKlxuKSsoXCsuKlxuKSsoIC4qXG4peyRj
b250ZXh0TGluZUNvdW50fSQvbTsKLSAgICBteSAoJG9sZExpbmVDb3VudCwgJG5ld0xpbmVDb3Vu
dCkgPSAoJDEsICQyKTsKLSAgICByZXR1cm4gJHBhdGNoIGlmICRvbGRMaW5lQ291bnQgPD0gJGNv
bnRleHRMaW5lQ291bnQ7Ci0KLSAgICAjIFRoZSBkaWZmKDEpIGNvbW1hbmQgaXMgZ3JlZWR5IHdo
ZW4gbWF0Y2hpbmcgbGluZXMsIHNvIGEgbmV3IENoYW5nZUxvZyBlbnRyeSB3aWxsCi0gICAgIyBo
YXZlIGxpbmVzIG9mIGNvbnRleHQgYXQgdGhlIHRvcCBvZiBhIHBhdGNoIHdoZW4gdGhlIGV4aXN0
aW5nIGVudHJ5IGhhcyB0aGUgc2FtZQotICAgICMgZGF0ZSBhbmQgYXV0aG9yIGFzIHRoZSBuZXcg
ZW50cnkuICBUaGlzIG5pZnR5IGxvb3AgYWx0ZXJzIGEgQ2hhbmdlTG9nIHBhdGNoIHNvCi0gICAg
IyB0aGF0IHRoZSBhZGRlZCBsaW5lcyAoIisiKSBpbiB0aGUgcGF0Y2ggYWx3YXlzIHN0YXJ0IGF0
IHRoZSBiZWdpbm5pbmcgb2YgdGhlCi0gICAgIyBwYXRjaCBhbmQgdGhlcmUgYXJlIG5vIGluaXRp
YWwgbGluZXMgb2YgY29udGV4dC4KLSAgICBteSAkbmV3UGF0Y2g7Ci0gICAgbXkgJGxpbmVDb3Vu
dEluU3RhdGUgPSAwOwotICAgIG15ICRvbGRDb250ZW50TGluZUNvdW50UmVkdWN0aW9uID0gJG9s
ZExpbmVDb3VudCAtICRjb250ZXh0TGluZUNvdW50OwotICAgIG15ICRuZXdDb250ZW50TGluZUNv
dW50V2l0aG91dENvbnRleHQgPSAkbmV3TGluZUNvdW50IC0gJG9sZExpbmVDb3VudCAtICRvbGRD
b250ZW50TGluZUNvdW50UmVkdWN0aW9uOwotICAgIG15ICgkc3RhdGVIZWFkZXIsICRzdGF0ZVBy
ZUNvbnRleHQsICRzdGF0ZU5ld0NoYW5nZXMsICRzdGF0ZVBvc3RDb250ZXh0KSA9ICgxLi40KTsK
LSAgICBteSAkc3RhdGUgPSAkc3RhdGVIZWFkZXI7Ci0gICAgZm9yZWFjaCBteSAkbGluZSAoc3Bs
aXQoL1xuLywgJHBhdGNoKSkgewotICAgICAgICAkbGluZUNvdW50SW5TdGF0ZSsrOwotICAgICAg
ICBpZiAoJHN0YXRlID09ICRzdGF0ZUhlYWRlciAmJiAkbGluZSA9fiAvXkBAIC0xLCRvbGRMaW5l
Q291bnQgXCsxLCRuZXdMaW5lQ291bnQgQFxAJC8pIHsKLSAgICAgICAgICAgICRsaW5lID0gIkBA
IC0xLCRjb250ZXh0TGluZUNvdW50ICsxLCIgLiAoJG5ld0xpbmVDb3VudCAtICRvbGRDb250ZW50
TGluZUNvdW50UmVkdWN0aW9uKSAuICIgQEAiOwotICAgICAgICAgICAgJGxpbmVDb3VudEluU3Rh
dGUgPSAwOwotICAgICAgICAgICAgJHN0YXRlID0gJHN0YXRlUHJlQ29udGV4dDsKLSAgICAgICAg
fSBlbHNpZiAoJHN0YXRlID09ICRzdGF0ZVByZUNvbnRleHQgJiYgc3Vic3RyKCRsaW5lLCAwLCAx
KSBlcSAiICIpIHsKLSAgICAgICAgICAgICRsaW5lID0gIisiIC4gc3Vic3RyKCRsaW5lLCAxKTsK
LSAgICAgICAgICAgIGlmICgkbGluZUNvdW50SW5TdGF0ZSA9PSAkb2xkQ29udGVudExpbmVDb3Vu
dFJlZHVjdGlvbikgewotICAgICAgICAgICAgICAgICRsaW5lQ291bnRJblN0YXRlID0gMDsKLSAg
ICAgICAgICAgICAgICAkc3RhdGUgPSAkc3RhdGVOZXdDaGFuZ2VzOwotICAgICAgICAgICAgfQot
ICAgICAgICB9IGVsc2lmICgkc3RhdGUgPT0gJHN0YXRlTmV3Q2hhbmdlcyAmJiBzdWJzdHIoJGxp
bmUsIDAsIDEpIGVxICIrIikgewotICAgICAgICAgICAgIyBObyBjaGFuZ2VzIHRvIHRoZXNlIGxp
bmVzCi0gICAgICAgICAgICBpZiAoJGxpbmVDb3VudEluU3RhdGUgPT0gJG5ld0NvbnRlbnRMaW5l
Q291bnRXaXRob3V0Q29udGV4dCkgewotICAgICAgICAgICAgICAgICRsaW5lQ291bnRJblN0YXRl
ID0gMDsKLSAgICAgICAgICAgICAgICAkc3RhdGUgPSAkc3RhdGVQb3N0Q29udGV4dDsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfSBlbHNpZiAoJHN0YXRlID09ICRzdGF0ZVBvc3RDb250ZXh0KSB7
Ci0gICAgICAgICAgICBpZiAoc3Vic3RyKCRsaW5lLCAwLCAxKSBlcSAiKyIgJiYgJGxpbmVDb3Vu
dEluU3RhdGUgPD0gJG9sZENvbnRlbnRMaW5lQ291bnRSZWR1Y3Rpb24pIHsKLSAgICAgICAgICAg
ICAgICAkbGluZSA9ICIgIiAuIHN1YnN0cigkbGluZSwgMSk7Ci0gICAgICAgICAgICB9IGVsc2lm
ICgkbGluZUNvdW50SW5TdGF0ZSA+ICRjb250ZXh0TGluZUNvdW50ICYmIHN1YnN0cigkbGluZSwg
MCwgMSkgZXEgIiAiKSB7Ci0gICAgICAgICAgICAgICAgbmV4dDsgIyBEaXNjYXJkCi0gICAgICAg
ICAgICB9Ci0gICAgICAgIH0KLSAgICAgICAgJG5ld1BhdGNoIC49ICRsaW5lIC4gIlxuIjsKLSAg
ICB9Ci0KLSAgICByZXR1cm4gJG5ld1BhdGNoOwotfQotCi1zdWIgZ2l0ZGlmZjJzdm5kaWZmKCQp
Ci17Ci0gICAgJF8gPSBzaGlmdCBAXzsKLSAgICBpZiAobSNeZGlmZiAtLWdpdCBhLyguKykgYi8o
LispIykgewotICAgICAgICByZXR1cm4gIkluZGV4OiAkMSI7Ci0gICAgfSBlbHNpZiAobS9ebmV3
IGZpbGUuKi8pIHsKLSAgICAgICAgcmV0dXJuICIiOwotICAgIH0gZWxzaWYgKG0jXmluZGV4IFsw
LTlhLWZdezd9XC5cLlswLTlhLWZdezd9IFswLTldezZ9IykgewotICAgICAgICByZXR1cm4gIj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0iOwotICAgIH0gZWxzaWYgKG0jXi0tLSBhLyguKykjKSB7Ci0gICAgICAgIHJldHVy
biAiLS0tICQxIjsKLSAgICB9IGVsc2lmIChtI15cK1wrXCsgYi8oLispIykgewotICAgICAgICBy
ZXR1cm4gIisrKyAkMSI7Ci0gICAgfQotICAgIHJldHVybiAkXzsKLX0KLQogc3ViIHBhdGNoKCQp
CiB7CiAgICAgbXkgKCRwYXRjaCkgPSBAXzsKQEAgLTMzOCwzOCArMjY3LDYgQEAgc3ViIHJlbW92
ZUVPTCgkKQogICAgIHJldHVybiAkbGluZTsKIH0KIAotc3ViIHN2blN0YXR1cygkKQotewotICAg
IG15ICgkZnVsbFBhdGgpID0gQF87Ci0gICAgbXkgJHN2blN0YXR1czsKLSAgICBvcGVuIFNWTiwg
InN2biBzdGF0dXMgLS1ub24taW50ZXJhY3RpdmUgLS1ub24tcmVjdXJzaXZlICckZnVsbFBhdGgn
IHwiIG9yIGRpZTsKLSAgICBpZiAoLWQgJGZ1bGxQYXRoKSB7Ci0gICAgICAgICMgV2hlbiBydW5u
aW5nICJzdm4gc3RhdCIgb24gYSBkaXJlY3RvcnksIHdlIGNhbid0IGFzc3VtZSB0aGF0IG9ubHkg
b25lCi0gICAgICAgICMgc3RhdHVzIHdpbGwgYmUgcmV0dXJuZWQgKHNpbmNlIGFueSBmaWxlcyB3
aXRoIGEgc3RhdHVzIGJlbG93IHRoZQotICAgICAgICAjIGRpcmVjdG9yeSB3aWxsIGJlIHJldHVy
bmVkKSwgYW5kIHdlIGNhbid0IGFzc3VtZSB0aGF0IHRoZSBkaXJlY3Rvcnkgd2lsbAotICAgICAg
ICAjIGJlIGZpcnN0IChzaW5jZSBhbnkgZmlsZXMgd2l0aCB1bmtub3duIHN0YXR1cyB3aWxsIGJl
IGxpc3RlZCBmaXJzdCkuCi0gICAgICAgIG15ICRub3JtYWxpemVkRnVsbFBhdGggPSBGaWxlOjpT
cGVjLT5jYXRkaXIoRmlsZTo6U3BlYy0+c3BsaXRkaXIoJGZ1bGxQYXRoKSk7Ci0gICAgICAgIHdo
aWxlICg8U1ZOPikgewotICAgICAgICAgICAgIyBJbnB1dCBtYXkgdXNlIGEgZGlmZmVyZW50IEVP
TCBzZXF1ZW5jZSB0aGFuICQvLCBzbyBhdm9pZCBjaG9tcC4KLSAgICAgICAgICAgICRfID0gcmVt
b3ZlRU9MKCRfKTsKLSAgICAgICAgICAgIG15ICRub3JtYWxpemVkU3RhdFBhdGggPSBGaWxlOjpT
cGVjLT5jYXRkaXIoRmlsZTo6U3BlYy0+c3BsaXRkaXIoc3Vic3RyKCRfLCA3KSkpOwotICAgICAg
ICAgICAgaWYgKCRub3JtYWxpemVkRnVsbFBhdGggZXEgJG5vcm1hbGl6ZWRTdGF0UGF0aCkgewot
ICAgICAgICAgICAgICAgICRzdm5TdGF0dXMgPSAiJF9cbiI7Ci0gICAgICAgICAgICAgICAgbGFz
dDsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgICAgICAjIFJlYWQgdGhlIHJlc3Qgb2Yg
dGhlIHN2biBjb21tYW5kIG91dHB1dCB0byBhdm9pZCBhIGJyb2tlbiBwaXBlIHdhcm5pbmcuCi0g
ICAgICAgIGxvY2FsICQvID0gdW5kZWY7Ci0gICAgICAgIDxTVk4+OwotICAgIH0KLSAgICBlbHNl
IHsKLSAgICAgICAgIyBGaWxlcyB3aWxsIGhhdmUgb25seSBvbmUgc3RhdHVzIHJldHVybmVkLgot
ICAgICAgICAkc3ZuU3RhdHVzID0gcmVtb3ZlRU9MKDxTVk4+KSAuICJcbiI7Ci0gICAgfQotICAg
IGNsb3NlIFNWTjsKLSAgICByZXR1cm4gJHN2blN0YXR1czsKLX0KLQogc3ViIHVuYXBwbHlQYXRj
aCgkJDskKQogewogICAgIG15ICgkcGF0Y2gsICRmdWxsUGF0aCwgJG9wdGlvbnMpID0gQF87CmRp
ZmYgLS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL3VwZGF0ZS13ZWJraXQgYi9XZWJLaXRUb29s
cy9TY3JpcHRzL3VwZGF0ZS13ZWJraXQKaW5kZXggZTU2MmNjMC4uYjUwMzAwNCAxMDA3NTUKLS0t
IGEvV2ViS2l0VG9vbHMvU2NyaXB0cy91cGRhdGUtd2Via2l0CisrKyBiL1dlYktpdFRvb2xzL1Nj
cmlwdHMvdXBkYXRlLXdlYmtpdApAQCAtMzksNyArMzksNiBAQCB1c2UgVkNTVXRpbHM7CiB1c2Ug
d2Via2l0ZGlyczsKIAogc3ViIHJ1blN2blVwZGF0ZSgpOwotc3ViIG5vcm1hbGl6ZVBhdGgoJCk7
CiAKICMgSGFuZGxlIG9wdGlvbnMKIG15ICRxdWlldCA9ICcnOwpAQCAtMTA1LDEwICsxMDQsMyBA
QCBzdWIgcnVuU3ZuVXBkYXRlKCkKICAgICAgICAgICAgIG9yIGRpZSAiQ291bGQgbm90IG9wZW4g
cmVzb2x2ZS1DaGFuZ2VMb2dzIHNjcmlwdDogJCEuXG4iOwogICAgIH0KIH0KLQotc3ViIG5vcm1h
bGl6ZVBhdGgoJCkKLXsKLSAgICBteSAoJHBhdGgpID0gQF87Ci0gICAgJHBhdGggPX4gcy9cXC9c
Ly9nOwotICAgIHJldHVybiAkcGF0aDsKLX0=
</data>

          </attachment>
      

    </bug>

</bugzilla>