<?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>5315</bug_id>
          
          <creation_ts>2005-10-09 21:06:04 -0700</creation_ts>
          <short_desc>need to set document type based on contents of &lt;!DOCTYPE&gt;</short_desc>
          <delta_ts>2019-02-06 09:02:51 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</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="Darin Adler">darin</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>cdumez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>21660</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-10-09 21:06:04 -0700</bug_when>
    <thetext> </thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21661</commentid>
    <comment_count>1</comment_count>
      <attachid>4278</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-10-09 21:06:36 -0700</bug_when>
    <thetext>Created attachment 4278
sets document type when libxml2 parses &lt;!DOCTYPE&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21672</commentid>
    <comment_count>2</comment_count>
      <attachid>4278</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-10-09 21:44:41 -0700</bug_when>
    <thetext>Comment on attachment 4278
sets document type when libxml2 parses &lt;!DOCTYPE&gt;

Looks fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1502856</commentid>
    <comment_count>3</comment_count>
    <who name="Lucas Forschler">lforschler</who>
    <bug_when>2019-02-06 09:02:51 -0800</bug_when>
    <thetext>Mass moving XML DOM bugs to the &quot;DOM&quot; Component.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4278</attachid>
            <date>2005-10-09 21:06:36 -0700</date>
            <delta_ts>2005-10-09 21:44:41 -0700</delta_ts>
            <desc>sets document type when libxml2 parses &lt;!DOCTYPE&gt;</desc>
            <filename>DocumentTypePatch.txt</filename>
            <type>text/plain</type>
            <size>16537</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDEvY29yZS9kb2N1bWVudGdldGRvY3R5
