<?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>55567</bug_id>
          
          <creation_ts>2011-03-02 03:17:25 -0800</creation_ts>
          <short_desc>JavaString API should be implementable by both JSC and V8</short_desc>
          <delta_ts>2011-03-03 02:51:27 -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>WebCore Misc.</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>
          <dependson>55604</dependson>
          <blocked>55566</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Steve Block">steveblock</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>jorlow</cc>
    
    <cc>levin</cc>
    
    <cc>steveblock</cc>
    
    <cc>tonyg</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>360697</commentid>
    <comment_count>0</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-02 03:17:25 -0800</bug_when>
    <thetext>Currently, the JavaString API includes &apos;operator UString() const&apos; as a means of accessing the UTF-16 encoded version of the string. However, UString is a JSC-specific type, so this can only be implemented with JSC.

We should replace this operator with a method that is independent of the script engine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>360746</commentid>
    <comment_count>1</comment_count>
      <attachid>84407</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-02 05:17:40 -0800</bug_when>
    <thetext>Created attachment 84407
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>360870</commentid>
    <comment_count>2</comment_count>
      <attachid>84407</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-02 10:04:39 -0800</bug_when>
    <thetext>Comment on attachment 84407
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=84407&amp;action=review

&gt; Source/WebCore/bridge/jni/jsc/JavaStringJSC.h:72
&gt; +    PassRefPtr&lt;StringImpl&gt; impl() const { return m_impl; }

&quot;If a function’s result is an object, but ownership is not being transferred, the result should be a raw pointer. This includes most getter functions.&quot; -- http://www.webkit.org/coding/RefPtr.html

In other words, this should return StringImpl*.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>360890</commentid>
    <comment_count>3</comment_count>
      <attachid>84436</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-02 10:22:03 -0800</bug_when>
    <thetext>Created attachment 84436
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>360935</commentid>
    <comment_count>4</comment_count>
      <attachid>84436</attachid>
    <who name="Jeremy Orlow">jorlow</who>
    <bug_when>2011-03-02 11:23:32 -0800</bug_when>
    <thetext>Comment on attachment 84436
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>360936</commentid>
    <comment_count>5</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-03-02 11:27:23 -0800</bug_when>
    <thetext>I reviewed at the same time as jorlow. fwiw, here was my comment:

View in context: https://bugs.webkit.org/attachment.cgi?id=84436&amp;action=review

On a syntax/style level the patch looks fine, but I don&apos;t understand what this patch accomplishes.

The stated intent is for something which both v8 and jsc can implement but the v8 implementation is non-existant: &quot;StringImpl* impl() const { ASSERT_NOT_REACHED(); return 0; }&quot;

&gt; Source/WebCore/bridge/jni/v8/JavaStringV8.h:33
&gt; +#include &lt;wtf/text/StringImpl.h&gt;

I believe a fwd declaration with suffice instead of including the header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>360967</commentid>
    <comment_count>6</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-02 12:07:27 -0800</bug_when>
    <thetext>&gt; The stated intent is for something which both v8 and jsc can implement but
&gt; the v8 implementation is non-existant:
The primary intention is to avoid needless ifdefs in the JavaString API. This ifdef should have been avoided when the V8 implementation was first upstreamed.

A real implementation of the method will be provided as part of Bug 55566, for which this change is a requirement. I also have other refactorings coming up that will require JavaString to have a UTF-16 getter.

&gt; I believe a fwd declaration with suffice instead of including the header.
Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>360977</commentid>
    <comment_count>7</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-02 12:23:22 -0800</bug_when>
    <thetext>Committed r80156: &lt;http://trac.webkit.org/changeset/80156&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361014</commentid>
    <comment_count>8</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-02 13:04:17 -0800</bug_when>
    <thetext>Patch broke build and was rolled out - see Bug 55604</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361069</commentid>
    <comment_count>9</comment_count>
      <attachid>84465</attachid>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-02 14:15:25 -0800</bug_when>
    <thetext>Created attachment 84465
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361070</commentid>
    <comment_count>10</comment_count>
    <who name="Steve Block">steveblock</who>
    <bug_when>2011-03-02 14:16:31 -0800</bug_when>
    <thetext>Fixed a couple of call sites inside LOG macros that I&apos;d missed in the previous patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361474</commentid>
    <comment_count>11</comment_count>
      <attachid>84465</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-03 02:51:21 -0800</bug_when>
    <thetext>Comment on attachment 84465
Patch

Clearing flags on attachment: 84465

Committed r80222: &lt;http://trac.webkit.org/changeset/80222&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361475</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-03-03 02:51:27 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84407</attachid>
            <date>2011-03-02 05:17:40 -0800</date>
            <delta_ts>2011-03-02 10:21:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55567-20110302131738.patch</filename>
            <type>text/plain</type>
            <size>7207</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODAxMTAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5YTg1M2E0NTRmMDJhYTk4
