<?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>119335</bug_id>
          
          <creation_ts>2013-07-31 04:57:56 -0700</creation_ts>
          <short_desc>Use emptyString instead of String(&quot;&quot;)</short_desc>
          <delta_ts>2013-07-31 17:00:54 -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>WebCore Misc.</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="Kwang Yul Seo">skyul</reporter>
          <assigned_to name="Kwang Yul Seo">skyul</assigned_to>
          <cc>benjamin</cc>
    
    <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>913297</commentid>
    <comment_count>0</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-31 04:57:56 -0700</bug_when>
    <thetext>Use emptyString() instead of String(&quot;&quot;) because it is better style and faster. This is a followup to r116908, removing all occurrences of String(&quot;&quot;) from WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913299</commentid>
    <comment_count>1</comment_count>
      <attachid>207837</attachid>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-31 05:01:38 -0700</bug_when>
    <thetext>Created attachment 207837
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913302</commentid>
    <comment_count>2</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-31 05:04:19 -0700</bug_when>
    <thetext>If we always prefer emptyString() to String(&quot;&quot;), why don&apos;t we add an assertion to the String constructor to prevent &quot;&quot; from being passed to the constructor?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913461</commentid>
    <comment_count>3</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2013-07-31 12:32:57 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; If we always prefer emptyString() to String(&quot;&quot;), why don&apos;t we add an assertion to the String constructor to prevent &quot;&quot; from being passed to the constructor?

We don’t have any reason to allow String(&quot;&quot;). But we do want to allow String(x) where x is a variable or argument of type const char* that just happens to be &quot;&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913476</commentid>
    <comment_count>4</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-07-31 13:42:11 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; Use emptyString() instead of String(&quot;&quot;) because it is better style and faster. This is a followup to r116908, removing all occurrences of String(&quot;&quot;) from WebKit.

String(&quot;&quot;) is faster than emptyString() when you need a +1 ref string.

emptyString() return a reference, which is then ref()ed on the call site. String(&quot;&quot;) does pretty much the same thing but ref() on the callee side.

This is just for info, I don&apos;t mind if this patch lands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913540</commentid>
    <comment_count>5</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-31 16:51:21 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; String(&quot;&quot;) is faster than emptyString() when you need a +1 ref string.
&gt; 
&gt; emptyString() return a reference, which is then ref()ed on the call site. String(&quot;&quot;) does pretty much the same thing but ref() on the callee side.
&gt; 
&gt; This is just for info, I don&apos;t mind if this patch lands.

Thanks for the info. I think it is good to update the EfficientStrings wiki page.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913541</commentid>
    <comment_count>6</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-31 16:53:04 -0700</bug_when>
    <thetext>Committed r153546: &lt;http://trac.webkit.org/changeset/153546&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>913550</commentid>
    <comment_count>7</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-07-31 17:00:54 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Thanks for the info. I think it is good to update the EfficientStrings wiki page.

We can also fix the problem. This https://bugs.webkit.org/show_bug.cgi?id=95793 needs an update.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>207837</attachid>
            <date>2013-07-31 05:01:38 -0700</date>
            <delta_ts>2013-07-31 12:32:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-119335-20130731210134.patch</filename>
            <type>text/plain</type>
            <size>11995</size>
            <attacher name="Kwang Yul Seo">skyul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUzNTE1CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBi
NmFmYTY2ZDFkZGRkMmY5MmZlNDQyY2Y2ZTA0N2VjM2NjNGI0ZjBjLi42ODE1NGRjYmM3NzE0MjY5
ZjliMzkwOWM3MDIxNmE2ZDhkOTY0MGM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMiBAQAorMjAxMy0wNy0zMSAgS3dhbmcgWXVsIFNlbyAgPHNreXVsQGNvbXBhbnkxMDAu
bmV0PgorCisgICAgICAgIFVzZSBlbXB0eVN0cmluZyBpbnN0ZWFkIG9mIFN0cmluZygiIikKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExOTMzNQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBlbXB0eVN0
cmluZygpIGluc3RlYWQgb2YgU3RyaW5nKCIiKSBiZWNhdXNlIGl0IGlzIGJldHRlciBzdHlsZSBh
bmQKKyAgICAgICAgZmFzdGVyLiBUaGlzIGlzIGEgZm9sbG93dXAgdG8gcjExNjkwOCwgcmVtb3Zp
bmcgYWxsIG9jY3VycmVuY2VzIG9mCisgICAgICAgIFN0cmluZygiIikgZnJvbSBXZWJLaXQuCisK
KyAgICAgICAgKiBydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6
Y29uc3RydWN0UmVnRXhwKToKKyAgICAgICAgKiBydW50aW1lL1JlZ0V4cFByb3RvdHlwZS5jcHA6
CisgICAgICAgIChKU0M6OnJlZ0V4cFByb3RvRnVuY0NvbXBpbGUpOgorICAgICAgICAqIHJ1bnRp
bWUvU3RyaW5nUHJvdG90eXBlLmNwcDoKKyAgICAgICAgKEpTQzo6c3RyaW5nUHJvdG9GdW5jTWF0
Y2gpOgorICAgICAgICAoSlNDOjpzdHJpbmdQcm90b0Z1bmNTZWFyY2gpOgorCiAyMDEzLTA3LTMw
ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgR2V0
QnlWYWwgb24gQXJndW1lbnRzIGRvZXMgdGhlIHdyb25nIHNpemUgbG9hZCB3aGVuIGNoZWNraW5n
IHRoZSBBcmd1bWVudHMgb2JqZWN0IGxlbmd0aApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDI1MTZmYjFhNWIxNmRl
OWNmZGZiZDdkMmMxYjRhYmU5M2QxMDA3YjUuLjBhNzIxYzQ1ZWM1NThlYWFkNzQxMjI3ZTNmOWNh
Y2ZhZjk3OGY4YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMy0wNy0zMSAgS3dh
bmcgWXVsIFNlbyAgPHNreXVsQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFVzZSBlbXB0eVN0
cmluZyBpbnN0ZWFkIG9mIFN0cmluZygiIikKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTExOTMzNQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFVzZSBlbXB0eVN0cmluZygpIGluc3RlYWQgb2YgU3RyaW5nKCIi
KSBiZWNhdXNlIGl0IGlzIGJldHRlciBzdHlsZSBhbmQKKyAgICAgICAgZmFzdGVyLiBUaGlzIGlz
IGEgZm9sbG93dXAgdG8gcjExNjkwOCwgcmVtb3ZpbmcgYWxsIG9jY3VycmVuY2VzIG9mCisgICAg
ICAgIFN0cmluZygiIikgZnJvbSBXZWJLaXQuCisKKyAgICAgICAgTm8gYmVoYXZpb3IgY2hhbmdl
LCBubyBuZXcgdGVzdHMgbmVlZGVkLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYmxh
Y2tiZXJyeS9MYXllckFuaW1hdGlvbi5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5ZXJBbmltYXRp
b246Om5hbWUpOgorICAgICAgICAqIHBsYXRmb3JtL21hYy9QbGF0Zm9ybUV2ZW50RmFjdG9yeU1h
Yy5tbToKKyAgICAgICAgKFdlYkNvcmU6OnRleHRGcm9tRXZlbnQpOgorICAgICAgICAoV2ViQ29y
ZTo6dW5tb2RpZmllZFRleHRGcm9tRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6a2V5SWRlbnRp
ZmllckZvcktleUV2ZW50KToKKwogMjAxMy0wNy0zMSAgR3J6ZWdvcnogQ3phamtvd3NraSAgPGcu
Y3phamtvd3NraUBzYW1zdW5nLmNvbT4KIAogICAgICAgICBSZW1vdmUgZ3Vlc3Nlc1ZlY3RvciBw
YXJhbSBmcm9tIGlzVW5ncmFtbWF0aWNhbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9tYWMv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGU2ZTQwYThhMDE0
ZjcyN2FkZGI4YjQ2NTc1ZmQ2NTAxZDE5M2Q5YTAuLmZkOTMzMWYxZDg5ZGFkMWM4YmYxZWFlYmVl
OGQ1ZmM3OTZlNjE1YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMy0w
Ny0zMSAgS3dhbmcgWXVsIFNlbyAgPHNreXVsQGNvbXBhbnkxMDAubmV0PgorCisgICAgICAgIFVz
ZSBlbXB0eVN0cmluZyBpbnN0ZWFkIG9mIFN0cmluZygiIikKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExOTMzNQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBlbXB0eVN0cmluZygpIGluc3RlYWQgb2Yg
U3RyaW5nKCIiKSBiZWNhdXNlIGl0IGlzIGJldHRlciBzdHlsZSBhbmQKKyAgICAgICAgZmFzdGVy
LiBUaGlzIGlzIGEgZm9sbG93dXAgdG8gcjExNjkwOCwgcmVtb3ZpbmcgYWxsIG9jY3VycmVuY2Vz
IG9mCisgICAgICAgIFN0cmluZygiIikgZnJvbSBXZWJLaXQuCisKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbToKKyAgICAgICAgKFdlYkZyYW1lTG9hZGVy
Q2xpZW50Ojp1c2VyQWdlbnQpOgorCiAyMDEzLTA3LTI2ICBEZWFuIEphY2tzb24gIDxkaW5vQGFw
cGxlLmNvbT4KIAogICAgICAgICBBbGxvdyBuZXcgdHJhbnNpdGlvbnMgdG8gcnVuIGV2ZW4gd2hl
biBjb250cm9sbGVyIGlzIHN1c3BlbmRlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwppbmRleCA4MGRmNjc0NzVhNjk0
MDMwODdjODhiNDVkNGUxN2MwMGFmM2EzODk4Li43ODc3ZTFjY2UwMTU1Nzk5YWEyMmEyNzBhNmYw
ZDk3N2Y2ZWU3NWUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L3F0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEzLTA3LTMx
ICBLd2FuZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgVXNlIGVt
cHR5U3RyaW5nIGluc3RlYWQgb2YgU3RyaW5nKCIiKQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTE5MzM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIGVtcHR5U3RyaW5nKCkgaW5zdGVhZCBvZiBTdHJp
bmcoIiIpIGJlY2F1c2UgaXQgaXMgYmV0dGVyIHN0eWxlIGFuZAorICAgICAgICBmYXN0ZXIuIFRo
aXMgaXMgYSBmb2xsb3d1cCB0byByMTE2OTA4LCByZW1vdmluZyBhbGwgb2NjdXJyZW5jZXMgb2YK
KyAgICAgICAgU3RyaW5nKCIiKSBmcm9tIFdlYktpdC4KKworICAgICAgICAqIFdlYkNvcmVTdXBw
b3J0L0Nocm9tZUNsaWVudFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZUNsaWVudFF0
OjpydW5KYXZhU2NyaXB0UHJvbXB0KToKKwogMjAxMy0wNy0yNyAgSmFja3kgSmlhbmcgIDx6aGFq
aWFuZ0BibGFja2JlcnJ5LmNvbT4KIAogICAgICAgICBSZXBsYWNlIGFsbCB1c2VzIG9mIEdyYXBo
aWNzTGF5ZXI6OmNyZWF0ZSBmdW5jdGlvbiB3aXRoIHRoZSBvbmUgdGhhdCB0YWtlcyBhIEdyYXBo
aWNzTGF5ZXJGYWN0b3J5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggODI4M2Q2Y2MxYTdhOTZhYWY3ZTExNTA2NWZh
NDE3YmJlOWVhOTgzMC4uMzBhNDBhNzNkN2VjODQ0ZmExNDVkNDQyYmY4YmZhYzQ1NDFhMDQ5ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDEzLTA3LTMxICBLd2FuZyBZdWwgU2VvICA8
c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgVXNlIGVtcHR5U3RyaW5nIGluc3RlYWQg
b2YgU3RyaW5nKCIiKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE5MzM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVXNlIGVtcHR5U3RyaW5nKCkgaW5zdGVhZCBvZiBTdHJpbmcoIiIpIGJlY2F1c2UgaXQg
aXMgYmV0dGVyIHN0eWxlIGFuZAorICAgICAgICBmYXN0ZXIuIFRoaXMgaXMgYSBmb2xsb3d1cCB0
byByMTE2OTA4LCByZW1vdmluZyBhbGwgb2NjdXJyZW5jZXMgb2YKKyAgICAgICAgU3RyaW5nKCIi
KSBmcm9tIFdlYktpdC4KKworICAgICAgICAqIFNoYXJlZC9tYWMvV2ViRXZlbnRGYWN0b3J5Lm1t
OgorICAgICAgICAoV2ViS2l0Ojp0ZXh0RnJvbUV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6dW5t
b2RpZmllZFRleHRGcm9tRXZlbnQpOgorCiAyMDEzLTA3LTMwICBUaW0gSG9ydG9uICA8dGltb3Ro
eV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIERIVE1MIGRyYWcgY2FuIHJlc3VsdCBpbiBh
IG51bGwtZGVyZWYgdW5kZXIgV2ViRHJhZ0NsaWVudDo6c3RhcnREcmFnCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5jcHAgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBDb25zdHJ1Y3Rvci5jcHAKaW5kZXggOGIx
MmE1YTA1M2UyYTgzODU3NGRjOTI1Y2E1MjgxMjExNTdmYzAyYS4uMTg3NDJiNzFjMmIyYWU0Mjli
YzgyMmQzNDZkMGQyOGI0YjdjYTM2NiAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUmVnRXhwQ29uc3RydWN0b3IuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1JlZ0V4cENvbnN0cnVjdG9yLmNwcApAQCAtMjcwLDcgKzI3MCw3IEBAIEpTT2Jq
ZWN0KiBjb25zdHJ1Y3RSZWdFeHAoRXhlY1N0YXRlKiBleGVjLCBKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBjb25zdCBBCiAgICAgICAgIHJldHVybiBhc09iamVjdChhcmcwKTsKICAgICB9
CiAKLSAgICBTdHJpbmcgcGF0dGVybiA9IGFyZzAuaXNVbmRlZmluZWQoKSA/IFN0cmluZygiIikg
OiBhcmcwLnRvU3RyaW5nKGV4ZWMpLT52YWx1ZShleGVjKTsKKyAgICBTdHJpbmcgcGF0dGVybiA9
IGFyZzAuaXNVbmRlZmluZWQoKSA/IGVtcHR5U3RyaW5nKCkgOiBhcmcwLnRvU3RyaW5nKGV4ZWMp
LT52YWx1ZShleGVjKTsKICAgICBpZiAoZXhlYy0+aGFkRXhjZXB0aW9uKCkpCiAgICAgICAgIHJl
dHVybiAwOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdF
eHBQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUmVnRXhwUHJv
dG90eXBlLmNwcAppbmRleCBkYWViY2JjMWQ2MTNhNTI4YjcyMGMwN2ZiMjQzNGIwZTRkZWExOTZl
Li5mNWMyNGI2OTg4YzBlMDdjMTlhMjk5OWViNGU0MDhlOTRkODEwNWNjIDEwMDY0NAotLS0gYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9SZWdFeHBQcm90b3R5cGUuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1JlZ0V4cFByb3RvdHlwZS5jcHAKQEAgLTEwOCw3
ICsxMDgsNyBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIHJlZ0V4cFByb3RvRnVuY0Nv
bXBpbGUoRXhlY1N0YXRlKiBleGVjKQogICAgICAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihl
eGVjLCBjcmVhdGVUeXBlRXJyb3IoZXhlYywgQVNDSUlMaXRlcmFsKCJDYW5ub3Qgc3VwcGx5IGZs
YWdzIHdoZW4gY29uc3RydWN0aW5nIG9uZSBSZWdFeHAgZnJvbSBhbm90aGVyLiIpKSk7CiAgICAg
ICAgIHJlZ0V4cCA9IGFzUmVnRXhwT2JqZWN0KGFyZzApLT5yZWdFeHAoKTsKICAgICB9IGVsc2Ug
ewotICAgICAgICBTdHJpbmcgcGF0dGVybiA9ICFleGVjLT5hcmd1bWVudENvdW50KCkgPyBTdHJp
bmcoIiIpIDogYXJnMC50b1N0cmluZyhleGVjKS0+dmFsdWUoZXhlYyk7CisgICAgICAgIFN0cmlu
ZyBwYXR0ZXJuID0gIWV4ZWMtPmFyZ3VtZW50Q291bnQoKSA/IGVtcHR5U3RyaW5nKCkgOiBhcmcw
LnRvU3RyaW5nKGV4ZWMpLT52YWx1ZShleGVjKTsKICAgICAgICAgaWYgKGV4ZWMtPmhhZEV4Y2Vw
dGlvbigpKQogICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgp
KTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJv
dG90eXBlLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1N0cmluZ1Byb3RvdHlw
ZS5jcHAKaW5kZXggYTY3MmEyMWQ0ODdlZWMzNjM5NDUwNzQ1NTAyMTBjZjYzZjhjN2E4Yy4uODI1
Y2NjYjA5OTMyYTZmYmVkYmRjNWE5NzQ2NjZiOWE1MzY1MWMzMiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU3RyaW5nUHJvdG90eXBlLmNwcAorKysgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9TdHJpbmdQcm90b3R5cGUuY3BwCkBAIC04NTEsNyArODUx
LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBzdHJpbmdQcm90b0Z1bmNNYXRjaChF
eGVjU3RhdGUqIGV4ZWMpCiAgICAgICAgICAqICByZXBsYWNlZCB3aXRoIHRoZSByZXN1bHQgb2Yg
dGhlIGV4cHJlc3Npb24gbmV3IFJlZ0V4cChyZWdleHApLgogICAgICAgICAgKiAgUGVyIEVDTUEg
MTUuMTAuNC4xLCBpZiBhMCBpcyB1bmRlZmluZWQgc3Vic3RpdHV0ZSB0aGUgZW1wdHkgc3RyaW5n
LgogICAgICAgICAgKi8KLSAgICAgICAgcmVnRXhwID0gUmVnRXhwOjpjcmVhdGUoZXhlYy0+dm0o
KSwgYTAuaXNVbmRlZmluZWQoKSA/IFN0cmluZygiIikgOiBhMC50b1N0cmluZyhleGVjKS0+dmFs
dWUoZXhlYyksIE5vRmxhZ3MpOworICAgICAgICByZWdFeHAgPSBSZWdFeHA6OmNyZWF0ZShleGVj
LT52bSgpLCBhMC5pc1VuZGVmaW5lZCgpID8gZW1wdHlTdHJpbmcoKSA6IGEwLnRvU3RyaW5nKGV4
ZWMpLT52YWx1ZShleGVjKSwgTm9GbGFncyk7CiAgICAgICAgIGlmICghcmVnRXhwLT5pc1ZhbGlk
KCkpCiAgICAgICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9yKGV4ZWMsIGNyZWF0ZVN5bnRheEVy
cm9yKGV4ZWMsIHJlZ0V4cC0+ZXJyb3JNZXNzYWdlKCkpKTsKICAgICB9CkBAIC05MDIsNyArOTAy
LDcgQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBzdHJpbmdQcm90b0Z1bmNTZWFyY2go
RXhlY1N0YXRlKiBleGVjKQogICAgICAgICAgKiAgcmVwbGFjZWQgd2l0aCB0aGUgcmVzdWx0IG9m
IHRoZSBleHByZXNzaW9uIG5ldyBSZWdFeHAocmVnZXhwKS4KICAgICAgICAgICogIFBlciBFQ01B
IDE1LjEwLjQuMSwgaWYgYTAgaXMgdW5kZWZpbmVkIHN1YnN0aXR1dGUgdGhlIGVtcHR5IHN0cmlu
Zy4KICAgICAgICAgICovCi0gICAgICAgIHJlZyA9IFJlZ0V4cDo6Y3JlYXRlKGV4ZWMtPnZtKCks
IGEwLmlzVW5kZWZpbmVkKCkgPyBTdHJpbmcoIiIpIDogYTAudG9TdHJpbmcoZXhlYyktPnZhbHVl
KGV4ZWMpLCBOb0ZsYWdzKTsKKyAgICAgICAgcmVnID0gUmVnRXhwOjpjcmVhdGUoZXhlYy0+dm0o
KSwgYTAuaXNVbmRlZmluZWQoKSA/IGVtcHR5U3RyaW5nKCkgOiBhMC50b1N0cmluZyhleGVjKS0+
dmFsdWUoZXhlYyksIE5vRmxhZ3MpOwogICAgICAgICBpZiAoIXJlZy0+aXNWYWxpZCgpKQogICAg
ICAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihleGVjLCBjcmVhdGVTeW50YXhFcnJvcihleGVj
LCByZWctPmVycm9yTWVzc2FnZSgpKSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9MYXllckFuaW1hdGlvbi5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9MYXllckFuaW1hdGlvbi5oCmlu
ZGV4IDJjNjFiMjEzZTM3MjI5NzYxNDY3ZmRmZTRjMmY3YTJlZGJkNWU1NjguLmJhMmJkMDI5ZGM1
Yjc1NzQ5OWQwMTc4MDc4YWRiNzQ0NzI0NTgzZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTGF5ZXJBbmltYXRpb24uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L0xheWVyQW5pbWF0aW9uLmgK
QEAgLTU5LDcgKzU5LDcgQEAgcHVibGljOgogICAgIFN0cmluZyBuYW1lKCkgY29uc3QKICAgICB7
CiAgICAgICAgIGlmIChtX25hbWUuaXNFbXB0eSgpKQotICAgICAgICAgICAgcmV0dXJuIFN0cmlu
ZygiIik7CisgICAgICAgICAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKICAgICAgICAgcmV0dXJu
IFN0cmluZyhtX25hbWUpOwogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL1BsYXRmb3JtRXZlbnRGYWN0b3J5TWFjLm1tCmluZGV4IDI2ODRmYjdiYzg5Yzkw
MWMzOGRkNmU1ODM0ZGM0NjQ4MjNhNTdjMzYuLjU5NmNmNGQzYmZmZGJhNDM1OGZhMzNlMWE4ODZh
YTc3MDgyMTg4OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9QbGF0
Zm9ybUV2ZW50RmFjdG9yeU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
UGxhdGZvcm1FdmVudEZhY3RvcnlNYWMubW0KQEAgLTIzMiwxNCArMjMyLDE0IEBAIHN0YXRpYyBQ
bGF0Zm9ybUV2ZW50OjpUeXBlIGdlc3R1cmVFdmVudFR5cGVGb3JFdmVudChOU0V2ZW50ICpldmVu
dCkKIHN0YXRpYyBpbmxpbmUgU3RyaW5nIHRleHRGcm9tRXZlbnQoTlNFdmVudCogZXZlbnQpCiB7
CiAgICAgaWYgKFtldmVudCB0eXBlXSA9PSBOU0ZsYWdzQ2hhbmdlZCkKLSAgICAgICAgcmV0dXJu
IFN0cmluZygiIik7CisgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogICAgIHJldHVybiBT
dHJpbmcoW2V2ZW50IGNoYXJhY3RlcnNdKTsKIH0KIAogc3RhdGljIGlubGluZSBTdHJpbmcgdW5t
b2RpZmllZFRleHRGcm9tRXZlbnQoTlNFdmVudCogZXZlbnQpCiB7CiAgICAgaWYgKFtldmVudCB0
eXBlXSA9PSBOU0ZsYWdzQ2hhbmdlZCkKLSAgICAgICAgcmV0dXJuIFN0cmluZygiIik7CisgICAg
ICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogICAgIHJldHVybiBTdHJpbmcoW2V2ZW50IGNoYXJh
Y3RlcnNJZ25vcmluZ01vZGlmaWVyc10pOwogfQogCkBAIC0yNjgsNyArMjY4LDcgQEAgU3RyaW5n
IGtleUlkZW50aWZpZXJGb3JLZXlFdmVudChOU0V2ZW50KiBldmVudCkKICAgICAgICAgICAgICAg
ICAKICAgICAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFN0cmluZygiIik7CisgICAgICAgICAgICAg
ICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7CiAgICAgICAgIH0KICAgICAKICAgICBOU1N0cmluZyAq
cyA9IFtldmVudCBjaGFyYWN0ZXJzSWdub3JpbmdNb2RpZmllcnNdOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9tYWMvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQubW0gYi9T
b3VyY2UvV2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQpp
bmRleCA1ZmNlYjM1NWUwZjU2N2ViMmExY2JhNjQwMzI1NTYwNDVhYmY3NzBhLi4xZTVjYjE4ZDA5
MzlkMjZhNjMxOGQwNjliNjBkYTliOGE5MmM4Njg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0L21hYy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5tbQpAQCAtMTMz
NCw3ICsxMzM0LDcgQEAgU3RyaW5nIFdlYkZyYW1lTG9hZGVyQ2xpZW50Ojp1c2VyQWdlbnQoY29u
c3QgS1VSTCYgdXJsKQogICAgIC8vIE1vc3Qgb3RoZXIgY2FsbCBzaXRlcyBhcmUgdG9sZXJhbnQg
b2YgbmlsIGJlY2F1c2Ugb2YgT2JqZWN0aXZlLUMgYmVoYXZpb3IsIGJ1dCB0aGlzIG9uZQogICAg
IC8vIGlzIG5vdCBiZWNhdXNlIHRoZSByZXR1cm4gdmFsdWUgb2YgX3VzZXJBZ2VudEZvclVSTCBp
cyBhIGNvbnN0IEtVUkwmLgogICAgIGlmICghd2ViVmlldykKLSAgICAgICAgcmV0dXJuIFN0cmlu
ZygiIik7CisgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogCiAgICAgcmV0dXJuIFt3ZWJW
aWV3IF91c2VyQWdlbnRTdHJpbmddOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9xdC9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRRdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNv
cmVTdXBwb3J0L0Nocm9tZUNsaWVudFF0LmNwcAppbmRleCAxYWVhZTg5MGNlMzI2YTE2YzBhMzBm
ZDk3MmRhNjE0NGU0MzA5MDU3Li4zNDRkM2U3MmI1NDIwYzc3Yzg1YzQwYjExYjM4YWMyMGRjYTAx
YWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudFF0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L3F0L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNs
aWVudFF0LmNwcApAQCAtMzU3LDcgKzM1Nyw3IEBAIGJvb2wgQ2hyb21lQ2xpZW50UXQ6OnJ1bkph
dmFTY3JpcHRQcm9tcHQoRnJhbWUqIGYsIGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgY29uc3QKICAg
ICAvLyBGaXggdXAgYSBxdWlyayBpbiB0aGUgUUlucHV0RGlhbG9nIGNsYXNzLiBJZiBubyBpbnB1
dCBoYXBwZW5lZCB0aGUgc3RyaW5nIHNob3VsZCBiZSBlbXB0eQogICAgIC8vIGJ1dCBpdCBpcyBu
dWxsLiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMwOTE0Lgog
ICAgIGlmIChyYyAmJiB4LmlzTnVsbCgpKQotICAgICAgICByZXN1bHQgPSBTdHJpbmcoIiIpOwor
ICAgICAgICByZXN1bHQgPSBlbXB0eVN0cmluZygpOwogICAgIGVsc2UKICAgICAgICAgcmVzdWx0
ID0geDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9XZWJFdmVudEZh
Y3RvcnkubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1dlYkV2ZW50RmFjdG9yeS5tbQpp
bmRleCBkODM4MDJhMWI4MmZlMjA0MzdjZjFkMmMzYmYzYTZiMjk1MDQ1Zjc1Li5kYWM2ZjFhNmNj
Y2M3NjQ0MDEzNmQ0N2JkOTY2ZGQ4YjA5MDNlYTI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvbWFjL1dlYkV2ZW50RmFjdG9yeS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvbWFjL1dlYkV2ZW50RmFjdG9yeS5tbQpAQCAtMjU1LDE0ICsyNTUsMTQgQEAgc3RhdGljIFdl
YkV2ZW50OjpUeXBlIGdlc3R1cmVFdmVudFR5cGVGb3JFdmVudChOU0V2ZW50ICpldmVudCkKIHN0
YXRpYyBpbmxpbmUgU3RyaW5nIHRleHRGcm9tRXZlbnQoTlNFdmVudCogZXZlbnQpCiB7CiAgICAg
aWYgKFtldmVudCB0eXBlXSA9PSBOU0ZsYWdzQ2hhbmdlZCkKLSAgICAgICAgcmV0dXJuIFN0cmlu
ZygiIik7CisgICAgICAgIHJldHVybiBlbXB0eVN0cmluZygpOwogICAgIHJldHVybiBTdHJpbmco
W2V2ZW50IGNoYXJhY3RlcnNdKTsKIH0KIAogc3RhdGljIGlubGluZSBTdHJpbmcgdW5tb2RpZmll
ZFRleHRGcm9tRXZlbnQoTlNFdmVudCogZXZlbnQpCiB7CiAgICAgaWYgKFtldmVudCB0eXBlXSA9
PSBOU0ZsYWdzQ2hhbmdlZCkKLSAgICAgICAgcmV0dXJuIFN0cmluZygiIik7CisgICAgICAgIHJl
dHVybiBlbXB0eVN0cmluZygpOwogICAgIHJldHVybiBTdHJpbmcoW2V2ZW50IGNoYXJhY3RlcnNJ
Z25vcmluZ01vZGlmaWVyc10pOwogfQogCg==
</data>
<flag name="review"
          id="229657"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>