cGVub2R0ZC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L0xheW91
dFRlc3RzL2RvbS94aHRtbC9sZXZlbDEvY29yZS9kb2N1bWVudGdldGRvY3R5cGVub2R0ZC1leHBl
Y3RlZC50eHQsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMQpkaWZmIC1wIC11IC1yMS4xIExheW91
dFRlc3RzL2RvbS94aHRtbC9sZXZlbDEvY29yZS9kb2N1bWVudGdldGRvY3R5cGVub2R0ZC1leHBl
Y3RlZC50eHQKLS0tIExheW91dFRlc3RzL2RvbS94aHRtbC9sZXZlbDEvY29yZS9kb2N1bWVudGdl
dGRvY3R5cGVub2R0ZC1leHBlY3RlZC50eHQJMjYgU2VwIDIwMDUgMjI6MzI6NDAgLTAwMDAJMS4x
CisrKyBMYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwxL2NvcmUvZG9jdW1lbnRnZXRkb2N0eXBl
bm9kdGQtZXhwZWN0ZWQudHh0CTkgT2N0IDIwMDUgMTc6MjU6MDkgLTAwMDAKQEAgLTEsMyArMSwy
IEBACiBUZXN0CWh0dHA6Ly93d3cudzMub3JnLzIwMDEvRE9NLVRlc3QtU3VpdGUvbGV2ZWwxL2Nv
cmUvZG9jdW1lbnRnZXRkb2N0eXBlbm9kdGQKLVN0YXR1cwlmYWlsdXJlCi1NZXNzYWdlCWRvY3Vt
ZW50R2V0RG9jVHlwZU5vRFREQXNzZXJ0OiBhc3NlcnROdWxsIGZhaWxlZCwgYWN0dWFsIFtvYmpl
Y3QgRG9jdW1lbnRUeXBlXQorU3RhdHVzCVN1Y2Nlc3MKSW5kZXg6IExheW91dFRlc3RzL2RvbS94
aHRtbC9sZXZlbDEvY29yZS9oY19kb2N1bWVudGdldGRvY3R5cGUtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9MYXlvdXRUZXN0cy9kb20veGh0bWwvbGV2ZWwxL2Nv
cmUvaGNfZG9jdW1lbnRnZXRkb2N0eXBlLWV4cGVjdGVkLnR4dCx2CnJldHJpZXZpbmcgcmV2aXNp
b24gMS4xCmRpZmYgLXAgLXUgLXIxLjEgTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVsMS9jb3Jl
L2hjX2RvY3VtZW50Z2V0ZG9jdHlwZS1leHBlY3RlZC50eHQKLS0tIExheW91dFRlc3RzL2RvbS94
aHRtbC9sZXZlbDEvY29yZS9oY19kb2N1bWVudGdldGRvY3R5cGUtZXhwZWN0ZWQudHh0CTI2IFNl
cCAyMDA1IDIyOjMzOjQwIC0wMDAwCTEuMQorKysgTGF5b3V0VGVzdHMvZG9tL3hodG1sL2xldmVs
MS9jb3JlL2hjX2RvY3VtZW50Z2V0ZG9jdHlwZS1leHBlY3RlZC50eHQJOSBPY3QgMjAwNSAxNzoy
NTowOSAtMDAwMApAQCAtMSwzICsxLDIgQEAKIFRlc3QJaHR0cDovL3d3dy53My5vcmcvMjAwMS9E
T00tVGVzdC1TdWl0ZS9sZXZlbDEvY29yZS9oY19kb2N1bWVudGdldGRvY3R5cGUKLVN0YXR1cwlm
YWlsdXJlCi1NZXNzYWdlCW5vZGVOYW1lOiBhc3NlcnRFcXVhbHMgZmFpbGVkLCBhY3R1YWwgbnVs
bCwgZXhwZWN0ZWQgaHRtbC4KK1N0YXR1cwlTdWNjZXNzCkluZGV4OiBXZWJDb3JlL2todG1sL2h0
bWwvaHRtbF9kb2N1bWVudGltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9X
ZWJDb3JlL2todG1sL2h0bWwvaHRtbF9kb2N1bWVudGltcGwuY3BwLHYKcmV0cmlldmluZyByZXZp
c2lvbiAxLjcxCmRpZmYgLXAgLXUgLXIxLjcxIFdlYkNvcmUva2h0bWwvaHRtbC9odG1sX2RvY3Vt
ZW50aW1wbC5jcHAKLS0tIFdlYkNvcmUva2h0bWwvaHRtbC9odG1sX2RvY3VtZW50aW1wbC5jcHAJ
MyBPY3QgMjAwNSAyMToxMjoyOCAtMDAwMAkxLjcxCisrKyBXZWJDb3JlL2todG1sL2h0bWwvaHRt
bF9kb2N1bWVudGltcGwuY3BwCTkgT2N0IDIwMDUgMTc6Mjc6MjAgLTAwMDAKQEAgLTQ5MiwxMSAr
NDkyLDggQEAgdm9pZCBIVE1MRG9jdW1lbnRJbXBsOjpkZXRlcm1pbmVQYXJzZU1vZAogICAgIFFT
dHJpbmcgc3lzdGVtSUQsIHB1YmxpY0lEOwogICAgIGludCByZXN1bHRGbGFncyA9IDA7CiAgICAg
aWYgKHBhcnNlRG9jVHlwZURlY2xhcmF0aW9uKHN0ciwgJnJlc3VsdEZsYWdzLCBwdWJsaWNJRCwg
c3lzdGVtSUQpKSB7Ci0gICAgICAgIGlmIChyZXN1bHRGbGFncyAmIFBBUlNFTU9ERV9IQVZFX0RP
Q1RZUEUpIHsKLSAgICAgICAgICAgIG1fZG9jdHlwZS0+c2V0TmFtZSgiSFRNTCIpOwotICAgICAg
ICAgICAgbV9kb2N0eXBlLT5zZXRQdWJsaWNJZChwdWJsaWNJRCk7Ci0gICAgICAgICAgICBtX2Rv
Y3R5cGUtPnNldFN5c3RlbUlkKHN5c3RlbUlEKTsKLSAgICAgICAgfQorICAgICAgICBpZiAocmVz
dWx0RmxhZ3MgJiBQQVJTRU1PREVfSEFWRV9ET0NUWVBFKQorICAgICAgICAgICAgc2V0RG9jVHlw
ZShuZXcgRG9jdW1lbnRUeXBlSW1wbChkb2NQdHIoKSwgIkhUTUwiLCBwdWJsaWNJRCwgc3lzdGVt
SUQpKTsKICAgICAgICAgaWYgKCEocmVzdWx0RmxhZ3MgJiBQQVJTRU1PREVfSEFWRV9ET0NUWVBF
KSkgewogICAgICAgICAgICAgLy8gTm8gZG9jdHlwZSBmb3VuZCBhdCBhbGwuICBEZWZhdWx0IHRv
IHF1aXJrcyBtb2RlIGFuZCBIdG1sNC4KICAgICAgICAgICAgIHBNb2RlID0gQ29tcGF0OwpJbmRl
eDogV2ViQ29yZS9raHRtbC94bWwvZG9tX2RvY2ltcGwuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6
IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL3htbC9kb21fZG9jaW1wbC5jcHAsdgpyZXRyaWV2aW5n
IHJldmlzaW9uIDEuMjU5CmRpZmYgLXAgLXUgLXIxLjI1OSBXZWJDb3JlL2todG1sL3htbC9kb21f
ZG9jaW1wbC5jcHAKLS0tIFdlYkNvcmUva2h0bWwveG1sL2RvbV9kb2NpbXBsLmNwcAk2IE9jdCAy
MDA1IDAwOjU0OjA1IC0wMDAwCTEuMjU5CisrKyBXZWJDb3JlL2todG1sL3htbC9kb21fZG9jaW1w
bC5jcHAJOSBPY3QgMjAwNSAxNzoyNzoyMiAtMDAwMApAQCAtMTc3LDcgKzE3Nyw3IEBAIERvY3Vt
ZW50VHlwZUltcGwgKkRPTUltcGxlbWVudGF0aW9uSW1wbDoKICAgICAgICAgcmV0dXJuIDA7CiAg
ICAgfQogCi0gICAgcmV0dXJuIG5ldyBEb2N1bWVudFR5cGVJbXBsKHRoaXMsRG9jdW1lbnRQdHI6
Om51bGxEb2N1bWVudFB0cigpLHF1YWxpZmllZE5hbWUscHVibGljSWQsc3lzdGVtSWQpOworICAg
IHJldHVybiBuZXcgRG9jdW1lbnRUeXBlSW1wbChEb2N1bWVudFB0cjo6bnVsbERvY3VtZW50UHRy
KCksIHF1YWxpZmllZE5hbWUsIHB1YmxpY0lkLCBzeXN0ZW1JZCk7CiB9CiAKIERPTUltcGxlbWVu
dGF0aW9uSW1wbCogRE9NSW1wbGVtZW50YXRpb25JbXBsOjpnZXRJbnRlcmZhY2UoY29uc3QgRE9N
U3RyaW5nJiAvKmZlYXR1cmUqLykgY29uc3QKQEAgLTIyNyw3ICsyMjcsNyBAQCBEb2N1bWVudElt
cGwgKkRPTUltcGxlbWVudGF0aW9uSW1wbDo6Y3JlCiAKICAgICAvLyBXUk9OR19ET0NVTUVOVF9F
UlI6IFJhaXNlZCBpZiBkb2N0eXBlIGhhcyBhbHJlYWR5IGJlZW4gdXNlZCB3aXRoIGEgZGlmZmVy
ZW50IGRvY3VtZW50IG9yIHdhcwogICAgIC8vIGNyZWF0ZWQgZnJvbSBhIGRpZmZlcmVudCBpbXBs
ZW1lbnRhdGlvbi4KLSAgICBpZiAoZG9jdHlwZSAmJiAoZG9jdHlwZS0+Z2V0RG9jdW1lbnQoKSB8
fCBkb2N0eXBlLT5pbXBsKCkgIT0gdGhpcykpIHsKKyAgICBpZiAoZG9jdHlwZSAmJiBkb2N0eXBl
LT5nZXREb2N1bWVudCgpKSB7CiAgICAgICAgIGV4Y2VwdGlvbmNvZGUgPSBET01FeGNlcHRpb246
OldST05HX0RPQ1VNRU5UX0VSUjsKICAgICAgICAgcmV0dXJuIDA7CiAgICAgfQpAQCAtMjM3LDcg
KzIzNyw3IEBAIERvY3VtZW50SW1wbCAqRE9NSW1wbGVtZW50YXRpb25JbXBsOjpjcmUKIAogICAg
IC8vIG5vdyBnZXQgdGhlIGludGVyZXN0aW5nIHBhcnRzIG9mIHRoZSBkb2N0eXBlCiAgICAgaWYg
KGRvY3R5cGUpCi0gICAgICAgIGRvYy0+cmVhbERvY1R5cGUoKS0+Y29weUZyb20oKmRvY3R5cGUp
OworICAgICAgICBkb2MtPnNldERvY1R5cGUobmV3IERvY3VtZW50VHlwZUltcGwoZG9jLT5kb2NQ
dHIoKSwgKmRvY3R5cGUpKTsKIAogICAgIHJldHVybiBkb2M7CiB9CkBAIC0zNDcsMTQgKzM0Nyw2
IEBAIERvY3VtZW50SW1wbDo6RG9jdW1lbnRJbXBsKERPTUltcGxlbWVudGEKICAgICBtX2VsZW1T
aGVldCA9IDA7CiAgICAgbV90b2tlbml6ZXIgPSAwOwogCi0gICAgLy8gIyMjIHRoaXMgc2hvdWxk
IGJlIGNyZWF0ZWQgZHVyaW5nIHBhcnNpbmcgYSA8IURPQ1RZUEU+Ci0gICAgLy8gbm90IGR1cmlu
ZyBjb25zdHJ1Y3Rpb24uIE5vdCBzdXJlIHdobyBhZGRlZCB0aGF0IGFuZCB3aHkgKERpcmspCi0g
ICAgbV9kb2N0eXBlID0gbmV3IERvY3VtZW50VHlwZUltcGwoX2ltcGxlbWVudGF0aW9uLCBkb2N1
bWVudCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBET01TdHJpbmcoKSAv
KiBxdWFsaWZpZWROYW1lICovLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IERPTVN0cmluZygpIC8qIHB1YmxpY0lkICovLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIERPTVN0cmluZygpIC8qIHN5c3RlbUlkICovKTsKLSAgICBtX2RvY3R5cGUtPnJl
ZigpOwotCiAgICAgbV9pbXBsZW1lbnRhdGlvbiA9IF9pbXBsZW1lbnRhdGlvbjsKICAgICBpZiAo
bV9pbXBsZW1lbnRhdGlvbikKICAgICAgICAgbV9pbXBsZW1lbnRhdGlvbi0+cmVmKCk7CkBAIC00
MjQsOCArNDE2LDYgQEAgRG9jdW1lbnRJbXBsOjp+RG9jdW1lbnRJbXBsKCkKICAgICBkZWxldGUg
bV9zdHlsZVNlbGVjdG9yOwogICAgIGRlbGV0ZSBtX2RvY0xvYWRlcjsKICAgICBpZiAobV9lbGVt
U2hlZXQgKSAgbV9lbGVtU2hlZXQtPmRlcmVmKCk7Ci0gICAgaWYgKG1fZG9jdHlwZSkKLSAgICAg
ICAgbV9kb2N0eXBlLT5kZXJlZigpOwogICAgIGlmIChtX2ltcGxlbWVudGF0aW9uKQogICAgICAg
ICBtX2ltcGxlbWVudGF0aW9uLT5kZXJlZigpOwogICAgIGRlbGV0ZSBtX3BhaW50RGV2aWNlTWV0
cmljczsKQEAgLTUwMyw3ICs0OTMsNyBAQCB2b2lkIERvY3VtZW50SW1wbDo6cmVzZXRBY3RpdmVM
aW5rQ29sb3IoCiAKIERvY3VtZW50VHlwZUltcGwgKkRvY3VtZW50SW1wbDo6ZG9jdHlwZSgpIGNv
bnN0CiB7Ci0gICAgcmV0dXJuIG1fZG9jdHlwZTsKKyAgICByZXR1cm4gbV9kb2NUeXBlLmdldCgp
OwogfQogCiBET01JbXBsZW1lbnRhdGlvbkltcGwgKkRvY3VtZW50SW1wbDo6aW1wbCgpIGNvbnN0
CkBAIC0zMjIyLDQ5ICszMjEyLDIzIEBAIE5vZGVJbXBsICpEb2N1bWVudEZyYWdtZW50SW1wbDo6
Y2xvbmVOb2QKIAogLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1Eb2N1bWVudFR5cGVJbXBsOjpE
b2N1bWVudFR5cGVJbXBsKERPTUltcGxlbWVudGF0aW9uSW1wbCAqaW1wbGVtZW50YXRpb24sIERv
Y3VtZW50UHRyICpkb2MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IERPTVN0cmluZyAmcXVhbGlmaWVkTmFtZSwgY29uc3QgRE9NU3RyaW5nICZwdWJsaWNJZCwKLSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgRE9NU3RyaW5nICZzeXN0ZW1J
ZCkKLSAgICA6IE5vZGVJbXBsKGRvYyksIG1faW1wbGVtZW50YXRpb24oaW1wbGVtZW50YXRpb24p
LAotICAgICAgbV9xdWFsaWZpZWROYW1lKHF1YWxpZmllZE5hbWUpLCBtX3B1YmxpY0lkKHB1Ymxp
Y0lkKSwgbV9zeXN0ZW1JZChzeXN0ZW1JZCkKK0RvY3VtZW50VHlwZUltcGw6OkRvY3VtZW50VHlw
ZUltcGwoRG9jdW1lbnRQdHIgKmRvYywgY29uc3QgRE9NU3RyaW5nICZuLCBjb25zdCBET01TdHJp
bmcgJnAsIGNvbnN0IERPTVN0cmluZyAmcykKKyAgICA6IE5vZGVJbXBsKGRvYyksIG1fbmFtZShu
KSwgbV9wdWJsaWNJZChwKSwgbV9zeXN0ZW1JZChzKQogewotICAgIGlmIChtX2ltcGxlbWVudGF0
aW9uKQotICAgICAgICBtX2ltcGxlbWVudGF0aW9uLT5yZWYoKTsKLQotICAgIG1fZW50aXRpZXMg
PSAwOwotICAgIG1fbm90YXRpb25zID0gMDsKLQotICAgIC8vIGlmIGRvYyBpcyAwLCBpdCBpcyBu
b3QgYXR0YWNoZWQgdG8gYSBkb2N1bWVudCBhbmQgLyBvcgotICAgIC8vIHRoZXJlZm9yZSBkb2Vz
IG5vdCBwcm92aWRlIGVudGl0aWVzIG9yIG5vdGF0aW9ucy4gKERPTSBMZXZlbCAzKQogfQogCi1E
b2N1bWVudFR5cGVJbXBsOjp+RG9jdW1lbnRUeXBlSW1wbCgpCitEb2N1bWVudFR5cGVJbXBsOjpE
b2N1bWVudFR5cGVJbXBsKERvY3VtZW50UHRyICpkb2MsIGNvbnN0IERvY3VtZW50VHlwZUltcGwg
JnQpCisgICAgOiBOb2RlSW1wbChkb2MpLCBtX25hbWUodC5tX25hbWUpLCBtX3B1YmxpY0lkKHQu
bV9wdWJsaWNJZCksIG1fc3lzdGVtSWQodC5tX3N5c3RlbUlkKSwgbV9zdWJzZXQodC5tX3N1YnNl
dCkKIHsKLSAgICBpZiAobV9pbXBsZW1lbnRhdGlvbikKLSAgICAgICAgbV9pbXBsZW1lbnRhdGlv
bi0+ZGVyZWYoKTsKLSAgICBpZiAobV9lbnRpdGllcykKLSAgICAgICAgbV9lbnRpdGllcy0+ZGVy
ZWYoKTsKLSAgICBpZiAobV9ub3RhdGlvbnMpCi0gICAgICAgIG1fbm90YXRpb25zLT5kZXJlZigp
OwotfQotCi12b2lkIERvY3VtZW50VHlwZUltcGw6OmNvcHlGcm9tKGNvbnN0IERvY3VtZW50VHlw
ZUltcGwmIG90aGVyKQotewotICAgIG1fcXVhbGlmaWVkTmFtZSA9IG90aGVyLm1fcXVhbGlmaWVk
TmFtZTsKLSAgICBtX3B1YmxpY0lkID0gb3RoZXIubV9wdWJsaWNJZDsKLSAgICBtX3N5c3RlbUlk
ID0gb3RoZXIubV9zeXN0ZW1JZDsKLSAgICBtX3N1YnNldCA9IG90aGVyLm1fc3Vic2V0OwogfQog
CiBET01TdHJpbmcgRG9jdW1lbnRUeXBlSW1wbDo6dG9TdHJpbmcoKSBjb25zdAogewotICAgIERP
TVN0cmluZyByZXN1bHQ7Ci0gICAgaWYgKG1fcXVhbGlmaWVkTmFtZS5pc0VtcHR5KCkpIHsKKyAg
ICBpZiAobV9uYW1lLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJuICIiOwotICAgIH0gZWxzZSB7
Ci0gICAgICAgIHJlc3VsdCA9ICI8IURPQ1RZUEUgIjsKLSAgICAgICAgcmVzdWx0ICs9IG1fcXVh
bGlmaWVkTmFtZTsKLSAgICB9CisKKyAgICBET01TdHJpbmcgcmVzdWx0ID0gIjwhRE9DVFlQRSAi
OworICAgIHJlc3VsdCArPSBtX25hbWU7CiAgICAgaWYgKCFtX3B1YmxpY0lkLmlzRW1wdHkoKSkg
ewogCXJlc3VsdCArPSAiIFBVQkxJQyBcIiI7CiAJcmVzdWx0ICs9IG1fcHVibGljSWQ7CkBAIC0z
Mjk1LDE2ICszMjU5LDkgQEAgdW5zaWduZWQgc2hvcnQgRG9jdW1lbnRUeXBlSW1wbDo6bm9kZVR5
cAogICAgIHJldHVybiBOb2RlOjpET0NVTUVOVF9UWVBFX05PREU7CiB9CiAKLS8vIERPTSBTZWN0
aW9uIDEuMS4xCi1ib29sIERvY3VtZW50VHlwZUltcGw6OmNoaWxkVHlwZUFsbG93ZWQoIHVuc2ln
bmVkIHNob3J0IC8qdHlwZSovICkKLXsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLU5vZGVJbXBs
ICpEb2N1bWVudFR5cGVJbXBsOjpjbG9uZU5vZGUgKCBib29sIC8qZGVlcCovICkKK05vZGVJbXBs
ICpEb2N1bWVudFR5cGVJbXBsOjpjbG9uZU5vZGUoYm9vbCAvKmRlZXAqLykKIHsKLSAgICAvLyBT
cGVjIHNheXMgY2xvbmluZyBEb2N1bWVudCBub2RlcyBpcyAiaW1wbGVtZW50YXRpb24gZGVwZW5k
ZW50IgotICAgIC8vIHNvIHdlIGRvIG5vdCBzdXBwb3J0IGl0Li4uCisgICAgLy8gU3BlYyBzYXlz
IGNsb25pbmcgRG9jdW1lbnQgbm9kZXMgaXMgImltcGxlbWVudGF0aW9uIGRlcGVuZGVudCIgc28g
d2UgZG8gbm90IHN1cHBvcnQgaXQuCiAgICAgcmV0dXJuIDA7CiB9CiAKSW5kZXg6IFdlYkNvcmUv
a2h0bWwveG1sL2RvbV9kb2NpbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dl
YkNvcmUva2h0bWwveG1sL2RvbV9kb2NpbXBsLmgsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTMw
CmRpZmYgLXAgLXUgLXIxLjEzMCBXZWJDb3JlL2todG1sL3htbC9kb21fZG9jaW1wbC5oCi0tLSBX
ZWJDb3JlL2todG1sL3htbC9kb21fZG9jaW1wbC5oCTUgT2N0IDIwMDUgMTA6MzE6MTIgLTAwMDAJ
MS4xMzAKKysrIFdlYkNvcmUva2h0bWwveG1sL2RvbV9kb2NpbXBsLmgJOSBPY3QgMjAwNSAxNzoy
NzoyMyAtMDAwMApAQCAtMTc1LDcgKzE3NSw3IEBAIHB1YmxpYzoKICAgICAvLyBET00gbWV0aG9k
cyAmIGF0dHJpYnV0ZXMgZm9yIERvY3VtZW50CiAKICAgICB2aXJ0dWFsIERvY3VtZW50VHlwZUlt
cGwgKmRvY3R5cGUoKSBjb25zdDsgLy8gcmV0dXJucyAwIGZvciBIVE1MIGRvY3VtZW50cwotICAg
IERvY3VtZW50VHlwZUltcGwgKnJlYWxEb2NUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9kb2N0eXBl
OyB9CisgICAgRG9jdW1lbnRUeXBlSW1wbCAqcmVhbERvY1R5cGUoKSBjb25zdCB7IHJldHVybiBt
X2RvY1R5cGUuZ2V0KCk7IH0KIAogICAgIERPTUltcGxlbWVudGF0aW9uSW1wbCAqaW1wbCgpIGNv
bnN0OwogICAgIHZpcnR1YWwgRWxlbWVudEltcGwgKmRvY3VtZW50RWxlbWVudCgpIGNvbnN0OwpA
QCAtNTc5LDYgKzU3OSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGluY0RPTVRyZWVWZXJzaW9uKCkg
eyArK21fZG9tdHJlZV92ZXJzaW9uOyB9CiAgICAgdW5zaWduZWQgaW50IGRvbVRyZWVWZXJzaW9u
KCkgY29uc3QgeyByZXR1cm4gbV9kb210cmVlX3ZlcnNpb247IH0KIAorICAgIHZvaWQgc2V0RG9j
VHlwZShEb2N1bWVudFR5cGVJbXBsICpkb2NUeXBlKSB7IG1fZG9jVHlwZSA9IGRvY1R5cGU7IH0K
Kwogc2lnbmFsczoKICAgICB2b2lkIGZpbmlzaGVkUGFyc2luZygpOwogCkBAIC01OTMsNyArNTk1
LDcgQEAgcHJvdGVjdGVkOgogICAgIFFTdHJpbmcgbV9iYXNlVVJMOwogICAgIFFTdHJpbmcgbV9i
YXNlVGFyZ2V0OwogCi0gICAgRG9jdW1lbnRUeXBlSW1wbCAqbV9kb2N0eXBlOworICAgIFNoYXJl
ZFB0cjxEb2N1bWVudFR5cGVJbXBsPiBtX2RvY1R5cGU7CiAgICAgRE9NSW1wbGVtZW50YXRpb25J
bXBsICptX2ltcGxlbWVudGF0aW9uOwogCiAgICAgU3R5bGVTaGVldEltcGwgKm1fc2hlZXQ7CkBA
IC03ODksNTEgKzc5MSwzOSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBET01TdHJpbmcgdG9TdHJp
bmcoKSBjb25zdDsKIH07CiAKLQogY2xhc3MgRG9jdW1lbnRUeXBlSW1wbCA6IHB1YmxpYyBOb2Rl
SW1wbAogewogcHVibGljOgotICAgIERvY3VtZW50VHlwZUltcGwoRE9NSW1wbGVtZW50YXRpb25J
bXBsICpfaW1wbGVtZW50YXRpb24sIERvY3VtZW50UHRyICpkb2MsCi0gICAgICAgICAgICAgICAg
ICAgICBjb25zdCBET01TdHJpbmcgJnF1YWxpZmllZE5hbWUsIGNvbnN0IERPTVN0cmluZyAmcHVi
bGljSWQsCi0gICAgICAgICAgICAgICAgICAgICBjb25zdCBET01TdHJpbmcgJnN5c3RlbUlkKTsK
LSAgICB+RG9jdW1lbnRUeXBlSW1wbCgpOworICAgIERvY3VtZW50VHlwZUltcGwoRG9jdW1lbnRQ
dHIgKiwgY29uc3QgRE9NU3RyaW5nICZuYW1lLCBjb25zdCBET01TdHJpbmcgJnB1YmxpY0lkLCBj
b25zdCBET01TdHJpbmcgJnN5c3RlbUlkKTsKKyAgICBEb2N1bWVudFR5cGVJbXBsKERvY3VtZW50
UHRyICosIGNvbnN0IERvY3VtZW50VHlwZUltcGwgJik7CiAKICAgICAvLyBET00gbWV0aG9kcyAm
IGF0dHJpYnV0ZXMgZm9yIERvY3VtZW50VHlwZQotICAgIE5hbWVkTm9kZU1hcEltcGwgKmVudGl0
aWVzKCkgY29uc3QgeyByZXR1cm4gbV9lbnRpdGllczsgfQotICAgIE5hbWVkTm9kZU1hcEltcGwg
Km5vdGF0aW9ucygpIGNvbnN0IHsgcmV0dXJuIG1fbm90YXRpb25zOyB9CisgICAgTmFtZWROb2Rl
TWFwSW1wbCAqZW50aXRpZXMoKSBjb25zdCB7IHJldHVybiBtX2VudGl0aWVzLmdldCgpOyB9Cisg
ICAgTmFtZWROb2RlTWFwSW1wbCAqbm90YXRpb25zKCkgY29uc3QgeyByZXR1cm4gbV9ub3RhdGlv
bnMuZ2V0KCk7IH0KIAotICAgIERPTVN0cmluZyBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9xdWFs
aWZpZWROYW1lOyB9CisgICAgRE9NU3RyaW5nIG5hbWUoKSBjb25zdCB7IHJldHVybiBtX25hbWU7
IH0KICAgICBET01TdHJpbmcgcHVibGljSWQoKSBjb25zdCB7IHJldHVybiBtX3B1YmxpY0lkOyB9
CiAgICAgRE9NU3RyaW5nIHN5c3RlbUlkKCkgY29uc3QgeyByZXR1cm4gbV9zeXN0ZW1JZDsgfQog
ICAgIERPTVN0cmluZyBpbnRlcm5hbFN1YnNldCgpIGNvbnN0IHsgcmV0dXJuIG1fc3Vic2V0OyB9
CiAKLSAgICAvLyBET00gbWV0aG9kcyBvdmVycmlkZGVuIGZyb20gIHBhcmVudCBjbGFzc2VzCisg
ICAgLy8gRE9NIG1ldGhvZHMgb3ZlcnJpZGRlbiBmcm9tIHBhcmVudCBjbGFzc2VzCiAgICAgdmly
dHVhbCBET01TdHJpbmcgbm9kZU5hbWUoKSBjb25zdDsKICAgICB2aXJ0dWFsIHVuc2lnbmVkIHNo
b3J0IG5vZGVUeXBlKCkgY29uc3Q7Ci0gICAgdmlydHVhbCBib29sIGNoaWxkVHlwZUFsbG93ZWQo
IHVuc2lnbmVkIHNob3J0IHR5cGUgKTsKLSAgICB2aXJ0dWFsIE5vZGVJbXBsICpjbG9uZU5vZGUg
KCBib29sIGRlZXAgKTsKKyAgICB2aXJ0dWFsIE5vZGVJbXBsICpjbG9uZU5vZGUoYm9vbCBkZWVw
KTsKIAogICAgIC8vIE90aGVyIG1ldGhvZHMgKG5vdCBwYXJ0IG9mIERPTSkKLSAgICB2b2lkIHNl
dE5hbWUoY29uc3QgRE9NU3RyaW5nJiBuKSB7IG1fcXVhbGlmaWVkTmFtZSA9IG47IH0KLSAgICB2
b2lkIHNldFB1YmxpY0lkKGNvbnN0IERPTVN0cmluZyYgcHVibGljSWQpIHsgbV9wdWJsaWNJZCA9
IHB1YmxpY0lkOyB9Ci0gICAgdm9pZCBzZXRTeXN0ZW1JZChjb25zdCBET01TdHJpbmcmIHN5c3Rl
bUlkKSB7IG1fc3lzdGVtSWQgPSBzeXN0ZW1JZDsgfQotICAgIERPTUltcGxlbWVudGF0aW9uSW1w
bCAqaW1wbCgpIGNvbnN0IHsgcmV0dXJuIG1faW1wbGVtZW50YXRpb247IH0KLSAgICB2b2lkIGNv
cHlGcm9tKGNvbnN0IERvY3VtZW50VHlwZUltcGwmKTsKLQogICAgIHZpcnR1YWwgRE9NU3RyaW5n
IHRvU3RyaW5nKCkgY29uc3Q7CiAKLXByb3RlY3RlZDoKLSAgICBET01JbXBsZW1lbnRhdGlvbklt
cGwgKm1faW1wbGVtZW50YXRpb247Ci0gICAgTmFtZWROb2RlTWFwSW1wbCogbV9lbnRpdGllczsK
LSAgICBOYW1lZE5vZGVNYXBJbXBsKiBtX25vdGF0aW9uczsKK3ByaXZhdGU6CisgICAgU2hhcmVk
UHRyPE5hbWVkTm9kZU1hcEltcGw+IG1fZW50aXRpZXM7CisgICAgU2hhcmVkUHRyPE5hbWVkTm9k
ZU1hcEltcGw+IG1fbm90YXRpb25zOwogCi0gICAgRE9NU3RyaW5nIG1fcXVhbGlmaWVkTmFtZTsK
KyAgICBET01TdHJpbmcgbV9uYW1lOwogICAgIERPTVN0cmluZyBtX3B1YmxpY0lkOwogICAgIERP
TVN0cmluZyBtX3N5c3RlbUlkOwogICAgIERPTVN0cmluZyBtX3N1YnNldDsKIH07CiAKLQogfSAv
L25hbWVzcGFjZQogCiAjZW5kaWYKSW5kZXg6IFdlYkNvcmUva2h0bWwveG1sL3htbF90b2tlbml6
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL3htbC94
bWxfdG9rZW5pemVyLmNwcCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS40NApkaWZmIC1wIC11IC1y
MS40NCBXZWJDb3JlL2todG1sL3htbC94bWxfdG9rZW5pemVyLmNwcAotLS0gV2ViQ29yZS9raHRt
bC94bWwveG1sX3Rva2VuaXplci5jcHAJMyBPY3QgMjAwNSAyMToxMjo1NCAtMDAwMAkxLjQ0Cisr
KyBXZWJDb3JlL2todG1sL3htbC94bWxfdG9rZW5pemVyLmNwcAk5IE9jdCAyMDA1IDE3OjI3OjIz
IC0wMDAwCkBAIC00MiwyNSArNDIsOCBAQAogCiAjaW5jbHVkZSA8cXB0cnN0YWNrLmg+CiAKLXVz
aW5nIG5hbWVzcGFjZSBET006OkhUTUxOYW1lczsKLQotdXNpbmcgRE9NOjpBdHRyaWJ1dGVJbXBs
OwotdXNpbmcgRE9NOjpOYW1lZEF0dHJNYXBJbXBsOwotdXNpbmcgRE9NOjpEb2N1bWVudEZyYWdt
ZW50SW1wbDsKLXVzaW5nIERPTTo6RG9jdW1lbnRJbXBsOwotdXNpbmcgRE9NOjpEb2N1bWVudFB0
cjsKLXVzaW5nIERPTTo6RE9NU3RyaW5nOwotdXNpbmcgRE9NOjpET01TdHJpbmdJbXBsOwotdXNp
bmcgRE9NOjpFbGVtZW50SW1wbDsKLXVzaW5nIERPTTo6SFRNTFNjcmlwdEVsZW1lbnRJbXBsOwot
dXNpbmcgRE9NOjpIVE1MVGFibGVTZWN0aW9uRWxlbWVudEltcGw7Ci11c2luZyBET006Ok5vZGU7
Ci11c2luZyBET006Ok5vZGVJbXBsOwotdXNpbmcgRE9NOjpudWxsQXRvbTsKLXVzaW5nIERPTTo6
UHJvY2Vzc2luZ0luc3RydWN0aW9uSW1wbDsKLXVzaW5nIERPTTo6UXVhbGlmaWVkTmFtZTsKLXVz
aW5nIERPTTo6VGV4dEltcGw7Ci11c2luZyBET006OkF0b21pY1N0cmluZzsKK3VzaW5nIG5hbWVz
cGFjZSBET007Cit1c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwogCiBuYW1lc3BhY2Uga2h0bWwg
ewogCkBAIC05OCw2ICs4MSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHByb2Nlc3NpbmdJbnN0cnVj
dGlvbihjb25zdCB4bWxDaGFyICp0YXJnZXQsIGNvbnN0IHhtbENoYXIgKmRhdGEpOwogICAgIHZv
aWQgY2RhdGFCbG9jayhjb25zdCB4bWxDaGFyICpzLCBpbnQgbGVuKTsKICAgICB2b2lkIGNvbW1l
bnQoY29uc3QgeG1sQ2hhciAqcyk7CisgICAgdm9pZCBpbnRlcm5hbFN1YnNldChjb25zdCB4bWxD
aGFyICpuYW1lLCBjb25zdCB4bWxDaGFyICpleHRlcm5hbElELCBjb25zdCB4bWxDaGFyICpzeXN0
ZW1JRCk7CiAKIHByaXZhdGU6CiAgICAgdm9pZCBlbmQoKTsKQEAgLTEyMCw3ICsxMDQsNyBAQCBw
cml2YXRlOgogICAgIFFTdHJpbmcgbV94bWxDb2RlOwogCiAgICAgeG1sUGFyc2VyQ3R4dFB0ciBt
X2NvbnRleHQ7Ci0gICAgRE9NOjpOb2RlSW1wbCAqbV9jdXJyZW50Tm9kZTsKKyAgICBOb2RlSW1w
bCAqbV9jdXJyZW50Tm9kZTsKIAogICAgIGJvb2wgbV9zYXdFcnJvcjsKICAgICBib29sIG1fcGFy
c2VyU3RvcHBlZDsKQEAgLTM4MCw3ICszNjQsOCBAQCB2b2lkIFhNTFRva2VuaXplcjo6c3RhcnRF
bGVtZW50TnMoY29uc3QgCiAKIHZvaWQgWE1MVG9rZW5pemVyOjplbmRFbGVtZW50TnMoKQogewot
ICAgIGlmIChtX3BhcnNlclN0b3BwZWQpIHJldHVybjsKKyAgICBpZiAobV9wYXJzZXJTdG9wcGVk
KQorICAgICAgICByZXR1cm47CiAKICAgICBpZiAobV9jdXJyZW50Tm9kZS0+bm9kZVR5cGUoKSA9
PSBOb2RlOjpURVhUX05PREUpCiAgICAgICAgIGV4aXRUZXh0KCk7CkBAIC0zOTQsNyArMzc5LDgg
QEAgdm9pZCBYTUxUb2tlbml6ZXI6OmVuZEVsZW1lbnROcygpCiAKIHZvaWQgWE1MVG9rZW5pemVy
OjpjaGFyYWN0ZXJzKGNvbnN0IHhtbENoYXIgKnMsIGludCBsZW4pCiB7Ci0gICAgaWYgKG1fcGFy
c2VyU3RvcHBlZCkgcmV0dXJuOworICAgIGlmIChtX3BhcnNlclN0b3BwZWQpCisgICAgICAgIHJl
dHVybjsKICAgICAKICAgICBpZiAobV9jdXJyZW50Tm9kZS0+bm9kZVR5cGUoKSA9PSBOb2RlOjpU
RVhUX05PREUgfHwKICAgICAgICAgbV9jdXJyZW50Tm9kZS0+bm9kZVR5cGUoKSA9PSBOb2RlOjpD
REFUQV9TRUNUSU9OX05PREUgfHwKQEAgLTQzMCw5ICs0MTYsOCBAQCB2b2lkIFhNTFRva2VuaXpl
cjo6ZXhpdFRleHQoKQogCiB2b2lkIFhNTFRva2VuaXplcjo6ZXJyb3IoRXJyb3JUeXBlIHR5cGUs
IGNvbnN0IGNoYXIgKm1lc3NhZ2UsIHZhX2xpc3QgYXJncykKIHsKLSAgICBpZiAobV9wYXJzZXJT
dG9wcGVkKSB7CisgICAgaWYgKG1fcGFyc2VyU3RvcHBlZCkKICAgICAgICAgcmV0dXJuOwotICAg
IH0KIAogICAgIGlmICh0eXBlID09IGZhdGFsIHx8IChtX2Vycm9yQ291bnQgPCBtYXhFcnJvcnMg
JiYgbV9sYXN0RXJyb3JMaW5lICE9IGxpbmVOdW1iZXIoKSAmJiBtX2xhc3RFcnJvckNvbHVtbiAh
PSBjb2x1bW5OdW1iZXIoKSkpIHsKIApAQCAtNDc5LDkgKzQ2NCw4IEBAIHZvaWQgWE1MVG9rZW5p
emVyOjplcnJvcihFcnJvclR5cGUgdHlwZSwKIAogdm9pZCBYTUxUb2tlbml6ZXI6OnByb2Nlc3Np
bmdJbnN0cnVjdGlvbihjb25zdCB4bWxDaGFyICp0YXJnZXQsIGNvbnN0IHhtbENoYXIgKmRhdGEp
CiB7Ci0gICAgaWYgKG1fcGFyc2VyU3RvcHBlZCkgeworICAgIGlmIChtX3BhcnNlclN0b3BwZWQp
CiAgICAgICAgIHJldHVybjsKLSAgICB9CiAKICAgICBpZiAobV9jdXJyZW50Tm9kZS0+bm9kZVR5
cGUoKSA9PSBOb2RlOjpURVhUX05PREUpCiAgICAgICAgIGV4aXRUZXh0KCk7CkBAIC01MDcsOSAr
NDkxLDggQEAgdm9pZCBYTUxUb2tlbml6ZXI6OnByb2Nlc3NpbmdJbnN0cnVjdGlvbgogCiB2b2lk
IFhNTFRva2VuaXplcjo6Y2RhdGFCbG9jayhjb25zdCB4bWxDaGFyICpzLCBpbnQgbGVuKQogewot
ICAgIGlmIChtX3BhcnNlclN0b3BwZWQpIHsKKyAgICBpZiAobV9wYXJzZXJTdG9wcGVkKQogICAg
ICAgICByZXR1cm47Ci0gICAgfQogCiAgICAgaWYgKG1fY3VycmVudE5vZGUtPm5vZGVUeXBlKCkg
PT0gTm9kZTo6VEVYVF9OT0RFKQogICAgICAgICBleGl0VGV4dCgpOwpAQCAtNTM0LDcgKzUxNyw4
IEBAIHZvaWQgWE1MVG9rZW5pemVyOjpjZGF0YUJsb2NrKGNvbnN0IHhtbEMKIAogdm9pZCBYTUxU
b2tlbml6ZXI6OmNvbW1lbnQoY29uc3QgeG1sQ2hhciAqcykKIHsKLSAgICBpZiAobV9wYXJzZXJT
dG9wcGVkKSByZXR1cm47CisgICAgaWYgKG1fcGFyc2VyU3RvcHBlZCkKKyAgICAgICAgcmV0dXJu
OwogICAgIAogICAgIGlmIChtX2N1cnJlbnROb2RlLT5ub2RlVHlwZSgpID09IE5vZGU6OlRFWFRf
Tk9ERSkKICAgICAgICAgZXhpdFRleHQoKTsKQEAgLTU0Miw2ICs1MjYsMTkgQEAgdm9pZCBYTUxU
b2tlbml6ZXI6OmNvbW1lbnQoY29uc3QgeG1sQ2hhcgogICAgIG1fY3VycmVudE5vZGUtPmFkZENo
aWxkKG1fZG9jLT5kb2N1bWVudCgpLT5jcmVhdGVDb21tZW50KHRvUVN0cmluZyhzKSkpOwogfQog
Cit2b2lkIFhNTFRva2VuaXplcjo6aW50ZXJuYWxTdWJzZXQoY29uc3QgeG1sQ2hhciAqbmFtZSwg
Y29uc3QgeG1sQ2hhciAqZXh0ZXJuYWxJRCwgY29uc3QgeG1sQ2hhciAqc3lzdGVtSUQpCit7Cisg
ICAgaWYgKG1fcGFyc2VyU3RvcHBlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgRG9jdW1lbnRQ
dHIgKmRvY1B0ciA9IG1fZG9jOworICAgIERvY3VtZW50SW1wbCAqZG9jID0gZG9jUHRyLT5kb2N1
bWVudCgpOworICAgIGlmICghZG9jKQorICAgICAgICByZXR1cm47CisKKyAgICBkb2MtPnNldERv
Y1R5cGUobmV3IERvY3VtZW50VHlwZUltcGwoZG9jUHRyLCB0b1FTdHJpbmcobmFtZSksIHRvUVN0
cmluZyhleHRlcm5hbElEKSwgdG9RU3RyaW5nKHN5c3RlbUlEKSkpOworfQorCiBpbmxpbmUgWE1M
VG9rZW5pemVyICpnZXRUb2tlbml6ZXIodm9pZCAqY2xvc3VyZSkKIHsKICAgICB4bWxQYXJzZXJD
dHh0UHRyIGN0eHQgPSBzdGF0aWNfY2FzdDx4bWxQYXJzZXJDdHh0UHRyPihjbG9zdXJlKTsKQEAg
LTYwOSwxNSArNjA2LDIxIEBAIHN0YXRpYyB4bWxFbnRpdHlQdHIgZ2V0RW50aXR5SGFuZGxlcih2
b2kKICAgICBpZihlbnQpCiAgICAgICAgIHJldHVybiBlbnQ7CiAKLSAgICAvLyBXb3JrYXJvdW5k
IGEgbGlieG1sIFNBWDIgYnVnIHdoZXJlYnkgY2hhcmFjdGVyc0hhbmRsZXIgaXMgY2FsbGVkIHR3
aWNlCisgICAgLy8gV29yayBhcm91bmQgYSBsaWJ4bWwgU0FYMiBidWcgdGhhdCBjYXVzZXMgY2hh
cmFjdGVyc0hhbmRsZXIgdG8gYmUgY2FsbGVkIHR3aWNlLgogICAgIGJvb2wgaW5BdHRyID0gY3R4
dC0+aW5zdGF0ZSA9PSBYTUxfUEFSU0VSX0FUVFJJQlVURV9WQUxVRTsKICAgICBlbnQgPSB4bWxH
ZXREb2NFbnRpdHkoY3R4dC0+bXlEb2MsIG5hbWUpOwotICAgIGlmKGVudCkKKyAgICBpZiAoZW50
KQogICAgICAgICBjdHh0LT5yZXBsYWNlRW50aXRpZXMgPSBpbkF0dHIgfHwgKGVudC0+ZXR5cGUg
IT0gWE1MX0lOVEVSTkFMX0dFTkVSQUxfRU5USVRZKTsKICAgICAKICAgICByZXR1cm4gZW50Owog
fQogCitzdGF0aWMgdm9pZCBpbnRlcm5hbFN1YnNldEhhbmRsZXIodm9pZCAqY2xvc3VyZSwgY29u
c3QgeG1sQ2hhciAqbmFtZSwgY29uc3QgeG1sQ2hhciAqZXh0ZXJuYWxJRCwgY29uc3QgeG1sQ2hh
ciAqc3lzdGVtSUQpCit7CisgICAgZ2V0VG9rZW5pemVyKGNsb3N1cmUpLT5pbnRlcm5hbFN1YnNl
dChuYW1lLCBleHRlcm5hbElELCBzeXN0ZW1JRCk7CisgICAgeG1sU0FYMkludGVybmFsU3Vic2V0
KGNsb3N1cmUsIG5hbWUsIGV4dGVybmFsSUQsIHN5c3RlbUlEKTsKK30KKwogdm9pZCBYTUxUb2tl
bml6ZXI6OmZpbmlzaCgpCiB7CiAgICAgeG1sU0FYSGFuZGxlciBzYXg7CkBAIC02MzMsNyArNjM2
LDcgQEAgdm9pZCBYTUxUb2tlbml6ZXI6OmZpbmlzaCgpCiAgICAgc2F4LmVuZEVsZW1lbnROcyA9
IGVuZEVsZW1lbnROc0hhbmRsZXI7CiAgICAgc2F4LmdldEVudGl0eSA9IGdldEVudGl0eUhhbmRs
ZXI7CiAgICAgc2F4LnN0YXJ0RG9jdW1lbnQgPSB4bWxTQVgyU3RhcnREb2N1bWVudDsKLSAgICBz
YXguaW50ZXJuYWxTdWJzZXQgPSB4bWxTQVgySW50ZXJuYWxTdWJzZXQ7CisgICAgc2F4LmludGVy
bmFsU3Vic2V0ID0gaW50ZXJuYWxTdWJzZXRIYW5kbGVyOwogICAgIHNheC5lbnRpdHlEZWNsID0g
eG1sU0FYMkVudGl0eURlY2w7CiAgICAgc2F4LmluaXRpYWxpemVkID0gWE1MX1NBWDJfTUFHSUM7
CiAgICAgCg==
</data>
<flag name="review"
          id="714"
          type_id="1"
          status="+"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>