<?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>97628</bug_id>
          
          <creation_ts>2012-09-25 21:20:24 -0700</creation_ts>
          <short_desc>NSLocale leaks in LocaleMac</short_desc>
          <delta_ts>2012-10-29 19:39:56 -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>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Keishi Hattori">keishi</reporter>
          <assigned_to name="Keishi Hattori">keishi</assigned_to>
          <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>tkent</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>728182</commentid>
    <comment_count>0</comment_count>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-09-25 21:20:24 -0700</bug_when>
    <thetext>Fix leaking NSLocale in LocaleMac</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>728193</commentid>
    <comment_count>1</comment_count>
      <attachid>165728</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-09-25 21:52:47 -0700</bug_when>
    <thetext>Created attachment 165728
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729230</commentid>
    <comment_count>2</comment_count>
      <attachid>165728</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-09-26 23:16:21 -0700</bug_when>
    <thetext>Comment on attachment 165728
Patch

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

&gt; Source/WebCore/ChangeLog:14
&gt; +        (WebCore::determineLocale):
&gt; +        (WebCore::LocaleMac::LocaleMac):

Please write why you changed.

&gt; Source/WebCore/platform/text/mac/LocaleMac.mm:64
&gt; +        return [currentLocale retain];

ok
The returned object will be held by a RetainPtr, which will release the object later. So we need to retain here.

&gt; Source/WebCore/platform/text/mac/LocaleMac.mm:86
&gt; +    : m_locale(AdoptNS, locale)

ok
We should use the constructor with AdoptNS for NS* objects.

&gt; Source/WebCore/platform/text/mac/LocaleMac.mm:93
&gt; +        m_locale.adoptNS([[NSLocale alloc] initWithLocaleIdentifier:defaultLanguage()]);

ok.
RetainPtr::operator= doesn&apos;t call adoptNSReference().  We need to use adoptNS() for NS* objects.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729274</commentid>
    <comment_count>3</comment_count>
      <attachid>165944</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-09-27 00:17:18 -0700</bug_when>
    <thetext>Created attachment 165944
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>729716</commentid>
    <comment_count>4</comment_count>
      <attachid>165944</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-09-27 11:14:35 -0700</bug_when>
    <thetext>Comment on attachment 165944
Patch

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

&gt; Source/WebCore/platform/text/mac/LocaleMac.mm:64
&gt; -        return currentLocale;
&gt; +        return [currentLocale retain];

This specifically is not right. A function without &quot;copy&quot; or &quot;create&quot; in its name should return pointers that don&apos;t need to be released.

&gt; Source/WebCore/platform/text/mac/LocaleMac.mm:93
&gt; -        m_locale = [[NSLocale alloc] initWithLocaleIdentifier:defaultLanguage()];
&gt; +        m_locale.adoptNS([[NSLocale alloc] initWithLocaleIdentifier:defaultLanguage()]);

I think that this is the only change you need here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>730794</commentid>
    <comment_count>5</comment_count>
      <attachid>165944</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-09-28 10:44:02 -0700</bug_when>
    <thetext>Comment on attachment 165944
Patch

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

&gt; Source/WebCore/platform/text/mac/LocaleMac.mm:66
&gt;      return [[NSLocale alloc] initWithLocaleIdentifier:locale];

This needs to either use autorelease or the function needs to be changed to return a RetainPtr.

&gt; Source/WebCore/platform/text/mac/LocaleMac.mm:86
&gt; +    : m_locale(AdoptNS, locale)

This is not the right design pattern. We don’t adopt arguments. The call sites need to be changed to release.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731396</commentid>
    <comment_count>6</comment_count>
      <attachid>166408</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-09-30 23:07:00 -0700</bug_when>
    <thetext>Created attachment 166408
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>731397</commentid>
    <comment_count>7</comment_count>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-09-30 23:11:18 -0700</bug_when>
    <thetext>&gt; This needs to either use autorelease or the function needs to be changed to return a RetainPtr.

I was hesitant to use autorelease so I changed determineLocale() to return a RetainPtr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752670</commentid>
    <comment_count>8</comment_count>
      <attachid>166408</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-26 20:34:41 -0700</bug_when>
    <thetext>Comment on attachment 166408
Patch

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

