<?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>9848</bug_id>
          
          <creation_ts>2006-07-11 03:37:27 -0700</creation_ts>
          <short_desc>Teach svn-create-patch and friends to fix ChangeLog patches</short_desc>
          <delta_ts>2006-07-12 09:09:40 -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>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>49213</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-11 03:37:27 -0700</bug_when>
    <thetext>The svn-create-patch utility needs to &quot;fix&quot; ChangeLog patches that don&apos;t position new entries at the top of the file.  (See Attachment 9359 on Bug 9598 for one of many examples.)  I plan to fix this by special-casing ChangeLog patches and fixing them if they don&apos;t behave.

Until this is fixed, such ChangeLog patches tend to get offset into the ChangeLog (instead of being applied at the top) and the fix-ChangeLog-date code (Bug 9693) will apply the date to the wrong entry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49240</commentid>
    <comment_count>1</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-11 07:03:32 -0700</bug_when>
    <thetext>In the shower, I realized that svn-apply and svn-unapply also need to deal with &quot;bad&quot; ChangeLog patches in case someone uses plain old &quot;svn diff&quot; to create their patch, or used an older version of svn-create-patch that didn&apos;t do the fixing.  I think I can write one subroutine to do the fixing and add to all three scripts, though.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49425</commentid>
    <comment_count>2</comment_count>
      <attachid>9400</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-12 06:38:14 -0700</bug_when>
    <thetext>Created attachment 9400
Patch v1

Proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49426</commentid>
    <comment_count>3</comment_count>
      <attachid>9401</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-12 06:50:15 -0700</bug_when>
    <thetext>Created attachment 9401
Patch v2

Changes from Patch v1:

- Removed magic number, &quot;3&quot;, and replaced it with a named variable in all three scripts.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49432</commentid>
    <comment_count>4</comment_count>
      <attachid>9401</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-07-12 08:07:54 -0700</bug_when>
    <thetext>Comment on attachment 9401
Patch v2

Neat.

As these get fancier and fancier, eventually we *will* want to start using a library. But for now I still  think it&apos;s OK to have 3 copies.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>49443</commentid>
    <comment_count>5</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-12 09:09:40 -0700</bug_when>
    <thetext>Committed revision 15393.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>9400</attachid>
            <date>2006-07-12 06:38:14 -0700</date>
            <delta_ts>2006-07-12 06:50:15 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-9848-v1.diff</filename>
            <type>text/plain</type>
            <size>11043</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE1Mzg5KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDYtMDctMTIgIERhdmlkIEtpbHplciAgPGRk