NmZlNmYwYzQ1ZTk4NGMyMzMxODUzNDllLi5kZmJmMzg4ZmU0ZTc0YTJhYWJkNDYxMDI5OTYwNmQx
ZjJmNmE2YTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTEtMDMtMDIgIFN0ZXZl
IEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEphdmFTdHJpbmcgQVBJIHNob3VsZCBiZSBpbXBsZW1l
bnRhYmxlIGJ5IGJvdGggSlNDIGFuZCBWOAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTU1NjcKKworICAgICAgICBSZW1vdmUgSmF2YVN0cmluZydzIFVT
dHJpbmcgb3BlcmF0b3IgYW5kIHJlcGxhY2UgaXQgd2l0aCBhCisgICAgICAgIHNjcmlwdC1lbmdp
bmUtaW5kZXBlbmRlbnQgaW1wbCgpIG1ldGhvZCwgd2hpY2ggcmV0dXJucyBhCisgICAgICAgIFN0
cmluZ0ltcGwgYW5kIGNhbiBiZSBpbXBsZW1lbnRlZCB3aXRoIGJvdGggSlNDIGFuZCBWOC4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMsIHJlZmFjdG9yaW5nIG9ubHkuCisKKyAgICAgICAgKiBicmlk
Z2Uvam5pL0pOSUJyaWRnZS5oOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6SmF2YVN0cmluZzo6
aW1wbCk6CisgICAgICAgICogYnJpZGdlL2puaS9qbmlfanNvYmplY3QubW06CisgICAgICAgIChK
YXZhSlNPYmplY3Q6OmNhbGwpOgorICAgICAgICAoSmF2YUpTT2JqZWN0OjpldmFsKToKKyAgICAg
ICAgKEphdmFKU09iamVjdDo6Z2V0TWVtYmVyKToKKyAgICAgICAgKEphdmFKU09iamVjdDo6c2V0
TWVtYmVyKToKKyAgICAgICAgKEphdmFKU09iamVjdDo6cmVtb3ZlTWVtYmVyKToKKyAgICAgICAg
KiBicmlkZ2Uvam5pL2pzYy9KYXZhQ2xhc3NKU0MuY3BwOgorICAgICAgICAoSmF2YUNsYXNzOjpK
YXZhQ2xhc3MpOgorICAgICAgICAqIGJyaWRnZS9qbmkvanNjL0phdmFTdHJpbmdKU0MuaDoKKyAg
ICAgICAgKEpTQzo6QmluZGluZ3M6OkphdmFTdHJpbmdJbXBsOjppbXBsKToKKyAgICAgICAgKiBi
cmlkZ2Uvam5pL3Y4L0phdmFTdHJpbmdWOC5oOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6SmF2
YVN0cmluZ0ltcGw6OmltcGwpOgorCiAyMDExLTAzLTAyICBLZW50IFRhbXVyYSAgPHRrZW50QGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCBhIHRyaXZpYWwgZml4IGZvciByODAw
OTYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL0pOSUJyaWRnZS5oIGIv
U291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9KTklCcmlkZ2UuaAppbmRleCBmNTdmZDg5YTU4NzIw
NzBiYmVmNDBjYjgxMzljOWQxZDkwZTY5NmVjLi41NjI0MjM5Y2JhNTA0MTQwNjA3OTQwOTQ4NTA2
NDc4YmE4MmNhYWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL0pOSUJy
aWRnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvSk5JQnJpZGdlLmgKQEAgLTYz
LDkgKzYzLDcgQEAgcHVibGljOgogCiAgICAgY29uc3QgY2hhciogdXRmOCgpIGNvbnN0IHsgcmV0
dXJuIG1faW1wbC51dGY4KCk7IH0KICAgICBpbnQgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9p
bXBsLmxlbmd0aCgpOyB9Ci0jaWYgVVNFKEpTQykKLSAgICBvcGVyYXRvciBVU3RyaW5nKCkgY29u
c3QgeyByZXR1cm4gbV9pbXBsLnVTdHJpbmcoKTsgfQotI2VuZGlmCisgICAgUGFzc1JlZlB0cjxT
dHJpbmdJbXBsPiBpbXBsKCkgY29uc3QgeyByZXR1cm4gbV9pbXBsLmltcGwoKTsgfQogCiBwcml2
YXRlOgogICAgIEphdmFTdHJpbmdJbXBsIG1faW1wbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9qbmkvam5pX2pzb2JqZWN0Lm1tIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2pu
aS9qbmlfanNvYmplY3QubW0KaW5kZXggZjhlYzFjNDJiMDExMzA1Mzg4NmQ2NTNjODIzZDJiN2M5
N2UwZjA2MC4uMDcxMmY3Y2I5ZjJiOTI0MGZkNzc5NDdmNzg3NzA2N2JkYjgzMDA3OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qbmlfanNvYmplY3QubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qbmlfanNvYmplY3QubW0KQEAgLTI4Niw3ICsyODYsNyBA
QCBqb2JqZWN0IEphdmFKU09iamVjdDo6Y2FsbChqc3RyaW5nIG1ldGhvZE5hbWUsIGpvYmplY3RB
cnJheSBhcmdzKSBjb25zdAogICAgIEV4ZWNTdGF0ZSogZXhlYyA9IHJvb3RPYmplY3QtPmdsb2Jh
bE9iamVjdCgpLT5nbG9iYWxFeGVjKCk7CiAgICAgSlNMb2NrIGxvY2soU2lsZW5jZUFzc2VydGlv
bnNPbmx5KTsKICAgICAKLSAgICBJZGVudGlmaWVyIGlkZW50aWZpZXIoZXhlYywgSmF2YVN0cmlu
ZyhtZXRob2ROYW1lKSk7CisgICAgSWRlbnRpZmllciBpZGVudGlmaWVyKGV4ZWMsIEphdmFTdHJp
bmcobWV0aG9kTmFtZSkuaW1wbCgpKTsKICAgICBKU1ZhbHVlIGZ1bmN0aW9uID0gX2ltcC0+Z2V0
KGV4ZWMsIGlkZW50aWZpZXIpOwogICAgIENhbGxEYXRhIGNhbGxEYXRhOwogICAgIENhbGxUeXBl
IGNhbGxUeXBlID0gZ2V0Q2FsbERhdGEoZnVuY3Rpb24sIGNhbGxEYXRhKTsKQEAgLTMxNiw3ICsz
MTYsNyBAQCBqb2JqZWN0IEphdmFKU09iamVjdDo6ZXZhbChqc3RyaW5nIHNjcmlwdCkgY29uc3QK
ICAgICAgICAgcmV0dXJuIDA7CiAKICAgICByb290T2JqZWN0LT5nbG9iYWxPYmplY3QoKS0+Z2xv
YmFsRGF0YSgpLnRpbWVvdXRDaGVja2VyLnN0YXJ0KCk7Ci0gICAgQ29tcGxldGlvbiBjb21wbGV0
aW9uID0gSlNDOjpldmFsdWF0ZShyb290T2JqZWN0LT5nbG9iYWxPYmplY3QoKS0+Z2xvYmFsRXhl
YygpLCByb290T2JqZWN0LT5nbG9iYWxPYmplY3QoKS0+Z2xvYmFsU2NvcGVDaGFpbigpLCBtYWtl
U291cmNlKEphdmFTdHJpbmcoc2NyaXB0KSksIEpTQzo6SlNWYWx1ZSgpKTsKKyAgICBDb21wbGV0
aW9uIGNvbXBsZXRpb24gPSBKU0M6OmV2YWx1YXRlKHJvb3RPYmplY3QtPmdsb2JhbE9iamVjdCgp
LT5nbG9iYWxFeGVjKCksIHJvb3RPYmplY3QtPmdsb2JhbE9iamVjdCgpLT5nbG9iYWxTY29wZUNo
YWluKCksIG1ha2VTb3VyY2UoSmF2YVN0cmluZyhzY3JpcHQpLmltcGwoKSksIEpTQzo6SlNWYWx1
ZSgpKTsKICAgICByb290T2JqZWN0LT5nbG9iYWxPYmplY3QoKS0+Z2xvYmFsRGF0YSgpLnRpbWVv
dXRDaGVja2VyLnN0b3AoKTsKICAgICBDb21wbFR5cGUgdHlwZSA9IGNvbXBsZXRpb24uY29tcGxU
eXBlKCk7CiAgICAgCkBAIC0zNDEsNyArMzQxLDcgQEAgam9iamVjdCBKYXZhSlNPYmplY3Q6Omdl
dE1lbWJlcihqc3RyaW5nIG1lbWJlck5hbWUpIGNvbnN0CiAgICAgRXhlY1N0YXRlKiBleGVjID0g
cm9vdE9iamVjdC0+Z2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKTsKICAgICAKICAgICBKU0xv
Y2sgbG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOwotICAgIEpTVmFsdWUgcmVzdWx0ID0gX2lt
cC0+Z2V0KGV4ZWMsIElkZW50aWZpZXIoZXhlYywgSmF2YVN0cmluZyhtZW1iZXJOYW1lKSkpOwor
ICAgIEpTVmFsdWUgcmVzdWx0ID0gX2ltcC0+Z2V0KGV4ZWMsIElkZW50aWZpZXIoZXhlYywgSmF2
YVN0cmluZyhtZW1iZXJOYW1lKS5pbXBsKCkpKTsKIAogICAgIHJldHVybiBjb252ZXJ0VmFsdWVU
b0pPYmplY3QocmVzdWx0KTsKIH0KQEAgLTM1OCw3ICszNTgsNyBAQCB2b2lkIEphdmFKU09iamVj
dDo6c2V0TWVtYmVyKGpzdHJpbmcgbWVtYmVyTmFtZSwgam9iamVjdCB2YWx1ZSkgY29uc3QKIAog
ICAgIEpTTG9jayBsb2NrKFNpbGVuY2VBc3NlcnRpb25zT25seSk7CiAgICAgUHV0UHJvcGVydHlT
bG90IHNsb3Q7Ci0gICAgX2ltcC0+cHV0KGV4ZWMsIElkZW50aWZpZXIoZXhlYywgSmF2YVN0cmlu
ZyhtZW1iZXJOYW1lKSksIGNvbnZlcnRKT2JqZWN0VG9WYWx1ZShleGVjLCB2YWx1ZSksIHNsb3Qp
OworICAgIF9pbXAtPnB1dChleGVjLCBJZGVudGlmaWVyKGV4ZWMsIEphdmFTdHJpbmcobWVtYmVy
TmFtZSkuaW1wbCgpKSwgY29udmVydEpPYmplY3RUb1ZhbHVlKGV4ZWMsIHZhbHVlKSwgc2xvdCk7
CiB9CiAKIApAQCAtMzcyLDcgKzM3Miw3IEBAIHZvaWQgSmF2YUpTT2JqZWN0OjpyZW1vdmVNZW1i
ZXIoanN0cmluZyBtZW1iZXJOYW1lKSBjb25zdAogCiAgICAgRXhlY1N0YXRlKiBleGVjID0gcm9v
dE9iamVjdC0+Z2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKTsKICAgICBKU0xvY2sgbG9jayhT
aWxlbmNlQXNzZXJ0aW9uc09ubHkpOwotICAgIF9pbXAtPmRlbGV0ZVByb3BlcnR5KGV4ZWMsIElk
ZW50aWZpZXIoZXhlYywgSmF2YVN0cmluZyhtZW1iZXJOYW1lKSkpOworICAgIF9pbXAtPmRlbGV0
ZVByb3BlcnR5KGV4ZWMsIElkZW50aWZpZXIoZXhlYywgSmF2YVN0cmluZyhtZW1iZXJOYW1lKS5p
bXBsKCkpKTsKIH0KIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pz
Yy9KYXZhQ2xhc3NKU0MuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YUNs
YXNzSlNDLmNwcAppbmRleCA0M2NkYzk2MjQzZGZhODViY2Y5MGRiODE2MDkzODZhYTAxZjIyNGQz
Li5jZDYwOGFjYjQ0OTkyZTJmMTZmOTMzZGRkZThhMDQzYTE4YmZhOGIyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhQ2xhc3NKU0MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFDbGFzc0pTQy5jcHAKQEAgLTYzLDcgKzYzLDcg
QEAgSmF2YUNsYXNzOjpKYXZhQ2xhc3Moam9iamVjdCBhbkluc3RhbmNlKQogICAgICAgICAgICAg
SmF2YUZpZWxkKiBhRmllbGQgPSBuZXcgSmF2YUZpZWxkKGVudiwgYUpGaWVsZCk7IC8vIGRlbGV0
ZWQgaW4gdGhlIEphdmFDbGFzcyBkZXN0cnVjdG9yCiAgICAgICAgICAgICB7CiAgICAgICAgICAg
ICAgICAgSlNMb2NrIGxvY2soU2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKLSAgICAgICAgICAgICAg
ICBtX2ZpZWxkcy5zZXQoKChVU3RyaW5nKWFGaWVsZC0+bmFtZSgpKS5pbXBsKCksIGFGaWVsZCk7
CisgICAgICAgICAgICAgICAgbV9maWVsZHMuc2V0KGFGaWVsZC0+bmFtZSgpLmltcGwoKSwgYUZp
ZWxkKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVudi0+RGVsZXRlTG9jYWxSZWYoYUpG
aWVsZCk7CiAgICAgICAgIH0KQEAgLTgwLDEwICs4MCwxMCBAQCBKYXZhQ2xhc3M6OkphdmFDbGFz
cyhqb2JqZWN0IGFuSW5zdGFuY2UpCiAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgSlNM
b2NrIGxvY2soU2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKIAotICAgICAgICAgICAgICAgIG1ldGhv
ZExpc3QgPSBtX21ldGhvZHMuZ2V0KCgoVVN0cmluZylhTWV0aG9kLT5uYW1lKCkpLmltcGwoKSk7
CisgICAgICAgICAgICAgICAgbWV0aG9kTGlzdCA9IG1fbWV0aG9kcy5nZXQoYU1ldGhvZC0+bmFt
ZSgpLmltcGwoKSk7CiAgICAgICAgICAgICAgICAgaWYgKCFtZXRob2RMaXN0KSB7CiAgICAgICAg
ICAgICAgICAgICAgIG1ldGhvZExpc3QgPSBuZXcgTWV0aG9kTGlzdCgpOwotICAgICAgICAgICAg
ICAgICAgICBtX21ldGhvZHMuc2V0KCgoVVN0cmluZylhTWV0aG9kLT5uYW1lKCkpLmltcGwoKSwg
bWV0aG9kTGlzdCk7CisgICAgICAgICAgICAgICAgICAgIG1fbWV0aG9kcy5zZXQoYU1ldGhvZC0+
bmFtZSgpLmltcGwoKSwgbWV0aG9kTGlzdCk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAg
ICAgfQogICAgICAgICAgICAgbWV0aG9kTGlzdC0+YXBwZW5kKGFNZXRob2QpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YVN0cmluZ0pTQy5oIGIvU291cmNl
L1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YVN0cmluZ0pTQy5oCmluZGV4IGNlOThkMjcwNTEx
ODYzMzEyNDZkMzNiY2U5NGI0NWNmMjMxMmRiZTcuLjM0MDFjOTgzNDI2NmM1NWUyOWY5NWZjMzdj
ZWUyZTc1MmI1OGQ2ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNj
L0phdmFTdHJpbmdKU0MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZh
U3RyaW5nSlNDLmgKQEAgLTY5LDcgKzY5LDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gbV91
dGY4U3RyaW5nLmRhdGEoKTsKICAgICB9CiAgICAgaW50IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJu
IG1faW1wbC0+bGVuZ3RoKCk7IH0KLSAgICBVU3RyaW5nIHVTdHJpbmcoKSBjb25zdCB7IHJldHVy
biBVU3RyaW5nKG1faW1wbCk7IH0KKyAgICBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IGltcGwoKSBj
b25zdCB7IHJldHVybiBtX2ltcGw7IH0KIAogcHJpdmF0ZToKICAgICBSZWZQdHI8U3RyaW5nSW1w
bD4gbV9pbXBsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS92OC9KYXZh
U3RyaW5nVjguaCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvdjgvSmF2YVN0cmluZ1Y4LmgK
aW5kZXggYTBlMmY1NWJlNDNjY2M0N2ZkNjUzOTEyMDljN2M4ZGJiOGM2ZDUzOS4uY2RmZTVkNTA3
MjY5NWMyZmJiZDUzZTEwMDk3MTJhYzA2YmRiMTFhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYnJpZGdlL2puaS92OC9KYXZhU3RyaW5nVjguaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlk
Z2Uvam5pL3Y4L0phdmFTdHJpbmdWOC5oCkBAIC0yNyw3ICsyNywxMCBAQAogI2RlZmluZSBKYXZh
U3RyaW5nVjhfaAogCiAjaW5jbHVkZSAiSk5JVXRpbGl0eS5oIgorCisjaW5jbHVkZSA8d3RmL0Fz
c2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+CisjaW5jbHVkZSA8d3Rm
L3RleHQvU3RyaW5nSW1wbC5oPgogCiAKIG5hbWVzcGFjZSBKU0MgewpAQCAtNDgsNiArNTEsNyBA
QCBwdWJsaWM6CiAKICAgICBjb25zdCBjaGFyKiB1dGY4KCkgY29uc3QgeyByZXR1cm4gbV91dGY4
U3RyaW5nLmRhdGEoKTsgfQogICAgIGludCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX3V0ZjhT
dHJpbmcubGVuZ3RoKCk7IH0KKyAgICBQYXNzUmVmUHRyPFN0cmluZ0ltcGw+IGltcGwoKSBjb25z
dCB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1cm4gMDsgfQogCiBwcml2YXRlOgogICAgIFdU
Rjo6Q1N0cmluZyBtX3V0ZjhTdHJpbmc7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84436</attachid>
            <date>2011-03-02 10:22:03 -0800</date>
            <delta_ts>2011-03-02 14:15:19 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55567-20110302182201.patch</filename>
            <type>text/plain</type>
            <size>7180</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODAxMTAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5YTg1M2E0NTRmMDJhYTk4
