<?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>36560</bug_id>
          
          <creation_ts>2010-03-24 14:57:30 -0700</creation_ts>
          <short_desc>resolve-ChangeLogs: git-rebase fails when resolve-ChangeLogs can&apos;t merge</short_desc>
          <delta_ts>2010-03-24 20:50:03 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cjerdonek</cc>
    
    <cc>eric</cc>
    
    <cc>vestbo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>203617</commentid>
    <comment_count>0</comment_count>
      <attachid>51549</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-03-24 14:57:30 -0700</bug_when>
    <thetext>Created attachment 51549
Patch 1/2

When resolve-ChangeLogs fails to merge a patch while running as
    a git merge driver, it deletes the original file, which causes
    an internal failure and stops git mid-merge:
    
        fatal: Failed to execute internal merge</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203620</commentid>
    <comment_count>1</comment_count>
      <attachid>51552</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-03-24 14:59:32 -0700</bug_when>
    <thetext>Created attachment 51552
Patch 1/2 (webkit-patch FAIL)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203629</commentid>
    <comment_count>2</comment_count>
      <attachid>51552</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-03-24 15:05:46 -0700</bug_when>
    <thetext>Comment on attachment 51552
Patch 1/2 (webkit-patch FAIL)

This is a dupe of Attachment #51549.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203630</commentid>
    <comment_count>3</comment_count>
      <attachid>51555</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-03-24 15:06:23 -0700</bug_when>
    <thetext>Created attachment 51555
Patch 1/2 (webkit-patch FAIL AGAIN)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203633</commentid>
    <comment_count>4</comment_count>
      <attachid>51555</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-03-24 15:07:11 -0700</bug_when>
    <thetext>Comment on attachment 51555
Patch 1/2 (webkit-patch FAIL AGAIN)

Another duplicate of Attachment #51549.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203634</commentid>
    <comment_count>5</comment_count>
      <attachid>51556</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-03-24 15:08:00 -0700</bug_when>
    <thetext>Created attachment 51556
Patch 1/2 (USER FAIL)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203635</commentid>
    <comment_count>6</comment_count>
      <attachid>51557</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-03-24 15:09:51 -0700</bug_when>
    <thetext>Created attachment 51557
Patch 2/2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203637</commentid>
    <comment_count>7</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-24 15:11:45 -0700</bug_when>
    <thetext>Holy pile of unit-tests, Batman.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203641</commentid>
    <comment_count>8</comment_count>
      <attachid>51557</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-24 15:13:33 -0700</bug_when>
    <thetext>Comment on attachment 51557
Patch 2/2

I am a perl weenie.  But it looks sane.  If you need someone who actually speaks perl to review, you should feel encouraged to request additional review.  Patch 1 of 2 might be beyond my perl comfort zone, but I&apos;ll stare a bit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203647</commentid>
    <comment_count>9</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-03-24 15:18:31 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt;  Patch 1 of 2 might be beyond my perl comfort zone, but I&apos;ll stare a bit.

Thanks, Eric!  Patch 1/2 is mostly code movement and new unit test code (with a couple minor tweaks to the moved code).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203650</commentid>
    <comment_count>10</comment_count>
      <attachid>51549</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-24 15:27:54 -0700</bug_when>
    <thetext>Comment on attachment 51549
Patch 1/2

This is more of a rubber-stamp than a review.  But it does look sane to me.  Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203688</commentid>
    <comment_count>11</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-03-24 16:51:40 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebKitTools/ChangeLog
	M	WebKitTools/Scripts/VCSUtils.pm
	M	WebKitTools/Scripts/resolve-ChangeLogs
	A	WebKitTools/Scripts/webkitperl/VCSUtils_unittest/mergeChangeLogs.pl
Committed r56471
	M	WebKitTools/ChangeLog
	M	WebKitTools/Scripts/VCSUtils.pm
	M	WebKitTools/Scripts/webkitperl/VCSUtils_unittest/mergeChangeLogs.pl
Committed r56472

&lt;http://trac.webkit.org/changeset/56471&gt;
&lt;http://trac.webkit.org/changeset/56472&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203689</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-03-24 16:56:10 -0700</bug_when>
    <thetext>We really need to invent a fancy git version of webkit-patch land for you. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>203766</commentid>
    <comment_count>13</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2010-03-24 20:50:03 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; We really need to invent a fancy git version of webkit-patch land for you. :)

I can try to work on it when I have time.  Thanks.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51549</attachid>
            <date>2010-03-24 14:57:30 -0700</date>
            <delta_ts>2010-03-24 15:27:53 -0700</delta_ts>
            <desc>Patch 1/2</desc>
            <filename>20100324145728.patch</filename>
            <type>text/plain</type>
            <size>15379</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAyN2Q3ZmVjLi5kYzFhOWQ4IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTAtMDMt
MjQgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICByZXNvbHZl
LUNoYW5nZUxvZ3M6IG1vdmUgbWVyZ2VDaGFuZ2VzKCkgaW50byBWQ1NVdGlscyBwYWNrYWdlCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRz
L1ZDU1V0aWxzLnBtOgorICAgICAgICAobWVyZ2VDaGFuZ2VMb2dzKTogQ29waWVkIGZyb20gbWVy
Z2VDaGFuZ2VzKCkgaW4KKyAgICAgICAgcmVzb2x2ZS1DaGFuZ2VMb2dzIGFuZCByZW5hbWVkLiAg
QWRkZWQgbWV0aG9kIGRvY3VtZW50YXRpb24uCisgICAgICAgIEZpeGVkIGJ1ZyBmb3VuZCBieSBu
ZXcgdGVzdHMgd2hlcmUgdGhlIG9yaWdpbmFsIGZpbGUgdG8gYmUKKyAgICAgICAgcGF0Y2hlZCB3
YXMgZGVsZXRlZCB3aGVuIGNsZWFuaW5nIHVwIGFmdGVyIGEgdHJhZGl0aW5hbCByZWplY3RlZAor
ICAgICAgICBwYXRjaCBmYWlsZWQgdG8gYXBwbHkuCisgICAgICAgICogU2NyaXB0cy9yZXNvbHZl
LUNoYW5nZUxvZ3M6IFN3aXRjaGVkIHRvIHVzaW5nCisgICAgICAgIG1lcmdlQ2hhbmdlTG9ncygp
LgorICAgICAgICAobWVyZ2VDaGFuZ2VzKTogTW92ZWQgdG8gVkNTVXRpbHMucG0gYW5kIHJlbmFt
ZWQgdG8KKyAgICAgICAgbWVyZ2VDaGFuZ2VMb2dzKCkuCisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRwZXJsL1ZDU1V0aWxzX3VuaXR0ZXN0L21lcmdlQ2hhbmdlTG9ncy5wbDogQWRkZWQuCisKIDIw
MTAtMDMtMjIgIENocmlzIEplcmRvbmVrICA8Y2plcmRvbmVrQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1Njcmlw
dHMvVkNTVXRpbHMucG0gYi9XZWJLaXRUb29scy9TY3JpcHRzL1ZDU1V0aWxzLnBtCmluZGV4IDAy
MmM3MmEuLmFmOTIxOWIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMu
cG0KKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9WQ1NVdGlscy5wbQpAQCAtNjEsNiArNjEsNyBA
QCBCRUdJTiB7CiAgICAgICAgICZpc1NWTkRpcmVjdG9yeQogICAgICAgICAmaXNTVk5WZXJzaW9u
MTZPck5ld2VyCiAgICAgICAgICZtYWtlRmlsZVBhdGhSZWxhdGl2ZQorICAgICAgICAmbWVyZ2VD
aGFuZ2VMb2dzCiAgICAgICAgICZub3JtYWxpemVQYXRoCiAgICAgICAgICZwYXJzZVBhdGNoCiAg
ICAgICAgICZwYXRoUmVsYXRpdmVUb1NWTlJlcG9zaXRvcnlSb290Rm9yUGF0aApAQCAtODE1LDYg
KzgxNiw3OCBAQCBzdWIgcnVuUGF0Y2hDb21tYW5kKCQkJDskKQogICAgIHJldHVybiAkZXhpdFN0
YXR1czsKIH0KIAorIyBNZXJnZSBDaGFuZ2VMb2cgcGF0Y2hlcyB1c2luZyBhIHRocmVlLWZpbGUg
YXBwcm9hY2guCisjCisjIFRoaXMgaXMgdXNlZCBieSByZXNvbHZlLUNoYW5nZUxvZ3Mgd2hlbiBp
dCdzIG9wZXJhdGVkIGFzIGEgbWVyZ2UgZHJpdmVyCisjIGFuZCB3aGVuIGl0J3MgdXNlZCB0byBt
ZXJnZSBjb25mbGljdHMgYWZ0ZXIgYSBwYXRjaCBpcyBhcHBsaWVkIG9yIGFmdGVyCisjIGFuIHN2
biB1cGRhdGUuCisjCisjIEl0J3MgYWxzbyB1c2VkIGZvciB0cmFkaXRpb25hbCByZWplY3RlZCBw
YXRjaGVzLgorIworIyBBcmdzOgorIyAgICRmaWxlTWluZTogIFRoZSBtZXJnZWQgdmVyc2lvbiBv
ZiB0aGUgZmlsZS4gIEFsc28ga25vd24gaW4gZ2l0IGFzIHRoZQorIyAgICAgICAgICAgICAgIG90
aGVyIGJyYW5jaCdzIHZlcnNpb24gKCVCKSBvciAib3VycyIuCisjICAgICAgICAgICAgICAgRm9y
IHRyYWRpdGlvbmFsIHBhdGNoIHJlamVjdHMsIHRoaXMgaXMgdGhlICoucmVqIGZpbGUuCisjICAg
JGZpbGVPbGRlcjogVGhlIGJhc2UgdmVyc2lvbiBvZiB0aGUgZmlsZS4gIEFsc28ga25vd24gaW4g
Z2l0IGFzIHRoZQorIyAgICAgICAgICAgICAgIGFuY2VzdG9yIHZlcnNpb24gKCVPKSBvciAiYmFz
ZSIuCisjICAgICAgICAgICAgICAgRm9yIHRyYWRpdGlvbmFsIHBhdGNoIHJlamVjdHMsIHRoaXMg
aXMgdGhlICoub3JpZyBmaWxlLgorIyAgICRmaWxlTmV3ZXI6IFRoZSBjdXJyZW50IHZlcnNpb24g
b2YgdGhlIGZpbGUuICBBbHNvIGtub3duIGluIGdpdCBhcyB0aGUKKyMgICAgICAgICAgICAgICBj
dXJyZW50IHZlcnNpb24gKCVBKSBvciAidGhlaXJzIi4KKyMgICAgICAgICAgICAgICBGb3IgdHJh
ZGl0aW9uYWwgcGF0Y2ggcmVqZWN0cywgdGhpcyBpcyB0aGUgb3JpZ2luYWwtbmFtZWQKKyMgICAg
ICAgICAgICAgICBmaWxlLgorIworIyBSZXR1cm5zIDEgaWYgbWVyZ2Ugd2FzIHN1Y2Nlc3NmdWws
IGVsc2UgMC4KK3N1YiBtZXJnZUNoYW5nZUxvZ3MoJCQkKQoreworICAgIG15ICgkZmlsZU1pbmUs
ICRmaWxlT2xkZXIsICRmaWxlTmV3ZXIpID0gQF87CisKKyAgICBteSAkdHJhZGl0aW9uYWxSZWpl
Y3QgPSAkZmlsZU1pbmUgPX4gL1wucmVqJC8gPyAxIDogMDsKKworICAgIGxvY2FsICQvID0gdW5k
ZWY7CisKKyAgICBteSAkcGF0Y2g7CisgICAgaWYgKCR0cmFkaXRpb25hbFJlamVjdCkgeworICAg
ICAgICBvcGVuKERJRkYsICI8IiwgJGZpbGVNaW5lKSBvciBkaWUgJCE7CisgICAgICAgICRwYXRj
aCA9IDxESUZGPjsKKyAgICAgICAgY2xvc2UoRElGRik7CisgICAgICAgIHJlbmFtZSgkZmlsZU1p
bmUsICIkZmlsZU1pbmUuc2F2ZSIpOworICAgICAgICByZW5hbWUoJGZpbGVPbGRlciwgIiRmaWxl
T2xkZXIuc2F2ZSIpOworICAgIH0gZWxzZSB7CisgICAgICAgIG9wZW4oRElGRiwgIi18IiwgcXco
ZGlmZiAtdSAtYSAtLWJpbmFyeSksICRmaWxlT2xkZXIsICRmaWxlTWluZSkgb3IgZGllICQhOwor
ICAgICAgICAkcGF0Y2ggPSA8RElGRj47CisgICAgICAgIGNsb3NlKERJRkYpOworICAgIH0KKwor
ICAgIHVubGluaygiJHtmaWxlTmV3ZXJ9Lm9yaWciKTsKKyAgICB1bmxpbmsoIiR7ZmlsZU5ld2Vy
fS5yZWoiKTsKKworICAgIG9wZW4oUEFUQ0gsICJ8IHBhdGNoIC0tZnV6ej0zIC0tYmluYXJ5ICRm
aWxlTmV3ZXIgPiAiIC4gRmlsZTo6U3BlYy0+ZGV2bnVsbCgpKSBvciBkaWUgJCE7CisgICAgcHJp
bnQgUEFUQ0ggKCR0cmFkaXRpb25hbFJlamVjdCA/ICRwYXRjaCA6IGZpeENoYW5nZUxvZ1BhdGNo
KCRwYXRjaCkpOworICAgIGNsb3NlKFBBVENIKTsKKworICAgIG15ICRyZXN1bHQ7CisKKyAgICAj
IFJlZnVzZSB0byBtZXJnZSB0aGUgcGF0Y2ggaWYgaXQgZGlkIG5vdCBhcHBseSBjbGVhbmx5Cisg
ICAgaWYgKC1lICIke2ZpbGVOZXdlcn0ucmVqIikgeworICAgICAgICB1bmxpbmsoIiR7ZmlsZU5l
d2VyfS5yZWoiKTsKKyAgICAgICAgaWYgKC1mICIke2ZpbGVOZXdlcn0ub3JpZyIpIHsKKyAgICAg
ICAgICAgIHVubGluaygkZmlsZU5ld2VyKTsKKyAgICAgICAgICAgIHJlbmFtZSgiJHtmaWxlTmV3
ZXJ9Lm9yaWciLCAkZmlsZU5ld2VyKTsKKyAgICAgICAgfQorICAgICAgICAkcmVzdWx0ID0gMDsK
KyAgICB9IGVsc2UgeworICAgICAgICB1bmxpbmsoIiR7ZmlsZU5ld2VyfS5vcmlnIik7CisgICAg
ICAgICRyZXN1bHQgPSAxOworICAgIH0KKworICAgIGlmICgkdHJhZGl0aW9uYWxSZWplY3QpIHsK
KyAgICAgICAgcmVuYW1lKCIkZmlsZU1pbmUuc2F2ZSIsICRmaWxlTWluZSk7CisgICAgICAgIHJl
bmFtZSgiJGZpbGVPbGRlci5zYXZlIiwgJGZpbGVPbGRlcik7CisgICAgfQorCisgICAgcmV0dXJu
ICRyZXN1bHQ7Cit9CisKIHN1YiBnaXRDb25maWcoJCkKIHsKICAgICByZXR1cm4gdW5sZXNzICRp
c0dpdDsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvcmVzb2x2ZS1DaGFuZ2VMb2dz
IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9yZXNvbHZlLUNoYW5nZUxvZ3MKaW5kZXggMzIzODM1MC4u
OTIxMzIwMiAxMDA3NTUKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9yZXNvbHZlLUNoYW5nZUxv
Z3MKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9yZXNvbHZlLUNoYW5nZUxvZ3MKQEAgLTQ5LDcg
KzQ5LDYgQEAgc3ViIGZpeE1lcmdlZENoYW5nZUxvZ3MoJDtAKTsKIHN1YiBmaXhPbmVNZXJnZWRD
aGFuZ2VMb2coJCk7CiBzdWIgaGFzR2l0VW5tZXJnZWRGaWxlcygpOwogc3ViIGlzSW5HaXRGaWx0
ZXJCcmFuY2goKTsKLXN1YiBtZXJnZUNoYW5nZXMoJCQkKTsKIHN1YiBwYXJzZUZpeE1lcmdlZCgk
JDskKTsKIHN1YiByZW1vdmVDaGFuZ2VMb2dBcmd1bWVudHMoJCk7CiBzdWIgcmVzb2x2ZUNoYW5n
ZUxvZygkKTsKQEAgLTEzMCw3ICsxMjksNyBAQCBpZiAoZGVmaW5lZCAkZml4TWVyZ2VkICYmIGxl
bmd0aCgkZml4TWVyZ2VkKSA+IDApIHsKICAgICBmaXhNZXJnZWRDaGFuZ2VMb2dzKCRjb21taXRS
YW5nZSwgQGNoYW5nZUxvZ0ZpbGVzKTsKIH0gZWxzaWYgKCRtZXJnZURyaXZlcikgewogICAgIG15
ICgkYmFzZSwgJHRoZWlycywgJG91cnMpID0gQEFSR1Y7Ci0gICAgaWYgKG1lcmdlQ2hhbmdlcygk
b3VycywgJGJhc2UsICR0aGVpcnMpKSB7CisgICAgaWYgKG1lcmdlQ2hhbmdlTG9ncygkb3Vycywg
JGJhc2UsICR0aGVpcnMpKSB7CiAgICAgICAgIHVubGluaygkb3Vycyk7CiAgICAgICAgIGNvcHko
JHRoZWlycywgJG91cnMpIG9yIGRpZSAkITsKICAgICB9IGVsc2UgewpAQCAtNDAxLDU1ICs0MDAs
NiBAQCBzdWIgaXNJbkdpdEZpbHRlckJyYW5jaCgpCiAgICAgcmV0dXJuIGV4aXN0cyAkRU5We01B
UFBFRF9QUkVWSU9VU19DT01NSVR9ICYmICRFTlZ7TUFQUEVEX1BSRVZJT1VTX0NPTU1JVH07CiB9
CiAKLXN1YiBtZXJnZUNoYW5nZXMoJCQkKQotewotICAgIG15ICgkZmlsZU1pbmUsICRmaWxlT2xk
ZXIsICRmaWxlTmV3ZXIpID0gQF87Ci0KLSAgICBteSAkdHJhZGl0aW9uYWxSZWplY3QgPSAkZmls
ZU1pbmUgPX4gL1wucmVqJC8gPyAxIDogMDsKLQotICAgIGxvY2FsICQvID0gdW5kZWY7Ci0KLSAg
ICBteSAkcGF0Y2g7Ci0gICAgaWYgKCR0cmFkaXRpb25hbFJlamVjdCkgewotICAgICAgICBvcGVu
KERJRkYsICI8IiwgJGZpbGVNaW5lKSBvciBkaWUgJCE7Ci0gICAgICAgICRwYXRjaCA9IDxESUZG
PjsKLSAgICAgICAgY2xvc2UoRElGRik7Ci0gICAgICAgIHJlbmFtZSgkZmlsZU1pbmUsICIkZmls
ZU1pbmUuc2F2ZSIpOwotICAgICAgICByZW5hbWUoJGZpbGVPbGRlciwgIiRmaWxlT2xkZXIuc2F2
ZSIpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIG9wZW4oRElGRiwgIi18IiwgcXcoZGlmZiAtdSAt
YSAtLWJpbmFyeSksICRmaWxlT2xkZXIsICRmaWxlTWluZSkgb3IgZGllICQhOwotICAgICAgICAk
cGF0Y2ggPSA8RElGRj47Ci0gICAgICAgIGNsb3NlKERJRkYpOwotICAgIH0KLQotICAgIHVubGlu
aygiJHtmaWxlTmV3ZXJ9Lm9yaWciKTsKLSAgICB1bmxpbmsoIiR7ZmlsZU5ld2VyfS5yZWoiKTsK
LQotICAgIG9wZW4oUEFUQ0gsICJ8IHBhdGNoIC0tZnV6ej0zIC0tYmluYXJ5ICRmaWxlTmV3ZXIg
PiAiIC4gRmlsZTo6U3BlYy0+ZGV2bnVsbCgpKSBvciBkaWUgJCE7Ci0gICAgcHJpbnQgUEFUQ0gg
Zml4Q2hhbmdlTG9nUGF0Y2goJHBhdGNoKTsKLSAgICBjbG9zZShQQVRDSCk7Ci0KLSAgICBteSAk
cmVzdWx0OwotCi0gICAgIyBSZWZ1c2UgdG8gbWVyZ2UgdGhlIHBhdGNoIGlmIGl0IGRpZCBub3Qg
YXBwbHkgY2xlYW5seQotICAgIGlmICgtZSAiJHtmaWxlTmV3ZXJ9LnJlaiIpIHsKLSAgICAgICAg
dW5saW5rKCIke2ZpbGVOZXdlcn0ucmVqIik7Ci0gICAgICAgIHVubGluaygkZmlsZU5ld2VyKTsK
LSAgICAgICAgcmVuYW1lKCIke2ZpbGVOZXdlcn0ub3JpZyIsICRmaWxlTmV3ZXIpOwotICAgICAg
ICAkcmVzdWx0ID0gMDsKLSAgICB9IGVsc2UgewotICAgICAgICB1bmxpbmsoIiR7ZmlsZU5ld2Vy
fS5vcmlnIik7Ci0gICAgICAgICRyZXN1bHQgPSAxOwotICAgIH0KLQotICAgIGlmICgkdHJhZGl0
aW9uYWxSZWplY3QpIHsKLSAgICAgICAgcmVuYW1lKCIkZmlsZU1pbmUuc2F2ZSIsICRmaWxlTWlu
ZSk7Ci0gICAgICAgIHJlbmFtZSgiJGZpbGVPbGRlci5zYXZlIiwgJGZpbGVPbGRlcik7Ci0gICAg
fQotCi0gICAgcmV0dXJuICRyZXN1bHQ7Ci19Ci0KIHN1YiBwYXJzZUZpeE1lcmdlZCgkJDskKQog
ewogICAgIG15ICgkc3dpdGNoTmFtZSwgJGtleSwgJHZhbHVlKSA9IEBfOwpAQCAtNDkxLDcgKzQ0
MSw3IEBAIHN1YiByZXNvbHZlQ2hhbmdlTG9nKCQpCiAKICAgICByZXR1cm4gdW5sZXNzICRmaWxl
TWluZSAmJiAkZmlsZU9sZGVyICYmICRmaWxlTmV3ZXI7CiAKLSAgICBpZiAobWVyZ2VDaGFuZ2Vz
KCRmaWxlTWluZSwgJGZpbGVPbGRlciwgJGZpbGVOZXdlcikpIHsKKyAgICBpZiAobWVyZ2VDaGFu
Z2VMb2dzKCRmaWxlTWluZSwgJGZpbGVPbGRlciwgJGZpbGVOZXdlcikpIHsKICAgICAgICAgaWYg
KCRmaWxlIG5lICRmaWxlTmV3ZXIpIHsKICAgICAgICAgICAgIHVubGluaygkZmlsZSk7CiAgICAg
ICAgICAgICByZW5hbWUoJGZpbGVOZXdlciwgJGZpbGUpIG9yIGRpZSAkITsKZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9WQ1NVdGlsc191bml0dGVzdC9tZXJnZUNo
YW5nZUxvZ3MucGwgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHBlcmwvVkNTVXRpbHNfdW5p
dHRlc3QvbWVyZ2VDaGFuZ2VMb2dzLnBsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjA0ZTVjMzQKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtp
dHBlcmwvVkNTVXRpbHNfdW5pdHRlc3QvbWVyZ2VDaGFuZ2VMb2dzLnBsCkBAIC0wLDAgKzEsMjY1
IEBACisjIS91c3IvYmluL3BlcmwKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUg
bWV0OgorIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIyAKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisj
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyMgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworIyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04KKyMgQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMK
KyMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisKKyMgVW5pdCB0ZXN0cyBvZiBWQ1NVdGlsczo6bWVyZ2VDaGFuZ2VMb2dzKCkuCisK
K3VzZSBzdHJpY3Q7CisKK3VzZSBUZXN0OjpTaW1wbGUgdGVzdHMgPT4gMTI7Cit1c2UgRmlsZTo6
VGVtcCBxdyh0ZW1wZmlsZSk7Cit1c2UgVkNTVXRpbHM7CisKKyMgUmVhZCBjb250ZW50cyBvZiBh
IGZpbGUgYW5kIHJldHVybiBpdC4KK3N1YiByZWFkRmlsZSgkKQoreworICAgIG15ICgkZmlsZU5h
bWUpID0gQF87CisKKyAgICBsb2NhbCAkLzsKKyAgICBvcGVuKEZILCAiPCIsICRmaWxlTmFtZSk7
CisgICAgbXkgJGNvbnRlbnQgPSA8Rkg+OworICAgIGNsb3NlKEZIKTsKKworICAgIHJldHVybiAk
Y29udGVudDsKK30KKworIyBXcml0ZSBhIHRlbXBvcmFyeSBmaWxlIGFuZCByZXR1cm4gdGhlIGZp
bGVuYW1lLgorc3ViIHdyaXRlVGVtcEZpbGUoJCQkKQoreworICAgIG15ICgkbmFtZSwgJGV4dGVu
c2lvbiwgJGNvbnRlbnQpID0gQF87CisKKyAgICBteSAoJEZILCAkZmlsZU5hbWUpID0gdGVtcGZp
bGUoCisgICAgICAgICRuYW1lIC4gIi1YWFhYWFhYWCIsCisgICAgICAgIERJUiA9PiAoJEVOVnsn
VE1QRElSJ30gfHwgIi90bXAiKSwKKyAgICAgICAgVU5MSU5LID0+IDAsCisgICAgKTsKKyAgICBw
cmludCAkRkggJGNvbnRlbnQ7CisgICAgY2xvc2UgJEZIOworCisgICAgaWYgKCRleHRlbnNpb24p
IHsKKyAgICAgICAgbXkgJG5ld0ZpbGVOYW1lID0gJGZpbGVOYW1lIC4gJGV4dGVuc2lvbjsKKyAg
ICAgICAgcmVuYW1lKCRmaWxlTmFtZSwgJG5ld0ZpbGVOYW1lKTsKKyAgICAgICAgJGZpbGVOYW1l
ID0gJG5ld0ZpbGVOYW1lOworICAgIH0KKworICAgIHJldHVybiAkZmlsZU5hbWU7Cit9CisKKyMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworeworICAgICMgTmV3IHRlc3QKKyAgICBteSAkdGl0
bGUgPSAibWVyZ2VDaGFuZ2VMb2dzOiB0cmFkaXRpb25hbCByZWplY3RlZCBwYXRjaCBzdWNjZXNz
IjsKKworICAgIG15ICRmaWxlTmV3ZXJDb250ZW50ID0gPDwnRU9GJzsKKzIwMTAtMDEtMjkgIE1h
cmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KKworICAgICAgICBGaXggdGhlIE1hYyBidWlsZC4K
KworICAgICAgICBEaXNhYmxlIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFIHNpbmNlIGl0IGlzICJj
b21wbGV0ZWx5IG5vbi1mdW5jdGlvbmFsIi4KKworMjAxMC0wMS0yOSAgU2ltb24gSGF1c21hbm4g
IDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CisKKyAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkg
TWFjaWVqIFN0YWNob3dpYWsuCisKKyAgICAgICAgRml4IHRoZSBBUk0gYnVpbGQuCitFT0YKKyAg
ICBteSAkZmlsZU5ld2VyID0gd3JpdGVUZW1wRmlsZSgiZmlsZSIsICIiLCAkZmlsZU5ld2VyQ29u
dGVudCk7CisKKyAgICBteSAkZmlsZU1pbmVDb250ZW50ID0gPDwnRU9GJzsKKyoqKioqKioqKioq
KioqKgorKioqIDEsMyAqKioqCisgIDIwMTAtMDEtMjkgIFNpbW9uIEhhdXNtYW5uICA8c2ltb24u
aGF1c21hbm5Abm9raWEuY29tPgorICAKKyAgICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBNYWNp
ZWogU3RhY2hvd2lhay4KKy0tLSAxLDkgLS0tLQorKyAyMDEwLTAxLTI5ICBPbGl2ZXIgSHVudCAg
PG9saXZlckBhcHBsZS5jb20+CisrIAorKyAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgorKyAKKysgICAgICAgICBKU0MgaXMgZmFpbGluZyB0byBwcm9wYWdhdGUgYW5vbnltb3VzIHNs
b3QgY291bnQgb24gc29tZSB0cmFuc2l0aW9ucworKyAKKyAgMjAxMC0wMS0yOSAgU2ltb24gSGF1
c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CisgIAorICAgICAgICAgIFJ1YmJlci1z
dGFtcGVkIGJ5IE1hY2llaiBTdGFjaG93aWFrLgorRU9GCisgICAgbXkgJGZpbGVNaW5lID0gd3Jp
dGVUZW1wRmlsZSgiZmlsZSIsICIucmVqIiwgJGZpbGVNaW5lQ29udGVudCk7CisgICAgcmVuYW1l
KCRmaWxlTWluZSwgJGZpbGVOZXdlciAuICIucmVqIik7CisgICAgJGZpbGVNaW5lID0gJGZpbGVO
ZXdlciAuICIucmVqIjsKKworICAgIG15ICRmaWxlT2xkZXJDb250ZW50ID0gJGZpbGVOZXdlckNv
bnRlbnQ7CisgICAgbXkgJGZpbGVPbGRlciA9IHdyaXRlVGVtcEZpbGUoImZpbGUiLCAiLm9yaWci
LCAkZmlsZU9sZGVyQ29udGVudCk7CisgICAgcmVuYW1lKCRmaWxlT2xkZXIsICRmaWxlTmV3ZXIg
LiAiLm9yaWciKTsKKyAgICAkZmlsZU9sZGVyID0gJGZpbGVOZXdlciAuICIub3JpZyI7CisKKyAg
ICBteSAkZXhpdFN0YXR1cyA9IG1lcmdlQ2hhbmdlTG9ncygkZmlsZU1pbmUsICRmaWxlT2xkZXIs
ICRmaWxlTmV3ZXIpOworCisgICAgIyBtZXJnZUNoYW5nZUxvZ3MoKSBzaG91bGQgcmV0dXJuIDEg
c2luY2UgdGhlIHBhdGNoIHN1Y2NlZWRlZC4KKyAgICBvaygkZXhpdFN0YXR1cyA9PSAxLCAiJHRp
dGxlOiBzaG91bGQgcmV0dXJuIDEgZm9yIHN1Y2Nlc3MiKTsKKworICAgIG9rKHJlYWRGaWxlKCRm
aWxlTWluZSkgZXEgJGZpbGVNaW5lQ29udGVudCwgIiR0aXRsZTogXCRmaWxlTWluZSBzaG91bGQg
YmUgdW5jaGFuZ2VkIik7CisgICAgb2socmVhZEZpbGUoJGZpbGVPbGRlcikgZXEgJGZpbGVPbGRl
ckNvbnRlbnQsICIkdGl0bGU6IFwkZmlsZU9sZGVyIHNob3VsZCBiZSB1bmNoYW5nZWQiKTsKKwor
ICAgIG15ICRleHBlY3RlZENvbnRlbnQgPSA8PCdFT0YnOworMjAxMC0wMS0yOSAgT2xpdmVyIEh1
bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgorCisgICAgICAgIEpTQyBpcyBmYWlsaW5nIHRvIHByb3BhZ2F0ZSBhbm9ueW1vdXMgc2xvdCBj
b3VudCBvbiBzb21lIHRyYW5zaXRpb25zCisKK0VPRgorICAgICRleHBlY3RlZENvbnRlbnQgLj0g
JGZpbGVOZXdlckNvbnRlbnQ7CisgICAgb2socmVhZEZpbGUoJGZpbGVOZXdlcikgZXEgJGV4cGVj
dGVkQ29udGVudCwgIiR0aXRsZTogXCRmaWxlTmV3ZXIgc2hvdWxkIGJlIHVwZGF0ZWQgdG8gaW5j
bHVkZSBwYXRjaCIpOworCisgICAgdW5saW5rKCRmaWxlTWluZSwgJGZpbGVPbGRlciwgJGZpbGVO
ZXdlcik7Cit9CisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworeworICAgICMgTmV3IHRl
c3QKKyAgICBteSAkdGl0bGUgPSAibWVyZ2VDaGFuZ2VMb2dzOiB0cmFkaXRpb25hbCByZWplY3Rl
ZCBwYXRjaCBmYWlsdXJlIjsKKworICAgIG15ICRmaWxlTmV3ZXJDb250ZW50ID0gPDwnRU9GJzsK
KzIwMTAtMDEtMjkgIE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KKworICAgICAgICBGaXgg
dGhlIE1hYyBidWlsZC4KKworICAgICAgICBEaXNhYmxlIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
IHNpbmNlIGl0IGlzICJjb21wbGV0ZWx5IG5vbi1mdW5jdGlvbmFsIi4KKworMjAxMC0wMS0yOSAg
U2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CisKKyAgICAgICAgUnVi
YmVyLXN0YW1wZWQgYnkgTWFjaWVqIFN0YWNob3dpYWsuCisKKyAgICAgICAgRml4IHRoZSBBUk0g
YnVpbGQuCitFT0YKKyAgICBteSAkZmlsZU5ld2VyID0gd3JpdGVUZW1wRmlsZSgiZmlsZSIsICIi
LCAkZmlsZU5ld2VyQ29udGVudCk7CisKKyAgICBteSAkZmlsZU1pbmVDb250ZW50ID0gPDwnRU9G
JzsKKyoqKioqKioqKioqKioqKgorKioqIDEsOSAqKioqCistIDIwMTAtMDEtMjkgIE9saXZlciBI
dW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKy0gCistICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCistIAorLSAgICAgICAgIEpTQyBpcyBmYWlsaW5nIHRvIHByb3BhZ2F0ZSBhbm9ueW1v
dXMgc2xvdCBjb3VudCBvbiBzb21lIHRyYW5zaXRpb25zCistIAorICAyMDEwLTAxLTI5ICBTaW1v
biBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4KKyAgCisgICAgICAgICAgUnVi
YmVyLXN0YW1wZWQgYnkgTWFjaWVqIFN0YWNob3dpYWsuCistLS0gMSwzIC0tLS0KKyAgMjAxMC0w
MS0yOSAgU2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CisgIAorICAg
ICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5IE1hY2llaiBTdGFjaG93aWFrLgorRU9GCisgICAgbXkg
JGZpbGVNaW5lID0gd3JpdGVUZW1wRmlsZSgiZmlsZSIsICIucmVqIiwgJGZpbGVNaW5lQ29udGVu
dCk7CisgICAgcmVuYW1lKCRmaWxlTWluZSwgJGZpbGVOZXdlciAuICIucmVqIik7CisgICAgJGZp
bGVNaW5lID0gJGZpbGVOZXdlciAuICIucmVqIjsKKworICAgIG15ICRmaWxlT2xkZXJDb250ZW50
ID0gJGZpbGVOZXdlckNvbnRlbnQ7CisgICAgbXkgJGZpbGVPbGRlciA9IHdyaXRlVGVtcEZpbGUo
ImZpbGUiLCAiLm9yaWciLCAkZmlsZU9sZGVyQ29udGVudCk7CisgICAgcmVuYW1lKCRmaWxlT2xk
ZXIsICRmaWxlTmV3ZXIgLiAiLm9yaWciKTsKKyAgICAkZmlsZU9sZGVyID0gJGZpbGVOZXdlciAu
ICIub3JpZyI7CisKKyAgICBteSAkZXhpdFN0YXR1cyA9IG1lcmdlQ2hhbmdlTG9ncygkZmlsZU1p
bmUsICRmaWxlT2xkZXIsICRmaWxlTmV3ZXIpOworCisgICAgIyBtZXJnZUNoYW5nZUxvZ3MoKSBz
aG91bGQgcmV0dXJuIDAgc2luY2UgdGhlIHBhdGNoIGZhaWxlZC4KKyAgICBvaygkZXhpdFN0YXR1
cyA9PSAwLCAiJHRpdGxlOiBzaG91bGQgcmV0dXJuIDAgZm9yIGZhaWx1cmUiKTsKKworICAgIG9r
KHJlYWRGaWxlKCRmaWxlTWluZSkgZXEgJGZpbGVNaW5lQ29udGVudCwgIiR0aXRsZTogXCRmaWxl
TWluZSBzaG91bGQgYmUgdW5jaGFuZ2VkIik7CisgICAgb2socmVhZEZpbGUoJGZpbGVPbGRlcikg
ZXEgJGZpbGVPbGRlckNvbnRlbnQsICIkdGl0bGU6IFwkZmlsZU9sZGVyIHNob3VsZCBiZSB1bmNo
YW5nZWQiKTsKKyAgICBvayhyZWFkRmlsZSgkZmlsZU5ld2VyKSBlcSAkZmlsZU5ld2VyQ29udGVu
dCwgIiR0aXRsZTogXCRmaWxlTmV3ZXIgc2hvdWxkIGJlIHVuY2hhbmdlZCIpOworCisgICAgdW5s
aW5rKCRmaWxlTWluZSwgJGZpbGVPbGRlciwgJGZpbGVOZXdlcik7Cit9CisKKyMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KKworeworICAgICMgTmV3IHRlc3QKKyAgICBteSAkdGl0bGUgPSAibWVy
Z2VDaGFuZ2VMb2dzOiBwYXRjaCBzdWNjZWVkcyI7CisKKyAgICBteSAkZmlsZU1pbmVDb250ZW50
ID0gPDwnRU9GJzsKKzIwMTAtMDEtMjkgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBKU0MgaXMgZmFp
bGluZyB0byBwcm9wYWdhdGUgYW5vbnltb3VzIHNsb3QgY291bnQgb24gc29tZSB0cmFuc2l0aW9u
cworCisyMDEwLTAxLTI5ICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNv
bT4KKworICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBNYWNpZWogU3RhY2hvd2lhay4KKworICAg
ICAgICBGaXggdGhlIEFSTSBidWlsZC4KK0VPRgorICAgIG15ICRmaWxlTWluZSA9IHdyaXRlVGVt
cEZpbGUoImZpbGVNaW5lIiwgIiIsICRmaWxlTWluZUNvbnRlbnQpOworCisgICAgbXkgJGZpbGVP
bGRlckNvbnRlbnQgPSA8PCdFT0YnOworMjAxMC0wMS0yOSAgU2ltb24gSGF1c21hbm4gIDxzaW1v
bi5oYXVzbWFubkBub2tpYS5jb20+CisKKyAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgTWFjaWVq
IFN0YWNob3dpYWsuCisKKyAgICAgICAgRml4IHRoZSBBUk0gYnVpbGQuCitFT0YKKyAgICBteSAk
ZmlsZU9sZGVyID0gd3JpdGVUZW1wRmlsZSgiZmlsZU9sZGVyIiwgIiIsICRmaWxlT2xkZXJDb250
ZW50KTsKKworICAgIG15ICRmaWxlTmV3ZXJDb250ZW50ID0gPDwnRU9GJzsKKzIwMTAtMDEtMjkg
IE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KKworICAgICAgICBGaXggdGhlIE1hYyBidWls
ZC4KKworICAgICAgICBEaXNhYmxlIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFIHNpbmNlIGl0IGlz
ICJjb21wbGV0ZWx5IG5vbi1mdW5jdGlvbmFsIi4KKworMjAxMC0wMS0yOSAgU2ltb24gSGF1c21h
bm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CisKKyAgICAgICAgUnViYmVyLXN0YW1wZWQg
YnkgTWFjaWVqIFN0YWNob3dpYWsuCisKKyAgICAgICAgRml4IHRoZSBBUk0gYnVpbGQuCitFT0YK
KyAgICBteSAkZmlsZU5ld2VyID0gd3JpdGVUZW1wRmlsZSgiZmlsZU5ld2VyIiwgIiIsICRmaWxl
TmV3ZXJDb250ZW50KTsKKworICAgIG15ICRleGl0U3RhdHVzID0gbWVyZ2VDaGFuZ2VMb2dzKCRm
aWxlTWluZSwgJGZpbGVPbGRlciwgJGZpbGVOZXdlcik7CisKKyAgICAjIG1lcmdlQ2hhbmdlTG9n
cygpIHNob3VsZCByZXR1cm4gMSBzaW5jZSB0aGUgcGF0Y2ggc3VjY2VlZGVkLgorICAgIG9rKCRl
eGl0U3RhdHVzID09IDEsICIkdGl0bGU6IHNob3VsZCByZXR1cm4gMSBmb3Igc3VjY2VzcyIpOwor
CisgICAgb2socmVhZEZpbGUoJGZpbGVNaW5lKSBlcSAkZmlsZU1pbmVDb250ZW50LCAiJHRpdGxl
OiBcJGZpbGVNaW5lIHNob3VsZCBiZSB1bmNoYW5nZWQiKTsKKyAgICBvayhyZWFkRmlsZSgkZmls
ZU9sZGVyKSBlcSAkZmlsZU9sZGVyQ29udGVudCwgIiR0aXRsZTogXCRmaWxlT2xkZXIgc2hvdWxk
IGJlIHVuY2hhbmdlZCIpOworCisgICAgbXkgJGV4cGVjdGVkQ29udGVudCA9IDw8J0VPRic7Cisy
MDEwLTAxLTI5ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgSlNDIGlzIGZhaWxpbmcgdG8gcHJvcGFn
YXRlIGFub255bW91cyBzbG90IGNvdW50IG9uIHNvbWUgdHJhbnNpdGlvbnMKKworRU9GCisgICAg
JGV4cGVjdGVkQ29udGVudCAuPSAkZmlsZU5ld2VyQ29udGVudDsKKworICAgIG9rKHJlYWRGaWxl
KCRmaWxlTmV3ZXIpIGVxICRleHBlY3RlZENvbnRlbnQsICIkdGl0bGU6IFwkZmlsZU5ld2VyIHNo
b3VsZCBiZSBwYXRjaGVkIik7CisKKyAgICB1bmxpbmsoJGZpbGVNaW5lLCAkZmlsZU9sZGVyLCAk
ZmlsZU5ld2VyKTsKK30KKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCg==
</data>
<flag name="review"
          id="34821"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51552</attachid>
            <date>2010-03-24 14:59:32 -0700</date>
            <delta_ts>2010-03-24 15:09:04 -0700</delta_ts>
            <desc>Patch 1/2 (webkit-patch FAIL)</desc>
            <filename>bug-36560-20100324145931.patch</filename>
            <type>text/plain</type>
            <size>15379</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAyN2Q3ZmVjLi5kYzFhOWQ4IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTAtMDMt
MjQgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICByZXNvbHZl
LUNoYW5nZUxvZ3M6IG1vdmUgbWVyZ2VDaGFuZ2VzKCkgaW50byBWQ1NVdGlscyBwYWNrYWdlCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRz
L1ZDU1V0aWxzLnBtOgorICAgICAgICAobWVyZ2VDaGFuZ2VMb2dzKTogQ29waWVkIGZyb20gbWVy
Z2VDaGFuZ2VzKCkgaW4KKyAgICAgICAgcmVzb2x2ZS1DaGFuZ2VMb2dzIGFuZCByZW5hbWVkLiAg
QWRkZWQgbWV0aG9kIGRvY3VtZW50YXRpb24uCisgICAgICAgIEZpeGVkIGJ1ZyBmb3VuZCBieSBu
ZXcgdGVzdHMgd2hlcmUgdGhlIG9yaWdpbmFsIGZpbGUgdG8gYmUKKyAgICAgICAgcGF0Y2hlZCB3
YXMgZGVsZXRlZCB3aGVuIGNsZWFuaW5nIHVwIGFmdGVyIGEgdHJhZGl0aW5hbCByZWplY3RlZAor
ICAgICAgICBwYXRjaCBmYWlsZWQgdG8gYXBwbHkuCisgICAgICAgICogU2NyaXB0cy9yZXNvbHZl
LUNoYW5nZUxvZ3M6IFN3aXRjaGVkIHRvIHVzaW5nCisgICAgICAgIG1lcmdlQ2hhbmdlTG9ncygp
LgorICAgICAgICAobWVyZ2VDaGFuZ2VzKTogTW92ZWQgdG8gVkNTVXRpbHMucG0gYW5kIHJlbmFt
ZWQgdG8KKyAgICAgICAgbWVyZ2VDaGFuZ2VMb2dzKCkuCisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRwZXJsL1ZDU1V0aWxzX3VuaXR0ZXN0L21lcmdlQ2hhbmdlTG9ncy5wbDogQWRkZWQuCisKIDIw
MTAtMDMtMjIgIENocmlzIEplcmRvbmVrICA8Y2plcmRvbmVrQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1Njcmlw
dHMvVkNTVXRpbHMucG0gYi9XZWJLaXRUb29scy9TY3JpcHRzL1ZDU1V0aWxzLnBtCmluZGV4IDAy
MmM3MmEuLmFmOTIxOWIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMu
cG0KKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9WQ1NVdGlscy5wbQpAQCAtNjEsNiArNjEsNyBA
QCBCRUdJTiB7CiAgICAgICAgICZpc1NWTkRpcmVjdG9yeQogICAgICAgICAmaXNTVk5WZXJzaW9u
MTZPck5ld2VyCiAgICAgICAgICZtYWtlRmlsZVBhdGhSZWxhdGl2ZQorICAgICAgICAmbWVyZ2VD
aGFuZ2VMb2dzCiAgICAgICAgICZub3JtYWxpemVQYXRoCiAgICAgICAgICZwYXJzZVBhdGNoCiAg
ICAgICAgICZwYXRoUmVsYXRpdmVUb1NWTlJlcG9zaXRvcnlSb290Rm9yUGF0aApAQCAtODE1LDYg
KzgxNiw3OCBAQCBzdWIgcnVuUGF0Y2hDb21tYW5kKCQkJDskKQogICAgIHJldHVybiAkZXhpdFN0
YXR1czsKIH0KIAorIyBNZXJnZSBDaGFuZ2VMb2cgcGF0Y2hlcyB1c2luZyBhIHRocmVlLWZpbGUg
YXBwcm9hY2guCisjCisjIFRoaXMgaXMgdXNlZCBieSByZXNvbHZlLUNoYW5nZUxvZ3Mgd2hlbiBp
dCdzIG9wZXJhdGVkIGFzIGEgbWVyZ2UgZHJpdmVyCisjIGFuZCB3aGVuIGl0J3MgdXNlZCB0byBt
ZXJnZSBjb25mbGljdHMgYWZ0ZXIgYSBwYXRjaCBpcyBhcHBsaWVkIG9yIGFmdGVyCisjIGFuIHN2
biB1cGRhdGUuCisjCisjIEl0J3MgYWxzbyB1c2VkIGZvciB0cmFkaXRpb25hbCByZWplY3RlZCBw
YXRjaGVzLgorIworIyBBcmdzOgorIyAgICRmaWxlTWluZTogIFRoZSBtZXJnZWQgdmVyc2lvbiBv
ZiB0aGUgZmlsZS4gIEFsc28ga25vd24gaW4gZ2l0IGFzIHRoZQorIyAgICAgICAgICAgICAgIG90
aGVyIGJyYW5jaCdzIHZlcnNpb24gKCVCKSBvciAib3VycyIuCisjICAgICAgICAgICAgICAgRm9y
IHRyYWRpdGlvbmFsIHBhdGNoIHJlamVjdHMsIHRoaXMgaXMgdGhlICoucmVqIGZpbGUuCisjICAg
JGZpbGVPbGRlcjogVGhlIGJhc2UgdmVyc2lvbiBvZiB0aGUgZmlsZS4gIEFsc28ga25vd24gaW4g
Z2l0IGFzIHRoZQorIyAgICAgICAgICAgICAgIGFuY2VzdG9yIHZlcnNpb24gKCVPKSBvciAiYmFz
ZSIuCisjICAgICAgICAgICAgICAgRm9yIHRyYWRpdGlvbmFsIHBhdGNoIHJlamVjdHMsIHRoaXMg
aXMgdGhlICoub3JpZyBmaWxlLgorIyAgICRmaWxlTmV3ZXI6IFRoZSBjdXJyZW50IHZlcnNpb24g
b2YgdGhlIGZpbGUuICBBbHNvIGtub3duIGluIGdpdCBhcyB0aGUKKyMgICAgICAgICAgICAgICBj
dXJyZW50IHZlcnNpb24gKCVBKSBvciAidGhlaXJzIi4KKyMgICAgICAgICAgICAgICBGb3IgdHJh
ZGl0aW9uYWwgcGF0Y2ggcmVqZWN0cywgdGhpcyBpcyB0aGUgb3JpZ2luYWwtbmFtZWQKKyMgICAg
ICAgICAgICAgICBmaWxlLgorIworIyBSZXR1cm5zIDEgaWYgbWVyZ2Ugd2FzIHN1Y2Nlc3NmdWws
IGVsc2UgMC4KK3N1YiBtZXJnZUNoYW5nZUxvZ3MoJCQkKQoreworICAgIG15ICgkZmlsZU1pbmUs
ICRmaWxlT2xkZXIsICRmaWxlTmV3ZXIpID0gQF87CisKKyAgICBteSAkdHJhZGl0aW9uYWxSZWpl
Y3QgPSAkZmlsZU1pbmUgPX4gL1wucmVqJC8gPyAxIDogMDsKKworICAgIGxvY2FsICQvID0gdW5k
ZWY7CisKKyAgICBteSAkcGF0Y2g7CisgICAgaWYgKCR0cmFkaXRpb25hbFJlamVjdCkgeworICAg
ICAgICBvcGVuKERJRkYsICI8IiwgJGZpbGVNaW5lKSBvciBkaWUgJCE7CisgICAgICAgICRwYXRj
aCA9IDxESUZGPjsKKyAgICAgICAgY2xvc2UoRElGRik7CisgICAgICAgIHJlbmFtZSgkZmlsZU1p
bmUsICIkZmlsZU1pbmUuc2F2ZSIpOworICAgICAgICByZW5hbWUoJGZpbGVPbGRlciwgIiRmaWxl
T2xkZXIuc2F2ZSIpOworICAgIH0gZWxzZSB7CisgICAgICAgIG9wZW4oRElGRiwgIi18IiwgcXco
ZGlmZiAtdSAtYSAtLWJpbmFyeSksICRmaWxlT2xkZXIsICRmaWxlTWluZSkgb3IgZGllICQhOwor
ICAgICAgICAkcGF0Y2ggPSA8RElGRj47CisgICAgICAgIGNsb3NlKERJRkYpOworICAgIH0KKwor
ICAgIHVubGluaygiJHtmaWxlTmV3ZXJ9Lm9yaWciKTsKKyAgICB1bmxpbmsoIiR7ZmlsZU5ld2Vy
fS5yZWoiKTsKKworICAgIG9wZW4oUEFUQ0gsICJ8IHBhdGNoIC0tZnV6ej0zIC0tYmluYXJ5ICRm
aWxlTmV3ZXIgPiAiIC4gRmlsZTo6U3BlYy0+ZGV2bnVsbCgpKSBvciBkaWUgJCE7CisgICAgcHJp
bnQgUEFUQ0ggKCR0cmFkaXRpb25hbFJlamVjdCA/ICRwYXRjaCA6IGZpeENoYW5nZUxvZ1BhdGNo
KCRwYXRjaCkpOworICAgIGNsb3NlKFBBVENIKTsKKworICAgIG15ICRyZXN1bHQ7CisKKyAgICAj
IFJlZnVzZSB0byBtZXJnZSB0aGUgcGF0Y2ggaWYgaXQgZGlkIG5vdCBhcHBseSBjbGVhbmx5Cisg
ICAgaWYgKC1lICIke2ZpbGVOZXdlcn0ucmVqIikgeworICAgICAgICB1bmxpbmsoIiR7ZmlsZU5l
d2VyfS5yZWoiKTsKKyAgICAgICAgaWYgKC1mICIke2ZpbGVOZXdlcn0ub3JpZyIpIHsKKyAgICAg
ICAgICAgIHVubGluaygkZmlsZU5ld2VyKTsKKyAgICAgICAgICAgIHJlbmFtZSgiJHtmaWxlTmV3
ZXJ9Lm9yaWciLCAkZmlsZU5ld2VyKTsKKyAgICAgICAgfQorICAgICAgICAkcmVzdWx0ID0gMDsK
KyAgICB9IGVsc2UgeworICAgICAgICB1bmxpbmsoIiR7ZmlsZU5ld2VyfS5vcmlnIik7CisgICAg
ICAgICRyZXN1bHQgPSAxOworICAgIH0KKworICAgIGlmICgkdHJhZGl0aW9uYWxSZWplY3QpIHsK
KyAgICAgICAgcmVuYW1lKCIkZmlsZU1pbmUuc2F2ZSIsICRmaWxlTWluZSk7CisgICAgICAgIHJl
bmFtZSgiJGZpbGVPbGRlci5zYXZlIiwgJGZpbGVPbGRlcik7CisgICAgfQorCisgICAgcmV0dXJu
ICRyZXN1bHQ7Cit9CisKIHN1YiBnaXRDb25maWcoJCkKIHsKICAgICByZXR1cm4gdW5sZXNzICRp
c0dpdDsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvcmVzb2x2ZS1DaGFuZ2VMb2dz
IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9yZXNvbHZlLUNoYW5nZUxvZ3MKaW5kZXggMzIzODM1MC4u
OTIxMzIwMiAxMDA3NTUKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9yZXNvbHZlLUNoYW5nZUxv
Z3MKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9yZXNvbHZlLUNoYW5nZUxvZ3MKQEAgLTQ5LDcg
KzQ5LDYgQEAgc3ViIGZpeE1lcmdlZENoYW5nZUxvZ3MoJDtAKTsKIHN1YiBmaXhPbmVNZXJnZWRD
aGFuZ2VMb2coJCk7CiBzdWIgaGFzR2l0VW5tZXJnZWRGaWxlcygpOwogc3ViIGlzSW5HaXRGaWx0
ZXJCcmFuY2goKTsKLXN1YiBtZXJnZUNoYW5nZXMoJCQkKTsKIHN1YiBwYXJzZUZpeE1lcmdlZCgk
JDskKTsKIHN1YiByZW1vdmVDaGFuZ2VMb2dBcmd1bWVudHMoJCk7CiBzdWIgcmVzb2x2ZUNoYW5n
ZUxvZygkKTsKQEAgLTEzMCw3ICsxMjksNyBAQCBpZiAoZGVmaW5lZCAkZml4TWVyZ2VkICYmIGxl
bmd0aCgkZml4TWVyZ2VkKSA+IDApIHsKICAgICBmaXhNZXJnZWRDaGFuZ2VMb2dzKCRjb21taXRS
YW5nZSwgQGNoYW5nZUxvZ0ZpbGVzKTsKIH0gZWxzaWYgKCRtZXJnZURyaXZlcikgewogICAgIG15
ICgkYmFzZSwgJHRoZWlycywgJG91cnMpID0gQEFSR1Y7Ci0gICAgaWYgKG1lcmdlQ2hhbmdlcygk
b3VycywgJGJhc2UsICR0aGVpcnMpKSB7CisgICAgaWYgKG1lcmdlQ2hhbmdlTG9ncygkb3Vycywg
JGJhc2UsICR0aGVpcnMpKSB7CiAgICAgICAgIHVubGluaygkb3Vycyk7CiAgICAgICAgIGNvcHko
JHRoZWlycywgJG91cnMpIG9yIGRpZSAkITsKICAgICB9IGVsc2UgewpAQCAtNDAxLDU1ICs0MDAs
NiBAQCBzdWIgaXNJbkdpdEZpbHRlckJyYW5jaCgpCiAgICAgcmV0dXJuIGV4aXN0cyAkRU5We01B
UFBFRF9QUkVWSU9VU19DT01NSVR9ICYmICRFTlZ7TUFQUEVEX1BSRVZJT1VTX0NPTU1JVH07CiB9
CiAKLXN1YiBtZXJnZUNoYW5nZXMoJCQkKQotewotICAgIG15ICgkZmlsZU1pbmUsICRmaWxlT2xk
ZXIsICRmaWxlTmV3ZXIpID0gQF87Ci0KLSAgICBteSAkdHJhZGl0aW9uYWxSZWplY3QgPSAkZmls
ZU1pbmUgPX4gL1wucmVqJC8gPyAxIDogMDsKLQotICAgIGxvY2FsICQvID0gdW5kZWY7Ci0KLSAg
ICBteSAkcGF0Y2g7Ci0gICAgaWYgKCR0cmFkaXRpb25hbFJlamVjdCkgewotICAgICAgICBvcGVu
KERJRkYsICI8IiwgJGZpbGVNaW5lKSBvciBkaWUgJCE7Ci0gICAgICAgICRwYXRjaCA9IDxESUZG
PjsKLSAgICAgICAgY2xvc2UoRElGRik7Ci0gICAgICAgIHJlbmFtZSgkZmlsZU1pbmUsICIkZmls
ZU1pbmUuc2F2ZSIpOwotICAgICAgICByZW5hbWUoJGZpbGVPbGRlciwgIiRmaWxlT2xkZXIuc2F2
ZSIpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIG9wZW4oRElGRiwgIi18IiwgcXcoZGlmZiAtdSAt
YSAtLWJpbmFyeSksICRmaWxlT2xkZXIsICRmaWxlTWluZSkgb3IgZGllICQhOwotICAgICAgICAk
cGF0Y2ggPSA8RElGRj47Ci0gICAgICAgIGNsb3NlKERJRkYpOwotICAgIH0KLQotICAgIHVubGlu
aygiJHtmaWxlTmV3ZXJ9Lm9yaWciKTsKLSAgICB1bmxpbmsoIiR7ZmlsZU5ld2VyfS5yZWoiKTsK
LQotICAgIG9wZW4oUEFUQ0gsICJ8IHBhdGNoIC0tZnV6ej0zIC0tYmluYXJ5ICRmaWxlTmV3ZXIg
PiAiIC4gRmlsZTo6U3BlYy0+ZGV2bnVsbCgpKSBvciBkaWUgJCE7Ci0gICAgcHJpbnQgUEFUQ0gg
Zml4Q2hhbmdlTG9nUGF0Y2goJHBhdGNoKTsKLSAgICBjbG9zZShQQVRDSCk7Ci0KLSAgICBteSAk
cmVzdWx0OwotCi0gICAgIyBSZWZ1c2UgdG8gbWVyZ2UgdGhlIHBhdGNoIGlmIGl0IGRpZCBub3Qg
YXBwbHkgY2xlYW5seQotICAgIGlmICgtZSAiJHtmaWxlTmV3ZXJ9LnJlaiIpIHsKLSAgICAgICAg
dW5saW5rKCIke2ZpbGVOZXdlcn0ucmVqIik7Ci0gICAgICAgIHVubGluaygkZmlsZU5ld2VyKTsK
LSAgICAgICAgcmVuYW1lKCIke2ZpbGVOZXdlcn0ub3JpZyIsICRmaWxlTmV3ZXIpOwotICAgICAg
ICAkcmVzdWx0ID0gMDsKLSAgICB9IGVsc2UgewotICAgICAgICB1bmxpbmsoIiR7ZmlsZU5ld2Vy
fS5vcmlnIik7Ci0gICAgICAgICRyZXN1bHQgPSAxOwotICAgIH0KLQotICAgIGlmICgkdHJhZGl0
aW9uYWxSZWplY3QpIHsKLSAgICAgICAgcmVuYW1lKCIkZmlsZU1pbmUuc2F2ZSIsICRmaWxlTWlu
ZSk7Ci0gICAgICAgIHJlbmFtZSgiJGZpbGVPbGRlci5zYXZlIiwgJGZpbGVPbGRlcik7Ci0gICAg
fQotCi0gICAgcmV0dXJuICRyZXN1bHQ7Ci19Ci0KIHN1YiBwYXJzZUZpeE1lcmdlZCgkJDskKQog
ewogICAgIG15ICgkc3dpdGNoTmFtZSwgJGtleSwgJHZhbHVlKSA9IEBfOwpAQCAtNDkxLDcgKzQ0
MSw3IEBAIHN1YiByZXNvbHZlQ2hhbmdlTG9nKCQpCiAKICAgICByZXR1cm4gdW5sZXNzICRmaWxl
TWluZSAmJiAkZmlsZU9sZGVyICYmICRmaWxlTmV3ZXI7CiAKLSAgICBpZiAobWVyZ2VDaGFuZ2Vz
KCRmaWxlTWluZSwgJGZpbGVPbGRlciwgJGZpbGVOZXdlcikpIHsKKyAgICBpZiAobWVyZ2VDaGFu
Z2VMb2dzKCRmaWxlTWluZSwgJGZpbGVPbGRlciwgJGZpbGVOZXdlcikpIHsKICAgICAgICAgaWYg
KCRmaWxlIG5lICRmaWxlTmV3ZXIpIHsKICAgICAgICAgICAgIHVubGluaygkZmlsZSk7CiAgICAg
ICAgICAgICByZW5hbWUoJGZpbGVOZXdlciwgJGZpbGUpIG9yIGRpZSAkITsKZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9WQ1NVdGlsc191bml0dGVzdC9tZXJnZUNo
YW5nZUxvZ3MucGwgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHBlcmwvVkNTVXRpbHNfdW5p
dHRlc3QvbWVyZ2VDaGFuZ2VMb2dzLnBsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjA0ZTVjMzQKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtp
dHBlcmwvVkNTVXRpbHNfdW5pdHRlc3QvbWVyZ2VDaGFuZ2VMb2dzLnBsCkBAIC0wLDAgKzEsMjY1
IEBACisjIS91c3IvYmluL3BlcmwKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUg
bWV0OgorIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIyAKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisj
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyMgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworIyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04KKyMgQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMK
KyMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisKKyMgVW5pdCB0ZXN0cyBvZiBWQ1NVdGlsczo6bWVyZ2VDaGFuZ2VMb2dzKCkuCisK
K3VzZSBzdHJpY3Q7CisKK3VzZSBUZXN0OjpTaW1wbGUgdGVzdHMgPT4gMTI7Cit1c2UgRmlsZTo6
VGVtcCBxdyh0ZW1wZmlsZSk7Cit1c2UgVkNTVXRpbHM7CisKKyMgUmVhZCBjb250ZW50cyBvZiBh
IGZpbGUgYW5kIHJldHVybiBpdC4KK3N1YiByZWFkRmlsZSgkKQoreworICAgIG15ICgkZmlsZU5h
bWUpID0gQF87CisKKyAgICBsb2NhbCAkLzsKKyAgICBvcGVuKEZILCAiPCIsICRmaWxlTmFtZSk7
CisgICAgbXkgJGNvbnRlbnQgPSA8Rkg+OworICAgIGNsb3NlKEZIKTsKKworICAgIHJldHVybiAk
Y29udGVudDsKK30KKworIyBXcml0ZSBhIHRlbXBvcmFyeSBmaWxlIGFuZCByZXR1cm4gdGhlIGZp
bGVuYW1lLgorc3ViIHdyaXRlVGVtcEZpbGUoJCQkKQoreworICAgIG15ICgkbmFtZSwgJGV4dGVu
c2lvbiwgJGNvbnRlbnQpID0gQF87CisKKyAgICBteSAoJEZILCAkZmlsZU5hbWUpID0gdGVtcGZp
bGUoCisgICAgICAgICRuYW1lIC4gIi1YWFhYWFhYWCIsCisgICAgICAgIERJUiA9PiAoJEVOVnsn
VE1QRElSJ30gfHwgIi90bXAiKSwKKyAgICAgICAgVU5MSU5LID0+IDAsCisgICAgKTsKKyAgICBw
cmludCAkRkggJGNvbnRlbnQ7CisgICAgY2xvc2UgJEZIOworCisgICAgaWYgKCRleHRlbnNpb24p
IHsKKyAgICAgICAgbXkgJG5ld0ZpbGVOYW1lID0gJGZpbGVOYW1lIC4gJGV4dGVuc2lvbjsKKyAg
ICAgICAgcmVuYW1lKCRmaWxlTmFtZSwgJG5ld0ZpbGVOYW1lKTsKKyAgICAgICAgJGZpbGVOYW1l
ID0gJG5ld0ZpbGVOYW1lOworICAgIH0KKworICAgIHJldHVybiAkZmlsZU5hbWU7Cit9CisKKyMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworeworICAgICMgTmV3IHRlc3QKKyAgICBteSAkdGl0
bGUgPSAibWVyZ2VDaGFuZ2VMb2dzOiB0cmFkaXRpb25hbCByZWplY3RlZCBwYXRjaCBzdWNjZXNz
IjsKKworICAgIG15ICRmaWxlTmV3ZXJDb250ZW50ID0gPDwnRU9GJzsKKzIwMTAtMDEtMjkgIE1h
cmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KKworICAgICAgICBGaXggdGhlIE1hYyBidWlsZC4K
KworICAgICAgICBEaXNhYmxlIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFIHNpbmNlIGl0IGlzICJj
b21wbGV0ZWx5IG5vbi1mdW5jdGlvbmFsIi4KKworMjAxMC0wMS0yOSAgU2ltb24gSGF1c21hbm4g
IDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CisKKyAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkg
TWFjaWVqIFN0YWNob3dpYWsuCisKKyAgICAgICAgRml4IHRoZSBBUk0gYnVpbGQuCitFT0YKKyAg
ICBteSAkZmlsZU5ld2VyID0gd3JpdGVUZW1wRmlsZSgiZmlsZSIsICIiLCAkZmlsZU5ld2VyQ29u
dGVudCk7CisKKyAgICBteSAkZmlsZU1pbmVDb250ZW50ID0gPDwnRU9GJzsKKyoqKioqKioqKioq
KioqKgorKioqIDEsMyAqKioqCisgIDIwMTAtMDEtMjkgIFNpbW9uIEhhdXNtYW5uICA8c2ltb24u
aGF1c21hbm5Abm9raWEuY29tPgorICAKKyAgICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBNYWNp
ZWogU3RhY2hvd2lhay4KKy0tLSAxLDkgLS0tLQorKyAyMDEwLTAxLTI5ICBPbGl2ZXIgSHVudCAg
PG9saXZlckBhcHBsZS5jb20+CisrIAorKyAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgorKyAKKysgICAgICAgICBKU0MgaXMgZmFpbGluZyB0byBwcm9wYWdhdGUgYW5vbnltb3VzIHNs
b3QgY291bnQgb24gc29tZSB0cmFuc2l0aW9ucworKyAKKyAgMjAxMC0wMS0yOSAgU2ltb24gSGF1
c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CisgIAorICAgICAgICAgIFJ1YmJlci1z
dGFtcGVkIGJ5IE1hY2llaiBTdGFjaG93aWFrLgorRU9GCisgICAgbXkgJGZpbGVNaW5lID0gd3Jp
dGVUZW1wRmlsZSgiZmlsZSIsICIucmVqIiwgJGZpbGVNaW5lQ29udGVudCk7CisgICAgcmVuYW1l
KCRmaWxlTWluZSwgJGZpbGVOZXdlciAuICIucmVqIik7CisgICAgJGZpbGVNaW5lID0gJGZpbGVO
ZXdlciAuICIucmVqIjsKKworICAgIG15ICRmaWxlT2xkZXJDb250ZW50ID0gJGZpbGVOZXdlckNv
bnRlbnQ7CisgICAgbXkgJGZpbGVPbGRlciA9IHdyaXRlVGVtcEZpbGUoImZpbGUiLCAiLm9yaWci
LCAkZmlsZU9sZGVyQ29udGVudCk7CisgICAgcmVuYW1lKCRmaWxlT2xkZXIsICRmaWxlTmV3ZXIg
LiAiLm9yaWciKTsKKyAgICAkZmlsZU9sZGVyID0gJGZpbGVOZXdlciAuICIub3JpZyI7CisKKyAg
ICBteSAkZXhpdFN0YXR1cyA9IG1lcmdlQ2hhbmdlTG9ncygkZmlsZU1pbmUsICRmaWxlT2xkZXIs
ICRmaWxlTmV3ZXIpOworCisgICAgIyBtZXJnZUNoYW5nZUxvZ3MoKSBzaG91bGQgcmV0dXJuIDEg
c2luY2UgdGhlIHBhdGNoIHN1Y2NlZWRlZC4KKyAgICBvaygkZXhpdFN0YXR1cyA9PSAxLCAiJHRp
dGxlOiBzaG91bGQgcmV0dXJuIDEgZm9yIHN1Y2Nlc3MiKTsKKworICAgIG9rKHJlYWRGaWxlKCRm
aWxlTWluZSkgZXEgJGZpbGVNaW5lQ29udGVudCwgIiR0aXRsZTogXCRmaWxlTWluZSBzaG91bGQg
YmUgdW5jaGFuZ2VkIik7CisgICAgb2socmVhZEZpbGUoJGZpbGVPbGRlcikgZXEgJGZpbGVPbGRl
ckNvbnRlbnQsICIkdGl0bGU6IFwkZmlsZU9sZGVyIHNob3VsZCBiZSB1bmNoYW5nZWQiKTsKKwor
ICAgIG15ICRleHBlY3RlZENvbnRlbnQgPSA8PCdFT0YnOworMjAxMC0wMS0yOSAgT2xpdmVyIEh1
bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgorCisgICAgICAgIEpTQyBpcyBmYWlsaW5nIHRvIHByb3BhZ2F0ZSBhbm9ueW1vdXMgc2xvdCBj
b3VudCBvbiBzb21lIHRyYW5zaXRpb25zCisKK0VPRgorICAgICRleHBlY3RlZENvbnRlbnQgLj0g
JGZpbGVOZXdlckNvbnRlbnQ7CisgICAgb2socmVhZEZpbGUoJGZpbGVOZXdlcikgZXEgJGV4cGVj
dGVkQ29udGVudCwgIiR0aXRsZTogXCRmaWxlTmV3ZXIgc2hvdWxkIGJlIHVwZGF0ZWQgdG8gaW5j
bHVkZSBwYXRjaCIpOworCisgICAgdW5saW5rKCRmaWxlTWluZSwgJGZpbGVPbGRlciwgJGZpbGVO
ZXdlcik7Cit9CisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworeworICAgICMgTmV3IHRl
c3QKKyAgICBteSAkdGl0bGUgPSAibWVyZ2VDaGFuZ2VMb2dzOiB0cmFkaXRpb25hbCByZWplY3Rl
ZCBwYXRjaCBmYWlsdXJlIjsKKworICAgIG15ICRmaWxlTmV3ZXJDb250ZW50ID0gPDwnRU9GJzsK
KzIwMTAtMDEtMjkgIE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KKworICAgICAgICBGaXgg
dGhlIE1hYyBidWlsZC4KKworICAgICAgICBEaXNhYmxlIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
IHNpbmNlIGl0IGlzICJjb21wbGV0ZWx5IG5vbi1mdW5jdGlvbmFsIi4KKworMjAxMC0wMS0yOSAg
U2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CisKKyAgICAgICAgUnVi
YmVyLXN0YW1wZWQgYnkgTWFjaWVqIFN0YWNob3dpYWsuCisKKyAgICAgICAgRml4IHRoZSBBUk0g
YnVpbGQuCitFT0YKKyAgICBteSAkZmlsZU5ld2VyID0gd3JpdGVUZW1wRmlsZSgiZmlsZSIsICIi
LCAkZmlsZU5ld2VyQ29udGVudCk7CisKKyAgICBteSAkZmlsZU1pbmVDb250ZW50ID0gPDwnRU9G
JzsKKyoqKioqKioqKioqKioqKgorKioqIDEsOSAqKioqCistIDIwMTAtMDEtMjkgIE9saXZlciBI
dW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKy0gCistICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCistIAorLSAgICAgICAgIEpTQyBpcyBmYWlsaW5nIHRvIHByb3BhZ2F0ZSBhbm9ueW1v
dXMgc2xvdCBjb3VudCBvbiBzb21lIHRyYW5zaXRpb25zCistIAorICAyMDEwLTAxLTI5ICBTaW1v
biBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4KKyAgCisgICAgICAgICAgUnVi
YmVyLXN0YW1wZWQgYnkgTWFjaWVqIFN0YWNob3dpYWsuCistLS0gMSwzIC0tLS0KKyAgMjAxMC0w
MS0yOSAgU2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CisgIAorICAg
ICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5IE1hY2llaiBTdGFjaG93aWFrLgorRU9GCisgICAgbXkg
JGZpbGVNaW5lID0gd3JpdGVUZW1wRmlsZSgiZmlsZSIsICIucmVqIiwgJGZpbGVNaW5lQ29udGVu
dCk7CisgICAgcmVuYW1lKCRmaWxlTWluZSwgJGZpbGVOZXdlciAuICIucmVqIik7CisgICAgJGZp
bGVNaW5lID0gJGZpbGVOZXdlciAuICIucmVqIjsKKworICAgIG15ICRmaWxlT2xkZXJDb250ZW50
ID0gJGZpbGVOZXdlckNvbnRlbnQ7CisgICAgbXkgJGZpbGVPbGRlciA9IHdyaXRlVGVtcEZpbGUo
ImZpbGUiLCAiLm9yaWciLCAkZmlsZU9sZGVyQ29udGVudCk7CisgICAgcmVuYW1lKCRmaWxlT2xk
ZXIsICRmaWxlTmV3ZXIgLiAiLm9yaWciKTsKKyAgICAkZmlsZU9sZGVyID0gJGZpbGVOZXdlciAu
ICIub3JpZyI7CisKKyAgICBteSAkZXhpdFN0YXR1cyA9IG1lcmdlQ2hhbmdlTG9ncygkZmlsZU1p
bmUsICRmaWxlT2xkZXIsICRmaWxlTmV3ZXIpOworCisgICAgIyBtZXJnZUNoYW5nZUxvZ3MoKSBz
aG91bGQgcmV0dXJuIDAgc2luY2UgdGhlIHBhdGNoIGZhaWxlZC4KKyAgICBvaygkZXhpdFN0YXR1
cyA9PSAwLCAiJHRpdGxlOiBzaG91bGQgcmV0dXJuIDAgZm9yIGZhaWx1cmUiKTsKKworICAgIG9r
KHJlYWRGaWxlKCRmaWxlTWluZSkgZXEgJGZpbGVNaW5lQ29udGVudCwgIiR0aXRsZTogXCRmaWxl
TWluZSBzaG91bGQgYmUgdW5jaGFuZ2VkIik7CisgICAgb2socmVhZEZpbGUoJGZpbGVPbGRlcikg
ZXEgJGZpbGVPbGRlckNvbnRlbnQsICIkdGl0bGU6IFwkZmlsZU9sZGVyIHNob3VsZCBiZSB1bmNo
YW5nZWQiKTsKKyAgICBvayhyZWFkRmlsZSgkZmlsZU5ld2VyKSBlcSAkZmlsZU5ld2VyQ29udGVu
dCwgIiR0aXRsZTogXCRmaWxlTmV3ZXIgc2hvdWxkIGJlIHVuY2hhbmdlZCIpOworCisgICAgdW5s
aW5rKCRmaWxlTWluZSwgJGZpbGVPbGRlciwgJGZpbGVOZXdlcik7Cit9CisKKyMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KKworeworICAgICMgTmV3IHRlc3QKKyAgICBteSAkdGl0bGUgPSAibWVy
Z2VDaGFuZ2VMb2dzOiBwYXRjaCBzdWNjZWVkcyI7CisKKyAgICBteSAkZmlsZU1pbmVDb250ZW50
ID0gPDwnRU9GJzsKKzIwMTAtMDEtMjkgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBKU0MgaXMgZmFp
bGluZyB0byBwcm9wYWdhdGUgYW5vbnltb3VzIHNsb3QgY291bnQgb24gc29tZSB0cmFuc2l0aW9u
cworCisyMDEwLTAxLTI5ICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNv
bT4KKworICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBNYWNpZWogU3RhY2hvd2lhay4KKworICAg
ICAgICBGaXggdGhlIEFSTSBidWlsZC4KK0VPRgorICAgIG15ICRmaWxlTWluZSA9IHdyaXRlVGVt
cEZpbGUoImZpbGVNaW5lIiwgIiIsICRmaWxlTWluZUNvbnRlbnQpOworCisgICAgbXkgJGZpbGVP
bGRlckNvbnRlbnQgPSA8PCdFT0YnOworMjAxMC0wMS0yOSAgU2ltb24gSGF1c21hbm4gIDxzaW1v
bi5oYXVzbWFubkBub2tpYS5jb20+CisKKyAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgTWFjaWVq
IFN0YWNob3dpYWsuCisKKyAgICAgICAgRml4IHRoZSBBUk0gYnVpbGQuCitFT0YKKyAgICBteSAk
ZmlsZU9sZGVyID0gd3JpdGVUZW1wRmlsZSgiZmlsZU9sZGVyIiwgIiIsICRmaWxlT2xkZXJDb250
ZW50KTsKKworICAgIG15ICRmaWxlTmV3ZXJDb250ZW50ID0gPDwnRU9GJzsKKzIwMTAtMDEtMjkg
IE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KKworICAgICAgICBGaXggdGhlIE1hYyBidWls
ZC4KKworICAgICAgICBEaXNhYmxlIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFIHNpbmNlIGl0IGlz
ICJjb21wbGV0ZWx5IG5vbi1mdW5jdGlvbmFsIi4KKworMjAxMC0wMS0yOSAgU2ltb24gSGF1c21h
bm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CisKKyAgICAgICAgUnViYmVyLXN0YW1wZWQg
YnkgTWFjaWVqIFN0YWNob3dpYWsuCisKKyAgICAgICAgRml4IHRoZSBBUk0gYnVpbGQuCitFT0YK
KyAgICBteSAkZmlsZU5ld2VyID0gd3JpdGVUZW1wRmlsZSgiZmlsZU5ld2VyIiwgIiIsICRmaWxl
TmV3ZXJDb250ZW50KTsKKworICAgIG15ICRleGl0U3RhdHVzID0gbWVyZ2VDaGFuZ2VMb2dzKCRm
aWxlTWluZSwgJGZpbGVPbGRlciwgJGZpbGVOZXdlcik7CisKKyAgICAjIG1lcmdlQ2hhbmdlTG9n
cygpIHNob3VsZCByZXR1cm4gMSBzaW5jZSB0aGUgcGF0Y2ggc3VjY2VlZGVkLgorICAgIG9rKCRl
eGl0U3RhdHVzID09IDEsICIkdGl0bGU6IHNob3VsZCByZXR1cm4gMSBmb3Igc3VjY2VzcyIpOwor
CisgICAgb2socmVhZEZpbGUoJGZpbGVNaW5lKSBlcSAkZmlsZU1pbmVDb250ZW50LCAiJHRpdGxl
OiBcJGZpbGVNaW5lIHNob3VsZCBiZSB1bmNoYW5nZWQiKTsKKyAgICBvayhyZWFkRmlsZSgkZmls
ZU9sZGVyKSBlcSAkZmlsZU9sZGVyQ29udGVudCwgIiR0aXRsZTogXCRmaWxlT2xkZXIgc2hvdWxk
IGJlIHVuY2hhbmdlZCIpOworCisgICAgbXkgJGV4cGVjdGVkQ29udGVudCA9IDw8J0VPRic7Cisy
MDEwLTAxLTI5ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgSlNDIGlzIGZhaWxpbmcgdG8gcHJvcGFn
YXRlIGFub255bW91cyBzbG90IGNvdW50IG9uIHNvbWUgdHJhbnNpdGlvbnMKKworRU9GCisgICAg
JGV4cGVjdGVkQ29udGVudCAuPSAkZmlsZU5ld2VyQ29udGVudDsKKworICAgIG9rKHJlYWRGaWxl
KCRmaWxlTmV3ZXIpIGVxICRleHBlY3RlZENvbnRlbnQsICIkdGl0bGU6IFwkZmlsZU5ld2VyIHNo
b3VsZCBiZSBwYXRjaGVkIik7CisKKyAgICB1bmxpbmsoJGZpbGVNaW5lLCAkZmlsZU9sZGVyLCAk
ZmlsZU5ld2VyKTsKK30KKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51555</attachid>
            <date>2010-03-24 15:06:23 -0700</date>
            <delta_ts>2010-03-24 15:09:19 -0700</delta_ts>
            <desc>Patch 1/2 (webkit-patch FAIL AGAIN)</desc>
            <filename>bug-36560-20100324150621.patch</filename>
            <type>text/plain</type>
            <size>15379</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAyN2Q3ZmVjLi5kYzFhOWQ4IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTAtMDMt
MjQgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICByZXNvbHZl
LUNoYW5nZUxvZ3M6IG1vdmUgbWVyZ2VDaGFuZ2VzKCkgaW50byBWQ1NVdGlscyBwYWNrYWdlCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRz
L1ZDU1V0aWxzLnBtOgorICAgICAgICAobWVyZ2VDaGFuZ2VMb2dzKTogQ29waWVkIGZyb20gbWVy
Z2VDaGFuZ2VzKCkgaW4KKyAgICAgICAgcmVzb2x2ZS1DaGFuZ2VMb2dzIGFuZCByZW5hbWVkLiAg
QWRkZWQgbWV0aG9kIGRvY3VtZW50YXRpb24uCisgICAgICAgIEZpeGVkIGJ1ZyBmb3VuZCBieSBu
ZXcgdGVzdHMgd2hlcmUgdGhlIG9yaWdpbmFsIGZpbGUgdG8gYmUKKyAgICAgICAgcGF0Y2hlZCB3
YXMgZGVsZXRlZCB3aGVuIGNsZWFuaW5nIHVwIGFmdGVyIGEgdHJhZGl0aW5hbCByZWplY3RlZAor
ICAgICAgICBwYXRjaCBmYWlsZWQgdG8gYXBwbHkuCisgICAgICAgICogU2NyaXB0cy9yZXNvbHZl
LUNoYW5nZUxvZ3M6IFN3aXRjaGVkIHRvIHVzaW5nCisgICAgICAgIG1lcmdlQ2hhbmdlTG9ncygp
LgorICAgICAgICAobWVyZ2VDaGFuZ2VzKTogTW92ZWQgdG8gVkNTVXRpbHMucG0gYW5kIHJlbmFt
ZWQgdG8KKyAgICAgICAgbWVyZ2VDaGFuZ2VMb2dzKCkuCisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRwZXJsL1ZDU1V0aWxzX3VuaXR0ZXN0L21lcmdlQ2hhbmdlTG9ncy5wbDogQWRkZWQuCisKIDIw
MTAtMDMtMjIgIENocmlzIEplcmRvbmVrICA8Y2plcmRvbmVrQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1Njcmlw
dHMvVkNTVXRpbHMucG0gYi9XZWJLaXRUb29scy9TY3JpcHRzL1ZDU1V0aWxzLnBtCmluZGV4IDAy
MmM3MmEuLmFmOTIxOWIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMu
cG0KKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9WQ1NVdGlscy5wbQpAQCAtNjEsNiArNjEsNyBA
QCBCRUdJTiB7CiAgICAgICAgICZpc1NWTkRpcmVjdG9yeQogICAgICAgICAmaXNTVk5WZXJzaW9u
MTZPck5ld2VyCiAgICAgICAgICZtYWtlRmlsZVBhdGhSZWxhdGl2ZQorICAgICAgICAmbWVyZ2VD
aGFuZ2VMb2dzCiAgICAgICAgICZub3JtYWxpemVQYXRoCiAgICAgICAgICZwYXJzZVBhdGNoCiAg
ICAgICAgICZwYXRoUmVsYXRpdmVUb1NWTlJlcG9zaXRvcnlSb290Rm9yUGF0aApAQCAtODE1LDYg
KzgxNiw3OCBAQCBzdWIgcnVuUGF0Y2hDb21tYW5kKCQkJDskKQogICAgIHJldHVybiAkZXhpdFN0
YXR1czsKIH0KIAorIyBNZXJnZSBDaGFuZ2VMb2cgcGF0Y2hlcyB1c2luZyBhIHRocmVlLWZpbGUg
YXBwcm9hY2guCisjCisjIFRoaXMgaXMgdXNlZCBieSByZXNvbHZlLUNoYW5nZUxvZ3Mgd2hlbiBp
dCdzIG9wZXJhdGVkIGFzIGEgbWVyZ2UgZHJpdmVyCisjIGFuZCB3aGVuIGl0J3MgdXNlZCB0byBt
ZXJnZSBjb25mbGljdHMgYWZ0ZXIgYSBwYXRjaCBpcyBhcHBsaWVkIG9yIGFmdGVyCisjIGFuIHN2
biB1cGRhdGUuCisjCisjIEl0J3MgYWxzbyB1c2VkIGZvciB0cmFkaXRpb25hbCByZWplY3RlZCBw
YXRjaGVzLgorIworIyBBcmdzOgorIyAgICRmaWxlTWluZTogIFRoZSBtZXJnZWQgdmVyc2lvbiBv
ZiB0aGUgZmlsZS4gIEFsc28ga25vd24gaW4gZ2l0IGFzIHRoZQorIyAgICAgICAgICAgICAgIG90
aGVyIGJyYW5jaCdzIHZlcnNpb24gKCVCKSBvciAib3VycyIuCisjICAgICAgICAgICAgICAgRm9y
IHRyYWRpdGlvbmFsIHBhdGNoIHJlamVjdHMsIHRoaXMgaXMgdGhlICoucmVqIGZpbGUuCisjICAg
JGZpbGVPbGRlcjogVGhlIGJhc2UgdmVyc2lvbiBvZiB0aGUgZmlsZS4gIEFsc28ga25vd24gaW4g
Z2l0IGFzIHRoZQorIyAgICAgICAgICAgICAgIGFuY2VzdG9yIHZlcnNpb24gKCVPKSBvciAiYmFz
ZSIuCisjICAgICAgICAgICAgICAgRm9yIHRyYWRpdGlvbmFsIHBhdGNoIHJlamVjdHMsIHRoaXMg
aXMgdGhlICoub3JpZyBmaWxlLgorIyAgICRmaWxlTmV3ZXI6IFRoZSBjdXJyZW50IHZlcnNpb24g
b2YgdGhlIGZpbGUuICBBbHNvIGtub3duIGluIGdpdCBhcyB0aGUKKyMgICAgICAgICAgICAgICBj
dXJyZW50IHZlcnNpb24gKCVBKSBvciAidGhlaXJzIi4KKyMgICAgICAgICAgICAgICBGb3IgdHJh
ZGl0aW9uYWwgcGF0Y2ggcmVqZWN0cywgdGhpcyBpcyB0aGUgb3JpZ2luYWwtbmFtZWQKKyMgICAg
ICAgICAgICAgICBmaWxlLgorIworIyBSZXR1cm5zIDEgaWYgbWVyZ2Ugd2FzIHN1Y2Nlc3NmdWws
IGVsc2UgMC4KK3N1YiBtZXJnZUNoYW5nZUxvZ3MoJCQkKQoreworICAgIG15ICgkZmlsZU1pbmUs
ICRmaWxlT2xkZXIsICRmaWxlTmV3ZXIpID0gQF87CisKKyAgICBteSAkdHJhZGl0aW9uYWxSZWpl
Y3QgPSAkZmlsZU1pbmUgPX4gL1wucmVqJC8gPyAxIDogMDsKKworICAgIGxvY2FsICQvID0gdW5k
ZWY7CisKKyAgICBteSAkcGF0Y2g7CisgICAgaWYgKCR0cmFkaXRpb25hbFJlamVjdCkgeworICAg
ICAgICBvcGVuKERJRkYsICI8IiwgJGZpbGVNaW5lKSBvciBkaWUgJCE7CisgICAgICAgICRwYXRj
aCA9IDxESUZGPjsKKyAgICAgICAgY2xvc2UoRElGRik7CisgICAgICAgIHJlbmFtZSgkZmlsZU1p
bmUsICIkZmlsZU1pbmUuc2F2ZSIpOworICAgICAgICByZW5hbWUoJGZpbGVPbGRlciwgIiRmaWxl
T2xkZXIuc2F2ZSIpOworICAgIH0gZWxzZSB7CisgICAgICAgIG9wZW4oRElGRiwgIi18IiwgcXco
ZGlmZiAtdSAtYSAtLWJpbmFyeSksICRmaWxlT2xkZXIsICRmaWxlTWluZSkgb3IgZGllICQhOwor
ICAgICAgICAkcGF0Y2ggPSA8RElGRj47CisgICAgICAgIGNsb3NlKERJRkYpOworICAgIH0KKwor
ICAgIHVubGluaygiJHtmaWxlTmV3ZXJ9Lm9yaWciKTsKKyAgICB1bmxpbmsoIiR7ZmlsZU5ld2Vy
fS5yZWoiKTsKKworICAgIG9wZW4oUEFUQ0gsICJ8IHBhdGNoIC0tZnV6ej0zIC0tYmluYXJ5ICRm
aWxlTmV3ZXIgPiAiIC4gRmlsZTo6U3BlYy0+ZGV2bnVsbCgpKSBvciBkaWUgJCE7CisgICAgcHJp
bnQgUEFUQ0ggKCR0cmFkaXRpb25hbFJlamVjdCA/ICRwYXRjaCA6IGZpeENoYW5nZUxvZ1BhdGNo
KCRwYXRjaCkpOworICAgIGNsb3NlKFBBVENIKTsKKworICAgIG15ICRyZXN1bHQ7CisKKyAgICAj
IFJlZnVzZSB0byBtZXJnZSB0aGUgcGF0Y2ggaWYgaXQgZGlkIG5vdCBhcHBseSBjbGVhbmx5Cisg
ICAgaWYgKC1lICIke2ZpbGVOZXdlcn0ucmVqIikgeworICAgICAgICB1bmxpbmsoIiR7ZmlsZU5l
d2VyfS5yZWoiKTsKKyAgICAgICAgaWYgKC1mICIke2ZpbGVOZXdlcn0ub3JpZyIpIHsKKyAgICAg
ICAgICAgIHVubGluaygkZmlsZU5ld2VyKTsKKyAgICAgICAgICAgIHJlbmFtZSgiJHtmaWxlTmV3
ZXJ9Lm9yaWciLCAkZmlsZU5ld2VyKTsKKyAgICAgICAgfQorICAgICAgICAkcmVzdWx0ID0gMDsK
KyAgICB9IGVsc2UgeworICAgICAgICB1bmxpbmsoIiR7ZmlsZU5ld2VyfS5vcmlnIik7CisgICAg
ICAgICRyZXN1bHQgPSAxOworICAgIH0KKworICAgIGlmICgkdHJhZGl0aW9uYWxSZWplY3QpIHsK
KyAgICAgICAgcmVuYW1lKCIkZmlsZU1pbmUuc2F2ZSIsICRmaWxlTWluZSk7CisgICAgICAgIHJl
bmFtZSgiJGZpbGVPbGRlci5zYXZlIiwgJGZpbGVPbGRlcik7CisgICAgfQorCisgICAgcmV0dXJu
ICRyZXN1bHQ7Cit9CisKIHN1YiBnaXRDb25maWcoJCkKIHsKICAgICByZXR1cm4gdW5sZXNzICRp
c0dpdDsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvcmVzb2x2ZS1DaGFuZ2VMb2dz
IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9yZXNvbHZlLUNoYW5nZUxvZ3MKaW5kZXggMzIzODM1MC4u
OTIxMzIwMiAxMDA3NTUKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9yZXNvbHZlLUNoYW5nZUxv
Z3MKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9yZXNvbHZlLUNoYW5nZUxvZ3MKQEAgLTQ5LDcg
KzQ5LDYgQEAgc3ViIGZpeE1lcmdlZENoYW5nZUxvZ3MoJDtAKTsKIHN1YiBmaXhPbmVNZXJnZWRD
aGFuZ2VMb2coJCk7CiBzdWIgaGFzR2l0VW5tZXJnZWRGaWxlcygpOwogc3ViIGlzSW5HaXRGaWx0
ZXJCcmFuY2goKTsKLXN1YiBtZXJnZUNoYW5nZXMoJCQkKTsKIHN1YiBwYXJzZUZpeE1lcmdlZCgk
JDskKTsKIHN1YiByZW1vdmVDaGFuZ2VMb2dBcmd1bWVudHMoJCk7CiBzdWIgcmVzb2x2ZUNoYW5n
ZUxvZygkKTsKQEAgLTEzMCw3ICsxMjksNyBAQCBpZiAoZGVmaW5lZCAkZml4TWVyZ2VkICYmIGxl
bmd0aCgkZml4TWVyZ2VkKSA+IDApIHsKICAgICBmaXhNZXJnZWRDaGFuZ2VMb2dzKCRjb21taXRS
YW5nZSwgQGNoYW5nZUxvZ0ZpbGVzKTsKIH0gZWxzaWYgKCRtZXJnZURyaXZlcikgewogICAgIG15
ICgkYmFzZSwgJHRoZWlycywgJG91cnMpID0gQEFSR1Y7Ci0gICAgaWYgKG1lcmdlQ2hhbmdlcygk
b3VycywgJGJhc2UsICR0aGVpcnMpKSB7CisgICAgaWYgKG1lcmdlQ2hhbmdlTG9ncygkb3Vycywg
JGJhc2UsICR0aGVpcnMpKSB7CiAgICAgICAgIHVubGluaygkb3Vycyk7CiAgICAgICAgIGNvcHko
JHRoZWlycywgJG91cnMpIG9yIGRpZSAkITsKICAgICB9IGVsc2UgewpAQCAtNDAxLDU1ICs0MDAs
NiBAQCBzdWIgaXNJbkdpdEZpbHRlckJyYW5jaCgpCiAgICAgcmV0dXJuIGV4aXN0cyAkRU5We01B
UFBFRF9QUkVWSU9VU19DT01NSVR9ICYmICRFTlZ7TUFQUEVEX1BSRVZJT1VTX0NPTU1JVH07CiB9
CiAKLXN1YiBtZXJnZUNoYW5nZXMoJCQkKQotewotICAgIG15ICgkZmlsZU1pbmUsICRmaWxlT2xk
ZXIsICRmaWxlTmV3ZXIpID0gQF87Ci0KLSAgICBteSAkdHJhZGl0aW9uYWxSZWplY3QgPSAkZmls
ZU1pbmUgPX4gL1wucmVqJC8gPyAxIDogMDsKLQotICAgIGxvY2FsICQvID0gdW5kZWY7Ci0KLSAg
ICBteSAkcGF0Y2g7Ci0gICAgaWYgKCR0cmFkaXRpb25hbFJlamVjdCkgewotICAgICAgICBvcGVu
KERJRkYsICI8IiwgJGZpbGVNaW5lKSBvciBkaWUgJCE7Ci0gICAgICAgICRwYXRjaCA9IDxESUZG
PjsKLSAgICAgICAgY2xvc2UoRElGRik7Ci0gICAgICAgIHJlbmFtZSgkZmlsZU1pbmUsICIkZmls
ZU1pbmUuc2F2ZSIpOwotICAgICAgICByZW5hbWUoJGZpbGVPbGRlciwgIiRmaWxlT2xkZXIuc2F2
ZSIpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIG9wZW4oRElGRiwgIi18IiwgcXcoZGlmZiAtdSAt
YSAtLWJpbmFyeSksICRmaWxlT2xkZXIsICRmaWxlTWluZSkgb3IgZGllICQhOwotICAgICAgICAk
cGF0Y2ggPSA8RElGRj47Ci0gICAgICAgIGNsb3NlKERJRkYpOwotICAgIH0KLQotICAgIHVubGlu
aygiJHtmaWxlTmV3ZXJ9Lm9yaWciKTsKLSAgICB1bmxpbmsoIiR7ZmlsZU5ld2VyfS5yZWoiKTsK
LQotICAgIG9wZW4oUEFUQ0gsICJ8IHBhdGNoIC0tZnV6ej0zIC0tYmluYXJ5ICRmaWxlTmV3ZXIg
PiAiIC4gRmlsZTo6U3BlYy0+ZGV2bnVsbCgpKSBvciBkaWUgJCE7Ci0gICAgcHJpbnQgUEFUQ0gg
Zml4Q2hhbmdlTG9nUGF0Y2goJHBhdGNoKTsKLSAgICBjbG9zZShQQVRDSCk7Ci0KLSAgICBteSAk
cmVzdWx0OwotCi0gICAgIyBSZWZ1c2UgdG8gbWVyZ2UgdGhlIHBhdGNoIGlmIGl0IGRpZCBub3Qg
YXBwbHkgY2xlYW5seQotICAgIGlmICgtZSAiJHtmaWxlTmV3ZXJ9LnJlaiIpIHsKLSAgICAgICAg
dW5saW5rKCIke2ZpbGVOZXdlcn0ucmVqIik7Ci0gICAgICAgIHVubGluaygkZmlsZU5ld2VyKTsK
LSAgICAgICAgcmVuYW1lKCIke2ZpbGVOZXdlcn0ub3JpZyIsICRmaWxlTmV3ZXIpOwotICAgICAg
ICAkcmVzdWx0ID0gMDsKLSAgICB9IGVsc2UgewotICAgICAgICB1bmxpbmsoIiR7ZmlsZU5ld2Vy
fS5vcmlnIik7Ci0gICAgICAgICRyZXN1bHQgPSAxOwotICAgIH0KLQotICAgIGlmICgkdHJhZGl0
aW9uYWxSZWplY3QpIHsKLSAgICAgICAgcmVuYW1lKCIkZmlsZU1pbmUuc2F2ZSIsICRmaWxlTWlu
ZSk7Ci0gICAgICAgIHJlbmFtZSgiJGZpbGVPbGRlci5zYXZlIiwgJGZpbGVPbGRlcik7Ci0gICAg
fQotCi0gICAgcmV0dXJuICRyZXN1bHQ7Ci19Ci0KIHN1YiBwYXJzZUZpeE1lcmdlZCgkJDskKQog
ewogICAgIG15ICgkc3dpdGNoTmFtZSwgJGtleSwgJHZhbHVlKSA9IEBfOwpAQCAtNDkxLDcgKzQ0
MSw3IEBAIHN1YiByZXNvbHZlQ2hhbmdlTG9nKCQpCiAKICAgICByZXR1cm4gdW5sZXNzICRmaWxl
TWluZSAmJiAkZmlsZU9sZGVyICYmICRmaWxlTmV3ZXI7CiAKLSAgICBpZiAobWVyZ2VDaGFuZ2Vz
KCRmaWxlTWluZSwgJGZpbGVPbGRlciwgJGZpbGVOZXdlcikpIHsKKyAgICBpZiAobWVyZ2VDaGFu
Z2VMb2dzKCRmaWxlTWluZSwgJGZpbGVPbGRlciwgJGZpbGVOZXdlcikpIHsKICAgICAgICAgaWYg
KCRmaWxlIG5lICRmaWxlTmV3ZXIpIHsKICAgICAgICAgICAgIHVubGluaygkZmlsZSk7CiAgICAg
ICAgICAgICByZW5hbWUoJGZpbGVOZXdlciwgJGZpbGUpIG9yIGRpZSAkITsKZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9WQ1NVdGlsc191bml0dGVzdC9tZXJnZUNo
YW5nZUxvZ3MucGwgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHBlcmwvVkNTVXRpbHNfdW5p
dHRlc3QvbWVyZ2VDaGFuZ2VMb2dzLnBsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjA0ZTVjMzQKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtp
dHBlcmwvVkNTVXRpbHNfdW5pdHRlc3QvbWVyZ2VDaGFuZ2VMb2dzLnBsCkBAIC0wLDAgKzEsMjY1
IEBACisjIS91c3IvYmluL3BlcmwKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUg
bWV0OgorIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIyAKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisj
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyMgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworIyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04KKyMgQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMK
KyMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisKKyMgVW5pdCB0ZXN0cyBvZiBWQ1NVdGlsczo6bWVyZ2VDaGFuZ2VMb2dzKCkuCisK
K3VzZSBzdHJpY3Q7CisKK3VzZSBUZXN0OjpTaW1wbGUgdGVzdHMgPT4gMTI7Cit1c2UgRmlsZTo6
VGVtcCBxdyh0ZW1wZmlsZSk7Cit1c2UgVkNTVXRpbHM7CisKKyMgUmVhZCBjb250ZW50cyBvZiBh
IGZpbGUgYW5kIHJldHVybiBpdC4KK3N1YiByZWFkRmlsZSgkKQoreworICAgIG15ICgkZmlsZU5h
bWUpID0gQF87CisKKyAgICBsb2NhbCAkLzsKKyAgICBvcGVuKEZILCAiPCIsICRmaWxlTmFtZSk7
CisgICAgbXkgJGNvbnRlbnQgPSA8Rkg+OworICAgIGNsb3NlKEZIKTsKKworICAgIHJldHVybiAk
Y29udGVudDsKK30KKworIyBXcml0ZSBhIHRlbXBvcmFyeSBmaWxlIGFuZCByZXR1cm4gdGhlIGZp
bGVuYW1lLgorc3ViIHdyaXRlVGVtcEZpbGUoJCQkKQoreworICAgIG15ICgkbmFtZSwgJGV4dGVu
c2lvbiwgJGNvbnRlbnQpID0gQF87CisKKyAgICBteSAoJEZILCAkZmlsZU5hbWUpID0gdGVtcGZp
bGUoCisgICAgICAgICRuYW1lIC4gIi1YWFhYWFhYWCIsCisgICAgICAgIERJUiA9PiAoJEVOVnsn
VE1QRElSJ30gfHwgIi90bXAiKSwKKyAgICAgICAgVU5MSU5LID0+IDAsCisgICAgKTsKKyAgICBw
cmludCAkRkggJGNvbnRlbnQ7CisgICAgY2xvc2UgJEZIOworCisgICAgaWYgKCRleHRlbnNpb24p
IHsKKyAgICAgICAgbXkgJG5ld0ZpbGVOYW1lID0gJGZpbGVOYW1lIC4gJGV4dGVuc2lvbjsKKyAg
ICAgICAgcmVuYW1lKCRmaWxlTmFtZSwgJG5ld0ZpbGVOYW1lKTsKKyAgICAgICAgJGZpbGVOYW1l
ID0gJG5ld0ZpbGVOYW1lOworICAgIH0KKworICAgIHJldHVybiAkZmlsZU5hbWU7Cit9CisKKyMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworeworICAgICMgTmV3IHRlc3QKKyAgICBteSAkdGl0
bGUgPSAibWVyZ2VDaGFuZ2VMb2dzOiB0cmFkaXRpb25hbCByZWplY3RlZCBwYXRjaCBzdWNjZXNz
IjsKKworICAgIG15ICRmaWxlTmV3ZXJDb250ZW50ID0gPDwnRU9GJzsKKzIwMTAtMDEtMjkgIE1h
cmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KKworICAgICAgICBGaXggdGhlIE1hYyBidWlsZC4K
KworICAgICAgICBEaXNhYmxlIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFIHNpbmNlIGl0IGlzICJj
b21wbGV0ZWx5IG5vbi1mdW5jdGlvbmFsIi4KKworMjAxMC0wMS0yOSAgU2ltb24gSGF1c21hbm4g
IDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CisKKyAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkg
TWFjaWVqIFN0YWNob3dpYWsuCisKKyAgICAgICAgRml4IHRoZSBBUk0gYnVpbGQuCitFT0YKKyAg
ICBteSAkZmlsZU5ld2VyID0gd3JpdGVUZW1wRmlsZSgiZmlsZSIsICIiLCAkZmlsZU5ld2VyQ29u
dGVudCk7CisKKyAgICBteSAkZmlsZU1pbmVDb250ZW50ID0gPDwnRU9GJzsKKyoqKioqKioqKioq
KioqKgorKioqIDEsMyAqKioqCisgIDIwMTAtMDEtMjkgIFNpbW9uIEhhdXNtYW5uICA8c2ltb24u
aGF1c21hbm5Abm9raWEuY29tPgorICAKKyAgICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBNYWNp
ZWogU3RhY2hvd2lhay4KKy0tLSAxLDkgLS0tLQorKyAyMDEwLTAxLTI5ICBPbGl2ZXIgSHVudCAg
PG9saXZlckBhcHBsZS5jb20+CisrIAorKyAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgorKyAKKysgICAgICAgICBKU0MgaXMgZmFpbGluZyB0byBwcm9wYWdhdGUgYW5vbnltb3VzIHNs
b3QgY291bnQgb24gc29tZSB0cmFuc2l0aW9ucworKyAKKyAgMjAxMC0wMS0yOSAgU2ltb24gSGF1
c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CisgIAorICAgICAgICAgIFJ1YmJlci1z
dGFtcGVkIGJ5IE1hY2llaiBTdGFjaG93aWFrLgorRU9GCisgICAgbXkgJGZpbGVNaW5lID0gd3Jp
dGVUZW1wRmlsZSgiZmlsZSIsICIucmVqIiwgJGZpbGVNaW5lQ29udGVudCk7CisgICAgcmVuYW1l
KCRmaWxlTWluZSwgJGZpbGVOZXdlciAuICIucmVqIik7CisgICAgJGZpbGVNaW5lID0gJGZpbGVO
ZXdlciAuICIucmVqIjsKKworICAgIG15ICRmaWxlT2xkZXJDb250ZW50ID0gJGZpbGVOZXdlckNv
bnRlbnQ7CisgICAgbXkgJGZpbGVPbGRlciA9IHdyaXRlVGVtcEZpbGUoImZpbGUiLCAiLm9yaWci
LCAkZmlsZU9sZGVyQ29udGVudCk7CisgICAgcmVuYW1lKCRmaWxlT2xkZXIsICRmaWxlTmV3ZXIg
LiAiLm9yaWciKTsKKyAgICAkZmlsZU9sZGVyID0gJGZpbGVOZXdlciAuICIub3JpZyI7CisKKyAg
ICBteSAkZXhpdFN0YXR1cyA9IG1lcmdlQ2hhbmdlTG9ncygkZmlsZU1pbmUsICRmaWxlT2xkZXIs
ICRmaWxlTmV3ZXIpOworCisgICAgIyBtZXJnZUNoYW5nZUxvZ3MoKSBzaG91bGQgcmV0dXJuIDEg
c2luY2UgdGhlIHBhdGNoIHN1Y2NlZWRlZC4KKyAgICBvaygkZXhpdFN0YXR1cyA9PSAxLCAiJHRp
dGxlOiBzaG91bGQgcmV0dXJuIDEgZm9yIHN1Y2Nlc3MiKTsKKworICAgIG9rKHJlYWRGaWxlKCRm
aWxlTWluZSkgZXEgJGZpbGVNaW5lQ29udGVudCwgIiR0aXRsZTogXCRmaWxlTWluZSBzaG91bGQg
YmUgdW5jaGFuZ2VkIik7CisgICAgb2socmVhZEZpbGUoJGZpbGVPbGRlcikgZXEgJGZpbGVPbGRl
ckNvbnRlbnQsICIkdGl0bGU6IFwkZmlsZU9sZGVyIHNob3VsZCBiZSB1bmNoYW5nZWQiKTsKKwor
ICAgIG15ICRleHBlY3RlZENvbnRlbnQgPSA8PCdFT0YnOworMjAxMC0wMS0yOSAgT2xpdmVyIEh1
bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgorCisgICAgICAgIEpTQyBpcyBmYWlsaW5nIHRvIHByb3BhZ2F0ZSBhbm9ueW1vdXMgc2xvdCBj
b3VudCBvbiBzb21lIHRyYW5zaXRpb25zCisKK0VPRgorICAgICRleHBlY3RlZENvbnRlbnQgLj0g
JGZpbGVOZXdlckNvbnRlbnQ7CisgICAgb2socmVhZEZpbGUoJGZpbGVOZXdlcikgZXEgJGV4cGVj
dGVkQ29udGVudCwgIiR0aXRsZTogXCRmaWxlTmV3ZXIgc2hvdWxkIGJlIHVwZGF0ZWQgdG8gaW5j
bHVkZSBwYXRjaCIpOworCisgICAgdW5saW5rKCRmaWxlTWluZSwgJGZpbGVPbGRlciwgJGZpbGVO
ZXdlcik7Cit9CisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworeworICAgICMgTmV3IHRl
c3QKKyAgICBteSAkdGl0bGUgPSAibWVyZ2VDaGFuZ2VMb2dzOiB0cmFkaXRpb25hbCByZWplY3Rl
ZCBwYXRjaCBmYWlsdXJlIjsKKworICAgIG15ICRmaWxlTmV3ZXJDb250ZW50ID0gPDwnRU9GJzsK
KzIwMTAtMDEtMjkgIE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KKworICAgICAgICBGaXgg
dGhlIE1hYyBidWlsZC4KKworICAgICAgICBEaXNhYmxlIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
IHNpbmNlIGl0IGlzICJjb21wbGV0ZWx5IG5vbi1mdW5jdGlvbmFsIi4KKworMjAxMC0wMS0yOSAg
U2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CisKKyAgICAgICAgUnVi
YmVyLXN0YW1wZWQgYnkgTWFjaWVqIFN0YWNob3dpYWsuCisKKyAgICAgICAgRml4IHRoZSBBUk0g
YnVpbGQuCitFT0YKKyAgICBteSAkZmlsZU5ld2VyID0gd3JpdGVUZW1wRmlsZSgiZmlsZSIsICIi
LCAkZmlsZU5ld2VyQ29udGVudCk7CisKKyAgICBteSAkZmlsZU1pbmVDb250ZW50ID0gPDwnRU9G
JzsKKyoqKioqKioqKioqKioqKgorKioqIDEsOSAqKioqCistIDIwMTAtMDEtMjkgIE9saXZlciBI
dW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKy0gCistICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCistIAorLSAgICAgICAgIEpTQyBpcyBmYWlsaW5nIHRvIHByb3BhZ2F0ZSBhbm9ueW1v
dXMgc2xvdCBjb3VudCBvbiBzb21lIHRyYW5zaXRpb25zCistIAorICAyMDEwLTAxLTI5ICBTaW1v
biBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4KKyAgCisgICAgICAgICAgUnVi
YmVyLXN0YW1wZWQgYnkgTWFjaWVqIFN0YWNob3dpYWsuCistLS0gMSwzIC0tLS0KKyAgMjAxMC0w
MS0yOSAgU2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CisgIAorICAg
ICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5IE1hY2llaiBTdGFjaG93aWFrLgorRU9GCisgICAgbXkg
JGZpbGVNaW5lID0gd3JpdGVUZW1wRmlsZSgiZmlsZSIsICIucmVqIiwgJGZpbGVNaW5lQ29udGVu
dCk7CisgICAgcmVuYW1lKCRmaWxlTWluZSwgJGZpbGVOZXdlciAuICIucmVqIik7CisgICAgJGZp
bGVNaW5lID0gJGZpbGVOZXdlciAuICIucmVqIjsKKworICAgIG15ICRmaWxlT2xkZXJDb250ZW50
ID0gJGZpbGVOZXdlckNvbnRlbnQ7CisgICAgbXkgJGZpbGVPbGRlciA9IHdyaXRlVGVtcEZpbGUo
ImZpbGUiLCAiLm9yaWciLCAkZmlsZU9sZGVyQ29udGVudCk7CisgICAgcmVuYW1lKCRmaWxlT2xk
ZXIsICRmaWxlTmV3ZXIgLiAiLm9yaWciKTsKKyAgICAkZmlsZU9sZGVyID0gJGZpbGVOZXdlciAu
ICIub3JpZyI7CisKKyAgICBteSAkZXhpdFN0YXR1cyA9IG1lcmdlQ2hhbmdlTG9ncygkZmlsZU1p
bmUsICRmaWxlT2xkZXIsICRmaWxlTmV3ZXIpOworCisgICAgIyBtZXJnZUNoYW5nZUxvZ3MoKSBz
aG91bGQgcmV0dXJuIDAgc2luY2UgdGhlIHBhdGNoIGZhaWxlZC4KKyAgICBvaygkZXhpdFN0YXR1
cyA9PSAwLCAiJHRpdGxlOiBzaG91bGQgcmV0dXJuIDAgZm9yIGZhaWx1cmUiKTsKKworICAgIG9r
KHJlYWRGaWxlKCRmaWxlTWluZSkgZXEgJGZpbGVNaW5lQ29udGVudCwgIiR0aXRsZTogXCRmaWxl
TWluZSBzaG91bGQgYmUgdW5jaGFuZ2VkIik7CisgICAgb2socmVhZEZpbGUoJGZpbGVPbGRlcikg
ZXEgJGZpbGVPbGRlckNvbnRlbnQsICIkdGl0bGU6IFwkZmlsZU9sZGVyIHNob3VsZCBiZSB1bmNo
YW5nZWQiKTsKKyAgICBvayhyZWFkRmlsZSgkZmlsZU5ld2VyKSBlcSAkZmlsZU5ld2VyQ29udGVu
dCwgIiR0aXRsZTogXCRmaWxlTmV3ZXIgc2hvdWxkIGJlIHVuY2hhbmdlZCIpOworCisgICAgdW5s
aW5rKCRmaWxlTWluZSwgJGZpbGVPbGRlciwgJGZpbGVOZXdlcik7Cit9CisKKyMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KKworeworICAgICMgTmV3IHRlc3QKKyAgICBteSAkdGl0bGUgPSAibWVy
Z2VDaGFuZ2VMb2dzOiBwYXRjaCBzdWNjZWVkcyI7CisKKyAgICBteSAkZmlsZU1pbmVDb250ZW50
ID0gPDwnRU9GJzsKKzIwMTAtMDEtMjkgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBKU0MgaXMgZmFp
bGluZyB0byBwcm9wYWdhdGUgYW5vbnltb3VzIHNsb3QgY291bnQgb24gc29tZSB0cmFuc2l0aW9u
cworCisyMDEwLTAxLTI5ICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNv
bT4KKworICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBNYWNpZWogU3RhY2hvd2lhay4KKworICAg
ICAgICBGaXggdGhlIEFSTSBidWlsZC4KK0VPRgorICAgIG15ICRmaWxlTWluZSA9IHdyaXRlVGVt
cEZpbGUoImZpbGVNaW5lIiwgIiIsICRmaWxlTWluZUNvbnRlbnQpOworCisgICAgbXkgJGZpbGVP
bGRlckNvbnRlbnQgPSA8PCdFT0YnOworMjAxMC0wMS0yOSAgU2ltb24gSGF1c21hbm4gIDxzaW1v
bi5oYXVzbWFubkBub2tpYS5jb20+CisKKyAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgTWFjaWVq
IFN0YWNob3dpYWsuCisKKyAgICAgICAgRml4IHRoZSBBUk0gYnVpbGQuCitFT0YKKyAgICBteSAk
ZmlsZU9sZGVyID0gd3JpdGVUZW1wRmlsZSgiZmlsZU9sZGVyIiwgIiIsICRmaWxlT2xkZXJDb250
ZW50KTsKKworICAgIG15ICRmaWxlTmV3ZXJDb250ZW50ID0gPDwnRU9GJzsKKzIwMTAtMDEtMjkg
IE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KKworICAgICAgICBGaXggdGhlIE1hYyBidWls
ZC4KKworICAgICAgICBEaXNhYmxlIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFIHNpbmNlIGl0IGlz
ICJjb21wbGV0ZWx5IG5vbi1mdW5jdGlvbmFsIi4KKworMjAxMC0wMS0yOSAgU2ltb24gSGF1c21h
bm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CisKKyAgICAgICAgUnViYmVyLXN0YW1wZWQg
YnkgTWFjaWVqIFN0YWNob3dpYWsuCisKKyAgICAgICAgRml4IHRoZSBBUk0gYnVpbGQuCitFT0YK
KyAgICBteSAkZmlsZU5ld2VyID0gd3JpdGVUZW1wRmlsZSgiZmlsZU5ld2VyIiwgIiIsICRmaWxl
TmV3ZXJDb250ZW50KTsKKworICAgIG15ICRleGl0U3RhdHVzID0gbWVyZ2VDaGFuZ2VMb2dzKCRm
aWxlTWluZSwgJGZpbGVPbGRlciwgJGZpbGVOZXdlcik7CisKKyAgICAjIG1lcmdlQ2hhbmdlTG9n
cygpIHNob3VsZCByZXR1cm4gMSBzaW5jZSB0aGUgcGF0Y2ggc3VjY2VlZGVkLgorICAgIG9rKCRl
eGl0U3RhdHVzID09IDEsICIkdGl0bGU6IHNob3VsZCByZXR1cm4gMSBmb3Igc3VjY2VzcyIpOwor
CisgICAgb2socmVhZEZpbGUoJGZpbGVNaW5lKSBlcSAkZmlsZU1pbmVDb250ZW50LCAiJHRpdGxl
OiBcJGZpbGVNaW5lIHNob3VsZCBiZSB1bmNoYW5nZWQiKTsKKyAgICBvayhyZWFkRmlsZSgkZmls
ZU9sZGVyKSBlcSAkZmlsZU9sZGVyQ29udGVudCwgIiR0aXRsZTogXCRmaWxlT2xkZXIgc2hvdWxk
IGJlIHVuY2hhbmdlZCIpOworCisgICAgbXkgJGV4cGVjdGVkQ29udGVudCA9IDw8J0VPRic7Cisy
MDEwLTAxLTI5ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgSlNDIGlzIGZhaWxpbmcgdG8gcHJvcGFn
YXRlIGFub255bW91cyBzbG90IGNvdW50IG9uIHNvbWUgdHJhbnNpdGlvbnMKKworRU9GCisgICAg
JGV4cGVjdGVkQ29udGVudCAuPSAkZmlsZU5ld2VyQ29udGVudDsKKworICAgIG9rKHJlYWRGaWxl
KCRmaWxlTmV3ZXIpIGVxICRleHBlY3RlZENvbnRlbnQsICIkdGl0bGU6IFwkZmlsZU5ld2VyIHNo
b3VsZCBiZSBwYXRjaGVkIik7CisKKyAgICB1bmxpbmsoJGZpbGVNaW5lLCAkZmlsZU9sZGVyLCAk
ZmlsZU5ld2VyKTsKK30KKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51556</attachid>
            <date>2010-03-24 15:08:00 -0700</date>
            <delta_ts>2010-03-24 15:09:37 -0700</delta_ts>
            <desc>Patch 1/2 (USER FAIL)</desc>
            <filename>bug-36560-20100324150758.patch</filename>
            <type>text/plain</type>
            <size>15379</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCAyN2Q3ZmVjLi5kYzFhOWQ4IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTAtMDMt
MjQgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKworICAgICAgICByZXNvbHZl
LUNoYW5nZUxvZ3M6IG1vdmUgbWVyZ2VDaGFuZ2VzKCkgaW50byBWQ1NVdGlscyBwYWNrYWdlCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRz
L1ZDU1V0aWxzLnBtOgorICAgICAgICAobWVyZ2VDaGFuZ2VMb2dzKTogQ29waWVkIGZyb20gbWVy
Z2VDaGFuZ2VzKCkgaW4KKyAgICAgICAgcmVzb2x2ZS1DaGFuZ2VMb2dzIGFuZCByZW5hbWVkLiAg
QWRkZWQgbWV0aG9kIGRvY3VtZW50YXRpb24uCisgICAgICAgIEZpeGVkIGJ1ZyBmb3VuZCBieSBu
ZXcgdGVzdHMgd2hlcmUgdGhlIG9yaWdpbmFsIGZpbGUgdG8gYmUKKyAgICAgICAgcGF0Y2hlZCB3
YXMgZGVsZXRlZCB3aGVuIGNsZWFuaW5nIHVwIGFmdGVyIGEgdHJhZGl0aW5hbCByZWplY3RlZAor
ICAgICAgICBwYXRjaCBmYWlsZWQgdG8gYXBwbHkuCisgICAgICAgICogU2NyaXB0cy9yZXNvbHZl
LUNoYW5nZUxvZ3M6IFN3aXRjaGVkIHRvIHVzaW5nCisgICAgICAgIG1lcmdlQ2hhbmdlTG9ncygp
LgorICAgICAgICAobWVyZ2VDaGFuZ2VzKTogTW92ZWQgdG8gVkNTVXRpbHMucG0gYW5kIHJlbmFt
ZWQgdG8KKyAgICAgICAgbWVyZ2VDaGFuZ2VMb2dzKCkuCisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRwZXJsL1ZDU1V0aWxzX3VuaXR0ZXN0L21lcmdlQ2hhbmdlTG9ncy5wbDogQWRkZWQuCisKIDIw
MTAtMDMtMjIgIENocmlzIEplcmRvbmVrICA8Y2plcmRvbmVrQHdlYmtpdC5vcmc+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1Njcmlw
dHMvVkNTVXRpbHMucG0gYi9XZWJLaXRUb29scy9TY3JpcHRzL1ZDU1V0aWxzLnBtCmluZGV4IDAy
MmM3MmEuLmFmOTIxOWIgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMu
cG0KKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9WQ1NVdGlscy5wbQpAQCAtNjEsNiArNjEsNyBA
QCBCRUdJTiB7CiAgICAgICAgICZpc1NWTkRpcmVjdG9yeQogICAgICAgICAmaXNTVk5WZXJzaW9u
MTZPck5ld2VyCiAgICAgICAgICZtYWtlRmlsZVBhdGhSZWxhdGl2ZQorICAgICAgICAmbWVyZ2VD
aGFuZ2VMb2dzCiAgICAgICAgICZub3JtYWxpemVQYXRoCiAgICAgICAgICZwYXJzZVBhdGNoCiAg
ICAgICAgICZwYXRoUmVsYXRpdmVUb1NWTlJlcG9zaXRvcnlSb290Rm9yUGF0aApAQCAtODE1LDYg
KzgxNiw3OCBAQCBzdWIgcnVuUGF0Y2hDb21tYW5kKCQkJDskKQogICAgIHJldHVybiAkZXhpdFN0
YXR1czsKIH0KIAorIyBNZXJnZSBDaGFuZ2VMb2cgcGF0Y2hlcyB1c2luZyBhIHRocmVlLWZpbGUg
YXBwcm9hY2guCisjCisjIFRoaXMgaXMgdXNlZCBieSByZXNvbHZlLUNoYW5nZUxvZ3Mgd2hlbiBp
dCdzIG9wZXJhdGVkIGFzIGEgbWVyZ2UgZHJpdmVyCisjIGFuZCB3aGVuIGl0J3MgdXNlZCB0byBt
ZXJnZSBjb25mbGljdHMgYWZ0ZXIgYSBwYXRjaCBpcyBhcHBsaWVkIG9yIGFmdGVyCisjIGFuIHN2
biB1cGRhdGUuCisjCisjIEl0J3MgYWxzbyB1c2VkIGZvciB0cmFkaXRpb25hbCByZWplY3RlZCBw
YXRjaGVzLgorIworIyBBcmdzOgorIyAgICRmaWxlTWluZTogIFRoZSBtZXJnZWQgdmVyc2lvbiBv
ZiB0aGUgZmlsZS4gIEFsc28ga25vd24gaW4gZ2l0IGFzIHRoZQorIyAgICAgICAgICAgICAgIG90
aGVyIGJyYW5jaCdzIHZlcnNpb24gKCVCKSBvciAib3VycyIuCisjICAgICAgICAgICAgICAgRm9y
IHRyYWRpdGlvbmFsIHBhdGNoIHJlamVjdHMsIHRoaXMgaXMgdGhlICoucmVqIGZpbGUuCisjICAg
JGZpbGVPbGRlcjogVGhlIGJhc2UgdmVyc2lvbiBvZiB0aGUgZmlsZS4gIEFsc28ga25vd24gaW4g
Z2l0IGFzIHRoZQorIyAgICAgICAgICAgICAgIGFuY2VzdG9yIHZlcnNpb24gKCVPKSBvciAiYmFz
ZSIuCisjICAgICAgICAgICAgICAgRm9yIHRyYWRpdGlvbmFsIHBhdGNoIHJlamVjdHMsIHRoaXMg
aXMgdGhlICoub3JpZyBmaWxlLgorIyAgICRmaWxlTmV3ZXI6IFRoZSBjdXJyZW50IHZlcnNpb24g
b2YgdGhlIGZpbGUuICBBbHNvIGtub3duIGluIGdpdCBhcyB0aGUKKyMgICAgICAgICAgICAgICBj
dXJyZW50IHZlcnNpb24gKCVBKSBvciAidGhlaXJzIi4KKyMgICAgICAgICAgICAgICBGb3IgdHJh
ZGl0aW9uYWwgcGF0Y2ggcmVqZWN0cywgdGhpcyBpcyB0aGUgb3JpZ2luYWwtbmFtZWQKKyMgICAg
ICAgICAgICAgICBmaWxlLgorIworIyBSZXR1cm5zIDEgaWYgbWVyZ2Ugd2FzIHN1Y2Nlc3NmdWws
IGVsc2UgMC4KK3N1YiBtZXJnZUNoYW5nZUxvZ3MoJCQkKQoreworICAgIG15ICgkZmlsZU1pbmUs
ICRmaWxlT2xkZXIsICRmaWxlTmV3ZXIpID0gQF87CisKKyAgICBteSAkdHJhZGl0aW9uYWxSZWpl
Y3QgPSAkZmlsZU1pbmUgPX4gL1wucmVqJC8gPyAxIDogMDsKKworICAgIGxvY2FsICQvID0gdW5k
ZWY7CisKKyAgICBteSAkcGF0Y2g7CisgICAgaWYgKCR0cmFkaXRpb25hbFJlamVjdCkgeworICAg
ICAgICBvcGVuKERJRkYsICI8IiwgJGZpbGVNaW5lKSBvciBkaWUgJCE7CisgICAgICAgICRwYXRj
aCA9IDxESUZGPjsKKyAgICAgICAgY2xvc2UoRElGRik7CisgICAgICAgIHJlbmFtZSgkZmlsZU1p
bmUsICIkZmlsZU1pbmUuc2F2ZSIpOworICAgICAgICByZW5hbWUoJGZpbGVPbGRlciwgIiRmaWxl
T2xkZXIuc2F2ZSIpOworICAgIH0gZWxzZSB7CisgICAgICAgIG9wZW4oRElGRiwgIi18IiwgcXco
ZGlmZiAtdSAtYSAtLWJpbmFyeSksICRmaWxlT2xkZXIsICRmaWxlTWluZSkgb3IgZGllICQhOwor
ICAgICAgICAkcGF0Y2ggPSA8RElGRj47CisgICAgICAgIGNsb3NlKERJRkYpOworICAgIH0KKwor
ICAgIHVubGluaygiJHtmaWxlTmV3ZXJ9Lm9yaWciKTsKKyAgICB1bmxpbmsoIiR7ZmlsZU5ld2Vy
fS5yZWoiKTsKKworICAgIG9wZW4oUEFUQ0gsICJ8IHBhdGNoIC0tZnV6ej0zIC0tYmluYXJ5ICRm
aWxlTmV3ZXIgPiAiIC4gRmlsZTo6U3BlYy0+ZGV2bnVsbCgpKSBvciBkaWUgJCE7CisgICAgcHJp
bnQgUEFUQ0ggKCR0cmFkaXRpb25hbFJlamVjdCA/ICRwYXRjaCA6IGZpeENoYW5nZUxvZ1BhdGNo
KCRwYXRjaCkpOworICAgIGNsb3NlKFBBVENIKTsKKworICAgIG15ICRyZXN1bHQ7CisKKyAgICAj
IFJlZnVzZSB0byBtZXJnZSB0aGUgcGF0Y2ggaWYgaXQgZGlkIG5vdCBhcHBseSBjbGVhbmx5Cisg
ICAgaWYgKC1lICIke2ZpbGVOZXdlcn0ucmVqIikgeworICAgICAgICB1bmxpbmsoIiR7ZmlsZU5l
d2VyfS5yZWoiKTsKKyAgICAgICAgaWYgKC1mICIke2ZpbGVOZXdlcn0ub3JpZyIpIHsKKyAgICAg
ICAgICAgIHVubGluaygkZmlsZU5ld2VyKTsKKyAgICAgICAgICAgIHJlbmFtZSgiJHtmaWxlTmV3
ZXJ9Lm9yaWciLCAkZmlsZU5ld2VyKTsKKyAgICAgICAgfQorICAgICAgICAkcmVzdWx0ID0gMDsK
KyAgICB9IGVsc2UgeworICAgICAgICB1bmxpbmsoIiR7ZmlsZU5ld2VyfS5vcmlnIik7CisgICAg
ICAgICRyZXN1bHQgPSAxOworICAgIH0KKworICAgIGlmICgkdHJhZGl0aW9uYWxSZWplY3QpIHsK
KyAgICAgICAgcmVuYW1lKCIkZmlsZU1pbmUuc2F2ZSIsICRmaWxlTWluZSk7CisgICAgICAgIHJl
bmFtZSgiJGZpbGVPbGRlci5zYXZlIiwgJGZpbGVPbGRlcik7CisgICAgfQorCisgICAgcmV0dXJu
ICRyZXN1bHQ7Cit9CisKIHN1YiBnaXRDb25maWcoJCkKIHsKICAgICByZXR1cm4gdW5sZXNzICRp
c0dpdDsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvcmVzb2x2ZS1DaGFuZ2VMb2dz
IGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9yZXNvbHZlLUNoYW5nZUxvZ3MKaW5kZXggMzIzODM1MC4u
OTIxMzIwMiAxMDA3NTUKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9yZXNvbHZlLUNoYW5nZUxv
Z3MKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9yZXNvbHZlLUNoYW5nZUxvZ3MKQEAgLTQ5LDcg
KzQ5LDYgQEAgc3ViIGZpeE1lcmdlZENoYW5nZUxvZ3MoJDtAKTsKIHN1YiBmaXhPbmVNZXJnZWRD
aGFuZ2VMb2coJCk7CiBzdWIgaGFzR2l0VW5tZXJnZWRGaWxlcygpOwogc3ViIGlzSW5HaXRGaWx0
ZXJCcmFuY2goKTsKLXN1YiBtZXJnZUNoYW5nZXMoJCQkKTsKIHN1YiBwYXJzZUZpeE1lcmdlZCgk
JDskKTsKIHN1YiByZW1vdmVDaGFuZ2VMb2dBcmd1bWVudHMoJCk7CiBzdWIgcmVzb2x2ZUNoYW5n
ZUxvZygkKTsKQEAgLTEzMCw3ICsxMjksNyBAQCBpZiAoZGVmaW5lZCAkZml4TWVyZ2VkICYmIGxl
bmd0aCgkZml4TWVyZ2VkKSA+IDApIHsKICAgICBmaXhNZXJnZWRDaGFuZ2VMb2dzKCRjb21taXRS
YW5nZSwgQGNoYW5nZUxvZ0ZpbGVzKTsKIH0gZWxzaWYgKCRtZXJnZURyaXZlcikgewogICAgIG15
ICgkYmFzZSwgJHRoZWlycywgJG91cnMpID0gQEFSR1Y7Ci0gICAgaWYgKG1lcmdlQ2hhbmdlcygk
b3VycywgJGJhc2UsICR0aGVpcnMpKSB7CisgICAgaWYgKG1lcmdlQ2hhbmdlTG9ncygkb3Vycywg
JGJhc2UsICR0aGVpcnMpKSB7CiAgICAgICAgIHVubGluaygkb3Vycyk7CiAgICAgICAgIGNvcHko
JHRoZWlycywgJG91cnMpIG9yIGRpZSAkITsKICAgICB9IGVsc2UgewpAQCAtNDAxLDU1ICs0MDAs
NiBAQCBzdWIgaXNJbkdpdEZpbHRlckJyYW5jaCgpCiAgICAgcmV0dXJuIGV4aXN0cyAkRU5We01B
UFBFRF9QUkVWSU9VU19DT01NSVR9ICYmICRFTlZ7TUFQUEVEX1BSRVZJT1VTX0NPTU1JVH07CiB9
CiAKLXN1YiBtZXJnZUNoYW5nZXMoJCQkKQotewotICAgIG15ICgkZmlsZU1pbmUsICRmaWxlT2xk
ZXIsICRmaWxlTmV3ZXIpID0gQF87Ci0KLSAgICBteSAkdHJhZGl0aW9uYWxSZWplY3QgPSAkZmls
ZU1pbmUgPX4gL1wucmVqJC8gPyAxIDogMDsKLQotICAgIGxvY2FsICQvID0gdW5kZWY7Ci0KLSAg
ICBteSAkcGF0Y2g7Ci0gICAgaWYgKCR0cmFkaXRpb25hbFJlamVjdCkgewotICAgICAgICBvcGVu
KERJRkYsICI8IiwgJGZpbGVNaW5lKSBvciBkaWUgJCE7Ci0gICAgICAgICRwYXRjaCA9IDxESUZG
PjsKLSAgICAgICAgY2xvc2UoRElGRik7Ci0gICAgICAgIHJlbmFtZSgkZmlsZU1pbmUsICIkZmls
ZU1pbmUuc2F2ZSIpOwotICAgICAgICByZW5hbWUoJGZpbGVPbGRlciwgIiRmaWxlT2xkZXIuc2F2
ZSIpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIG9wZW4oRElGRiwgIi18IiwgcXcoZGlmZiAtdSAt
YSAtLWJpbmFyeSksICRmaWxlT2xkZXIsICRmaWxlTWluZSkgb3IgZGllICQhOwotICAgICAgICAk
cGF0Y2ggPSA8RElGRj47Ci0gICAgICAgIGNsb3NlKERJRkYpOwotICAgIH0KLQotICAgIHVubGlu
aygiJHtmaWxlTmV3ZXJ9Lm9yaWciKTsKLSAgICB1bmxpbmsoIiR7ZmlsZU5ld2VyfS5yZWoiKTsK
LQotICAgIG9wZW4oUEFUQ0gsICJ8IHBhdGNoIC0tZnV6ej0zIC0tYmluYXJ5ICRmaWxlTmV3ZXIg
PiAiIC4gRmlsZTo6U3BlYy0+ZGV2bnVsbCgpKSBvciBkaWUgJCE7Ci0gICAgcHJpbnQgUEFUQ0gg
Zml4Q2hhbmdlTG9nUGF0Y2goJHBhdGNoKTsKLSAgICBjbG9zZShQQVRDSCk7Ci0KLSAgICBteSAk
cmVzdWx0OwotCi0gICAgIyBSZWZ1c2UgdG8gbWVyZ2UgdGhlIHBhdGNoIGlmIGl0IGRpZCBub3Qg
YXBwbHkgY2xlYW5seQotICAgIGlmICgtZSAiJHtmaWxlTmV3ZXJ9LnJlaiIpIHsKLSAgICAgICAg
dW5saW5rKCIke2ZpbGVOZXdlcn0ucmVqIik7Ci0gICAgICAgIHVubGluaygkZmlsZU5ld2VyKTsK
LSAgICAgICAgcmVuYW1lKCIke2ZpbGVOZXdlcn0ub3JpZyIsICRmaWxlTmV3ZXIpOwotICAgICAg
ICAkcmVzdWx0ID0gMDsKLSAgICB9IGVsc2UgewotICAgICAgICB1bmxpbmsoIiR7ZmlsZU5ld2Vy
fS5vcmlnIik7Ci0gICAgICAgICRyZXN1bHQgPSAxOwotICAgIH0KLQotICAgIGlmICgkdHJhZGl0
aW9uYWxSZWplY3QpIHsKLSAgICAgICAgcmVuYW1lKCIkZmlsZU1pbmUuc2F2ZSIsICRmaWxlTWlu
ZSk7Ci0gICAgICAgIHJlbmFtZSgiJGZpbGVPbGRlci5zYXZlIiwgJGZpbGVPbGRlcik7Ci0gICAg
fQotCi0gICAgcmV0dXJuICRyZXN1bHQ7Ci19Ci0KIHN1YiBwYXJzZUZpeE1lcmdlZCgkJDskKQog
ewogICAgIG15ICgkc3dpdGNoTmFtZSwgJGtleSwgJHZhbHVlKSA9IEBfOwpAQCAtNDkxLDcgKzQ0
MSw3IEBAIHN1YiByZXNvbHZlQ2hhbmdlTG9nKCQpCiAKICAgICByZXR1cm4gdW5sZXNzICRmaWxl
TWluZSAmJiAkZmlsZU9sZGVyICYmICRmaWxlTmV3ZXI7CiAKLSAgICBpZiAobWVyZ2VDaGFuZ2Vz
KCRmaWxlTWluZSwgJGZpbGVPbGRlciwgJGZpbGVOZXdlcikpIHsKKyAgICBpZiAobWVyZ2VDaGFu
Z2VMb2dzKCRmaWxlTWluZSwgJGZpbGVPbGRlciwgJGZpbGVOZXdlcikpIHsKICAgICAgICAgaWYg
KCRmaWxlIG5lICRmaWxlTmV3ZXIpIHsKICAgICAgICAgICAgIHVubGluaygkZmlsZSk7CiAgICAg
ICAgICAgICByZW5hbWUoJGZpbGVOZXdlciwgJGZpbGUpIG9yIGRpZSAkITsKZGlmZiAtLWdpdCBh
L1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0cGVybC9WQ1NVdGlsc191bml0dGVzdC9tZXJnZUNo
YW5nZUxvZ3MucGwgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHBlcmwvVkNTVXRpbHNfdW5p
dHRlc3QvbWVyZ2VDaGFuZ2VMb2dzLnBsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjA0ZTVjMzQKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtp
dHBlcmwvVkNTVXRpbHNfdW5pdHRlc3QvbWVyZ2VDaGFuZ2VMb2dzLnBsCkBAIC0wLDAgKzEsMjY1
IEBACisjIS91c3IvYmluL3BlcmwKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUg
bWV0OgorIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIyAKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisj
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyMgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworIyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04KKyMgQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyMgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMK
KyMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisKKyMgVW5pdCB0ZXN0cyBvZiBWQ1NVdGlsczo6bWVyZ2VDaGFuZ2VMb2dzKCkuCisK
K3VzZSBzdHJpY3Q7CisKK3VzZSBUZXN0OjpTaW1wbGUgdGVzdHMgPT4gMTI7Cit1c2UgRmlsZTo6
VGVtcCBxdyh0ZW1wZmlsZSk7Cit1c2UgVkNTVXRpbHM7CisKKyMgUmVhZCBjb250ZW50cyBvZiBh
IGZpbGUgYW5kIHJldHVybiBpdC4KK3N1YiByZWFkRmlsZSgkKQoreworICAgIG15ICgkZmlsZU5h
bWUpID0gQF87CisKKyAgICBsb2NhbCAkLzsKKyAgICBvcGVuKEZILCAiPCIsICRmaWxlTmFtZSk7
CisgICAgbXkgJGNvbnRlbnQgPSA8Rkg+OworICAgIGNsb3NlKEZIKTsKKworICAgIHJldHVybiAk
Y29udGVudDsKK30KKworIyBXcml0ZSBhIHRlbXBvcmFyeSBmaWxlIGFuZCByZXR1cm4gdGhlIGZp
bGVuYW1lLgorc3ViIHdyaXRlVGVtcEZpbGUoJCQkKQoreworICAgIG15ICgkbmFtZSwgJGV4dGVu
c2lvbiwgJGNvbnRlbnQpID0gQF87CisKKyAgICBteSAoJEZILCAkZmlsZU5hbWUpID0gdGVtcGZp
bGUoCisgICAgICAgICRuYW1lIC4gIi1YWFhYWFhYWCIsCisgICAgICAgIERJUiA9PiAoJEVOVnsn
VE1QRElSJ30gfHwgIi90bXAiKSwKKyAgICAgICAgVU5MSU5LID0+IDAsCisgICAgKTsKKyAgICBw
cmludCAkRkggJGNvbnRlbnQ7CisgICAgY2xvc2UgJEZIOworCisgICAgaWYgKCRleHRlbnNpb24p
IHsKKyAgICAgICAgbXkgJG5ld0ZpbGVOYW1lID0gJGZpbGVOYW1lIC4gJGV4dGVuc2lvbjsKKyAg
ICAgICAgcmVuYW1lKCRmaWxlTmFtZSwgJG5ld0ZpbGVOYW1lKTsKKyAgICAgICAgJGZpbGVOYW1l
ID0gJG5ld0ZpbGVOYW1lOworICAgIH0KKworICAgIHJldHVybiAkZmlsZU5hbWU7Cit9CisKKyMg
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworeworICAgICMgTmV3IHRlc3QKKyAgICBteSAkdGl0
bGUgPSAibWVyZ2VDaGFuZ2VMb2dzOiB0cmFkaXRpb25hbCByZWplY3RlZCBwYXRjaCBzdWNjZXNz
IjsKKworICAgIG15ICRmaWxlTmV3ZXJDb250ZW50ID0gPDwnRU9GJzsKKzIwMTAtMDEtMjkgIE1h
cmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KKworICAgICAgICBGaXggdGhlIE1hYyBidWlsZC4K
KworICAgICAgICBEaXNhYmxlIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFIHNpbmNlIGl0IGlzICJj
b21wbGV0ZWx5IG5vbi1mdW5jdGlvbmFsIi4KKworMjAxMC0wMS0yOSAgU2ltb24gSGF1c21hbm4g
IDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CisKKyAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkg
TWFjaWVqIFN0YWNob3dpYWsuCisKKyAgICAgICAgRml4IHRoZSBBUk0gYnVpbGQuCitFT0YKKyAg
ICBteSAkZmlsZU5ld2VyID0gd3JpdGVUZW1wRmlsZSgiZmlsZSIsICIiLCAkZmlsZU5ld2VyQ29u
dGVudCk7CisKKyAgICBteSAkZmlsZU1pbmVDb250ZW50ID0gPDwnRU9GJzsKKyoqKioqKioqKioq
KioqKgorKioqIDEsMyAqKioqCisgIDIwMTAtMDEtMjkgIFNpbW9uIEhhdXNtYW5uICA8c2ltb24u
aGF1c21hbm5Abm9raWEuY29tPgorICAKKyAgICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBNYWNp
ZWogU3RhY2hvd2lhay4KKy0tLSAxLDkgLS0tLQorKyAyMDEwLTAxLTI5ICBPbGl2ZXIgSHVudCAg
PG9saXZlckBhcHBsZS5jb20+CisrIAorKyAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgorKyAKKysgICAgICAgICBKU0MgaXMgZmFpbGluZyB0byBwcm9wYWdhdGUgYW5vbnltb3VzIHNs
b3QgY291bnQgb24gc29tZSB0cmFuc2l0aW9ucworKyAKKyAgMjAxMC0wMS0yOSAgU2ltb24gSGF1
c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CisgIAorICAgICAgICAgIFJ1YmJlci1z
dGFtcGVkIGJ5IE1hY2llaiBTdGFjaG93aWFrLgorRU9GCisgICAgbXkgJGZpbGVNaW5lID0gd3Jp
dGVUZW1wRmlsZSgiZmlsZSIsICIucmVqIiwgJGZpbGVNaW5lQ29udGVudCk7CisgICAgcmVuYW1l
KCRmaWxlTWluZSwgJGZpbGVOZXdlciAuICIucmVqIik7CisgICAgJGZpbGVNaW5lID0gJGZpbGVO
ZXdlciAuICIucmVqIjsKKworICAgIG15ICRmaWxlT2xkZXJDb250ZW50ID0gJGZpbGVOZXdlckNv
bnRlbnQ7CisgICAgbXkgJGZpbGVPbGRlciA9IHdyaXRlVGVtcEZpbGUoImZpbGUiLCAiLm9yaWci
LCAkZmlsZU9sZGVyQ29udGVudCk7CisgICAgcmVuYW1lKCRmaWxlT2xkZXIsICRmaWxlTmV3ZXIg
LiAiLm9yaWciKTsKKyAgICAkZmlsZU9sZGVyID0gJGZpbGVOZXdlciAuICIub3JpZyI7CisKKyAg
ICBteSAkZXhpdFN0YXR1cyA9IG1lcmdlQ2hhbmdlTG9ncygkZmlsZU1pbmUsICRmaWxlT2xkZXIs
ICRmaWxlTmV3ZXIpOworCisgICAgIyBtZXJnZUNoYW5nZUxvZ3MoKSBzaG91bGQgcmV0dXJuIDEg
c2luY2UgdGhlIHBhdGNoIHN1Y2NlZWRlZC4KKyAgICBvaygkZXhpdFN0YXR1cyA9PSAxLCAiJHRp
dGxlOiBzaG91bGQgcmV0dXJuIDEgZm9yIHN1Y2Nlc3MiKTsKKworICAgIG9rKHJlYWRGaWxlKCRm
aWxlTWluZSkgZXEgJGZpbGVNaW5lQ29udGVudCwgIiR0aXRsZTogXCRmaWxlTWluZSBzaG91bGQg
YmUgdW5jaGFuZ2VkIik7CisgICAgb2socmVhZEZpbGUoJGZpbGVPbGRlcikgZXEgJGZpbGVPbGRl
ckNvbnRlbnQsICIkdGl0bGU6IFwkZmlsZU9sZGVyIHNob3VsZCBiZSB1bmNoYW5nZWQiKTsKKwor
ICAgIG15ICRleHBlY3RlZENvbnRlbnQgPSA8PCdFT0YnOworMjAxMC0wMS0yOSAgT2xpdmVyIEh1
bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgorCisgICAgICAgIEpTQyBpcyBmYWlsaW5nIHRvIHByb3BhZ2F0ZSBhbm9ueW1vdXMgc2xvdCBj
b3VudCBvbiBzb21lIHRyYW5zaXRpb25zCisKK0VPRgorICAgICRleHBlY3RlZENvbnRlbnQgLj0g
JGZpbGVOZXdlckNvbnRlbnQ7CisgICAgb2socmVhZEZpbGUoJGZpbGVOZXdlcikgZXEgJGV4cGVj
dGVkQ29udGVudCwgIiR0aXRsZTogXCRmaWxlTmV3ZXIgc2hvdWxkIGJlIHVwZGF0ZWQgdG8gaW5j
bHVkZSBwYXRjaCIpOworCisgICAgdW5saW5rKCRmaWxlTWluZSwgJGZpbGVPbGRlciwgJGZpbGVO
ZXdlcik7Cit9CisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworeworICAgICMgTmV3IHRl
c3QKKyAgICBteSAkdGl0bGUgPSAibWVyZ2VDaGFuZ2VMb2dzOiB0cmFkaXRpb25hbCByZWplY3Rl
ZCBwYXRjaCBmYWlsdXJlIjsKKworICAgIG15ICRmaWxlTmV3ZXJDb250ZW50ID0gPDwnRU9GJzsK
KzIwMTAtMDEtMjkgIE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KKworICAgICAgICBGaXgg
dGhlIE1hYyBidWlsZC4KKworICAgICAgICBEaXNhYmxlIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
IHNpbmNlIGl0IGlzICJjb21wbGV0ZWx5IG5vbi1mdW5jdGlvbmFsIi4KKworMjAxMC0wMS0yOSAg
U2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CisKKyAgICAgICAgUnVi
YmVyLXN0YW1wZWQgYnkgTWFjaWVqIFN0YWNob3dpYWsuCisKKyAgICAgICAgRml4IHRoZSBBUk0g
YnVpbGQuCitFT0YKKyAgICBteSAkZmlsZU5ld2VyID0gd3JpdGVUZW1wRmlsZSgiZmlsZSIsICIi
LCAkZmlsZU5ld2VyQ29udGVudCk7CisKKyAgICBteSAkZmlsZU1pbmVDb250ZW50ID0gPDwnRU9G
JzsKKyoqKioqKioqKioqKioqKgorKioqIDEsOSAqKioqCistIDIwMTAtMDEtMjkgIE9saXZlciBI
dW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKy0gCistICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCistIAorLSAgICAgICAgIEpTQyBpcyBmYWlsaW5nIHRvIHByb3BhZ2F0ZSBhbm9ueW1v
dXMgc2xvdCBjb3VudCBvbiBzb21lIHRyYW5zaXRpb25zCistIAorICAyMDEwLTAxLTI5ICBTaW1v
biBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4KKyAgCisgICAgICAgICAgUnVi
YmVyLXN0YW1wZWQgYnkgTWFjaWVqIFN0YWNob3dpYWsuCistLS0gMSwzIC0tLS0KKyAgMjAxMC0w
MS0yOSAgU2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CisgIAorICAg
ICAgICAgIFJ1YmJlci1zdGFtcGVkIGJ5IE1hY2llaiBTdGFjaG93aWFrLgorRU9GCisgICAgbXkg
JGZpbGVNaW5lID0gd3JpdGVUZW1wRmlsZSgiZmlsZSIsICIucmVqIiwgJGZpbGVNaW5lQ29udGVu
dCk7CisgICAgcmVuYW1lKCRmaWxlTWluZSwgJGZpbGVOZXdlciAuICIucmVqIik7CisgICAgJGZp
bGVNaW5lID0gJGZpbGVOZXdlciAuICIucmVqIjsKKworICAgIG15ICRmaWxlT2xkZXJDb250ZW50
ID0gJGZpbGVOZXdlckNvbnRlbnQ7CisgICAgbXkgJGZpbGVPbGRlciA9IHdyaXRlVGVtcEZpbGUo
ImZpbGUiLCAiLm9yaWciLCAkZmlsZU9sZGVyQ29udGVudCk7CisgICAgcmVuYW1lKCRmaWxlT2xk
ZXIsICRmaWxlTmV3ZXIgLiAiLm9yaWciKTsKKyAgICAkZmlsZU9sZGVyID0gJGZpbGVOZXdlciAu
ICIub3JpZyI7CisKKyAgICBteSAkZXhpdFN0YXR1cyA9IG1lcmdlQ2hhbmdlTG9ncygkZmlsZU1p
bmUsICRmaWxlT2xkZXIsICRmaWxlTmV3ZXIpOworCisgICAgIyBtZXJnZUNoYW5nZUxvZ3MoKSBz
aG91bGQgcmV0dXJuIDAgc2luY2UgdGhlIHBhdGNoIGZhaWxlZC4KKyAgICBvaygkZXhpdFN0YXR1
cyA9PSAwLCAiJHRpdGxlOiBzaG91bGQgcmV0dXJuIDAgZm9yIGZhaWx1cmUiKTsKKworICAgIG9r
KHJlYWRGaWxlKCRmaWxlTWluZSkgZXEgJGZpbGVNaW5lQ29udGVudCwgIiR0aXRsZTogXCRmaWxl
TWluZSBzaG91bGQgYmUgdW5jaGFuZ2VkIik7CisgICAgb2socmVhZEZpbGUoJGZpbGVPbGRlcikg
ZXEgJGZpbGVPbGRlckNvbnRlbnQsICIkdGl0bGU6IFwkZmlsZU9sZGVyIHNob3VsZCBiZSB1bmNo
YW5nZWQiKTsKKyAgICBvayhyZWFkRmlsZSgkZmlsZU5ld2VyKSBlcSAkZmlsZU5ld2VyQ29udGVu
dCwgIiR0aXRsZTogXCRmaWxlTmV3ZXIgc2hvdWxkIGJlIHVuY2hhbmdlZCIpOworCisgICAgdW5s
aW5rKCRmaWxlTWluZSwgJGZpbGVPbGRlciwgJGZpbGVOZXdlcik7Cit9CisKKyMgLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KKworeworICAgICMgTmV3IHRlc3QKKyAgICBteSAkdGl0bGUgPSAibWVy
Z2VDaGFuZ2VMb2dzOiBwYXRjaCBzdWNjZWVkcyI7CisKKyAgICBteSAkZmlsZU1pbmVDb250ZW50
ID0gPDwnRU9GJzsKKzIwMTAtMDEtMjkgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBKU0MgaXMgZmFp
bGluZyB0byBwcm9wYWdhdGUgYW5vbnltb3VzIHNsb3QgY291bnQgb24gc29tZSB0cmFuc2l0aW9u
cworCisyMDEwLTAxLTI5ICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNv
bT4KKworICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBNYWNpZWogU3RhY2hvd2lhay4KKworICAg
ICAgICBGaXggdGhlIEFSTSBidWlsZC4KK0VPRgorICAgIG15ICRmaWxlTWluZSA9IHdyaXRlVGVt
cEZpbGUoImZpbGVNaW5lIiwgIiIsICRmaWxlTWluZUNvbnRlbnQpOworCisgICAgbXkgJGZpbGVP
bGRlckNvbnRlbnQgPSA8PCdFT0YnOworMjAxMC0wMS0yOSAgU2ltb24gSGF1c21hbm4gIDxzaW1v
bi5oYXVzbWFubkBub2tpYS5jb20+CisKKyAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgTWFjaWVq
IFN0YWNob3dpYWsuCisKKyAgICAgICAgRml4IHRoZSBBUk0gYnVpbGQuCitFT0YKKyAgICBteSAk
ZmlsZU9sZGVyID0gd3JpdGVUZW1wRmlsZSgiZmlsZU9sZGVyIiwgIiIsICRmaWxlT2xkZXJDb250
ZW50KTsKKworICAgIG15ICRmaWxlTmV3ZXJDb250ZW50ID0gPDwnRU9GJzsKKzIwMTAtMDEtMjkg
IE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxlLmNvbT4KKworICAgICAgICBGaXggdGhlIE1hYyBidWls
ZC4KKworICAgICAgICBEaXNhYmxlIEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFIHNpbmNlIGl0IGlz
ICJjb21wbGV0ZWx5IG5vbi1mdW5jdGlvbmFsIi4KKworMjAxMC0wMS0yOSAgU2ltb24gSGF1c21h
bm4gIDxzaW1vbi5oYXVzbWFubkBub2tpYS5jb20+CisKKyAgICAgICAgUnViYmVyLXN0YW1wZWQg
YnkgTWFjaWVqIFN0YWNob3dpYWsuCisKKyAgICAgICAgRml4IHRoZSBBUk0gYnVpbGQuCitFT0YK
KyAgICBteSAkZmlsZU5ld2VyID0gd3JpdGVUZW1wRmlsZSgiZmlsZU5ld2VyIiwgIiIsICRmaWxl
TmV3ZXJDb250ZW50KTsKKworICAgIG15ICRleGl0U3RhdHVzID0gbWVyZ2VDaGFuZ2VMb2dzKCRm
aWxlTWluZSwgJGZpbGVPbGRlciwgJGZpbGVOZXdlcik7CisKKyAgICAjIG1lcmdlQ2hhbmdlTG9n
cygpIHNob3VsZCByZXR1cm4gMSBzaW5jZSB0aGUgcGF0Y2ggc3VjY2VlZGVkLgorICAgIG9rKCRl
eGl0U3RhdHVzID09IDEsICIkdGl0bGU6IHNob3VsZCByZXR1cm4gMSBmb3Igc3VjY2VzcyIpOwor
CisgICAgb2socmVhZEZpbGUoJGZpbGVNaW5lKSBlcSAkZmlsZU1pbmVDb250ZW50LCAiJHRpdGxl
OiBcJGZpbGVNaW5lIHNob3VsZCBiZSB1bmNoYW5nZWQiKTsKKyAgICBvayhyZWFkRmlsZSgkZmls
ZU9sZGVyKSBlcSAkZmlsZU9sZGVyQ29udGVudCwgIiR0aXRsZTogXCRmaWxlT2xkZXIgc2hvdWxk
IGJlIHVuY2hhbmdlZCIpOworCisgICAgbXkgJGV4cGVjdGVkQ29udGVudCA9IDw8J0VPRic7Cisy
MDEwLTAxLTI5ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgSlNDIGlzIGZhaWxpbmcgdG8gcHJvcGFn
YXRlIGFub255bW91cyBzbG90IGNvdW50IG9uIHNvbWUgdHJhbnNpdGlvbnMKKworRU9GCisgICAg
JGV4cGVjdGVkQ29udGVudCAuPSAkZmlsZU5ld2VyQ29udGVudDsKKworICAgIG9rKHJlYWRGaWxl
KCRmaWxlTmV3ZXIpIGVxICRleHBlY3RlZENvbnRlbnQsICIkdGl0bGU6IFwkZmlsZU5ld2VyIHNo
b3VsZCBiZSBwYXRjaGVkIik7CisKKyAgICB1bmxpbmsoJGZpbGVNaW5lLCAkZmlsZU9sZGVyLCAk
ZmlsZU5ld2VyKTsKK30KKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>51557</attachid>
            <date>2010-03-24 15:09:51 -0700</date>
            <delta_ts>2010-03-24 15:13:32 -0700</delta_ts>
            <desc>Patch 2/2</desc>
            <filename>bug-36560-20100324150950.patch</filename>
            <type>text/plain</type>
            <size>5210</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxv
ZwppbmRleCBkYzFhOWQ4Li5jNjg0MWE3IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VM
b2cKKysrIGIvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMzAgQEAKIDIwMTAtMDMt
MjQgIERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KIAorICAgICAgICByZXNvbHZl
LUNoYW5nZUxvZ3M6IGdpdC1yZWJhc2UgZmFpbHMgd2hlbiByZXNvbHZlLUNoYW5nZUxvZ3MgY2Fu
J3QgbWVyZ2UKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBXaGVuIHJlc29sdmUtQ2hhbmdlTG9ncyBmYWlscyB0byBtZXJnZSBhIHBhdGNoIHdoaWxlIHJ1
bm5pbmcgYXMKKyAgICAgICAgYSBnaXQgbWVyZ2UgZHJpdmVyLCBpdCBkZWxldGVzIHRoZSBvcmln
aW5hbCBmaWxlLCB3aGljaCBjYXVzZXMKKyAgICAgICAgYW4gaW50ZXJuYWwgZmFpbHVyZSBhbmQg
c3RvcHMgZ2l0IG1pZC1tZXJnZToKKworICAgICAgICAgICAgZmF0YWw6IEZhaWxlZCB0byBleGVj
dXRlIGludGVybmFsIG1lcmdlCisKKyAgICAgICAgVGhlIGZpeCBpcyB0byB1c2UgdGhlIC0tZm9y
Y2Ugc3dpdGNoIHdpdGggcGF0Y2ggc28gdGhhdCBpdCB3aWxsCisgICAgICAgIGFsd2F5cyBhdHRl
bXB0IHRvIGFwcGx5IHRoZSBwYXRjaC4gIChUaGUgY2hhbmdlIGluCisgICAgICAgIG1lcmdlQ2hh
bmdlTG9ncygpIGZvciB0aGUgcHJldmlvdXMgY29tbWl0IGFsc28gZml4ZWQgdGhpcywgYnV0Cisg
ICAgICAgIGFkZGluZyAtLWZvcmNlIGFsc28gcHJldmVudHMgYW55IHBvdGVudGlhbCB1c2VyIGlu
dGVyYWN0aW9uIHRoYXQKKyAgICAgICAgcGF0Y2ggbWF5IHdhbnQgdG8gZGlzcGxheS4pCisKKyAg
ICAgICAgKiBTY3JpcHRzL1ZDU1V0aWxzLnBtOgorICAgICAgICAobWVyZ2VDaGFuZ2VMb2dzKTog
QWRkZWQgLS1mb3JjZSBzd2l0Y2ggdG8gcGF0Y2ggY29tbWFuZC4gIEFsc28KKyAgICAgICAgY2hh
bmdlZCB0byB1c2UgdGhlIGV4aXQgc3RhdHVzIGZyb20gdGhlIHBhdGNoIGNvbW1hbmQgdG8KKyAg
ICAgICAgZGV0ZXJtaW5lIHRoZSByZXR1cm4gdmFsdWUgZm9yIHRoaXMgbWV0aG9kLgorICAgICAg
ICAqIFNjcmlwdHMvd2Via2l0cGVybC9WQ1NVdGlsc191bml0dGVzdC9tZXJnZUNoYW5nZUxvZ3Mu
cGw6IEFkZGVkCisgICAgICAgIHRlc3QgdG8gY292ZXIgdGhpcyBidWcuCisKKzIwMTAtMDMtMjQg
IERhdmlkIEtpbHplciAgPGRka2lsemVyQGFwcGxlLmNvbT4KKwogICAgICAgICByZXNvbHZlLUNo
YW5nZUxvZ3M6IG1vdmUgbWVyZ2VDaGFuZ2VzKCkgaW50byBWQ1NVdGlscyBwYWNrYWdlCiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCmRpZmYgLS1naXQgYS9XZWJLaXRUb29s
cy9TY3JpcHRzL1ZDU1V0aWxzLnBtIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9WQ1NVdGlscy5wbQpp
bmRleCBhZjkyMTliLi4yNWEzMTliIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL1ZD
U1V0aWxzLnBtCisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvVkNTVXRpbHMucG0KQEAgLTg2MSwx
MSArODYxLDExIEBAIHN1YiBtZXJnZUNoYW5nZUxvZ3MoJCQkKQogICAgIHVubGluaygiJHtmaWxl
TmV3ZXJ9Lm9yaWciKTsKICAgICB1bmxpbmsoIiR7ZmlsZU5ld2VyfS5yZWoiKTsKIAotICAgIG9w
ZW4oUEFUQ0gsICJ8IHBhdGNoIC0tZnV6ej0zIC0tYmluYXJ5ICRmaWxlTmV3ZXIgPiAiIC4gRmls
ZTo6U3BlYy0+ZGV2bnVsbCgpKSBvciBkaWUgJCE7CisgICAgb3BlbihQQVRDSCwgInwgcGF0Y2gg
LS1mb3JjZSAtLWZ1eno9MyAtLWJpbmFyeSAkZmlsZU5ld2VyID4gIiAuIEZpbGU6OlNwZWMtPmRl
dm51bGwoKSkgb3IgZGllICQhOwogICAgIHByaW50IFBBVENIICgkdHJhZGl0aW9uYWxSZWplY3Qg
PyAkcGF0Y2ggOiBmaXhDaGFuZ2VMb2dQYXRjaCgkcGF0Y2gpKTsKICAgICBjbG9zZShQQVRDSCk7
CiAKLSAgICBteSAkcmVzdWx0OworICAgIG15ICRyZXN1bHQgPSAhZXhpdFN0YXR1cygkPyk7CiAK
ICAgICAjIFJlZnVzZSB0byBtZXJnZSB0aGUgcGF0Y2ggaWYgaXQgZGlkIG5vdCBhcHBseSBjbGVh
bmx5CiAgICAgaWYgKC1lICIke2ZpbGVOZXdlcn0ucmVqIikgewpAQCAtODc0LDEwICs4NzQsOCBA
QCBzdWIgbWVyZ2VDaGFuZ2VMb2dzKCQkJCkKICAgICAgICAgICAgIHVubGluaygkZmlsZU5ld2Vy
KTsKICAgICAgICAgICAgIHJlbmFtZSgiJHtmaWxlTmV3ZXJ9Lm9yaWciLCAkZmlsZU5ld2VyKTsK
ICAgICAgICAgfQotICAgICAgICAkcmVzdWx0ID0gMDsKICAgICB9IGVsc2UgewogICAgICAgICB1
bmxpbmsoIiR7ZmlsZU5ld2VyfS5vcmlnIik7Ci0gICAgICAgICRyZXN1bHQgPSAxOwogICAgIH0K
IAogICAgIGlmICgkdHJhZGl0aW9uYWxSZWplY3QpIHsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L1NjcmlwdHMvd2Via2l0cGVybC9WQ1NVdGlsc191bml0dGVzdC9tZXJnZUNoYW5nZUxvZ3MucGwg
Yi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdHBlcmwvVkNTVXRpbHNfdW5pdHRlc3QvbWVyZ2VD
aGFuZ2VMb2dzLnBsCmluZGV4IDA0ZTVjMzQuLmEyMjZlNDMgMTAwNjQ0Ci0tLSBhL1dlYktpdFRv
b2xzL1NjcmlwdHMvd2Via2l0cGVybC9WQ1NVdGlsc191bml0dGVzdC9tZXJnZUNoYW5nZUxvZ3Mu
cGwKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRwZXJsL1ZDU1V0aWxzX3VuaXR0ZXN0
L21lcmdlQ2hhbmdlTG9ncy5wbApAQCAtMjYsNyArMjYsNyBAQAogCiB1c2Ugc3RyaWN0OwogCi11
c2UgVGVzdDo6U2ltcGxlIHRlc3RzID0+IDEyOwordXNlIFRlc3Q6OlNpbXBsZSB0ZXN0cyA9PiAx
NjsKIHVzZSBGaWxlOjpUZW1wIHF3KHRlbXBmaWxlKTsKIHVzZSBWQ1NVdGlsczsKIApAQCAtMjYz
LDMgKzI2Myw3NCBAQCBFT0YKIAogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCit7CisgICAg
IyBOZXcgdGVzdAorICAgIG15ICR0aXRsZSA9ICJtZXJnZUNoYW5nZUxvZ3M6IHBhdGNoIGZhaWxz
IjsKKworICAgIG15ICRmaWxlTWluZUNvbnRlbnQgPSA8PCdFT0YnOworMjAxMC0wMS0yOSAgTWFy
ayBSb3dlICA8bXJvd2VAYXBwbGUuY29tPgorCisgICAgICAgIEZpeCB0aGUgTWFjIGJ1aWxkLgor
CisgICAgICAgIERpc2FibGUgRU5BQkxFX0lOREVYRURfREFUQUJBU0Ugc2luY2UgaXQgaXMgImNv
bXBsZXRlbHkgbm9uLWZ1bmN0aW9uYWwiLgorCisyMDEwLTAxLTI5ICBTaW1vbiBIYXVzbWFubiAg
PHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4KKworICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBN
YWNpZWogU3RhY2hvd2lhay4KKworICAgICAgICBGaXggdGhlIEFSTSBidWlsZC4KK0VPRgorICAg
IG15ICRmaWxlTWluZSA9IHdyaXRlVGVtcEZpbGUoImZpbGVNaW5lIiwgIiIsICRmaWxlTWluZUNv
bnRlbnQpOworCisgICAgbXkgJGZpbGVPbGRlckNvbnRlbnQgPSA8PCdFT0YnOworMjAxMC0wMS0y
OSAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUuY29tPgorCisgICAgICAgIEZpeCB0aGUgTWFjIGJ1
aWxkLgorCisgICAgICAgIERpc2FibGUgRU5BQkxFX0lOREVYRURfREFUQUJBU0Ugc2luY2UgaXQg
aXMgImNvbXBsZXRlbHkgbm9uLWZ1bmN0aW9uYWwiLgorCisyMDEwLTAxLTI5ICBPbGl2ZXIgSHVu
dCAgPG9saXZlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIu
CisKKyAgICAgICAgSlNDIGlzIGZhaWxpbmcgdG8gcHJvcGFnYXRlIGFub255bW91cyBzbG90IGNv
dW50IG9uIHNvbWUgdHJhbnNpdGlvbnMKKworMjAxMC0wMS0yOSAgU2ltb24gSGF1c21hbm4gIDxz
aW1vbi5oYXVzbWFubkBub2tpYS5jb20+CisKKyAgICAgICAgUnViYmVyLXN0YW1wZWQgYnkgTWFj
aWVqIFN0YWNob3dpYWsuCisKKyAgICAgICAgRml4IHRoZSBBUk0gYnVpbGQuCitFT0YKKyAgICBt
eSAkZmlsZU9sZGVyID0gd3JpdGVUZW1wRmlsZSgiZmlsZU9sZGVyIiwgIiIsICRmaWxlT2xkZXJD
b250ZW50KTsKKworICAgIG15ICRmaWxlTmV3ZXJDb250ZW50ID0gPDwnRU9GJzsKKzIwMTAtMDEt
MjkgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBEYXJpbiBBZGxlci4KKworICAgICAgICBKU0MgaXMgZmFpbGluZyB0byBwcm9wYWdhdGUgYW5v
bnltb3VzIHNsb3QgY291bnQgb24gc29tZSB0cmFuc2l0aW9ucworCisyMDEwLTAxLTI5ICBTaW1v
biBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQG5va2lhLmNvbT4KKworICAgICAgICBSdWJiZXIt
c3RhbXBlZCBieSBNYWNpZWogU3RhY2hvd2lhay4KKworICAgICAgICBGaXggdGhlIEFSTSBidWls
ZC4KK0VPRgorICAgIG15ICRmaWxlTmV3ZXIgPSB3cml0ZVRlbXBGaWxlKCJmaWxlTmV3ZXIiLCAi
IiwgJGZpbGVOZXdlckNvbnRlbnQpOworCisgICAgbXkgJGV4aXRTdGF0dXMgPSBtZXJnZUNoYW5n
ZUxvZ3MoJGZpbGVNaW5lLCAkZmlsZU9sZGVyLCAkZmlsZU5ld2VyKTsKKworICAgICMgbWVyZ2VD
aGFuZ2VMb2dzKCkgc2hvdWxkIHJldHVybiBhIG5vbi16ZXJvIGV4aXQgc3RhdHVzIHNpbmNlIHRo
ZSBwYXRjaCBmYWlsZWQuCisgICAgb2soJGV4aXRTdGF0dXMgPT0gMCwgIiR0aXRsZTogcmV0dXJu
IG5vbi16ZXJvIGV4aXQgc3RhdHVzIGZvciBmYWlsdXJlIik7CisKKyAgICBvayhyZWFkRmlsZSgk
ZmlsZU1pbmUpIGVxICRmaWxlTWluZUNvbnRlbnQsICIkdGl0bGU6IFwkZmlsZU1pbmUgc2hvdWxk
IGJlIHVuY2hhbmdlZCIpOworICAgIG9rKHJlYWRGaWxlKCRmaWxlT2xkZXIpIGVxICRmaWxlT2xk
ZXJDb250ZW50LCAiJHRpdGxlOiBcJGZpbGVPbGRlciBzaG91bGQgYmUgdW5jaGFuZ2VkIik7CisK
KyAgICAjICRmaWxlTmV3ZXIgc2hvdWxkIHN0aWxsIGV4aXN0IHVuY2hhbmdlZCBiZWNhdXNlIHRo
ZSBwYXRjaCBmYWlsZWQKKyAgICBvayhyZWFkRmlsZSgkZmlsZU5ld2VyKSBlcSAkZmlsZU5ld2Vy
Q29udGVudCwgIiR0aXRsZTogXCRmaWxlTmV3ZXIgc2hvdWxkIGJlIHVuY2hhbmdlZCIpOworCisg
ICAgdW5saW5rKCRmaWxlTWluZSwgJGZpbGVPbGRlciwgJGZpbGVOZXdlcik7Cit9CisKKyMgLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KKwo=
</data>
<flag name="review"
          id="34826"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>