a2lsemVyQGtpbHplci5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgLSBmaXggaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVn
LmNnaT9pZD05ODQ4CisgICAgICAgICAgVGVhY2ggc3ZuLWNyZWF0ZS1wYXRjaCBhbmQgZnJpZW5k
cyB0byBmaXggQ2hhbmdlTG9nIHBhdGNoZXMKKworICAgICAgICAqIFNjcmlwdHMvc3ZuLWFwcGx5
OiBBZGRlZCBmaXhDaGFuZ2VMb2dQYXRjaCgpIGFuZCBpbnZva2VkIGl0IGluIHRoZSBwcm9wZXIg
cGxhY2UuCisgICAgICAgICogU2NyaXB0cy9zdm4tY3JlYXRlLXBhdGNoOiBEaXR0by4KKyAgICAg
ICAgKiBTY3JpcHRzL3N2bi11bmFwcGx5OiBEaXR0by4KKwogMjAwNi0wNy0xMiAgTWFyayBSb3dl
ICA8b3BlbmRhcndpbi5vcmdAYmRhc2gubmV0Lm56PgogCiAgICAgICAgIFJldmlld2VkIGJ5IGdn
YXJlbi4KSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvc3ZuLWFwcGx5Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdFRvb2xzL1NjcmlwdHMvc3ZuLWFwcGx5CShyZXZpc2lvbiAxNTM4OSkKKysrIFdlYktp
dFRvb2xzL1NjcmlwdHMvc3ZuLWFwcGx5CSh3b3JraW5nIGNvcHkpCkBAIC02NSw2ICs2NSw3IEBA
IHVzZSBQT1NJWCBxdyhzdHJmdGltZSk7CiAKIHN1YiBhZGREaXJlY3Rvcmllc0lmTmVlZGVkKCQp
Owogc3ViIGFwcGx5UGF0Y2goJCQ7JCk7CitzdWIgZml4Q2hhbmdlTG9nUGF0Y2goJCk7CiBzdWIg
aGFuZGxlQmluYXJ5Q2hhbmdlKCQkKTsKIHN1YiBpc0RpcmVjdG9yeUVtcHR5Rm9yUmVtb3ZhbCgk
KTsKIHN1YiBwYXRjaCgkKTsKQEAgLTE3Myw2ICsxNzQsNTYgQEAgc3ViIGFwcGx5UGF0Y2goJCQ7
JCkKICAgICBjbG9zZSBQQVRDSDsKIH0KIAorc3ViIGZpeENoYW5nZUxvZ1BhdGNoKCQpCit7Cisg
ICAgbXkgJHBhdGNoID0gc2hpZnQ7CisKKyAgICByZXR1cm4gJHBhdGNoIGlmICRwYXRjaCAhfiAv
XG5AQCAtMSwoXGQrKSBcKzEsKFxkKykgQEBcbiggLipcbikrKFwrLipcbikrKCAuKlxuKXszfSQv
bTsKKyAgICBteSAoJG9sZExpbmVDb3VudCwgJG5ld0xpbmVDb3VudCkgPSAoJDEsICQyKTsKKyAg
ICByZXR1cm4gJHBhdGNoIGlmICRvbGRMaW5lQ291bnQgPD0gMzsKKworICAgICMgVGhlIGRpZmYo
MSkgY29tbWFuZCBpcyBncmVlZHkgd2hlbiBtYXRjaGluZyBsaW5lcywgc28gYSBuZXcgQ2hhbmdl
TG9nIGVudHJ5IHdpbGwKKyAgICAjIGhhdmUgbGluZXMgb2YgY29udGV4dCBhdCB0aGUgdG9wIG9m
IGEgcGF0Y2ggd2hlbiB0aGUgZXhpc3RpbmcgZW50cnkgaGFzIHRoZSBzYW1lCisgICAgIyBkYXRl
IGFuZCBhdXRob3IgYXMgdGhlIG5ldyBlbnRyeS4gIFRoaXMgbmlmdHkgbG9vcCBhbHRlcnMgYSBD
aGFuZ2VMb2cgcGF0Y2ggc28KKyAgICAjIHRoYXQgdGhlIGFkZGVkIGxpbmVzICgiKyIpIGluIHRo
ZSBwYXRjaCBhbHdheXMgc3RhcnQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUKKyAgICAjIHBhdGNo
IGFuZCB0aGVyZSBhcmUgbm8gaW5pdGlhbCBsaW5lcyBvZiBjb250ZXh0LgorICAgIG15ICRuZXdQ
YXRjaDsKKyAgICBteSAkbGluZUNvdW50SW5TdGF0ZSA9IDA7CisgICAgbXkgJG9sZENvbnRlbnRM
aW5lQ291bnRSZWR1Y3Rpb24gPSAkb2xkTGluZUNvdW50IC0gMzsKKyAgICBteSAkbmV3Q29udGVu
dExpbmVDb3VudFdpdGhvdXRDb250ZXh0ID0gJG5ld0xpbmVDb3VudCAtICRvbGRMaW5lQ291bnQg
LSAkb2xkQ29udGVudExpbmVDb3VudFJlZHVjdGlvbjsKKyAgICBteSAoJHN0YXRlSGVhZGVyLCAk
c3RhdGVQcmVDb250ZXh0LCAkc3RhdGVOZXdDaGFuZ2VzLCAkc3RhdGVQb3N0Q29udGV4dCkgPSAo
MS4uNCk7CisgICAgbXkgJHN0YXRlID0gJHN0YXRlSGVhZGVyOworICAgIGZvcmVhY2ggbXkgJGxp
bmUgKHNwbGl0KC9cbi8sICRwYXRjaCkpIHsKKyAgICAgICAgJGxpbmVDb3VudEluU3RhdGUrKzsK
KyAgICAgICAgaWYgKCRzdGF0ZSA9PSAkc3RhdGVIZWFkZXIgJiYgJGxpbmUgPX4gL15AQCAtMSwk
b2xkTGluZUNvdW50IFwrMSwkbmV3TGluZUNvdW50IEBcQCQvKSB7CisgICAgICAgICAgICAkbGlu
ZSA9ICJAQCAtMSwzICsxLCIgLiAoJG5ld0xpbmVDb3VudCAtICRvbGRDb250ZW50TGluZUNvdW50
UmVkdWN0aW9uKSAuICIgQEAiOworICAgICAgICAgICAgJGxpbmVDb3VudEluU3RhdGUgPSAwOwor
ICAgICAgICAgICAgJHN0YXRlID0gJHN0YXRlUHJlQ29udGV4dDsKKyAgICAgICAgfSBlbHNpZiAo
JHN0YXRlID09ICRzdGF0ZVByZUNvbnRleHQgJiYgc3Vic3RyKCRsaW5lLCAwLCAxKSBlcSAiICIp
IHsKKyAgICAgICAgICAgICRsaW5lID0gIisiIC4gc3Vic3RyKCRsaW5lLCAxKTsKKyAgICAgICAg
ICAgIGlmICgkbGluZUNvdW50SW5TdGF0ZSA9PSAkb2xkQ29udGVudExpbmVDb3VudFJlZHVjdGlv
bikgeworICAgICAgICAgICAgICAgICRsaW5lQ291bnRJblN0YXRlID0gMDsKKyAgICAgICAgICAg
ICAgICAkc3RhdGUgPSAkc3RhdGVOZXdDaGFuZ2VzOworICAgICAgICAgICAgfQorICAgICAgICB9
IGVsc2lmICgkc3RhdGUgPT0gJHN0YXRlTmV3Q2hhbmdlcyAmJiBzdWJzdHIoJGxpbmUsIDAsIDEp
IGVxICIrIikgeworICAgICAgICAgICAgIyBObyBjaGFuZ2VzIHRvIHRoZXNlIGxpbmVzCisgICAg
ICAgICAgICBpZiAoJGxpbmVDb3VudEluU3RhdGUgPT0gJG5ld0NvbnRlbnRMaW5lQ291bnRXaXRo
b3V0Q29udGV4dCkgeworICAgICAgICAgICAgICAgICRsaW5lQ291bnRJblN0YXRlID0gMDsKKyAg
ICAgICAgICAgICAgICAkc3RhdGUgPSAkc3RhdGVQb3N0Q29udGV4dDsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfSBlbHNpZiAoJHN0YXRlID09ICRzdGF0ZVBvc3RDb250ZXh0KSB7CisgICAgICAg
ICAgICBpZiAoc3Vic3RyKCRsaW5lLCAwLCAxKSBlcSAiKyIgJiYgJGxpbmVDb3VudEluU3RhdGUg
PD0gJG9sZENvbnRlbnRMaW5lQ291bnRSZWR1Y3Rpb24pIHsKKyAgICAgICAgICAgICAgICAkbGlu
ZSA9ICIgIiAuIHN1YnN0cigkbGluZSwgMSk7CisgICAgICAgICAgICB9IGVsc2lmICgkbGluZUNv
dW50SW5TdGF0ZSA+IDMgJiYgc3Vic3RyKCRsaW5lLCAwLCAxKSBlcSAiICIpIHsKKyAgICAgICAg
ICAgICAgICBuZXh0OyAjIERpc2NhcmQgcG9zdCBjb250ZXh0IG92ZXIgMyBsaW5lcworICAgICAg
ICAgICAgfQorICAgICAgICB9CisgICAgICAgICRuZXdQYXRjaCAuPSAkbGluZSAuICJcbiI7Cisg
ICAgfQorCisgICAgcmV0dXJuICRuZXdQYXRjaDsKK30KKwogc3ViIGhhbmRsZUJpbmFyeUNoYW5n
ZSgkJCkKIHsKICAgICBteSAoJGZ1bGxQYXRoLCAkY29udGVudHMpID0gQF87CkBAIC0yMzQsNyAr
Mjg1LDcgQEAgc3ViIHBhdGNoKCQpCiAgICAgICAgICMgU3RhbmRhcmQgcGF0Y2gsIHBhdGNoIHRv
b2wgY2FuIGhhbmRsZSB0aGlzLgogICAgICAgICBpZiAoYmFzZW5hbWUoJGZ1bGxQYXRoKSBlcSAi
Q2hhbmdlTG9nIikgewogICAgICAgICAgICAgbXkgJGNoYW5nZUxvZ0RvdE9yaWdFeGlzdGVkID0g
LWYgIiR7ZnVsbFBhdGh9Lm9yaWciOwotICAgICAgICAgICAgYXBwbHlQYXRjaChzZXRDaGFuZ2VM
b2dEYXRlKCRwYXRjaCksICRmdWxsUGF0aCwgWyItLWZ1eno9MyJdKTsKKyAgICAgICAgICAgIGFw
cGx5UGF0Y2goc2V0Q2hhbmdlTG9nRGF0ZShmaXhDaGFuZ2VMb2dQYXRjaCgkcGF0Y2gpKSwgJGZ1
bGxQYXRoLCBbIi0tZnV6ej0zIl0pOwogICAgICAgICAgICAgdW5saW5rKCIke2Z1bGxQYXRofS5v
cmlnIikgaWYgKCEgJGNoYW5nZUxvZ0RvdE9yaWdFeGlzdGVkKTsKICAgICAgICAgfSBlbHNlIHsK
ICAgICAgICAgICAgIGFwcGx5UGF0Y2goJHBhdGNoLCAkZnVsbFBhdGgpOwpJbmRleDogV2ViS2l0
VG9vbHMvU2NyaXB0cy9zdm4tY3JlYXRlLXBhdGNoCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xz
L1NjcmlwdHMvc3ZuLWNyZWF0ZS1wYXRjaAkocmV2aXNpb24gMTUzODkpCisrKyBXZWJLaXRUb29s
cy9TY3JpcHRzL3N2bi1jcmVhdGUtcGF0Y2gJKHdvcmtpbmcgY29weSkKQEAgLTUzLDYgKzUzLDcg
QEAgdXNlIFBPU0lYIHF3KDplcnJub19oKTsKIHVzZSBUaW1lOjpnbXRpbWU7CiAKIHN1YiBjYW5v
bmljYWxpemVQYXRoKCQpOworc3ViIGZpeENoYW5nZUxvZ1BhdGNoKCQpOwogc3ViIGdlbmVyYXRl
RGlmZigkKTsKIHN1YiBnZW5lcmF0ZUZpbGVMaXN0KCRcJVwlKTsKIHN1YiBudW1lcmljY21wKCQk
KTsKQEAgLTEwNiwyMSArMTA3LDc0IEBAIHN1YiBjYW5vbmljYWxpemVQYXRoKCQpCiAgICAgcmV0
dXJuICgkI2RpcnMgPj0gMCkgPyBGaWxlOjpTcGVjLT5jYXRkaXIoQGRpcnMpIDogIi4iOwogfQog
CitzdWIgZml4Q2hhbmdlTG9nUGF0Y2goJCkKK3sKKyAgICBteSAkcGF0Y2ggPSBzaGlmdDsKKwor
ICAgIHJldHVybiAkcGF0Y2ggaWYgJHBhdGNoICF+IC9cbkBAIC0xLChcZCspIFwrMSwoXGQrKSBA
QFxuKCAuKlxuKSsoXCsuKlxuKSsoIC4qXG4pezN9JC9tOworICAgIG15ICgkb2xkTGluZUNvdW50
LCAkbmV3TGluZUNvdW50KSA9ICgkMSwgJDIpOworICAgIHJldHVybiAkcGF0Y2ggaWYgJG9sZExp
bmVDb3VudCA8PSAzOworCisgICAgIyBUaGUgZGlmZigxKSBjb21tYW5kIGlzIGdyZWVkeSB3aGVu
IG1hdGNoaW5nIGxpbmVzLCBzbyBhIG5ldyBDaGFuZ2VMb2cgZW50cnkgd2lsbAorICAgICMgaGF2
ZSBsaW5lcyBvZiBjb250ZXh0IGF0IHRoZSB0b3Agb2YgYSBwYXRjaCB3aGVuIHRoZSBleGlzdGlu
ZyBlbnRyeSBoYXMgdGhlIHNhbWUKKyAgICAjIGRhdGUgYW5kIGF1dGhvciBhcyB0aGUgbmV3IGVu
dHJ5LiAgVGhpcyBuaWZ0eSBsb29wIGFsdGVycyBhIENoYW5nZUxvZyBwYXRjaCBzbworICAgICMg
dGhhdCB0aGUgYWRkZWQgbGluZXMgKCIrIikgaW4gdGhlIHBhdGNoIGFsd2F5cyBzdGFydCBhdCB0
aGUgYmVnaW5uaW5nIG9mIHRoZQorICAgICMgcGF0Y2ggYW5kIHRoZXJlIGFyZSBubyBpbml0aWFs
IGxpbmVzIG9mIGNvbnRleHQuCisgICAgbXkgJG5ld1BhdGNoOworICAgIG15ICRsaW5lQ291bnRJ
blN0YXRlID0gMDsKKyAgICBteSAkb2xkQ29udGVudExpbmVDb3VudFJlZHVjdGlvbiA9ICRvbGRM
aW5lQ291bnQgLSAzOworICAgIG15ICRuZXdDb250ZW50TGluZUNvdW50V2l0aG91dENvbnRleHQg
PSAkbmV3TGluZUNvdW50IC0gJG9sZExpbmVDb3VudCAtICRvbGRDb250ZW50TGluZUNvdW50UmVk
dWN0aW9uOworICAgIG15ICgkc3RhdGVIZWFkZXIsICRzdGF0ZVByZUNvbnRleHQsICRzdGF0ZU5l
d0NoYW5nZXMsICRzdGF0ZVBvc3RDb250ZXh0KSA9ICgxLi40KTsKKyAgICBteSAkc3RhdGUgPSAk
c3RhdGVIZWFkZXI7CisgICAgZm9yZWFjaCBteSAkbGluZSAoc3BsaXQoL1xuLywgJHBhdGNoKSkg
eworICAgICAgICAkbGluZUNvdW50SW5TdGF0ZSsrOworICAgICAgICBpZiAoJHN0YXRlID09ICRz
dGF0ZUhlYWRlciAmJiAkbGluZSA9fiAvXkBAIC0xLCRvbGRMaW5lQ291bnQgXCsxLCRuZXdMaW5l
Q291bnQgQFxAJC8pIHsKKyAgICAgICAgICAgICRsaW5lID0gIkBAIC0xLDMgKzEsIiAuICgkbmV3
TGluZUNvdW50IC0gJG9sZENvbnRlbnRMaW5lQ291bnRSZWR1Y3Rpb24pIC4gIiBAQCI7CisgICAg
ICAgICAgICAkbGluZUNvdW50SW5TdGF0ZSA9IDA7CisgICAgICAgICAgICAkc3RhdGUgPSAkc3Rh
dGVQcmVDb250ZXh0OworICAgICAgICB9IGVsc2lmICgkc3RhdGUgPT0gJHN0YXRlUHJlQ29udGV4
dCAmJiBzdWJzdHIoJGxpbmUsIDAsIDEpIGVxICIgIikgeworICAgICAgICAgICAgJGxpbmUgPSAi
KyIgLiBzdWJzdHIoJGxpbmUsIDEpOworICAgICAgICAgICAgaWYgKCRsaW5lQ291bnRJblN0YXRl
ID09ICRvbGRDb250ZW50TGluZUNvdW50UmVkdWN0aW9uKSB7CisgICAgICAgICAgICAgICAgJGxp
bmVDb3VudEluU3RhdGUgPSAwOworICAgICAgICAgICAgICAgICRzdGF0ZSA9ICRzdGF0ZU5ld0No
YW5nZXM7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzaWYgKCRzdGF0ZSA9PSAkc3RhdGVO
ZXdDaGFuZ2VzICYmIHN1YnN0cigkbGluZSwgMCwgMSkgZXEgIisiKSB7CisgICAgICAgICAgICAj
IE5vIGNoYW5nZXMgdG8gdGhlc2UgbGluZXMKKyAgICAgICAgICAgIGlmICgkbGluZUNvdW50SW5T
dGF0ZSA9PSAkbmV3Q29udGVudExpbmVDb3VudFdpdGhvdXRDb250ZXh0KSB7CisgICAgICAgICAg
ICAgICAgJGxpbmVDb3VudEluU3RhdGUgPSAwOworICAgICAgICAgICAgICAgICRzdGF0ZSA9ICRz
dGF0ZVBvc3RDb250ZXh0OworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2lmICgkc3RhdGUg
PT0gJHN0YXRlUG9zdENvbnRleHQpIHsKKyAgICAgICAgICAgIGlmIChzdWJzdHIoJGxpbmUsIDAs
IDEpIGVxICIrIiAmJiAkbGluZUNvdW50SW5TdGF0ZSA8PSAkb2xkQ29udGVudExpbmVDb3VudFJl
ZHVjdGlvbikgeworICAgICAgICAgICAgICAgICRsaW5lID0gIiAiIC4gc3Vic3RyKCRsaW5lLCAx
KTsKKyAgICAgICAgICAgIH0gZWxzaWYgKCRsaW5lQ291bnRJblN0YXRlID4gMyAmJiBzdWJzdHIo
JGxpbmUsIDAsIDEpIGVxICIgIikgeworICAgICAgICAgICAgICAgIG5leHQ7ICMgRGlzY2FyZCBw
b3N0IGNvbnRleHQgb3ZlciAzIGxpbmVzCisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAg
ICAgJG5ld1BhdGNoIC49ICRsaW5lIC4gIlxuIjsKKyAgICB9CisKKyAgICByZXR1cm4gJG5ld1Bh
dGNoOworfQorCiBzdWIgZ2VuZXJhdGVEaWZmKCQpCiB7CiAgICAgbXkgKCRmaWxlKSA9IEBfOwog
ICAgIG15ICRlcnJvcnMgPSAiIjsKICAgICBteSAkaXNCaW5hcnk7Ci0gICAgbXkgJGxhc3RMaW5l
OworICAgIG15ICRwYXRjaDsKICAgICBvcGVuIERJRkYsICJzdm4gZGlmZiAtLWRpZmYtY21kIGRp
ZmYgLXggLXVOcCAnJGZpbGUnIHwiIG9yIGRpZTsKICAgICB3aGlsZSAoPERJRkY+KSB7CiAgICAg
ICAgICRpc0JpbmFyeSA9IDEgaWYgKC9eQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEg
YmluYXJ5IHR5cGVcLiQvKTsKLSAgICAgICAgcHJpbnQ7Ci0gICAgICAgICRsYXN0TGluZSA9ICRf
OworICAgICAgICAkcGF0Y2ggLj0gJF87CiAgICAgfQogICAgIGNsb3NlIERJRkY7Ci0gICAgcHJp
bnQgIlxuIiBpZiAoJGlzQmluYXJ5ICYmICRsYXN0TGluZSA9fiBtL1xTKy8pOwotICAgIG91dHB1
dEJpbmFyeUNvbnRlbnQoJGZpbGUpIGlmICgkaXNCaW5hcnkpOworICAgICRwYXRjaCA9IGZpeENo
YW5nZUxvZ1BhdGNoKCRwYXRjaCkgaWYgYmFzZW5hbWUoJGZpbGUpIGVxICJDaGFuZ2VMb2ciOwor
ICAgIHByaW50ICRwYXRjaDsKKyAgICBpZiAoJGlzQmluYXJ5KSB7CisgICAgICAgIHByaW50ICJc
biIgaWYgJHBhdGNoID1+IG0vXG5cUyskL207CisgICAgICAgIG91dHB1dEJpbmFyeUNvbnRlbnQo
JGZpbGUpOworICAgIH0KICAgICBwcmludCBTVERFUlIgJGVycm9yczsKIH0KIApJbmRleDogV2Vi
S2l0VG9vbHMvU2NyaXB0cy9zdm4tdW5hcHBseQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9T
Y3JpcHRzL3N2bi11bmFwcGx5CShyZXZpc2lvbiAxNTM4OSkKKysrIFdlYktpdFRvb2xzL1Njcmlw
dHMvc3ZuLXVuYXBwbHkJKHdvcmtpbmcgY29weSkKQEAgLTYwLDYgKzYwLDcgQEAgdXNlIEZpbGU6
OkJhc2VuYW1lOwogdXNlIEZpbGU6OlNwZWM7CiB1c2UgR2V0b3B0OjpMb25nOwogCitzdWIgZml4
Q2hhbmdlTG9nUGF0Y2goJCk7CiBzdWIgcGF0Y2goJCk7CiBzdWIgcmV2ZXJ0RGlyZWN0b3JpZXMo
KTsKIHN1YiBzdm5TdGF0dXMoJCk7CkBAIC0xMDIsNiArMTAzLDU2IEBAIHJldmVydERpcmVjdG9y
aWVzKCk7CiAKIGV4aXQgMDsKIAorc3ViIGZpeENoYW5nZUxvZ1BhdGNoKCQpCit7CisgICAgbXkg
JHBhdGNoID0gc2hpZnQ7CisKKyAgICByZXR1cm4gJHBhdGNoIGlmICRwYXRjaCAhfiAvXG5AQCAt
MSwoXGQrKSBcKzEsKFxkKykgQEBcbiggLipcbikrKFwrLipcbikrKCAuKlxuKXszfSQvbTsKKyAg
ICBteSAoJG9sZExpbmVDb3VudCwgJG5ld0xpbmVDb3VudCkgPSAoJDEsICQyKTsKKyAgICByZXR1
cm4gJHBhdGNoIGlmICRvbGRMaW5lQ291bnQgPD0gMzsKKworICAgICMgVGhlIGRpZmYoMSkgY29t
bWFuZCBpcyBncmVlZHkgd2hlbiBtYXRjaGluZyBsaW5lcywgc28gYSBuZXcgQ2hhbmdlTG9nIGVu
dHJ5IHdpbGwKKyAgICAjIGhhdmUgbGluZXMgb2YgY29udGV4dCBhdCB0aGUgdG9wIG9mIGEgcGF0
Y2ggd2hlbiB0aGUgZXhpc3RpbmcgZW50cnkgaGFzIHRoZSBzYW1lCisgICAgIyBkYXRlIGFuZCBh
dXRob3IgYXMgdGhlIG5ldyBlbnRyeS4gIFRoaXMgbmlmdHkgbG9vcCBhbHRlcnMgYSBDaGFuZ2VM
b2cgcGF0Y2ggc28KKyAgICAjIHRoYXQgdGhlIGFkZGVkIGxpbmVzICgiKyIpIGluIHRoZSBwYXRj
aCBhbHdheXMgc3RhcnQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUKKyAgICAjIHBhdGNoIGFuZCB0
aGVyZSBhcmUgbm8gaW5pdGlhbCBsaW5lcyBvZiBjb250ZXh0LgorICAgIG15ICRuZXdQYXRjaDsK
KyAgICBteSAkbGluZUNvdW50SW5TdGF0ZSA9IDA7CisgICAgbXkgJG9sZENvbnRlbnRMaW5lQ291
bnRSZWR1Y3Rpb24gPSAkb2xkTGluZUNvdW50IC0gMzsKKyAgICBteSAkbmV3Q29udGVudExpbmVD
b3VudFdpdGhvdXRDb250ZXh0ID0gJG5ld0xpbmVDb3VudCAtICRvbGRMaW5lQ291bnQgLSAkb2xk
Q29udGVudExpbmVDb3VudFJlZHVjdGlvbjsKKyAgICBteSAoJHN0YXRlSGVhZGVyLCAkc3RhdGVQ
cmVDb250ZXh0LCAkc3RhdGVOZXdDaGFuZ2VzLCAkc3RhdGVQb3N0Q29udGV4dCkgPSAoMS4uNCk7
CisgICAgbXkgJHN0YXRlID0gJHN0YXRlSGVhZGVyOworICAgIGZvcmVhY2ggbXkgJGxpbmUgKHNw
bGl0KC9cbi8sICRwYXRjaCkpIHsKKyAgICAgICAgJGxpbmVDb3VudEluU3RhdGUrKzsKKyAgICAg
ICAgaWYgKCRzdGF0ZSA9PSAkc3RhdGVIZWFkZXIgJiYgJGxpbmUgPX4gL15AQCAtMSwkb2xkTGlu
ZUNvdW50IFwrMSwkbmV3TGluZUNvdW50IEBcQCQvKSB7CisgICAgICAgICAgICAkbGluZSA9ICJA
QCAtMSwzICsxLCIgLiAoJG5ld0xpbmVDb3VudCAtICRvbGRDb250ZW50TGluZUNvdW50UmVkdWN0
aW9uKSAuICIgQEAiOworICAgICAgICAgICAgJGxpbmVDb3VudEluU3RhdGUgPSAwOworICAgICAg
ICAgICAgJHN0YXRlID0gJHN0YXRlUHJlQ29udGV4dDsKKyAgICAgICAgfSBlbHNpZiAoJHN0YXRl
ID09ICRzdGF0ZVByZUNvbnRleHQgJiYgc3Vic3RyKCRsaW5lLCAwLCAxKSBlcSAiICIpIHsKKyAg
ICAgICAgICAgICRsaW5lID0gIisiIC4gc3Vic3RyKCRsaW5lLCAxKTsKKyAgICAgICAgICAgIGlm
ICgkbGluZUNvdW50SW5TdGF0ZSA9PSAkb2xkQ29udGVudExpbmVDb3VudFJlZHVjdGlvbikgewor
ICAgICAgICAgICAgICAgICRsaW5lQ291bnRJblN0YXRlID0gMDsKKyAgICAgICAgICAgICAgICAk
c3RhdGUgPSAkc3RhdGVOZXdDaGFuZ2VzOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2lm
ICgkc3RhdGUgPT0gJHN0YXRlTmV3Q2hhbmdlcyAmJiBzdWJzdHIoJGxpbmUsIDAsIDEpIGVxICIr
IikgeworICAgICAgICAgICAgIyBObyBjaGFuZ2VzIHRvIHRoZXNlIGxpbmVzCisgICAgICAgICAg
ICBpZiAoJGxpbmVDb3VudEluU3RhdGUgPT0gJG5ld0NvbnRlbnRMaW5lQ291bnRXaXRob3V0Q29u
dGV4dCkgeworICAgICAgICAgICAgICAgICRsaW5lQ291bnRJblN0YXRlID0gMDsKKyAgICAgICAg
ICAgICAgICAkc3RhdGUgPSAkc3RhdGVQb3N0Q29udGV4dDsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfSBlbHNpZiAoJHN0YXRlID09ICRzdGF0ZVBvc3RDb250ZXh0KSB7CisgICAgICAgICAgICBp
ZiAoc3Vic3RyKCRsaW5lLCAwLCAxKSBlcSAiKyIgJiYgJGxpbmVDb3VudEluU3RhdGUgPD0gJG9s
ZENvbnRlbnRMaW5lQ291bnRSZWR1Y3Rpb24pIHsKKyAgICAgICAgICAgICAgICAkbGluZSA9ICIg
IiAuIHN1YnN0cigkbGluZSwgMSk7CisgICAgICAgICAgICB9IGVsc2lmICgkbGluZUNvdW50SW5T
dGF0ZSA+IDMgJiYgc3Vic3RyKCRsaW5lLCAwLCAxKSBlcSAiICIpIHsKKyAgICAgICAgICAgICAg
ICBuZXh0OyAjIERpc2NhcmQgcG9zdCBjb250ZXh0IG92ZXIgMyBsaW5lcworICAgICAgICAgICAg
fQorICAgICAgICB9CisgICAgICAgICRuZXdQYXRjaCAuPSAkbGluZSAuICJcbiI7CisgICAgfQor
CisgICAgcmV0dXJuICRuZXdQYXRjaDsKK30KKwogc3ViIHBhdGNoKCQpCiB7CiAgICAgbXkgKCRw
YXRjaCkgPSBAXzsKQEAgLTEyMyw3ICsxNzQsNyBAQCBzdWIgcGF0Y2goJCkKICAgICAgICAgIyBT
dGFuZGFyZCBwYXRjaCwgcGF0Y2ggdG9vbCBjYW4gaGFuZGxlIHRoaXMuCiAgICAgICAgIGlmIChi
YXNlbmFtZSgkZnVsbFBhdGgpIGVxICJDaGFuZ2VMb2ciKSB7CiAgICAgICAgICAgICBteSAkY2hh
bmdlTG9nRG90T3JpZ0V4aXN0ZWQgPSAtZiAiJHtmdWxsUGF0aH0ub3JpZyI7Ci0gICAgICAgICAg
ICB1bmFwcGx5UGF0Y2godW5zZXRDaGFuZ2VMb2dEYXRlKCRmdWxsUGF0aCwgJHBhdGNoKSwgJGZ1
bGxQYXRoLCBbIi0tZnV6ej0zIl0pOworICAgICAgICAgICAgdW5hcHBseVBhdGNoKHVuc2V0Q2hh
bmdlTG9nRGF0ZSgkZnVsbFBhdGgsIGZpeENoYW5nZUxvZ1BhdGNoKCRwYXRjaCkpLCAkZnVsbFBh
dGgsIFsiLS1mdXp6PTMiXSk7CiAgICAgICAgICAgICB1bmxpbmsoIiR7ZnVsbFBhdGh9Lm9yaWci
KSBpZiAoISAkY2hhbmdlTG9nRG90T3JpZ0V4aXN0ZWQpOwogICAgICAgICB9IGVsc2UgewogICAg
ICAgICAgICAgdW5hcHBseVBhdGNoKCRwYXRjaCwgJGZ1bGxQYXRoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>9401</attachid>
            <date>2006-07-12 06:50:15 -0700</date>
            <delta_ts>2006-07-12 08:07:54 -0700</delta_ts>
            <desc>Patch v2</desc>
            <filename>bug-9848-v2.diff</filename>
            <type>text/plain</type>
            <size>11298</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE1Mzg5KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMDYtMDctMTIgIERhdmlkIEtpbHplciAgPGRk