NmZlNmYwYzQ1ZTk4NGMyMzMxODUzNDllLi5kZmJmMzg4ZmU0ZTc0YTJhYWJkNDYxMDI5OTYwNmQx
ZjJmNmE2YTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzEgQEAKKzIwMTEtMDMtMDIgIFN0ZXZl
IEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEphdmFTdHJpbmcgQVBJIHNob3VsZCBiZSBpbXBsZW1l
bnRhYmxlIGJ5IGJvdGggSlNDIGFuZCBWOAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTU1NjcKKworICAgICAgICBSZW1vdmUgSmF2YVN0cmluZydzIFVT
dHJpbmcgb3BlcmF0b3IgYW5kIHJlcGxhY2UgaXQgd2l0aCBhCisgICAgICAgIHNjcmlwdC1lbmdp
bmUtaW5kZXBlbmRlbnQgaW1wbCgpIG1ldGhvZCwgd2hpY2ggcmV0dXJucyBhCisgICAgICAgIFN0
cmluZ0ltcGwgYW5kIGNhbiBiZSBpbXBsZW1lbnRlZCB3aXRoIGJvdGggSlNDIGFuZCBWOC4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMsIHJlZmFjdG9yaW5nIG9ubHkuCisKKyAgICAgICAgKiBicmlk
Z2Uvam5pL0pOSUJyaWRnZS5oOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6SmF2YVN0cmluZzo6
aW1wbCk6CisgICAgICAgICogYnJpZGdlL2puaS9qbmlfanNvYmplY3QubW06CisgICAgICAgIChK
YXZhSlNPYmplY3Q6OmNhbGwpOgorICAgICAgICAoSmF2YUpTT2JqZWN0OjpldmFsKToKKyAgICAg
ICAgKEphdmFKU09iamVjdDo6Z2V0TWVtYmVyKToKKyAgICAgICAgKEphdmFKU09iamVjdDo6c2V0
TWVtYmVyKToKKyAgICAgICAgKEphdmFKU09iamVjdDo6cmVtb3ZlTWVtYmVyKToKKyAgICAgICAg
KiBicmlkZ2Uvam5pL2pzYy9KYXZhQ2xhc3NKU0MuY3BwOgorICAgICAgICAoSmF2YUNsYXNzOjpK
YXZhQ2xhc3MpOgorICAgICAgICAqIGJyaWRnZS9qbmkvanNjL0phdmFTdHJpbmdKU0MuaDoKKyAg
ICAgICAgKEpTQzo6QmluZGluZ3M6OkphdmFTdHJpbmdJbXBsOjppbXBsKToKKyAgICAgICAgKiBi
cmlkZ2Uvam5pL3Y4L0phdmFTdHJpbmdWOC5oOgorICAgICAgICAoSlNDOjpCaW5kaW5nczo6SmF2
YVN0cmluZ0ltcGw6OmltcGwpOgorCiAyMDExLTAzLTAyICBLZW50IFRhbXVyYSAgPHRrZW50QGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCBhIHRyaXZpYWwgZml4IGZvciByODAw
OTYuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL0pOSUJyaWRnZS5oIGIv
U291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9KTklCcmlkZ2UuaAppbmRleCBmNTdmZDg5YTU4NzIw
NzBiYmVmNDBjYjgxMzljOWQxZDkwZTY5NmVjLi43MjJlNmU5Yjg2NWUyYmFiYTk4MjMxMDNkNjBh
YjJkMTBmZmE3ZjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL0pOSUJy
aWRnZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvSk5JQnJpZGdlLmgKQEAgLTYz
LDkgKzYzLDcgQEAgcHVibGljOgogCiAgICAgY29uc3QgY2hhciogdXRmOCgpIGNvbnN0IHsgcmV0
dXJuIG1faW1wbC51dGY4KCk7IH0KICAgICBpbnQgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9p
bXBsLmxlbmd0aCgpOyB9Ci0jaWYgVVNFKEpTQykKLSAgICBvcGVyYXRvciBVU3RyaW5nKCkgY29u
c3QgeyByZXR1cm4gbV9pbXBsLnVTdHJpbmcoKTsgfQotI2VuZGlmCisgICAgU3RyaW5nSW1wbCog
aW1wbCgpIGNvbnN0IHsgcmV0dXJuIG1faW1wbC5pbXBsKCk7IH0KIAogcHJpdmF0ZToKICAgICBK
YXZhU3RyaW5nSW1wbCBtX2ltcGw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uv
am5pL2puaV9qc29iamVjdC5tbSBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvam5pX2pzb2Jq
ZWN0Lm1tCmluZGV4IGY4ZWMxYzQyYjAxMTMwNTM4ODZkNjUzYzgyM2QyYjdjOTdlMGYwNjAuLjA3
MTJmN2NiOWYyYjkyNDBmZDc3OTQ3Zjc4NzcwNjdiZGI4MzAwNzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JyaWRnZS9qbmkvam5pX2pzb2JqZWN0Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JyaWRnZS9qbmkvam5pX2pzb2JqZWN0Lm1tCkBAIC0yODYsNyArMjg2LDcgQEAgam9iamVjdCBK
YXZhSlNPYmplY3Q6OmNhbGwoanN0cmluZyBtZXRob2ROYW1lLCBqb2JqZWN0QXJyYXkgYXJncykg
Y29uc3QKICAgICBFeGVjU3RhdGUqIGV4ZWMgPSByb290T2JqZWN0LT5nbG9iYWxPYmplY3QoKS0+
Z2xvYmFsRXhlYygpOwogICAgIEpTTG9jayBsb2NrKFNpbGVuY2VBc3NlcnRpb25zT25seSk7CiAg
ICAgCi0gICAgSWRlbnRpZmllciBpZGVudGlmaWVyKGV4ZWMsIEphdmFTdHJpbmcobWV0aG9kTmFt
ZSkpOworICAgIElkZW50aWZpZXIgaWRlbnRpZmllcihleGVjLCBKYXZhU3RyaW5nKG1ldGhvZE5h
bWUpLmltcGwoKSk7CiAgICAgSlNWYWx1ZSBmdW5jdGlvbiA9IF9pbXAtPmdldChleGVjLCBpZGVu
dGlmaWVyKTsKICAgICBDYWxsRGF0YSBjYWxsRGF0YTsKICAgICBDYWxsVHlwZSBjYWxsVHlwZSA9
IGdldENhbGxEYXRhKGZ1bmN0aW9uLCBjYWxsRGF0YSk7CkBAIC0zMTYsNyArMzE2LDcgQEAgam9i
amVjdCBKYXZhSlNPYmplY3Q6OmV2YWwoanN0cmluZyBzY3JpcHQpIGNvbnN0CiAgICAgICAgIHJl
dHVybiAwOwogCiAgICAgcm9vdE9iamVjdC0+Z2xvYmFsT2JqZWN0KCktPmdsb2JhbERhdGEoKS50
aW1lb3V0Q2hlY2tlci5zdGFydCgpOwotICAgIENvbXBsZXRpb24gY29tcGxldGlvbiA9IEpTQzo6
ZXZhbHVhdGUocm9vdE9iamVjdC0+Z2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKSwgcm9vdE9i
amVjdC0+Z2xvYmFsT2JqZWN0KCktPmdsb2JhbFNjb3BlQ2hhaW4oKSwgbWFrZVNvdXJjZShKYXZh
U3RyaW5nKHNjcmlwdCkpLCBKU0M6OkpTVmFsdWUoKSk7CisgICAgQ29tcGxldGlvbiBjb21wbGV0
aW9uID0gSlNDOjpldmFsdWF0ZShyb290T2JqZWN0LT5nbG9iYWxPYmplY3QoKS0+Z2xvYmFsRXhl
YygpLCByb290T2JqZWN0LT5nbG9iYWxPYmplY3QoKS0+Z2xvYmFsU2NvcGVDaGFpbigpLCBtYWtl
U291cmNlKEphdmFTdHJpbmcoc2NyaXB0KS5pbXBsKCkpLCBKU0M6OkpTVmFsdWUoKSk7CiAgICAg
cm9vdE9iamVjdC0+Z2xvYmFsT2JqZWN0KCktPmdsb2JhbERhdGEoKS50aW1lb3V0Q2hlY2tlci5z
dG9wKCk7CiAgICAgQ29tcGxUeXBlIHR5cGUgPSBjb21wbGV0aW9uLmNvbXBsVHlwZSgpOwogICAg
IApAQCAtMzQxLDcgKzM0MSw3IEBAIGpvYmplY3QgSmF2YUpTT2JqZWN0OjpnZXRNZW1iZXIoanN0
cmluZyBtZW1iZXJOYW1lKSBjb25zdAogICAgIEV4ZWNTdGF0ZSogZXhlYyA9IHJvb3RPYmplY3Qt
Pmdsb2JhbE9iamVjdCgpLT5nbG9iYWxFeGVjKCk7CiAgICAgCiAgICAgSlNMb2NrIGxvY2soU2ls
ZW5jZUFzc2VydGlvbnNPbmx5KTsKLSAgICBKU1ZhbHVlIHJlc3VsdCA9IF9pbXAtPmdldChleGVj
LCBJZGVudGlmaWVyKGV4ZWMsIEphdmFTdHJpbmcobWVtYmVyTmFtZSkpKTsKKyAgICBKU1ZhbHVl
IHJlc3VsdCA9IF9pbXAtPmdldChleGVjLCBJZGVudGlmaWVyKGV4ZWMsIEphdmFTdHJpbmcobWVt
YmVyTmFtZSkuaW1wbCgpKSk7CiAKICAgICByZXR1cm4gY29udmVydFZhbHVlVG9KT2JqZWN0KHJl
c3VsdCk7CiB9CkBAIC0zNTgsNyArMzU4LDcgQEAgdm9pZCBKYXZhSlNPYmplY3Q6OnNldE1lbWJl
cihqc3RyaW5nIG1lbWJlck5hbWUsIGpvYmplY3QgdmFsdWUpIGNvbnN0CiAKICAgICBKU0xvY2sg
bG9jayhTaWxlbmNlQXNzZXJ0aW9uc09ubHkpOwogICAgIFB1dFByb3BlcnR5U2xvdCBzbG90Owot
ICAgIF9pbXAtPnB1dChleGVjLCBJZGVudGlmaWVyKGV4ZWMsIEphdmFTdHJpbmcobWVtYmVyTmFt
ZSkpLCBjb252ZXJ0Sk9iamVjdFRvVmFsdWUoZXhlYywgdmFsdWUpLCBzbG90KTsKKyAgICBfaW1w
LT5wdXQoZXhlYywgSWRlbnRpZmllcihleGVjLCBKYXZhU3RyaW5nKG1lbWJlck5hbWUpLmltcGwo
KSksIGNvbnZlcnRKT2JqZWN0VG9WYWx1ZShleGVjLCB2YWx1ZSksIHNsb3QpOwogfQogCiAKQEAg
LTM3Miw3ICszNzIsNyBAQCB2b2lkIEphdmFKU09iamVjdDo6cmVtb3ZlTWVtYmVyKGpzdHJpbmcg
bWVtYmVyTmFtZSkgY29uc3QKIAogICAgIEV4ZWNTdGF0ZSogZXhlYyA9IHJvb3RPYmplY3QtPmds
b2JhbE9iamVjdCgpLT5nbG9iYWxFeGVjKCk7CiAgICAgSlNMb2NrIGxvY2soU2lsZW5jZUFzc2Vy
dGlvbnNPbmx5KTsKLSAgICBfaW1wLT5kZWxldGVQcm9wZXJ0eShleGVjLCBJZGVudGlmaWVyKGV4
ZWMsIEphdmFTdHJpbmcobWVtYmVyTmFtZSkpKTsKKyAgICBfaW1wLT5kZWxldGVQcm9wZXJ0eShl
eGVjLCBJZGVudGlmaWVyKGV4ZWMsIEphdmFTdHJpbmcobWVtYmVyTmFtZSkuaW1wbCgpKSk7CiB9
CiAKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YUNsYXNz
SlNDLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFDbGFzc0pTQy5jcHAK
aW5kZXggNDNjZGM5NjI0M2RmYTg1YmNmOTBkYjgxNjA5Mzg2YWEwMWYyMjRkMy4uY2Q2MDhhY2I0
NDk5MmUyZjE2ZjkzM2RkZGU4YTA0M2ExOGJmYThiMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYnJpZGdlL2puaS9qc2MvSmF2YUNsYXNzSlNDLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
cmlkZ2Uvam5pL2pzYy9KYXZhQ2xhc3NKU0MuY3BwCkBAIC02Myw3ICs2Myw3IEBAIEphdmFDbGFz
czo6SmF2YUNsYXNzKGpvYmplY3QgYW5JbnN0YW5jZSkKICAgICAgICAgICAgIEphdmFGaWVsZCog
YUZpZWxkID0gbmV3IEphdmFGaWVsZChlbnYsIGFKRmllbGQpOyAvLyBkZWxldGVkIGluIHRoZSBK
YXZhQ2xhc3MgZGVzdHJ1Y3RvcgogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIEpTTG9j
ayBsb2NrKFNpbGVuY2VBc3NlcnRpb25zT25seSk7Ci0gICAgICAgICAgICAgICAgbV9maWVsZHMu
c2V0KCgoVVN0cmluZylhRmllbGQtPm5hbWUoKSkuaW1wbCgpLCBhRmllbGQpOworICAgICAgICAg
ICAgICAgIG1fZmllbGRzLnNldChhRmllbGQtPm5hbWUoKS5pbXBsKCksIGFGaWVsZCk7CiAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICBlbnYtPkRlbGV0ZUxvY2FsUmVmKGFKRmllbGQpOwogICAg
ICAgICB9CkBAIC04MCwxMCArODAsMTAgQEAgSmF2YUNsYXNzOjpKYXZhQ2xhc3Moam9iamVjdCBh
bkluc3RhbmNlKQogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIEpTTG9jayBsb2NrKFNp
bGVuY2VBc3NlcnRpb25zT25seSk7CiAKLSAgICAgICAgICAgICAgICBtZXRob2RMaXN0ID0gbV9t
ZXRob2RzLmdldCgoKFVTdHJpbmcpYU1ldGhvZC0+bmFtZSgpKS5pbXBsKCkpOworICAgICAgICAg
ICAgICAgIG1ldGhvZExpc3QgPSBtX21ldGhvZHMuZ2V0KGFNZXRob2QtPm5hbWUoKS5pbXBsKCkp
OwogICAgICAgICAgICAgICAgIGlmICghbWV0aG9kTGlzdCkgewogICAgICAgICAgICAgICAgICAg
ICBtZXRob2RMaXN0ID0gbmV3IE1ldGhvZExpc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgbV9t
ZXRob2RzLnNldCgoKFVTdHJpbmcpYU1ldGhvZC0+bmFtZSgpKS5pbXBsKCksIG1ldGhvZExpc3Qp
OworICAgICAgICAgICAgICAgICAgICBtX21ldGhvZHMuc2V0KGFNZXRob2QtPm5hbWUoKS5pbXBs
KCksIG1ldGhvZExpc3QpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIG1ldGhvZExpc3QtPmFwcGVuZChhTWV0aG9kKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFTdHJpbmdKU0MuaCBiL1NvdXJjZS9XZWJDb3JlL2Jy
aWRnZS9qbmkvanNjL0phdmFTdHJpbmdKU0MuaAppbmRleCBjZTk4ZDI3MDUxMTg2MzMxMjQ2ZDMz
YmNlOTRiNDVjZjIzMTJkYmU3Li4zY2U3YTE2YjY3YzJjZGU1OWZjYWI3ODY1ZThjZDAxNmVlODRm
ZGIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhU3RyaW5n
SlNDLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YVN0cmluZ0pTQy5o
CkBAIC02OSw3ICs2OSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1fdXRmOFN0cmluZy5k
YXRhKCk7CiAgICAgfQogICAgIGludCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2ltcGwtPmxl
bmd0aCgpOyB9Ci0gICAgVVN0cmluZyB1U3RyaW5nKCkgY29uc3QgeyByZXR1cm4gVVN0cmluZyht
X2ltcGwpOyB9CisgICAgU3RyaW5nSW1wbCogaW1wbCgpIGNvbnN0IHsgcmV0dXJuIG1faW1wbC5n
ZXQoKTsgfQogCiBwcml2YXRlOgogICAgIFJlZlB0cjxTdHJpbmdJbXBsPiBtX2ltcGw7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL3Y4L0phdmFTdHJpbmdWOC5oIGIvU291
cmNlL1dlYkNvcmUvYnJpZGdlL2puaS92OC9KYXZhU3RyaW5nVjguaAppbmRleCBhMGUyZjU1YmU0
M2NjYzQ3ZmQ2NTM5MTIwOWM3YzhkYmI4YzZkNTM5Li45MWE0MmVkMmI5YTUxZWIyMWVkMTIyMWE1
MWQ3MzU4NjIyZDYyMjk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL3Y4
L0phdmFTdHJpbmdWOC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvdjgvSmF2YVN0
cmluZ1Y4LmgKQEAgLTI3LDcgKzI3LDEwIEBACiAjZGVmaW5lIEphdmFTdHJpbmdWOF9oCiAKICNp
bmNsdWRlICJKTklVdGlsaXR5LmgiCisKKyNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdJbXBs
Lmg+CiAKIAogbmFtZXNwYWNlIEpTQyB7CkBAIC00OCw2ICs1MSw3IEBAIHB1YmxpYzoKIAogICAg
IGNvbnN0IGNoYXIqIHV0ZjgoKSBjb25zdCB7IHJldHVybiBtX3V0ZjhTdHJpbmcuZGF0YSgpOyB9
CiAgICAgaW50IGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fdXRmOFN0cmluZy5sZW5ndGgoKTsg
fQorICAgIFN0cmluZ0ltcGwqIGltcGwoKSBjb25zdCB7IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOyBy
ZXR1cm4gMDsgfQogCiBwcml2YXRlOgogICAgIFdURjo6Q1N0cmluZyBtX3V0ZjhTdHJpbmc7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84465</attachid>
            <date>2011-03-02 14:15:25 -0800</date>
            <delta_ts>2011-03-03 02:51:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55567-20110302221523.patch</filename>
            <type>text/plain</type>
            <size>9674</size>
            <attacher name="Steve Block">steveblock</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODAxNjAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiNWE4OTQ5MGU4OGFmYjk1