&gt; Source/WebCore/platform/text/mac/LocaleMac.mm:63
&gt; +static RetainPtr&lt;NSLocale&gt; determineLocale(const String&amp; locale)
&gt;  {
&gt; -    NSLocale* currentLocale = [NSLocale currentLocale];
&gt; -    String currentLocaleLanguage = languageFromLocale(String([currentLocale localeIdentifier]));
&gt; +    RetainPtr&lt;NSLocale&gt; currentLocale = [NSLocale currentLocale];
&gt; +    String currentLocaleLanguage = languageFromLocale(String([currentLocale.get() localeIdentifier]));
&gt;      String localeLanguage = languageFromLocale(locale);
&gt;      if (equalIgnoringCase(currentLocaleLanguage, localeLanguage))
&gt;          return currentLocale;

I think this code causes release-without-retain. [NSLocale currentLocale] returns a singleton object, and we need to retain it before putting into RetainPtr&lt;&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752673</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-10-26 20:50:05 -0700</bug_when>
    <thetext>RetainPtr is used without AdoptNS tag here, so it will retain first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753019</commentid>
    <comment_count>10</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2012-10-28 18:05:24 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; RetainPtr is used without AdoptNS tag here, so it will retain first.

Thanks.  I understand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753321</commentid>
    <comment_count>11</comment_count>
      <attachid>171217</attachid>
    <who name="Keishi Hattori">keishi</who>
    <bug_when>2012-10-29 05:54:42 -0700</bug_when>
    <thetext>Created attachment 171217
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753946</commentid>
    <comment_count>12</comment_count>
      <attachid>171217</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-29 19:39:52 -0700</bug_when>
    <thetext>Comment on attachment 171217
Patch

Clearing flags on attachment: 171217

Committed r132868: &lt;http://trac.webkit.org/changeset/132868&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>753947</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-29 19:39:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165728</attachid>
            <date>2012-09-25 21:52:47 -0700</date>
            <delta_ts>2012-09-27 00:17:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97628-20120926135206.patch</filename>
            <type>text/plain</type>
            <size>2403</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NTkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTUxZTQxYzY0ZDA3Yjc4
NmE4ZWRlYTc4MGZkYjhjYjU5ODQzZGYxZS4uZTIzZmFhYjY2NmZmYzFiMWQ3MzI3ODllMWZlZWZh
MDQyMjg4NjliZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA5LTI1ICBLZWlz
aGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIEZpeCBsZWFraW5nIE5T
TG9jYWxlIGluIExvY2FsZU1hYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9OTc2MjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBXZSBuZWVkIHRvIGFkb3B0IHRoZSBOU0xvY2FsZSBvYmplY3Qgc28gaXQgZG9l
c24ndCBsZWFrLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3Jt
L3RleHQvbWFjL0xvY2FsZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OmRldGVybWluZUxvY2Fs
ZSk6CisgICAgICAgIChXZWJDb3JlOjpMb2NhbGVNYWM6OkxvY2FsZU1hYyk6CisKIDIwMTItMDkt
MjUgIEJlYXIgVHJhdmlzICA8YmV0cmF2aXNAYWRvYmUuY29tPgogCiAgICAgICAgIFtDU1MgRXhj
bHVzaW9uc10gc2hhcGUtaW5zaWRlIGxpbmUgc2VnbWVudCBsYXlvdXQgc2hvdWxkIGJlIGJhc2Vk
IG9uIGxpbmUgcG9zaXRpb24gYW5kIGhlaWdodApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9tYWMvTG9jYWxlTWFjLm1tCmluZGV4IGUzODFjMDIyZDU0MmM3NmUwNzcyNWEyMzdjNmM1
MDk0OGUyNmU1M2UuLmZiNmM3ZTFmOWExNTBiOGQ4ZGJmNGYyMTcxZGMxZDU4OTY1MjUwMTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvbWFjL0xvY2FsZU1hYy5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMubW0KQEAgLTYx
LDcgKzYxLDcgQEAgc3RhdGljIE5TTG9jYWxlKiBkZXRlcm1pbmVMb2NhbGUoY29uc3QgU3RyaW5n
JiBsb2NhbGUpCiAgICAgU3RyaW5nIGN1cnJlbnRMb2NhbGVMYW5ndWFnZSA9IGxhbmd1YWdlRnJv
bUxvY2FsZShTdHJpbmcoW2N1cnJlbnRMb2NhbGUgbG9jYWxlSWRlbnRpZmllcl0pKTsKICAgICBT
dHJpbmcgbG9jYWxlTGFuZ3VhZ2UgPSBsYW5ndWFnZUZyb21Mb2NhbGUobG9jYWxlKTsKICAgICBp
ZiAoZXF1YWxJZ25vcmluZ0Nhc2UoY3VycmVudExvY2FsZUxhbmd1YWdlLCBsb2NhbGVMYW5ndWFn
ZSkpCi0gICAgICAgIHJldHVybiBjdXJyZW50TG9jYWxlOworICAgICAgICByZXR1cm4gW2N1cnJl
bnRMb2NhbGUgcmV0YWluXTsKICAgICAvLyBJdCBzZWVtcyBpbml0V2l0aExvY2FsZUlkZW50aWZp
ZXIgYWNjZXB0cyBkYXNoLXNlcGFyYXRlZCBsb2NhbGUgaWRlbnRpZmllci4KICAgICByZXR1cm4g
W1tOU0xvY2FsZSBhbGxvY10gaW5pdFdpdGhMb2NhbGVJZGVudGlmaWVyOmxvY2FsZV07CiB9CkBA
IC04MywxNCArODMsMTQgQEAgc3RhdGljIE5TRGF0ZUZvcm1hdHRlciogY3JlYXRlRGF0ZVRpbWVG
b3JtYXR0ZXIoTlNMb2NhbGUqIGxvY2FsZSwgTlNEYXRlRm9ybWF0dGUKIH0KIAogTG9jYWxlTWFj
OjpMb2NhbGVNYWMoTlNMb2NhbGUqIGxvY2FsZSkKLSAgICA6IG1fbG9jYWxlKGxvY2FsZSkKKyAg
ICA6IG1fbG9jYWxlKEFkb3B0TlMsIGxvY2FsZSkKICAgICAsIG1fZGlkSW5pdGlhbGl6ZU51bWJl
ckRhdGEoZmFsc2UpCiB7CiAgICAgTlNBcnJheSogYXZhaWxhYmxlTGFuZ3VhZ2VzID0gW05TTG9j
YWxlIElTT0xhbmd1YWdlQ29kZXNdOwogICAgIC8vIE5TTG9jYWxlIHJldHVybnMgYSBsb3dlciBj
YXNlIE5TTG9jYWxlTGFuZ3VhZ2VDb2RlIHNvIHdlIGRvbid0IGhhdmUgY2FyZSBhYm91dCBjYXNl
LgogICAgIE5TU3RyaW5nKiBsYW5ndWFnZSA9IFttX2xvY2FsZS5nZXQoKSBvYmplY3RGb3JLZXk6
TlNMb2NhbGVMYW5ndWFnZUNvZGVdOwogICAgIGlmIChbYXZhaWxhYmxlTGFuZ3VhZ2VzIGluZGV4
T2ZPYmplY3Q6bGFuZ3VhZ2VdID09IE5TTm90Rm91bmQpCi0gICAgICAgIG1fbG9jYWxlID0gW1tO
U0xvY2FsZSBhbGxvY10gaW5pdFdpdGhMb2NhbGVJZGVudGlmaWVyOmRlZmF1bHRMYW5ndWFnZSgp
XTsKKyAgICAgICAgbV9sb2NhbGUuYWRvcHROUyhbW05TTG9jYWxlIGFsbG9jXSBpbml0V2l0aExv
Y2FsZUlkZW50aWZpZXI6ZGVmYXVsdExhbmd1YWdlKCldKTsKIH0KIAogTG9jYWxlTWFjOjp+TG9j
YWxlTWFjKCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>165944</attachid>
            <date>2012-09-27 00:17:18 -0700</date>
            <delta_ts>2012-09-30 23:06:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97628-20120927161636.patch</filename>
            <type>text/plain</type>
            <size>2495</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI5NzIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWExZTYxN2UwM2U4MTA2
MGM0YmUzNTZlZDUwYjA5ZjEwNzNmN2JjMS4uZjk2NGUyNzAzYmM0NTU2OWY4ZDJlNzdiYzEzOWRi
ZjdiMGE5NmY1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEyLTA5LTI1ICBLZWlz
aGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIEZpeCBsZWFraW5nIE5T
TG9jYWxlIGluIExvY2FsZU1hYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9OTc2MjgKKworICAgICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4KKwor
ICAgICAgICBXZSBuZWVkIHRvIGFkb3B0IHRoZSBOU0xvY2FsZSBvYmplY3Qgc28gaXQgZG9lc24n
dCBsZWFrLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4KKworICAgICAgICAqIHBsYXRmb3JtL3Rl
eHQvbWFjL0xvY2FsZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OmRldGVybWluZUxvY2FsZSk6
IFRoZSByZXR1cm5lZCBOU0xvY2FsZSBuZWVkcyB0byBiZSBhZG9wdGVkIGJ5IGEgUmV0YWluUHRy
LgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxlTWFjOjpMb2NhbGVNYWMpOiBBZG9wdCB0aGUgTlNM
b2NhbGUgd2hlbiBzZXR0aW5nIG1fbG9jYWxlLgorCiAyMDEyLTA5LTI2ICBZb3NoaWZ1bWkgSW5v
dWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Zvcm1zXSBDb3B5IFRpbWVJbnB1
dFR5cGUue2NwcCxofSB0byBCYXNlTXVsdGlwbGVGaWVsZHNEYXRlQW5kVGltZUlucHV0VHlwZS57
Y3BwLGh9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2Nh
bGVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMubW0K
aW5kZXggNjhhMmRjMzUwM2NlM2Y0ZmRhNTY1YWIxMzUzMDM4OTg0YTkwZmQ3NC4uMjRhZWU3NGFh
NWU4Y2E1M2U5OTg1NTlmNmQyM2RlNDZkYTFiZmUwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3RleHQvbWFjL0xvY2FsZU1hYy5tbQpAQCAtNjEsNyArNjEsNyBAQCBzdGF0aWMgTlNM
b2NhbGUqIGRldGVybWluZUxvY2FsZShjb25zdCBTdHJpbmcmIGxvY2FsZSkKICAgICBTdHJpbmcg
Y3VycmVudExvY2FsZUxhbmd1YWdlID0gbGFuZ3VhZ2VGcm9tTG9jYWxlKFN0cmluZyhbY3VycmVu
dExvY2FsZSBsb2NhbGVJZGVudGlmaWVyXSkpOwogICAgIFN0cmluZyBsb2NhbGVMYW5ndWFnZSA9
IGxhbmd1YWdlRnJvbUxvY2FsZShsb2NhbGUpOwogICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShj
dXJyZW50TG9jYWxlTGFuZ3VhZ2UsIGxvY2FsZUxhbmd1YWdlKSkKLSAgICAgICAgcmV0dXJuIGN1
cnJlbnRMb2NhbGU7CisgICAgICAgIHJldHVybiBbY3VycmVudExvY2FsZSByZXRhaW5dOwogICAg
IC8vIEl0IHNlZW1zIGluaXRXaXRoTG9jYWxlSWRlbnRpZmllciBhY2NlcHRzIGRhc2gtc2VwYXJh
dGVkIGxvY2FsZSBpZGVudGlmaWVyLgogICAgIHJldHVybiBbW05TTG9jYWxlIGFsbG9jXSBpbml0
V2l0aExvY2FsZUlkZW50aWZpZXI6bG9jYWxlXTsKIH0KQEAgLTgzLDE0ICs4MywxNCBAQCBzdGF0
aWMgTlNEYXRlRm9ybWF0dGVyKiBjcmVhdGVEYXRlVGltZUZvcm1hdHRlcihOU0xvY2FsZSogbG9j
YWxlLCBOU0RhdGVGb3JtYXR0ZQogfQogCiBMb2NhbGVNYWM6OkxvY2FsZU1hYyhOU0xvY2FsZSog
bG9jYWxlKQotICAgIDogbV9sb2NhbGUobG9jYWxlKQorICAgIDogbV9sb2NhbGUoQWRvcHROUywg
bG9jYWxlKQogICAgICwgbV9kaWRJbml0aWFsaXplTnVtYmVyRGF0YShmYWxzZSkKIHsKICAgICBO
U0FycmF5KiBhdmFpbGFibGVMYW5ndWFnZXMgPSBbTlNMb2NhbGUgSVNPTGFuZ3VhZ2VDb2Rlc107
CiAgICAgLy8gTlNMb2NhbGUgcmV0dXJucyBhIGxvd2VyIGNhc2UgTlNMb2NhbGVMYW5ndWFnZUNv
ZGUgc28gd2UgZG9uJ3QgaGF2ZSBjYXJlIGFib3V0IGNhc2UuCiAgICAgTlNTdHJpbmcqIGxhbmd1
YWdlID0gW21fbG9jYWxlLmdldCgpIG9iamVjdEZvcktleTpOU0xvY2FsZUxhbmd1YWdlQ29kZV07
CiAgICAgaWYgKFthdmFpbGFibGVMYW5ndWFnZXMgaW5kZXhPZk9iamVjdDpsYW5ndWFnZV0gPT0g
TlNOb3RGb3VuZCkKLSAgICAgICAgbV9sb2NhbGUgPSBbW05TTG9jYWxlIGFsbG9jXSBpbml0V2l0
aExvY2FsZUlkZW50aWZpZXI6ZGVmYXVsdExhbmd1YWdlKCldOworICAgICAgICBtX2xvY2FsZS5h
ZG9wdE5TKFtbTlNMb2NhbGUgYWxsb2NdIGluaXRXaXRoTG9jYWxlSWRlbnRpZmllcjpkZWZhdWx0
TGFuZ3VhZ2UoKV0pOwogfQogCiBMb2NhbGVNYWM6On5Mb2NhbGVNYWMoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166408</attachid>
            <date>2012-09-30 23:07:00 -0700</date>
            <delta_ts>2012-10-29 05:54:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97628-20121001150614.patch</filename>
            <type>text/plain</type>
            <size>4049</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMDAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWY2ZjQ1MjBmNDkzOGE5
MjRkMzVkNWFmOTQ2MWUyZDk4YWRhYWY0Zi4uMjI2NTNhZWMxMzA1MzhiYTRkNmE1NWU1ZWMzMzI1
NzAwZjcxMDFkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA5LTMwICBLZWlz
aGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIE5TTG9jYWxlIGxlYWtz
IGluIExvY2FsZU1hYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTc2MjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBXZSBuZWVkIHRvIGFkb3B0IHRoZSBOU0xvY2FsZSBvYmplY3Qgc28gaXQgZG9lc24ndCBs
ZWFrIGFuZAorICAgICAgICBkZXRlcm1pbmVMb2NhbGUoKSBzaG91bGQgcmV0dXJuIGEgTlNMb2Nh
bGUgd2l0aG91dCBhZGRpdGlvbmFsIHJldGFpbi4KKworICAgICAgICBObyBuZXcgdGVzdHMuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMubW06CisgICAgICAgIChXZWJD
b3JlOjpkZXRlcm1pbmVMb2NhbGUpOiBSZXR1cm5zIGEgUmV0YWluUHRyPE5TTG9jYWxlPi4KKyAg
ICAgICAgKFdlYkNvcmU6OkxvY2FsaXplcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Okxv
Y2FsZU1hYzo6TG9jYWxlTWFjKTogbV9sb2NhbGUgc2hvdWxkIGFkb3B0IHRoZSBOU0xvY2FsZSBv
YmplY3QuCisgICAgICAgIChXZWJDb3JlOjpMb2NhbGVNYWM6OmNyZWF0ZSk6IExvY2FsZU1hYyBj
b25zdHJ1Y3RvciB0YWtlcyBOU0xvY2FsZSB3aXRob3V0IGFkZGl0aW9uYWwgcmV0YWluLgorICAg
ICAgICAoV2ViQ29yZTo6TG9jYWxlTWFjOjpjdXJyZW50TG9jYWxlKToKKwogMjAxMi0wOS0zMCAg
QW5kcmVhcyBLbGluZyAgPGtsaW5nQHdlYmtpdC5vcmc+CiAKICAgICAgICAgU3BsaXQgRXZlbnRU
YXJnZXREYXRhIG91dCBvZiBOb2RlUmFyZURhdGEgdG8gcmVkdWNlIG1lbW9yeSB1c2UuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMubW0KaW5kZXggZjU0ZDNm
MzA1NjhmY2M0MmVmOTdjOGViMjYxZjNhN2E2MzA5NDQwOC4uYTJhYjBiNTBjMjE5NDU5OGNhMzdl
ZWI3YmQ5MmRhZWExNzgzOTFhZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9tYWMvTG9jYWxlTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQv
bWFjL0xvY2FsZU1hYy5tbQpAQCAtNTQsMjAgKzU0LDIwIEBAIHN0YXRpYyBpbmxpbmUgU3RyaW5n
IGxhbmd1YWdlRnJvbUxvY2FsZShjb25zdCBTdHJpbmcmIGxvY2FsZSkKICAgICByZXR1cm4gbm9y
bWFsaXplZExvY2FsZS5sZWZ0KHNlcGFyYXRvclBvc2l0aW9uKTsKIH0KIAotc3RhdGljIE5TTG9j
YWxlKiBkZXRlcm1pbmVMb2NhbGUoY29uc3QgU3RyaW5nJiBsb2NhbGUpCitzdGF0aWMgUmV0YWlu
UHRyPE5TTG9jYWxlPiBkZXRlcm1pbmVMb2NhbGUoY29uc3QgU3RyaW5nJiBsb2NhbGUpCiB7Ci0g
ICAgTlNMb2NhbGUqIGN1cnJlbnRMb2NhbGUgPSBbTlNMb2NhbGUgY3VycmVudExvY2FsZV07Ci0g
ICAgU3RyaW5nIGN1cnJlbnRMb2NhbGVMYW5ndWFnZSA9IGxhbmd1YWdlRnJvbUxvY2FsZShTdHJp
bmcoW2N1cnJlbnRMb2NhbGUgbG9jYWxlSWRlbnRpZmllcl0pKTsKKyAgICBSZXRhaW5QdHI8TlNM
b2NhbGU+IGN1cnJlbnRMb2NhbGUgPSBbTlNMb2NhbGUgY3VycmVudExvY2FsZV07CisgICAgU3Ry
aW5nIGN1cnJlbnRMb2NhbGVMYW5ndWFnZSA9IGxhbmd1YWdlRnJvbUxvY2FsZShTdHJpbmcoW2N1
cnJlbnRMb2NhbGUuZ2V0KCkgbG9jYWxlSWRlbnRpZmllcl0pKTsKICAgICBTdHJpbmcgbG9jYWxl
TGFuZ3VhZ2UgPSBsYW5ndWFnZUZyb21Mb2NhbGUobG9jYWxlKTsKICAgICBpZiAoZXF1YWxJZ25v
cmluZ0Nhc2UoY3VycmVudExvY2FsZUxhbmd1YWdlLCBsb2NhbGVMYW5ndWFnZSkpCiAgICAgICAg
IHJldHVybiBjdXJyZW50TG9jYWxlOwogICAgIC8vIEl0IHNlZW1zIGluaXRXaXRoTG9jYWxlSWRl
bnRpZmllciBhY2NlcHRzIGRhc2gtc2VwYXJhdGVkIGxvY2FsZSBpZGVudGlmaWVyLgotICAgIHJl
dHVybiBbW05TTG9jYWxlIGFsbG9jXSBpbml0V2l0aExvY2FsZUlkZW50aWZpZXI6bG9jYWxlXTsK
KyAgICByZXR1cm4gUmV0YWluUHRyPE5TTG9jYWxlPihBZG9wdE5TLCBbW05TTG9jYWxlIGFsbG9j
XSBpbml0V2l0aExvY2FsZUlkZW50aWZpZXI6bG9jYWxlXSk7CiB9CiAKIFBhc3NPd25QdHI8TG9j
YWxpemVyPiBMb2NhbGl6ZXI6OmNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIGxvY2FsZSkKIHsK
LSAgICByZXR1cm4gTG9jYWxlTWFjOjpjcmVhdGUoZGV0ZXJtaW5lTG9jYWxlKGxvY2FsZS5zdHJp
bmcoKSkpOworICAgIHJldHVybiBMb2NhbGVNYWM6OmNyZWF0ZShkZXRlcm1pbmVMb2NhbGUobG9j
YWxlLnN0cmluZygpKS5nZXQoKSk7CiB9CiAKIHN0YXRpYyBOU0RhdGVGb3JtYXR0ZXIqIGNyZWF0
ZURhdGVUaW1lRm9ybWF0dGVyKE5TTG9jYWxlKiBsb2NhbGUsIE5TRGF0ZUZvcm1hdHRlclN0eWxl
IGRhdGVTdHlsZSwgTlNEYXRlRm9ybWF0dGVyU3R5bGUgdGltZVN0eWxlKQpAQCAtODksNyArODks
NyBAQCBMb2NhbGVNYWM6OkxvY2FsZU1hYyhOU0xvY2FsZSogbG9jYWxlKQogICAgIC8vIE5TTG9j
YWxlIHJldHVybnMgYSBsb3dlciBjYXNlIE5TTG9jYWxlTGFuZ3VhZ2VDb2RlIHNvIHdlIGRvbid0
IGhhdmUgY2FyZSBhYm91dCBjYXNlLgogICAgIE5TU3RyaW5nKiBsYW5ndWFnZSA9IFttX2xvY2Fs
ZS5nZXQoKSBvYmplY3RGb3JLZXk6TlNMb2NhbGVMYW5ndWFnZUNvZGVdOwogICAgIGlmIChbYXZh
aWxhYmxlTGFuZ3VhZ2VzIGluZGV4T2ZPYmplY3Q6bGFuZ3VhZ2VdID09IE5TTm90Rm91bmQpCi0g
ICAgICAgIG1fbG9jYWxlID0gW1tOU0xvY2FsZSBhbGxvY10gaW5pdFdpdGhMb2NhbGVJZGVudGlm
aWVyOmRlZmF1bHRMYW5ndWFnZSgpXTsKKyAgICAgICAgbV9sb2NhbGUuYWRvcHROUyhbW05TTG9j
YWxlIGFsbG9jXSBpbml0V2l0aExvY2FsZUlkZW50aWZpZXI6ZGVmYXVsdExhbmd1YWdlKCldKTsK
IH0KIAogTG9jYWxlTWFjOjp+TG9jYWxlTWFjKCkKQEAgLTk4LDcgKzk4LDggQEAgTG9jYWxlTWFj
Ojp+TG9jYWxlTWFjKCkKIAogUGFzc093blB0cjxMb2NhbGVNYWM+IExvY2FsZU1hYzo6Y3JlYXRl
KGNvbnN0IFN0cmluZyYgbG9jYWxlSWRlbnRpZmllcikKIHsKLSAgICByZXR1cm4gYWRvcHRQdHIo
bmV3IExvY2FsZU1hYyhbW05TTG9jYWxlIGFsbG9jXSBpbml0V2l0aExvY2FsZUlkZW50aWZpZXI6
bG9jYWxlSWRlbnRpZmllcl0pKTsKKyAgICBSZXRhaW5QdHI8TlNMb2NhbGU+IGxvY2FsZSA9IFtb
TlNMb2NhbGUgYWxsb2NdIGluaXRXaXRoTG9jYWxlSWRlbnRpZmllcjpsb2NhbGVJZGVudGlmaWVy
XTsKKyAgICByZXR1cm4gYWRvcHRQdHIobmV3IExvY2FsZU1hYyhsb2NhbGUuZ2V0KCkpKTsKIH0K
IAogUGFzc093blB0cjxMb2NhbGVNYWM+IExvY2FsZU1hYzo6Y3JlYXRlKE5TTG9jYWxlKiBsb2Nh
bGUpCkBAIC0xMDgsNyArMTA5LDcgQEAgUGFzc093blB0cjxMb2NhbGVNYWM+IExvY2FsZU1hYzo6
Y3JlYXRlKE5TTG9jYWxlKiBsb2NhbGUpCiAKIExvY2FsZU1hYyogTG9jYWxlTWFjOjpjdXJyZW50
TG9jYWxlKCkKIHsKLSAgICBzdGF0aWMgTG9jYWxlTWFjKiBjdXJyZW50TG9jYWxlID0gbmV3IExv
Y2FsZU1hYyhkZXRlcm1pbmVMb2NhbGUoZGVmYXVsdExhbmd1YWdlKCkpKTsKKyAgICBzdGF0aWMg
TG9jYWxlTWFjKiBjdXJyZW50TG9jYWxlID0gbmV3IExvY2FsZU1hYyhkZXRlcm1pbmVMb2NhbGUo
ZGVmYXVsdExhbmd1YWdlKCkpLmdldCgpKTsKICAgICByZXR1cm4gY3VycmVudExvY2FsZTsKIH0K
IAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>171217</attachid>
            <date>2012-10-29 05:54:42 -0700</date>
            <delta_ts>2012-10-29 19:39:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-97628-20121029215308.patch</filename>
            <type>text/plain</type>
            <size>3753</size>
            <attacher name="Keishi Hattori">keishi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMyNzg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWQ5NTA3ZWZiMjZhYzll
OWExNTU0MjkxOGUzN2YwZmI1ZWQ0YzU2ZS4uNWFlOGUwZTk1ZGE2MjhhNTZiODUxY2UzYjg0Yzhh
YmY1ZmM0YTVlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTEwLTI5ICBLZWlz
aGkgSGF0dG9yaSAgPGtlaXNoaUB3ZWJraXQub3JnPgorCisgICAgICAgIE5TTG9jYWxlIGxlYWtz
IGluIExvY2FsZU1hYworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTc2MjgKKworICAgICAgICBSZXZpZXdlZCBieSBLZW50IFRhbXVyYS4KKworICAgICAg
ICBXZSBuZWVkIHRvIGFkb3B0IHRoZSBOU0xvY2FsZSBvYmplY3Qgc28gaXQgZG9lc24ndCBsZWFr
IGFuZAorICAgICAgICBkZXRlcm1pbmVMb2NhbGUoKSBzaG91bGQgcmV0dXJuIGEgTlNMb2NhbGUg
d2l0aG91dCBhZGRpdGlvbmFsIHJldGFpbi4KKworICAgICAgICBObyBuZXcgdGVzdHMuCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMubW06CisgICAgICAgIChXZWJDb3Jl
OjpkZXRlcm1pbmVMb2NhbGUpOiBSZXR1cm5zIGEgUmV0YWluUHRyPE5TTG9jYWxlPi4KKyAgICAg
ICAgKFdlYkNvcmU6OkxvY2FsZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OkxvY2FsZU1h
Yzo6TG9jYWxlTWFjKTogbV9sb2NhbGUgc2hvdWxkIGFkb3B0IHRoZSBOU0xvY2FsZSBvYmplY3Qu
CisgICAgICAgIChXZWJDb3JlOjpMb2NhbGVNYWM6OmNyZWF0ZSk6IExvY2FsZU1hYyBjb25zdHJ1
Y3RvciB0YWtlcyBOU0xvY2FsZSB3aXRob3V0IGFkZGl0aW9uYWwgcmV0YWluLgorCiAyMDEyLTEw
LTI5ICBFdWdlbmUgS2x5dWNobmlrb3YgIDxldXN0YXMuYnVnQGdtYWlsLmNvbT4KIAogICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBUaW1lbGluZTogbWFrZSBjcHUtbW9uaXRvcmluZyBmZWF0dXJlIGF2
YWlsYWJsZSBvbmx5IG9uIGNhcGFibGUgYnJvd3NlcnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvbWFjL0xvY2FsZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3RleHQvbWFjL0xvY2FsZU1hYy5tbQppbmRleCA5ZjlhYThmZGIyMWE5OWQ5NmQxYmE2Yzlm
MzZjMjk2ZTJkYzc0MTRlLi5jOTVjMjdjMTJiZDIxNWNmNGNjZWE2NzIzYzkwZTAxN2E0ZTU4ZWMz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L21hYy9Mb2NhbGVNYWMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9tYWMvTG9jYWxlTWFjLm1tCkBA
IC01NCwyMCArNTQsMjAgQEAgc3RhdGljIGlubGluZSBTdHJpbmcgbGFuZ3VhZ2VGcm9tTG9jYWxl
KGNvbnN0IFN0cmluZyYgbG9jYWxlKQogICAgIHJldHVybiBub3JtYWxpemVkTG9jYWxlLmxlZnQo
c2VwYXJhdG9yUG9zaXRpb24pOwogfQogCi1zdGF0aWMgTlNMb2NhbGUqIGRldGVybWluZUxvY2Fs
ZShjb25zdCBTdHJpbmcmIGxvY2FsZSkKK3N0YXRpYyBSZXRhaW5QdHI8TlNMb2NhbGU+IGRldGVy
bWluZUxvY2FsZShjb25zdCBTdHJpbmcmIGxvY2FsZSkKIHsKLSAgICBOU0xvY2FsZSogY3VycmVu
dExvY2FsZSA9IFtOU0xvY2FsZSBjdXJyZW50TG9jYWxlXTsKLSAgICBTdHJpbmcgY3VycmVudExv
Y2FsZUxhbmd1YWdlID0gbGFuZ3VhZ2VGcm9tTG9jYWxlKFN0cmluZyhbY3VycmVudExvY2FsZSBs
b2NhbGVJZGVudGlmaWVyXSkpOworICAgIFJldGFpblB0cjxOU0xvY2FsZT4gY3VycmVudExvY2Fs
ZSA9IFtOU0xvY2FsZSBjdXJyZW50TG9jYWxlXTsKKyAgICBTdHJpbmcgY3VycmVudExvY2FsZUxh
bmd1YWdlID0gbGFuZ3VhZ2VGcm9tTG9jYWxlKFN0cmluZyhbY3VycmVudExvY2FsZS5nZXQoKSBs
b2NhbGVJZGVudGlmaWVyXSkpOwogICAgIFN0cmluZyBsb2NhbGVMYW5ndWFnZSA9IGxhbmd1YWdl
RnJvbUxvY2FsZShsb2NhbGUpOwogICAgIGlmIChlcXVhbElnbm9yaW5nQ2FzZShjdXJyZW50TG9j
YWxlTGFuZ3VhZ2UsIGxvY2FsZUxhbmd1YWdlKSkKICAgICAgICAgcmV0dXJuIGN1cnJlbnRMb2Nh
bGU7CiAgICAgLy8gSXQgc2VlbXMgaW5pdFdpdGhMb2NhbGVJZGVudGlmaWVyIGFjY2VwdHMgZGFz
aC1zZXBhcmF0ZWQgbG9jYWxlIGlkZW50aWZpZXIuCi0gICAgcmV0dXJuIFtbTlNMb2NhbGUgYWxs
b2NdIGluaXRXaXRoTG9jYWxlSWRlbnRpZmllcjpsb2NhbGVdOworICAgICByZXR1cm4gUmV0YWlu
UHRyPE5TTG9jYWxlPihBZG9wdE5TLCBbW05TTG9jYWxlIGFsbG9jXSBpbml0V2l0aExvY2FsZUlk
ZW50aWZpZXI6bG9jYWxlXSk7CiB9CiAKIFBhc3NPd25QdHI8TG9jYWxlPiBMb2NhbGU6OmNyZWF0
ZShjb25zdCBBdG9taWNTdHJpbmcmIGxvY2FsZSkKIHsKLSAgICByZXR1cm4gTG9jYWxlTWFjOjpj
cmVhdGUoZGV0ZXJtaW5lTG9jYWxlKGxvY2FsZS5zdHJpbmcoKSkpOworICAgIHJldHVybiBMb2Nh
bGVNYWM6OmNyZWF0ZShkZXRlcm1pbmVMb2NhbGUobG9jYWxlLnN0cmluZygpKS5nZXQoKSk7CiB9
CiAKIHN0YXRpYyBSZXRhaW5QdHI8TlNEYXRlRm9ybWF0dGVyPiBjcmVhdGVEYXRlVGltZUZvcm1h
dHRlcihOU0xvY2FsZSogbG9jYWxlLCBOU0NhbGVuZGFyKiBjYWxlbmRhciwgTlNEYXRlRm9ybWF0
dGVyU3R5bGUgZGF0ZVN0eWxlLCBOU0RhdGVGb3JtYXR0ZXJTdHlsZSB0aW1lU3R5bGUpCkBAIC05
MCw3ICs5MCw3IEBAIExvY2FsZU1hYzo6TG9jYWxlTWFjKE5TTG9jYWxlKiBsb2NhbGUpCiAgICAg
Ly8gTlNMb2NhbGUgcmV0dXJucyBhIGxvd2VyIGNhc2UgTlNMb2NhbGVMYW5ndWFnZUNvZGUgc28g
d2UgZG9uJ3QgaGF2ZSBjYXJlIGFib3V0IGNhc2UuCiAgICAgTlNTdHJpbmcqIGxhbmd1YWdlID0g
W21fbG9jYWxlLmdldCgpIG9iamVjdEZvcktleTpOU0xvY2FsZUxhbmd1YWdlQ29kZV07CiAgICAg
aWYgKFthdmFpbGFibGVMYW5ndWFnZXMgaW5kZXhPZk9iamVjdDpsYW5ndWFnZV0gPT0gTlNOb3RG
b3VuZCkKLSAgICAgICAgbV9sb2NhbGUgPSBbW05TTG9jYWxlIGFsbG9jXSBpbml0V2l0aExvY2Fs
ZUlkZW50aWZpZXI6ZGVmYXVsdExhbmd1YWdlKCldOworICAgICAgICBtX2xvY2FsZS5hZG9wdE5T
KFtbTlNMb2NhbGUgYWxsb2NdIGluaXRXaXRoTG9jYWxlSWRlbnRpZmllcjpkZWZhdWx0TGFuZ3Vh
Z2UoKV0pOwogICAgIFttX2dyZWdvcmlhbkNhbGVuZGFyLmdldCgpIHNldExvY2FsZTptX2xvY2Fs
ZS5nZXQoKV07CiB9CiAKQEAgLTEwMCw3ICsxMDAsOCBAQCBMb2NhbGVNYWM6On5Mb2NhbGVNYWMo
KQogCiBQYXNzT3duUHRyPExvY2FsZU1hYz4gTG9jYWxlTWFjOjpjcmVhdGUoY29uc3QgU3RyaW5n
JiBsb2NhbGVJZGVudGlmaWVyKQogewotICAgIHJldHVybiBhZG9wdFB0cihuZXcgTG9jYWxlTWFj
KFtbTlNMb2NhbGUgYWxsb2NdIGluaXRXaXRoTG9jYWxlSWRlbnRpZmllcjpsb2NhbGVJZGVudGlm
aWVyXSkpOworICAgIFJldGFpblB0cjxOU0xvY2FsZT4gbG9jYWxlID0gW1tOU0xvY2FsZSBhbGxv
Y10gaW5pdFdpdGhMb2NhbGVJZGVudGlmaWVyOmxvY2FsZUlkZW50aWZpZXJdOworICAgIHJldHVy
biBhZG9wdFB0cihuZXcgTG9jYWxlTWFjKGxvY2FsZS5nZXQoKSkpOwogfQogCiBQYXNzT3duUHRy
PExvY2FsZU1hYz4gTG9jYWxlTWFjOjpjcmVhdGUoTlNMb2NhbGUqIGxvY2FsZSkK
</data>

          </attachment>
      

    </bug>

</bugzilla>