a2lsemVyQGtpbHplci5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgLSBmaXggaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3aW4ub3JnL3Nob3dfYnVn
LmNnaT9pZD05ODQ4CisgICAgICAgICAgVGVhY2ggc3ZuLWNyZWF0ZS1wYXRjaCBhbmQgZnJpZW5k
cyB0byBmaXggQ2hhbmdlTG9nIHBhdGNoZXMKKworICAgICAgICAqIFNjcmlwdHMvc3ZuLWFwcGx5
OiBBZGRlZCBmaXhDaGFuZ2VMb2dQYXRjaCgpIGFuZCBpbnZva2VkIGl0IGluIHRoZSBwcm9wZXIg
cGxhY2UuCisgICAgICAgICogU2NyaXB0cy9zdm4tY3JlYXRlLXBhdGNoOiBEaXR0by4KKyAgICAg
ICAgKiBTY3JpcHRzL3N2bi11bmFwcGx5OiBEaXR0by4KKwogMjAwNi0wNy0xMiAgTWFyayBSb3dl
ICA8b3BlbmRhcndpbi5vcmdAYmRhc2gubmV0Lm56PgogCiAgICAgICAgIFJldmlld2VkIGJ5IGdn
YXJlbi4KSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvc3ZuLWFwcGx5Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdFRvb2xzL1NjcmlwdHMvc3ZuLWFwcGx5CShyZXZpc2lvbiAxNTM4OSkKKysrIFdlYktp
dFRvb2xzL1NjcmlwdHMvc3ZuLWFwcGx5CSh3b3JraW5nIGNvcHkpCkBAIC02NSw2ICs2NSw3IEBA
IHVzZSBQT1NJWCBxdyhzdHJmdGltZSk7CiAKIHN1YiBhZGREaXJlY3Rvcmllc0lmTmVlZGVkKCQp
Owogc3ViIGFwcGx5UGF0Y2goJCQ7JCk7CitzdWIgZml4Q2hhbmdlTG9nUGF0Y2goJCk7CiBzdWIg
aGFuZGxlQmluYXJ5Q2hhbmdlKCQkKTsKIHN1YiBpc0RpcmVjdG9yeUVtcHR5Rm9yUmVtb3ZhbCgk
KTsKIHN1YiBwYXRjaCgkKTsKQEAgLTE3Myw2ICsxNzQsNTcgQEAgc3ViIGFwcGx5UGF0Y2goJCQ7
JCkKICAgICBjbG9zZSBQQVRDSDsKIH0KIAorc3ViIGZpeENoYW5nZUxvZ1BhdGNoKCQpCit7Cisg
ICAgbXkgJHBhdGNoID0gc2hpZnQ7CisgICAgbXkgJGNvbnRleHRMaW5lQ291bnQgPSAzOworCisg
ICAgcmV0dXJuICRwYXRjaCBpZiAkcGF0Y2ggIX4gL1xuQEAgLTEsKFxkKykgXCsxLChcZCspIEBA
XG4oIC4qXG4pKyhcKy4qXG4pKyggLipcbil7JGNvbnRleHRMaW5lQ291bnR9JC9tOworICAgIG15
ICgkb2xkTGluZUNvdW50LCAkbmV3TGluZUNvdW50KSA9ICgkMSwgJDIpOworICAgIHJldHVybiAk
cGF0Y2ggaWYgJG9sZExpbmVDb3VudCA8PSAkY29udGV4dExpbmVDb3VudDsKKworICAgICMgVGhl
IGRpZmYoMSkgY29tbWFuZCBpcyBncmVlZHkgd2hlbiBtYXRjaGluZyBsaW5lcywgc28gYSBuZXcg
Q2hhbmdlTG9nIGVudHJ5IHdpbGwKKyAgICAjIGhhdmUgbGluZXMgb2YgY29udGV4dCBhdCB0aGUg
dG9wIG9mIGEgcGF0Y2ggd2hlbiB0aGUgZXhpc3RpbmcgZW50cnkgaGFzIHRoZSBzYW1lCisgICAg
IyBkYXRlIGFuZCBhdXRob3IgYXMgdGhlIG5ldyBlbnRyeS4gIFRoaXMgbmlmdHkgbG9vcCBhbHRl
cnMgYSBDaGFuZ2VMb2cgcGF0Y2ggc28KKyAgICAjIHRoYXQgdGhlIGFkZGVkIGxpbmVzICgiKyIp
IGluIHRoZSBwYXRjaCBhbHdheXMgc3RhcnQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUKKyAgICAj
IHBhdGNoIGFuZCB0aGVyZSBhcmUgbm8gaW5pdGlhbCBsaW5lcyBvZiBjb250ZXh0LgorICAgIG15
ICRuZXdQYXRjaDsKKyAgICBteSAkbGluZUNvdW50SW5TdGF0ZSA9IDA7CisgICAgbXkgJG9sZENv
bnRlbnRMaW5lQ291bnRSZWR1Y3Rpb24gPSAkb2xkTGluZUNvdW50IC0gJGNvbnRleHRMaW5lQ291
bnQ7CisgICAgbXkgJG5ld0NvbnRlbnRMaW5lQ291bnRXaXRob3V0Q29udGV4dCA9ICRuZXdMaW5l
Q291bnQgLSAkb2xkTGluZUNvdW50IC0gJG9sZENvbnRlbnRMaW5lQ291bnRSZWR1Y3Rpb247Cisg
ICAgbXkgKCRzdGF0ZUhlYWRlciwgJHN0YXRlUHJlQ29udGV4dCwgJHN0YXRlTmV3Q2hhbmdlcywg
JHN0YXRlUG9zdENvbnRleHQpID0gKDEuLjQpOworICAgIG15ICRzdGF0ZSA9ICRzdGF0ZUhlYWRl
cjsKKyAgICBmb3JlYWNoIG15ICRsaW5lIChzcGxpdCgvXG4vLCAkcGF0Y2gpKSB7CisgICAgICAg
ICRsaW5lQ291bnRJblN0YXRlKys7CisgICAgICAgIGlmICgkc3RhdGUgPT0gJHN0YXRlSGVhZGVy
ICYmICRsaW5lID1+IC9eQEAgLTEsJG9sZExpbmVDb3VudCBcKzEsJG5ld0xpbmVDb3VudCBAXEAk
LykgeworICAgICAgICAgICAgJGxpbmUgPSAiQEAgLTEsJGNvbnRleHRMaW5lQ291bnQgKzEsIiAu
ICgkbmV3TGluZUNvdW50IC0gJG9sZENvbnRlbnRMaW5lQ291bnRSZWR1Y3Rpb24pIC4gIiBAQCI7
CisgICAgICAgICAgICAkbGluZUNvdW50SW5TdGF0ZSA9IDA7CisgICAgICAgICAgICAkc3RhdGUg
PSAkc3RhdGVQcmVDb250ZXh0OworICAgICAgICB9IGVsc2lmICgkc3RhdGUgPT0gJHN0YXRlUHJl
Q29udGV4dCAmJiBzdWJzdHIoJGxpbmUsIDAsIDEpIGVxICIgIikgeworICAgICAgICAgICAgJGxp
bmUgPSAiKyIgLiBzdWJzdHIoJGxpbmUsIDEpOworICAgICAgICAgICAgaWYgKCRsaW5lQ291bnRJ
blN0YXRlID09ICRvbGRDb250ZW50TGluZUNvdW50UmVkdWN0aW9uKSB7CisgICAgICAgICAgICAg
ICAgJGxpbmVDb3VudEluU3RhdGUgPSAwOworICAgICAgICAgICAgICAgICRzdGF0ZSA9ICRzdGF0
ZU5ld0NoYW5nZXM7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzaWYgKCRzdGF0ZSA9PSAk
c3RhdGVOZXdDaGFuZ2VzICYmIHN1YnN0cigkbGluZSwgMCwgMSkgZXEgIisiKSB7CisgICAgICAg
ICAgICAjIE5vIGNoYW5nZXMgdG8gdGhlc2UgbGluZXMKKyAgICAgICAgICAgIGlmICgkbGluZUNv
dW50SW5TdGF0ZSA9PSAkbmV3Q29udGVudExpbmVDb3VudFdpdGhvdXRDb250ZXh0KSB7CisgICAg
ICAgICAgICAgICAgJGxpbmVDb3VudEluU3RhdGUgPSAwOworICAgICAgICAgICAgICAgICRzdGF0
ZSA9ICRzdGF0ZVBvc3RDb250ZXh0OworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2lmICgk
c3RhdGUgPT0gJHN0YXRlUG9zdENvbnRleHQpIHsKKyAgICAgICAgICAgIGlmIChzdWJzdHIoJGxp
bmUsIDAsIDEpIGVxICIrIiAmJiAkbGluZUNvdW50SW5TdGF0ZSA8PSAkb2xkQ29udGVudExpbmVD
b3VudFJlZHVjdGlvbikgeworICAgICAgICAgICAgICAgICRsaW5lID0gIiAiIC4gc3Vic3RyKCRs
aW5lLCAxKTsKKyAgICAgICAgICAgIH0gZWxzaWYgKCRsaW5lQ291bnRJblN0YXRlID4gJGNvbnRl
eHRMaW5lQ291bnQgJiYgc3Vic3RyKCRsaW5lLCAwLCAxKSBlcSAiICIpIHsKKyAgICAgICAgICAg
ICAgICBuZXh0OyAjIERpc2NhcmQKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICAk
bmV3UGF0Y2ggLj0gJGxpbmUgLiAiXG4iOworICAgIH0KKworICAgIHJldHVybiAkbmV3UGF0Y2g7
Cit9CisKIHN1YiBoYW5kbGVCaW5hcnlDaGFuZ2UoJCQpCiB7CiAgICAgbXkgKCRmdWxsUGF0aCwg
JGNvbnRlbnRzKSA9IEBfOwpAQCAtMjM0LDcgKzI4Niw3IEBAIHN1YiBwYXRjaCgkKQogICAgICAg
ICAjIFN0YW5kYXJkIHBhdGNoLCBwYXRjaCB0b29sIGNhbiBoYW5kbGUgdGhpcy4KICAgICAgICAg
aWYgKGJhc2VuYW1lKCRmdWxsUGF0aCkgZXEgIkNoYW5nZUxvZyIpIHsKICAgICAgICAgICAgIG15
ICRjaGFuZ2VMb2dEb3RPcmlnRXhpc3RlZCA9IC1mICIke2Z1bGxQYXRofS5vcmlnIjsKLSAgICAg
ICAgICAgIGFwcGx5UGF0Y2goc2V0Q2hhbmdlTG9nRGF0ZSgkcGF0Y2gpLCAkZnVsbFBhdGgsIFsi
LS1mdXp6PTMiXSk7CisgICAgICAgICAgICBhcHBseVBhdGNoKHNldENoYW5nZUxvZ0RhdGUoZml4
Q2hhbmdlTG9nUGF0Y2goJHBhdGNoKSksICRmdWxsUGF0aCwgWyItLWZ1eno9MyJdKTsKICAgICAg
ICAgICAgIHVubGluaygiJHtmdWxsUGF0aH0ub3JpZyIpIGlmICghICRjaGFuZ2VMb2dEb3RPcmln
RXhpc3RlZCk7CiAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBhcHBseVBhdGNoKCRwYXRj
aCwgJGZ1bGxQYXRoKTsKSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMvc3ZuLWNyZWF0ZS1wYXRj
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9TY3JpcHRzL3N2bi1jcmVhdGUtcGF0Y2gJKHJl
dmlzaW9uIDE1Mzg5KQorKysgV2ViS2l0VG9vbHMvU2NyaXB0cy9zdm4tY3JlYXRlLXBhdGNoCSh3
b3JraW5nIGNvcHkpCkBAIC01Myw2ICs1Myw3IEBAIHVzZSBQT1NJWCBxdyg6ZXJybm9faCk7CiB1
c2UgVGltZTo6Z210aW1lOwogCiBzdWIgY2Fub25pY2FsaXplUGF0aCgkKTsKK3N1YiBmaXhDaGFu
Z2VMb2dQYXRjaCgkKTsKIHN1YiBnZW5lcmF0ZURpZmYoJCk7CiBzdWIgZ2VuZXJhdGVGaWxlTGlz
dCgkXCVcJSk7CiBzdWIgbnVtZXJpY2NtcCgkJCk7CkBAIC0xMDYsMjEgKzEwNyw3NSBAQCBzdWIg
Y2Fub25pY2FsaXplUGF0aCgkKQogICAgIHJldHVybiAoJCNkaXJzID49IDApID8gRmlsZTo6U3Bl
Yy0+Y2F0ZGlyKEBkaXJzKSA6ICIuIjsKIH0KIAorc3ViIGZpeENoYW5nZUxvZ1BhdGNoKCQpCit7
CisgICAgbXkgJHBhdGNoID0gc2hpZnQ7CisgICAgbXkgJGNvbnRleHRMaW5lQ291bnQgPSAzOwor
CisgICAgcmV0dXJuICRwYXRjaCBpZiAkcGF0Y2ggIX4gL1xuQEAgLTEsKFxkKykgXCsxLChcZCsp
IEBAXG4oIC4qXG4pKyhcKy4qXG4pKyggLipcbil7JGNvbnRleHRMaW5lQ291bnR9JC9tOworICAg
IG15ICgkb2xkTGluZUNvdW50LCAkbmV3TGluZUNvdW50KSA9ICgkMSwgJDIpOworICAgIHJldHVy
biAkcGF0Y2ggaWYgJG9sZExpbmVDb3VudCA8PSAkY29udGV4dExpbmVDb3VudDsKKworICAgICMg
VGhlIGRpZmYoMSkgY29tbWFuZCBpcyBncmVlZHkgd2hlbiBtYXRjaGluZyBsaW5lcywgc28gYSBu
ZXcgQ2hhbmdlTG9nIGVudHJ5IHdpbGwKKyAgICAjIGhhdmUgbGluZXMgb2YgY29udGV4dCBhdCB0
aGUgdG9wIG9mIGEgcGF0Y2ggd2hlbiB0aGUgZXhpc3RpbmcgZW50cnkgaGFzIHRoZSBzYW1lCisg
ICAgIyBkYXRlIGFuZCBhdXRob3IgYXMgdGhlIG5ldyBlbnRyeS4gIFRoaXMgbmlmdHkgbG9vcCBh
bHRlcnMgYSBDaGFuZ2VMb2cgcGF0Y2ggc28KKyAgICAjIHRoYXQgdGhlIGFkZGVkIGxpbmVzICgi
KyIpIGluIHRoZSBwYXRjaCBhbHdheXMgc3RhcnQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUKKyAg
ICAjIHBhdGNoIGFuZCB0aGVyZSBhcmUgbm8gaW5pdGlhbCBsaW5lcyBvZiBjb250ZXh0LgorICAg
IG15ICRuZXdQYXRjaDsKKyAgICBteSAkbGluZUNvdW50SW5TdGF0ZSA9IDA7CisgICAgbXkgJG9s
ZENvbnRlbnRMaW5lQ291bnRSZWR1Y3Rpb24gPSAkb2xkTGluZUNvdW50IC0gJGNvbnRleHRMaW5l
Q291bnQ7CisgICAgbXkgJG5ld0NvbnRlbnRMaW5lQ291bnRXaXRob3V0Q29udGV4dCA9ICRuZXdM
aW5lQ291bnQgLSAkb2xkTGluZUNvdW50IC0gJG9sZENvbnRlbnRMaW5lQ291bnRSZWR1Y3Rpb247
CisgICAgbXkgKCRzdGF0ZUhlYWRlciwgJHN0YXRlUHJlQ29udGV4dCwgJHN0YXRlTmV3Q2hhbmdl
cywgJHN0YXRlUG9zdENvbnRleHQpID0gKDEuLjQpOworICAgIG15ICRzdGF0ZSA9ICRzdGF0ZUhl
YWRlcjsKKyAgICBmb3JlYWNoIG15ICRsaW5lIChzcGxpdCgvXG4vLCAkcGF0Y2gpKSB7CisgICAg
ICAgICRsaW5lQ291bnRJblN0YXRlKys7CisgICAgICAgIGlmICgkc3RhdGUgPT0gJHN0YXRlSGVh
ZGVyICYmICRsaW5lID1+IC9eQEAgLTEsJG9sZExpbmVDb3VudCBcKzEsJG5ld0xpbmVDb3VudCBA
XEAkLykgeworICAgICAgICAgICAgJGxpbmUgPSAiQEAgLTEsJGNvbnRleHRMaW5lQ291bnQgKzEs
IiAuICgkbmV3TGluZUNvdW50IC0gJG9sZENvbnRlbnRMaW5lQ291bnRSZWR1Y3Rpb24pIC4gIiBA
QCI7CisgICAgICAgICAgICAkbGluZUNvdW50SW5TdGF0ZSA9IDA7CisgICAgICAgICAgICAkc3Rh
dGUgPSAkc3RhdGVQcmVDb250ZXh0OworICAgICAgICB9IGVsc2lmICgkc3RhdGUgPT0gJHN0YXRl
UHJlQ29udGV4dCAmJiBzdWJzdHIoJGxpbmUsIDAsIDEpIGVxICIgIikgeworICAgICAgICAgICAg
JGxpbmUgPSAiKyIgLiBzdWJzdHIoJGxpbmUsIDEpOworICAgICAgICAgICAgaWYgKCRsaW5lQ291
bnRJblN0YXRlID09ICRvbGRDb250ZW50TGluZUNvdW50UmVkdWN0aW9uKSB7CisgICAgICAgICAg
ICAgICAgJGxpbmVDb3VudEluU3RhdGUgPSAwOworICAgICAgICAgICAgICAgICRzdGF0ZSA9ICRz
dGF0ZU5ld0NoYW5nZXM7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzaWYgKCRzdGF0ZSA9
PSAkc3RhdGVOZXdDaGFuZ2VzICYmIHN1YnN0cigkbGluZSwgMCwgMSkgZXEgIisiKSB7CisgICAg
ICAgICAgICAjIE5vIGNoYW5nZXMgdG8gdGhlc2UgbGluZXMKKyAgICAgICAgICAgIGlmICgkbGlu
ZUNvdW50SW5TdGF0ZSA9PSAkbmV3Q29udGVudExpbmVDb3VudFdpdGhvdXRDb250ZXh0KSB7Cisg
ICAgICAgICAgICAgICAgJGxpbmVDb3VudEluU3RhdGUgPSAwOworICAgICAgICAgICAgICAgICRz
dGF0ZSA9ICRzdGF0ZVBvc3RDb250ZXh0OworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2lm
ICgkc3RhdGUgPT0gJHN0YXRlUG9zdENvbnRleHQpIHsKKyAgICAgICAgICAgIGlmIChzdWJzdHIo
JGxpbmUsIDAsIDEpIGVxICIrIiAmJiAkbGluZUNvdW50SW5TdGF0ZSA8PSAkb2xkQ29udGVudExp
bmVDb3VudFJlZHVjdGlvbikgeworICAgICAgICAgICAgICAgICRsaW5lID0gIiAiIC4gc3Vic3Ry
KCRsaW5lLCAxKTsKKyAgICAgICAgICAgIH0gZWxzaWYgKCRsaW5lQ291bnRJblN0YXRlID4gJGNv
bnRleHRMaW5lQ291bnQgJiYgc3Vic3RyKCRsaW5lLCAwLCAxKSBlcSAiICIpIHsKKyAgICAgICAg
ICAgICAgICBuZXh0OyAjIERpc2NhcmQKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAg
ICAkbmV3UGF0Y2ggLj0gJGxpbmUgLiAiXG4iOworICAgIH0KKworICAgIHJldHVybiAkbmV3UGF0
Y2g7Cit9CisKIHN1YiBnZW5lcmF0ZURpZmYoJCkKIHsKICAgICBteSAoJGZpbGUpID0gQF87CiAg
ICAgbXkgJGVycm9ycyA9ICIiOwogICAgIG15ICRpc0JpbmFyeTsKLSAgICBteSAkbGFzdExpbmU7
CisgICAgbXkgJHBhdGNoOwogICAgIG9wZW4gRElGRiwgInN2biBkaWZmIC0tZGlmZi1jbWQgZGlm
ZiAteCAtdU5wICckZmlsZScgfCIgb3IgZGllOwogICAgIHdoaWxlICg8RElGRj4pIHsKICAgICAg
ICAgJGlzQmluYXJ5ID0gMSBpZiAoL15DYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBi
aW5hcnkgdHlwZVwuJC8pOwotICAgICAgICBwcmludDsKLSAgICAgICAgJGxhc3RMaW5lID0gJF87
CisgICAgICAgICRwYXRjaCAuPSAkXzsKICAgICB9CiAgICAgY2xvc2UgRElGRjsKLSAgICBwcmlu
dCAiXG4iIGlmICgkaXNCaW5hcnkgJiYgJGxhc3RMaW5lID1+IG0vXFMrLyk7Ci0gICAgb3V0cHV0
QmluYXJ5Q29udGVudCgkZmlsZSkgaWYgKCRpc0JpbmFyeSk7CisgICAgJHBhdGNoID0gZml4Q2hh
bmdlTG9nUGF0Y2goJHBhdGNoKSBpZiBiYXNlbmFtZSgkZmlsZSkgZXEgIkNoYW5nZUxvZyI7Cisg
ICAgcHJpbnQgJHBhdGNoOworICAgIGlmICgkaXNCaW5hcnkpIHsKKyAgICAgICAgcHJpbnQgIlxu
IiBpZiAkcGF0Y2ggPX4gbS9cblxTKyQvbTsKKyAgICAgICAgb3V0cHV0QmluYXJ5Q29udGVudCgk
ZmlsZSk7CisgICAgfQogICAgIHByaW50IFNUREVSUiAkZXJyb3JzOwogfQogCkluZGV4OiBXZWJL
aXRUb29scy9TY3JpcHRzL3N2bi11bmFwcGx5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL1Nj
cmlwdHMvc3ZuLXVuYXBwbHkJKHJldmlzaW9uIDE1Mzg5KQorKysgV2ViS2l0VG9vbHMvU2NyaXB0
cy9zdm4tdW5hcHBseQkod29ya2luZyBjb3B5KQpAQCAtNjAsNiArNjAsNyBAQCB1c2UgRmlsZTo6
QmFzZW5hbWU7CiB1c2UgRmlsZTo6U3BlYzsKIHVzZSBHZXRvcHQ6Okxvbmc7CiAKK3N1YiBmaXhD
aGFuZ2VMb2dQYXRjaCgkKTsKIHN1YiBwYXRjaCgkKTsKIHN1YiByZXZlcnREaXJlY3Rvcmllcygp
Owogc3ViIHN2blN0YXR1cygkKTsKQEAgLTEwMiw2ICsxMDMsNTcgQEAgcmV2ZXJ0RGlyZWN0b3Jp
ZXMoKTsKIAogZXhpdCAwOwogCitzdWIgZml4Q2hhbmdlTG9nUGF0Y2goJCkKK3sKKyAgICBteSAk
cGF0Y2ggPSBzaGlmdDsKKyAgICBteSAkY29udGV4dExpbmVDb3VudCA9IDM7CisKKyAgICByZXR1
cm4gJHBhdGNoIGlmICRwYXRjaCAhfiAvXG5AQCAtMSwoXGQrKSBcKzEsKFxkKykgQEBcbiggLipc
bikrKFwrLipcbikrKCAuKlxuKXskY29udGV4dExpbmVDb3VudH0kL207CisgICAgbXkgKCRvbGRM
aW5lQ291bnQsICRuZXdMaW5lQ291bnQpID0gKCQxLCAkMik7CisgICAgcmV0dXJuICRwYXRjaCBp
ZiAkb2xkTGluZUNvdW50IDw9ICRjb250ZXh0TGluZUNvdW50OworCisgICAgIyBUaGUgZGlmZigx
KSBjb21tYW5kIGlzIGdyZWVkeSB3aGVuIG1hdGNoaW5nIGxpbmVzLCBzbyBhIG5ldyBDaGFuZ2VM
b2cgZW50cnkgd2lsbAorICAgICMgaGF2ZSBsaW5lcyBvZiBjb250ZXh0IGF0IHRoZSB0b3Agb2Yg
YSBwYXRjaCB3aGVuIHRoZSBleGlzdGluZyBlbnRyeSBoYXMgdGhlIHNhbWUKKyAgICAjIGRhdGUg
YW5kIGF1dGhvciBhcyB0aGUgbmV3IGVudHJ5LiAgVGhpcyBuaWZ0eSBsb29wIGFsdGVycyBhIENo
YW5nZUxvZyBwYXRjaCBzbworICAgICMgdGhhdCB0aGUgYWRkZWQgbGluZXMgKCIrIikgaW4gdGhl
IHBhdGNoIGFsd2F5cyBzdGFydCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZQorICAgICMgcGF0Y2gg
YW5kIHRoZXJlIGFyZSBubyBpbml0aWFsIGxpbmVzIG9mIGNvbnRleHQuCisgICAgbXkgJG5ld1Bh
dGNoOworICAgIG15ICRsaW5lQ291bnRJblN0YXRlID0gMDsKKyAgICBteSAkb2xkQ29udGVudExp
bmVDb3VudFJlZHVjdGlvbiA9ICRvbGRMaW5lQ291bnQgLSAkY29udGV4dExpbmVDb3VudDsKKyAg
ICBteSAkbmV3Q29udGVudExpbmVDb3VudFdpdGhvdXRDb250ZXh0ID0gJG5ld0xpbmVDb3VudCAt
ICRvbGRMaW5lQ291bnQgLSAkb2xkQ29udGVudExpbmVDb3VudFJlZHVjdGlvbjsKKyAgICBteSAo
JHN0YXRlSGVhZGVyLCAkc3RhdGVQcmVDb250ZXh0LCAkc3RhdGVOZXdDaGFuZ2VzLCAkc3RhdGVQ
b3N0Q29udGV4dCkgPSAoMS4uNCk7CisgICAgbXkgJHN0YXRlID0gJHN0YXRlSGVhZGVyOworICAg
IGZvcmVhY2ggbXkgJGxpbmUgKHNwbGl0KC9cbi8sICRwYXRjaCkpIHsKKyAgICAgICAgJGxpbmVD
b3VudEluU3RhdGUrKzsKKyAgICAgICAgaWYgKCRzdGF0ZSA9PSAkc3RhdGVIZWFkZXIgJiYgJGxp
bmUgPX4gL15AQCAtMSwkb2xkTGluZUNvdW50IFwrMSwkbmV3TGluZUNvdW50IEBcQCQvKSB7Cisg
ICAgICAgICAgICAkbGluZSA9ICJAQCAtMSwkY29udGV4dExpbmVDb3VudCArMSwiIC4gKCRuZXdM
aW5lQ291bnQgLSAkb2xkQ29udGVudExpbmVDb3VudFJlZHVjdGlvbikgLiAiIEBAIjsKKyAgICAg
ICAgICAgICRsaW5lQ291bnRJblN0YXRlID0gMDsKKyAgICAgICAgICAgICRzdGF0ZSA9ICRzdGF0
ZVByZUNvbnRleHQ7CisgICAgICAgIH0gZWxzaWYgKCRzdGF0ZSA9PSAkc3RhdGVQcmVDb250ZXh0
ICYmIHN1YnN0cigkbGluZSwgMCwgMSkgZXEgIiAiKSB7CisgICAgICAgICAgICAkbGluZSA9ICIr
IiAuIHN1YnN0cigkbGluZSwgMSk7CisgICAgICAgICAgICBpZiAoJGxpbmVDb3VudEluU3RhdGUg
PT0gJG9sZENvbnRlbnRMaW5lQ291bnRSZWR1Y3Rpb24pIHsKKyAgICAgICAgICAgICAgICAkbGlu
ZUNvdW50SW5TdGF0ZSA9IDA7CisgICAgICAgICAgICAgICAgJHN0YXRlID0gJHN0YXRlTmV3Q2hh
bmdlczsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfSBlbHNpZiAoJHN0YXRlID09ICRzdGF0ZU5l
d0NoYW5nZXMgJiYgc3Vic3RyKCRsaW5lLCAwLCAxKSBlcSAiKyIpIHsKKyAgICAgICAgICAgICMg
Tm8gY2hhbmdlcyB0byB0aGVzZSBsaW5lcworICAgICAgICAgICAgaWYgKCRsaW5lQ291bnRJblN0
YXRlID09ICRuZXdDb250ZW50TGluZUNvdW50V2l0aG91dENvbnRleHQpIHsKKyAgICAgICAgICAg
ICAgICAkbGluZUNvdW50SW5TdGF0ZSA9IDA7CisgICAgICAgICAgICAgICAgJHN0YXRlID0gJHN0
YXRlUG9zdENvbnRleHQ7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzaWYgKCRzdGF0ZSA9
PSAkc3RhdGVQb3N0Q29udGV4dCkgeworICAgICAgICAgICAgaWYgKHN1YnN0cigkbGluZSwgMCwg
MSkgZXEgIisiICYmICRsaW5lQ291bnRJblN0YXRlIDw9ICRvbGRDb250ZW50TGluZUNvdW50UmVk
dWN0aW9uKSB7CisgICAgICAgICAgICAgICAgJGxpbmUgPSAiICIgLiBzdWJzdHIoJGxpbmUsIDEp
OworICAgICAgICAgICAgfSBlbHNpZiAoJGxpbmVDb3VudEluU3RhdGUgPiAkY29udGV4dExpbmVD
b3VudCAmJiBzdWJzdHIoJGxpbmUsIDAsIDEpIGVxICIgIikgeworICAgICAgICAgICAgICAgIG5l
eHQ7ICMgRGlzY2FyZAorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgICRuZXdQYXRj
aCAuPSAkbGluZSAuICJcbiI7CisgICAgfQorCisgICAgcmV0dXJuICRuZXdQYXRjaDsKK30KKwog
c3ViIHBhdGNoKCQpCiB7CiAgICAgbXkgKCRwYXRjaCkgPSBAXzsKQEAgLTEyMyw3ICsxNzUsNyBA
QCBzdWIgcGF0Y2goJCkKICAgICAgICAgIyBTdGFuZGFyZCBwYXRjaCwgcGF0Y2ggdG9vbCBjYW4g
aGFuZGxlIHRoaXMuCiAgICAgICAgIGlmIChiYXNlbmFtZSgkZnVsbFBhdGgpIGVxICJDaGFuZ2VM
b2ciKSB7CiAgICAgICAgICAgICBteSAkY2hhbmdlTG9nRG90T3JpZ0V4aXN0ZWQgPSAtZiAiJHtm
dWxsUGF0aH0ub3JpZyI7Ci0gICAgICAgICAgICB1bmFwcGx5UGF0Y2godW5zZXRDaGFuZ2VMb2dE
YXRlKCRmdWxsUGF0aCwgJHBhdGNoKSwgJGZ1bGxQYXRoLCBbIi0tZnV6ej0zIl0pOworICAgICAg
ICAgICAgdW5hcHBseVBhdGNoKHVuc2V0Q2hhbmdlTG9nRGF0ZSgkZnVsbFBhdGgsIGZpeENoYW5n
ZUxvZ1BhdGNoKCRwYXRjaCkpLCAkZnVsbFBhdGgsIFsiLS1mdXp6PTMiXSk7CiAgICAgICAgICAg
ICB1bmxpbmsoIiR7ZnVsbFBhdGh9Lm9yaWciKSBpZiAoISAkY2hhbmdlTG9nRG90T3JpZ0V4aXN0
ZWQpOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgdW5hcHBseVBhdGNoKCRwYXRjaCwg
JGZ1bGxQYXRoKTsK
</data>
<flag name="review"
          id="2856"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>