MmNmOWFiNTdlMjFjZDEzZWY3MTIxNDI0Li41NGFiYWM5YWFhM2QxMTAxNjU4ZGQ4MTE1YWNiNjFk
NjIyOGUyMmZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTEtMDMtMDIgIFN0ZXZl
IEJsb2NrICA8c3RldmVibG9ja0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIEphdmFTdHJpbmcgQVBJIHNob3VsZCBiZSBpbXBsZW1l
bnRhYmxlIGJ5IGJvdGggSlNDIGFuZCBWOAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NTU1NjcKKworICAgICAgICBSZW1vdmUgSmF2YVN0cmluZydzIFVT
dHJpbmcgb3BlcmF0b3IgYW5kIHJlcGxhY2UgaXQgd2l0aCBhCisgICAgICAgIHNjcmlwdC1lbmdp
bmUtaW5kZXBlbmRlbnQgaW1wbCgpIG1ldGhvZCwgd2hpY2ggcmV0dXJucyBhCisgICAgICAgIFN0
cmluZ0ltcGwgYW5kIGNhbiBiZSBpbXBsZW1lbnRlZCB3aXRoIGJvdGggSlNDIGFuZCBWOC4KKwor
ICAgICAgICBObyBuZXcgdGVzdHMsIHJlZmFjdG9yaW5nIG9ubHkuIAorCisgICAgICAgICogYnJp
ZGdlL2puaS9KTklCcmlkZ2UuaDoKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6OkphdmFTdHJpbmc6
OmltcGwpOgorICAgICAgICAqIGJyaWRnZS9qbmkvam5pX2pzb2JqZWN0Lm1tOgorICAgICAgICAo
SmF2YUpTT2JqZWN0OjpjYWxsKToKKyAgICAgICAgKEphdmFKU09iamVjdDo6ZXZhbCk6CisgICAg
ICAgIChKYXZhSlNPYmplY3Q6OmdldE1lbWJlcik6CisgICAgICAgIChKYXZhSlNPYmplY3Q6OnNl
dE1lbWJlcik6CisgICAgICAgIChKYXZhSlNPYmplY3Q6OnJlbW92ZU1lbWJlcik6CisgICAgICAg
ICogYnJpZGdlL2puaS9qc2MvSk5JQnJpZGdlSlNDLmNwcDoKKyAgICAgICAgKEphdmFGaWVsZDo6
dmFsdWVGcm9tSW5zdGFuY2UpOgorICAgICAgICAoSmF2YUZpZWxkOjpzZXRWYWx1ZVRvSW5zdGFu
Y2UpOgorICAgICAgICAqIGJyaWRnZS9qbmkvanNjL0phdmFDbGFzc0pTQy5jcHA6CisgICAgICAg
IChKYXZhQ2xhc3M6OkphdmFDbGFzcyk6CisgICAgICAgICogYnJpZGdlL2puaS9qc2MvSmF2YUlu
c3RhbmNlSlNDLmNwcDoKKyAgICAgICAgKEphdmFJbnN0YW5jZTo6aW52b2tlTWV0aG9kKToKKyAg
ICAgICAgKiBicmlkZ2Uvam5pL2pzYy9KYXZhU3RyaW5nSlNDLmg6CisgICAgICAgIChKU0M6OkJp
bmRpbmdzOjpKYXZhU3RyaW5nSW1wbDo6aW1wbCk6CisgICAgICAgICogYnJpZGdlL2puaS92OC9K
YXZhU3RyaW5nVjguaDoKKyAgICAgICAgKEpTQzo6QmluZGluZ3M6OkphdmFTdHJpbmdJbXBsOjpp
bXBsKToKKwogMjAxMS0wMy0wMiAgRGltaXRyaSBHbGF6a292ICA8ZGdsYXprb3ZAY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFVwZGF0ZSBsb2NhdGlvbiBvZiBtZWRpYS1maWxlLmpzLCB3aGljaCB3
YXMgbW92ZWQgaW4gcjc5NjMwLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2pu
aS9KTklCcmlkZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvSk5JQnJpZGdlLmgKaW5k
ZXggZjU3ZmQ4OWE1ODcyMDcwYmJlZjQwY2I4MTM5YzlkMWQ5MGU2OTZlYy4uNzIyZTZlOWI4NjVl
MmJhYmE5ODIzMTAzZDYwYWIyZDEwZmZhN2Y4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YnJpZGdlL2puaS9KTklCcmlkZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL0pO
SUJyaWRnZS5oCkBAIC02Myw5ICs2Myw3IEBAIHB1YmxpYzoKIAogICAgIGNvbnN0IGNoYXIqIHV0
ZjgoKSBjb25zdCB7IHJldHVybiBtX2ltcGwudXRmOCgpOyB9CiAgICAgaW50IGxlbmd0aCgpIGNv
bnN0IHsgcmV0dXJuIG1faW1wbC5sZW5ndGgoKTsgfQotI2lmIFVTRShKU0MpCi0gICAgb3BlcmF0
b3IgVVN0cmluZygpIGNvbnN0IHsgcmV0dXJuIG1faW1wbC51U3RyaW5nKCk7IH0KLSNlbmRpZgor
ICAgIFN0cmluZ0ltcGwqIGltcGwoKSBjb25zdCB7IHJldHVybiBtX2ltcGwuaW1wbCgpOyB9CiAK
IHByaXZhdGU6CiAgICAgSmF2YVN0cmluZ0ltcGwgbV9pbXBsOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYnJpZGdlL2puaS9qbmlfanNvYmplY3QubW0gYi9Tb3VyY2UvV2ViQ29yZS9icmlk
Z2Uvam5pL2puaV9qc29iamVjdC5tbQppbmRleCBmOGVjMWM0MmIwMTEzMDUzODg2ZDY1M2M4MjNk
MmI3Yzk3ZTBmMDYwLi4wNzEyZjdjYjlmMmI5MjQwZmQ3Nzk0N2Y3ODc3MDY3YmRiODMwMDc5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2puaV9qc29iamVjdC5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2puaV9qc29iamVjdC5tbQpAQCAtMjg2LDcgKzI4
Niw3IEBAIGpvYmplY3QgSmF2YUpTT2JqZWN0OjpjYWxsKGpzdHJpbmcgbWV0aG9kTmFtZSwgam9i
amVjdEFycmF5IGFyZ3MpIGNvbnN0CiAgICAgRXhlY1N0YXRlKiBleGVjID0gcm9vdE9iamVjdC0+
Z2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKTsKICAgICBKU0xvY2sgbG9jayhTaWxlbmNlQXNz
ZXJ0aW9uc09ubHkpOwogICAgIAotICAgIElkZW50aWZpZXIgaWRlbnRpZmllcihleGVjLCBKYXZh
U3RyaW5nKG1ldGhvZE5hbWUpKTsKKyAgICBJZGVudGlmaWVyIGlkZW50aWZpZXIoZXhlYywgSmF2
YVN0cmluZyhtZXRob2ROYW1lKS5pbXBsKCkpOwogICAgIEpTVmFsdWUgZnVuY3Rpb24gPSBfaW1w
LT5nZXQoZXhlYywgaWRlbnRpZmllcik7CiAgICAgQ2FsbERhdGEgY2FsbERhdGE7CiAgICAgQ2Fs
bFR5cGUgY2FsbFR5cGUgPSBnZXRDYWxsRGF0YShmdW5jdGlvbiwgY2FsbERhdGEpOwpAQCAtMzE2
LDcgKzMxNiw3IEBAIGpvYmplY3QgSmF2YUpTT2JqZWN0OjpldmFsKGpzdHJpbmcgc2NyaXB0KSBj
b25zdAogICAgICAgICByZXR1cm4gMDsKIAogICAgIHJvb3RPYmplY3QtPmdsb2JhbE9iamVjdCgp
LT5nbG9iYWxEYXRhKCkudGltZW91dENoZWNrZXIuc3RhcnQoKTsKLSAgICBDb21wbGV0aW9uIGNv
bXBsZXRpb24gPSBKU0M6OmV2YWx1YXRlKHJvb3RPYmplY3QtPmdsb2JhbE9iamVjdCgpLT5nbG9i
YWxFeGVjKCksIHJvb3RPYmplY3QtPmdsb2JhbE9iamVjdCgpLT5nbG9iYWxTY29wZUNoYWluKCks
IG1ha2VTb3VyY2UoSmF2YVN0cmluZyhzY3JpcHQpKSwgSlNDOjpKU1ZhbHVlKCkpOworICAgIENv
bXBsZXRpb24gY29tcGxldGlvbiA9IEpTQzo6ZXZhbHVhdGUocm9vdE9iamVjdC0+Z2xvYmFsT2Jq
ZWN0KCktPmdsb2JhbEV4ZWMoKSwgcm9vdE9iamVjdC0+Z2xvYmFsT2JqZWN0KCktPmdsb2JhbFNj
b3BlQ2hhaW4oKSwgbWFrZVNvdXJjZShKYXZhU3RyaW5nKHNjcmlwdCkuaW1wbCgpKSwgSlNDOjpK
U1ZhbHVlKCkpOwogICAgIHJvb3RPYmplY3QtPmdsb2JhbE9iamVjdCgpLT5nbG9iYWxEYXRhKCku
dGltZW91dENoZWNrZXIuc3RvcCgpOwogICAgIENvbXBsVHlwZSB0eXBlID0gY29tcGxldGlvbi5j
b21wbFR5cGUoKTsKICAgICAKQEAgLTM0MSw3ICszNDEsNyBAQCBqb2JqZWN0IEphdmFKU09iamVj
dDo6Z2V0TWVtYmVyKGpzdHJpbmcgbWVtYmVyTmFtZSkgY29uc3QKICAgICBFeGVjU3RhdGUqIGV4
ZWMgPSByb290T2JqZWN0LT5nbG9iYWxPYmplY3QoKS0+Z2xvYmFsRXhlYygpOwogICAgIAogICAg
IEpTTG9jayBsb2NrKFNpbGVuY2VBc3NlcnRpb25zT25seSk7Ci0gICAgSlNWYWx1ZSByZXN1bHQg
PSBfaW1wLT5nZXQoZXhlYywgSWRlbnRpZmllcihleGVjLCBKYXZhU3RyaW5nKG1lbWJlck5hbWUp
KSk7CisgICAgSlNWYWx1ZSByZXN1bHQgPSBfaW1wLT5nZXQoZXhlYywgSWRlbnRpZmllcihleGVj
LCBKYXZhU3RyaW5nKG1lbWJlck5hbWUpLmltcGwoKSkpOwogCiAgICAgcmV0dXJuIGNvbnZlcnRW
YWx1ZVRvSk9iamVjdChyZXN1bHQpOwogfQpAQCAtMzU4LDcgKzM1OCw3IEBAIHZvaWQgSmF2YUpT
T2JqZWN0OjpzZXRNZW1iZXIoanN0cmluZyBtZW1iZXJOYW1lLCBqb2JqZWN0IHZhbHVlKSBjb25z
dAogCiAgICAgSlNMb2NrIGxvY2soU2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKICAgICBQdXRQcm9w
ZXJ0eVNsb3Qgc2xvdDsKLSAgICBfaW1wLT5wdXQoZXhlYywgSWRlbnRpZmllcihleGVjLCBKYXZh
U3RyaW5nKG1lbWJlck5hbWUpKSwgY29udmVydEpPYmplY3RUb1ZhbHVlKGV4ZWMsIHZhbHVlKSwg
c2xvdCk7CisgICAgX2ltcC0+cHV0KGV4ZWMsIElkZW50aWZpZXIoZXhlYywgSmF2YVN0cmluZyht
ZW1iZXJOYW1lKS5pbXBsKCkpLCBjb252ZXJ0Sk9iamVjdFRvVmFsdWUoZXhlYywgdmFsdWUpLCBz
bG90KTsKIH0KIAogCkBAIC0zNzIsNyArMzcyLDcgQEAgdm9pZCBKYXZhSlNPYmplY3Q6OnJlbW92
ZU1lbWJlcihqc3RyaW5nIG1lbWJlck5hbWUpIGNvbnN0CiAKICAgICBFeGVjU3RhdGUqIGV4ZWMg
PSByb290T2JqZWN0LT5nbG9iYWxPYmplY3QoKS0+Z2xvYmFsRXhlYygpOwogICAgIEpTTG9jayBs
b2NrKFNpbGVuY2VBc3NlcnRpb25zT25seSk7Ci0gICAgX2ltcC0+ZGVsZXRlUHJvcGVydHkoZXhl
YywgSWRlbnRpZmllcihleGVjLCBKYXZhU3RyaW5nKG1lbWJlck5hbWUpKSk7CisgICAgX2ltcC0+
ZGVsZXRlUHJvcGVydHkoZXhlYywgSWRlbnRpZmllcihleGVjLCBKYXZhU3RyaW5nKG1lbWJlck5h
bWUpLmltcGwoKSkpOwogfQogCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9q
bmkvanNjL0pOSUJyaWRnZUpTQy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9K
TklCcmlkZ2VKU0MuY3BwCmluZGV4IDNjMTZkMDUyYmJiMTFkNWE4ZjA0NTc4YTkwZmZmOWY1N2Vk
NzI4NzAuLmY0ZGFiMjAzMjk1MmE5ZDk5NDk1ODMzYTBlZDdkOTA1NTVhM2U5MjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0pOSUJyaWRnZUpTQy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSk5JQnJpZGdlSlNDLmNwcApAQCAtMTUwLDcg
KzE1MCw3IEBAIEpTVmFsdWUgSmF2YUZpZWxkOjp2YWx1ZUZyb21JbnN0YW5jZShFeGVjU3RhdGUq
IGV4ZWMsIGNvbnN0IEluc3RhbmNlKiBpKSBjb25zdAogICAgICAgICBicmVhazsKICAgICB9CiAK
LSAgICBMT0coTGl2ZUNvbm5lY3QsICJKYXZhRmllbGQ6OnZhbHVlRnJvbUluc3RhbmNlIGdldHRp
bmcgJXMgPSAlcyIsIFVTdHJpbmcobmFtZSgpKS51dGY4KCkuZGF0YSgpLCBqc3Jlc3VsdC50b1N0
cmluZyhleGVjKS5hc2NpaSgpLmRhdGEoKSk7CisgICAgTE9HKExpdmVDb25uZWN0LCAiSmF2YUZp
ZWxkOjp2YWx1ZUZyb21JbnN0YW5jZSBnZXR0aW5nICVzID0gJXMiLCBVU3RyaW5nKG5hbWUoKS5p
bXBsKCkpLnV0ZjgoKS5kYXRhKCksIGpzcmVzdWx0LnRvU3RyaW5nKGV4ZWMpLmFzY2lpKCkuZGF0
YSgpKTsKIAogICAgIHJldHVybiBqc3Jlc3VsdDsKIH0KQEAgLTE4Niw3ICsxODYsNyBAQCB2b2lk
IEphdmFGaWVsZDo6c2V0VmFsdWVUb0luc3RhbmNlKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSW5z
dGFuY2UqIGksIEpTVmFsdWUgYQogICAgIGNvbnN0IEphdmFJbnN0YW5jZSogaW5zdGFuY2UgPSBz
dGF0aWNfY2FzdDxjb25zdCBKYXZhSW5zdGFuY2UqPihpKTsKICAgICBqdmFsdWUgamF2YVZhbHVl
ID0gY29udmVydFZhbHVlVG9KVmFsdWUoZXhlYywgaS0+cm9vdE9iamVjdCgpLCBhVmFsdWUsIG1f
Sk5JVHlwZSwgdHlwZSgpKTsKIAotICAgIExPRyhMaXZlQ29ubmVjdCwgIkphdmFGaWVsZDo6c2V0
VmFsdWVUb0luc3RhbmNlIHNldHRpbmcgdmFsdWUgJXMgdG8gJXMiLCBVU3RyaW5nKG5hbWUoKSku
dXRmOCgpLmRhdGEoKSwgYVZhbHVlLnRvU3RyaW5nKGV4ZWMpLmFzY2lpKCkuZGF0YSgpKTsKKyAg
ICBMT0coTGl2ZUNvbm5lY3QsICJKYXZhRmllbGQ6OnNldFZhbHVlVG9JbnN0YW5jZSBzZXR0aW5n
IHZhbHVlICVzIHRvICVzIiwgVVN0cmluZyhuYW1lKCkuaW1wbCgpKS51dGY4KCkuZGF0YSgpLCBh
VmFsdWUudG9TdHJpbmcoZXhlYykuYXNjaWkoKS5kYXRhKCkpOwogCiAgICAgc3dpdGNoIChtX0pO
SVR5cGUpIHsKICAgICBjYXNlIGFycmF5X3R5cGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9icmlkZ2Uvam5pL2pzYy9KYXZhQ2xhc3NKU0MuY3BwIGIvU291cmNlL1dlYkNvcmUvYnJpZGdl
L2puaS9qc2MvSmF2YUNsYXNzSlNDLmNwcAppbmRleCA0M2NkYzk2MjQzZGZhODViY2Y5MGRiODE2
MDkzODZhYTAxZjIyNGQzLi5jZDYwOGFjYjQ0OTkyZTJmMTZmOTMzZGRkZThhMDQzYTE4YmZhOGIy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhQ2xhc3NKU0Mu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFDbGFzc0pTQy5jcHAK
QEAgLTYzLDcgKzYzLDcgQEAgSmF2YUNsYXNzOjpKYXZhQ2xhc3Moam9iamVjdCBhbkluc3RhbmNl
KQogICAgICAgICAgICAgSmF2YUZpZWxkKiBhRmllbGQgPSBuZXcgSmF2YUZpZWxkKGVudiwgYUpG
aWVsZCk7IC8vIGRlbGV0ZWQgaW4gdGhlIEphdmFDbGFzcyBkZXN0cnVjdG9yCiAgICAgICAgICAg
ICB7CiAgICAgICAgICAgICAgICAgSlNMb2NrIGxvY2soU2lsZW5jZUFzc2VydGlvbnNPbmx5KTsK
LSAgICAgICAgICAgICAgICBtX2ZpZWxkcy5zZXQoKChVU3RyaW5nKWFGaWVsZC0+bmFtZSgpKS5p
bXBsKCksIGFGaWVsZCk7CisgICAgICAgICAgICAgICAgbV9maWVsZHMuc2V0KGFGaWVsZC0+bmFt
ZSgpLmltcGwoKSwgYUZpZWxkKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVudi0+RGVs
ZXRlTG9jYWxSZWYoYUpGaWVsZCk7CiAgICAgICAgIH0KQEAgLTgwLDEwICs4MCwxMCBAQCBKYXZh
Q2xhc3M6OkphdmFDbGFzcyhqb2JqZWN0IGFuSW5zdGFuY2UpCiAgICAgICAgICAgICB7CiAgICAg
ICAgICAgICAgICAgSlNMb2NrIGxvY2soU2lsZW5jZUFzc2VydGlvbnNPbmx5KTsKIAotICAgICAg
ICAgICAgICAgIG1ldGhvZExpc3QgPSBtX21ldGhvZHMuZ2V0KCgoVVN0cmluZylhTWV0aG9kLT5u
YW1lKCkpLmltcGwoKSk7CisgICAgICAgICAgICAgICAgbWV0aG9kTGlzdCA9IG1fbWV0aG9kcy5n
ZXQoYU1ldGhvZC0+bmFtZSgpLmltcGwoKSk7CiAgICAgICAgICAgICAgICAgaWYgKCFtZXRob2RM
aXN0KSB7CiAgICAgICAgICAgICAgICAgICAgIG1ldGhvZExpc3QgPSBuZXcgTWV0aG9kTGlzdCgp
OwotICAgICAgICAgICAgICAgICAgICBtX21ldGhvZHMuc2V0KCgoVVN0cmluZylhTWV0aG9kLT5u
YW1lKCkpLmltcGwoKSwgbWV0aG9kTGlzdCk7CisgICAgICAgICAgICAgICAgICAgIG1fbWV0aG9k
cy5zZXQoYU1ldGhvZC0+bmFtZSgpLmltcGwoKSwgbWV0aG9kTGlzdCk7CiAgICAgICAgICAgICAg
ICAgfQogICAgICAgICAgICAgfQogICAgICAgICAgICAgbWV0aG9kTGlzdC0+YXBwZW5kKGFNZXRo
b2QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YUluc3Rh
bmNlSlNDLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFJbnN0YW5jZUpT
Qy5jcHAKaW5kZXggNTk5NzdkOTQ5ODA1YmZjNzA3NzU5ZjNkNjJlZDk1NWMwYmM5NTY5Yi4uMGI4
OWM0ODVlMTYyYWFkZDZkMTJmOTE4MmIzYWE2MDNkMTIyZjBkOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YUluc3RhbmNlSlNDLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhSW5zdGFuY2VKU0MuY3BwCkBAIC0xNzAsNyArMTcw
LDcgQEAgSlNWYWx1ZSBKYXZhSW5zdGFuY2U6Omludm9rZU1ldGhvZChFeGVjU3RhdGUqIGV4ZWMs
IFJ1bnRpbWVNZXRob2QqIHJ1bnRpbWVNZXRob2QKICAgICB9CiAKICAgICBjb25zdCBKYXZhTWV0
aG9kKiBqTWV0aG9kID0gc3RhdGljX2Nhc3Q8Y29uc3QgSmF2YU1ldGhvZCo+KG1ldGhvZCk7Ci0g
ICAgTE9HKExpdmVDb25uZWN0LCAiSmF2YUluc3RhbmNlOjppbnZva2VNZXRob2QgY2FsbCAlcyAl
cyBvbiAlcCIsIFVTdHJpbmcoak1ldGhvZC0+bmFtZSgpKS51dGY4KCkuZGF0YSgpLCBqTWV0aG9k
LT5zaWduYXR1cmUoKSwgbV9pbnN0YW5jZS0+bV9pbnN0YW5jZSk7CisgICAgTE9HKExpdmVDb25u
ZWN0LCAiSmF2YUluc3RhbmNlOjppbnZva2VNZXRob2QgY2FsbCAlcyAlcyBvbiAlcCIsIFVTdHJp
bmcoak1ldGhvZC0+bmFtZSgpLmltcGwoKSkudXRmOCgpLmRhdGEoKSwgak1ldGhvZC0+c2lnbmF0
dXJlKCksIG1faW5zdGFuY2UtPm1faW5zdGFuY2UpOwogCiAgICAgVmVjdG9yPGp2YWx1ZT4gakFy
Z3MoY291bnQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9K
YXZhU3RyaW5nSlNDLmggYi9Tb3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhU3RyaW5n
SlNDLmgKaW5kZXggY2U5OGQyNzA1MTE4NjMzMTI0NmQzM2JjZTk0YjQ1Y2YyMzEyZGJlNy4uM2Nl
N2ExNmI2N2MyY2RlNTlmY2FiNzg2NWU4Y2QwMTZlZTg0ZmRiMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YVN0cmluZ0pTQy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JyaWRnZS9qbmkvanNjL0phdmFTdHJpbmdKU0MuaApAQCAtNjksNyArNjksNyBAQCBwdWJs
aWM6CiAgICAgICAgIHJldHVybiBtX3V0ZjhTdHJpbmcuZGF0YSgpOwogICAgIH0KICAgICBpbnQg
bGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9pbXBsLT5sZW5ndGgoKTsgfQotICAgIFVTdHJpbmcg
dVN0cmluZygpIGNvbnN0IHsgcmV0dXJuIFVTdHJpbmcobV9pbXBsKTsgfQorICAgIFN0cmluZ0lt
cGwqIGltcGwoKSBjb25zdCB7IHJldHVybiBtX2ltcGwuZ2V0KCk7IH0KIAogcHJpdmF0ZToKICAg
ICBSZWZQdHI8U3RyaW5nSW1wbD4gbV9pbXBsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YnJpZGdlL2puaS92OC9KYXZhU3RyaW5nVjguaCBiL1NvdXJjZS9XZWJDb3JlL2JyaWRnZS9qbmkv
djgvSmF2YVN0cmluZ1Y4LmgKaW5kZXggYTBlMmY1NWJlNDNjY2M0N2ZkNjUzOTEyMDljN2M4ZGJi
OGM2ZDUzOS4uZDhjOTA4NDhhZDBiNzJlYTgzNzM2MDFhMGJlYThjY2Y1ODlkZjUxZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYnJpZGdlL2puaS92OC9KYXZhU3RyaW5nVjguaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9icmlkZ2Uvam5pL3Y4L0phdmFTdHJpbmdWOC5oCkBAIC0yNyw4ICsyNywx
NCBAQAogI2RlZmluZSBKYXZhU3RyaW5nVjhfaAogCiAjaW5jbHVkZSAiSk5JVXRpbGl0eS5oIgor
CisjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9DU3RyaW5n
Lmg+CiAKK25hbWVzcGFjZSBXVEYgeworY2xhc3MgU3RyaW5nSW1wbDsKK30KKwogCiBuYW1lc3Bh
Y2UgSlNDIHsKIApAQCAtNDgsNiArNTQsNyBAQCBwdWJsaWM6CiAKICAgICBjb25zdCBjaGFyKiB1
dGY4KCkgY29uc3QgeyByZXR1cm4gbV91dGY4U3RyaW5nLmRhdGEoKTsgfQogICAgIGludCBsZW5n
dGgoKSBjb25zdCB7IHJldHVybiBtX3V0ZjhTdHJpbmcubGVuZ3RoKCk7IH0KKyAgICBTdHJpbmdJ
bXBsKiBpbXBsKCkgY29uc3QgeyBBU1NFUlRfTk9UX1JFQUNIRUQoKTsgcmV0dXJuIDA7IH0KIAog
cHJpdmF0ZToKICAgICBXVEY6OkNTdHJpbmcgbV91dGY4U3RyaW5nOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>