<?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>55226</bug_id>
          
          <creation_ts>2011-02-25 09:35:35 -0800</creation_ts>
          <short_desc>Add appropriate UA string tags for running on Windows x64</short_desc>
          <delta_ts>2011-03-09 22:31:51 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows XP</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>55979</dependson>
          <blocked>54556</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Peter Kasting">pkasting</reporter>
          <assigned_to name="Peter Kasting">pkasting</assigned_to>
          <cc>aroben</cc>
    
    <cc>dbates</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>357972</commentid>
    <comment_count>0</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2011-02-25 09:35:35 -0800</bug_when>
    <thetext>This matches IE and Firefox.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>358007</commentid>
    <comment_count>1</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2011-02-25 10:21:49 -0800</bug_when>
    <thetext>Clarity:
When running a 32-bit browser app (via WOW64): Add &quot;WOW64&quot; token after OS version
When running a 64-bit browser app (natively): Add &quot;Win64; x64&quot; tokens after OS version

I don&apos;t know if anyone is building 64-bit WebKit variants yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364981</commentid>
    <comment_count>2</comment_count>
      <attachid>85282</attachid>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2011-03-09 21:26:37 -0800</bug_when>
    <thetext>Created attachment 85282
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364982</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-03-09 21:29:28 -0800</bug_when>
    <thetext>Attachment 85282 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/platform/win/SystemInfo.cpp:149:  system_info is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/platform/win/SystemInfo.cpp:162:  An else if statement should be written as an if statement when the prior &quot;if&quot; concludes with a return, break, continue or goto statement.  [readability/control_flow] [4]
Total errors found: 2 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364985</commentid>
    <comment_count>4</comment_count>
      <attachid>85282</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-09 21:38:27 -0800</bug_when>
    <thetext>Comment on attachment 85282
Patch v1

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

&gt; Source/WebCore/platform/win/SystemInfo.cpp:123
&gt; +        HMODULE kernel32Module = GetModuleHandle(L&quot;kernel32.dll&quot;);

So we always bind to 64-bit version of the API?  Shouldn&apos;t we be using TEXT macro?

&gt; Source/WebCore/platform/win/SystemInfo.cpp:124
&gt; +        if (kernel32Module) {

It seems like that an early exist will be cleaner.

&gt; Source/WebCore/platform/win/SystemInfo.cpp:145
&gt; +        if (kernel32Module) {

Ditto about early exist.

&gt; Source/WebCore/platform/win/SystemInfo.cpp:164
&gt; +    else if (processorArchitecture() == PROCESSOR_ARCHITECTURE_AMD64)

Nit: no else here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364987</commentid>
    <comment_count>5</comment_count>
      <attachid>85284</attachid>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2011-03-09 21:50:09 -0800</bug_when>
    <thetext>Created attachment 85284
Patch v2

Fixes style errors and other problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364990</commentid>
    <comment_count>6</comment_count>
      <attachid>85284</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-03-09 22:03:42 -0800</bug_when>
    <thetext>Comment on attachment 85284
Patch v2

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

Looks sane to me!

&gt; Source/WebCore/platform/win/SystemInfo.cpp:122
&gt; +    if (!initialized) {
&gt; +        initialized = true;

Can&apos;t we exit early here instead? as in
if (initialized)
    return wow64;
But not strongly opinionated.

&gt; Source/WebCore/platform/win/SystemInfo.cpp:130
&gt; +            wow64 = ((*isWOW64Process)(GetCurrentProcess(), &amp;result) &amp;&amp; result);

I&apos;d prefer isWOW64Process(GetCurrentProcess(), &amp;result) &amp;&amp; result; but there doesn&apos;t seem to be an explicit rule stated anywhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364992</commentid>
    <comment_count>7</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2011-03-09 22:11:29 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; &gt; Source/WebCore/platform/win/SystemInfo.cpp:122
&gt; &gt; +    if (!initialized) {
&gt; &gt; +        initialized = true;
&gt; 
&gt; Can&apos;t we exit early here instead? as in
&gt; if (initialized)
&gt;     return wow64;
&gt; But not strongly opinionated.

After we chatted I&apos;m leaving this alone.

&gt; &gt; Source/WebCore/platform/win/SystemInfo.cpp:130
&gt; &gt; +            wow64 = ((*isWOW64Process)(GetCurrentProcess(), &amp;result) &amp;&amp; result);
&gt; 
&gt; I&apos;d prefer isWOW64Process(GetCurrentProcess(), &amp;result) &amp;&amp; result; but there doesn&apos;t seem to be an explicit rule stated anywhere.

Changed.  Also changed function pointers to not use explicit-deref form (&quot;(*ptr)(args)&quot;).  Will commit when bots are green.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>364998</commentid>
    <comment_count>8</comment_count>
    <who name="Peter Kasting">pkasting</who>
    <bug_when>2011-03-09 22:31:51 -0800</bug_when>
    <thetext>Fixed in r80693.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85282</attachid>
            <date>2011-03-09 21:26:37 -0800</date>
            <delta_ts>2011-03-09 21:50:09 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>4071</size>
            <attacher name="Peter Kasting">pkasting</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgwNjkwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDMtMDkgIFBldGVyIEth
c3RpbmcgIDxwa2FzdGluZ0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBVQSBzdHJpbmcgdGFncyBmb3IgV2luZG93cyA2NC4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1MjI2CisK
KyAgICAgICAgKiBTdHJpbmdzTm90VG9CZUxvY2FsaXplZC50eHQ6CisgICAgICAgICogcGxhdGZv
cm0vd2luL1N5c3RlbUluZm8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6b3NWZXJzaW9uRm9yVUFT
dHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6aXNXT1c2NCk6CisgICAgICAgIChXZWJDb3JlOjpw
cm9jZXNzb3JBcmNoaXRlY3R1cmUpOgorICAgICAgICAoV2ViQ29yZTo6YXJjaGl0ZWN0dXJlVG9r
ZW5Gb3JVQVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjp3aW5kb3dzVmVyc2lvbkZvclVBU3Ry
aW5nKToKKwogMjAxMS0wMy0wOSAgUGV0ZXIgS2FzdGluZyAgPHBrYXN0aW5nQGdvb2dsZS5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgYXR0ZW1wdGVkIGJ1aWxkIGZpeC4KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL1N0cmluZ3NOb3RUb0JlTG9jYWxpemVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9TdHJpbmdzTm90VG9CZUxvY2FsaXplZC50eHQJKHJldmlzaW9uIDgwNjg4KQor
KysgU291cmNlL1dlYkNvcmUvU3RyaW5nc05vdFRvQmVMb2NhbGl6ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC05OSw2ICs5OSw5IEBACiAiOi8vIgogIjovPyMiCiAiOyAiCisiOyBXT1c2NCIKKyI7
IFdpbjY0OyB4NjQiCisiOyBXaW42NDsgSUE2NCIKICI8ISIKICI8JUAgJUA+IgogIjw/IgpAQCAt
NTExLDE1ICs1MTQsMTUgQEAKICJXZWJWaWV3V2luZG93Q2xhc3MiCiAiV2ViV29ya2Vyc1ByaXZh
dGUiCiAiV2luZG93cyAiCi0iV2luZG93cyBDRSIKLSJXaW5kb3dzIENFICIKLSJXaW5kb3dzIENF
IC5ORVQiCiAiV2luZG93cyAzLjEiCiAiV2luZG93cyA5NSIKICJXaW5kb3dzIDk4IgogIldpbmRv
d3MgOTg7IFdpbiA5eCA0LjkwIgotIldpbk5UNC4wIgorIldpbmRvd3MgQ0UiCisiV2luZG93cyBD
RSAiCisiV2luZG93cyBDRSAuTkVUIgogIldpbmRvd3MgTlQgIgorIldpbk5UNC4wIgogIldtdlBs
dWdpbiIKICJYU0wiCiAiWFhYWFhYLSIKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dp
bi9TeXN0ZW1JbmZvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93
aW4vU3lzdGVtSW5mby5jcHAJKHJldmlzaW9uIDgwNjg5KQorKysgU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vd2luL1N5c3RlbUluZm8uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04Niw3ICs4Niw3IEBA
IFdpbmRvd3NWZXJzaW9uIHdpbmRvd3NWZXJzaW9uKGludCogbWFqb3IKICAgICByZXR1cm4gdmVy
c2lvbjsKIH0KIAotU3RyaW5nIHdpbmRvd3NWZXJzaW9uRm9yVUFTdHJpbmcoKQorc3RhdGljIFN0
cmluZyBvc1ZlcnNpb25Gb3JVQVN0cmluZygpCiB7CiAgICAgaW50IG1ham9yLCBtaW5vcjsKICAg
ICBXaW5kb3dzVmVyc2lvbiB2ZXJzaW9uID0gd2luZG93c1ZlcnNpb24oJm1ham9yLCAmbWlub3Ip
OwpAQCAtMTEzLDQgKzExMyw2NSBAQCBTdHJpbmcgd2luZG93c1ZlcnNpb25Gb3JVQVN0cmluZygp
CiAgICAgcmV0dXJuIG1ha2VTdHJpbmcoZmFtaWx5TmFtZSwgU3RyaW5nOjpudW1iZXIobWFqb3Ip
LCAnLicsIFN0cmluZzo6bnVtYmVyKG1pbm9yKSk7CiB9CiAKK3N0YXRpYyBib29sIGlzV09XNjQo
KQoreworICAgIHN0YXRpYyBib29sIGluaXRpYWxpemVkID0gZmFsc2U7CisgICAgc3RhdGljIGJv
b2wgd293NjQgPSBmYWxzZTsKKworICAgIGlmICghaW5pdGlhbGl6ZWQpIHsKKyAgICAgICAgaW5p
dGlhbGl6ZWQgPSB0cnVlOworICAgICAgICBITU9EVUxFIGtlcm5lbDMyTW9kdWxlID0gR2V0TW9k
dWxlSGFuZGxlKEwia2VybmVsMzIuZGxsIik7CisgICAgICAgIGlmIChrZXJuZWwzMk1vZHVsZSkg
eworICAgICAgICAgICAgdHlwZWRlZiBCT09MIChXSU5BUEkqIElzV293NjRQcm9jZXNzRnVuYyko
SEFORExFLCBQQk9PTCk7CisgICAgICAgICAgICBJc1dvdzY0UHJvY2Vzc0Z1bmMgaXNXT1c2NFBy
b2Nlc3MgPSByZWludGVycHJldF9jYXN0PElzV293NjRQcm9jZXNzRnVuYz4oR2V0UHJvY0FkZHJl
c3Moa2VybmVsMzJNb2R1bGUsICJJc1dvdzY0UHJvY2VzcyIpKTsKKyAgICAgICAgICAgIGlmIChp
c1dPVzY0UHJvY2VzcykgeworICAgICAgICAgICAgICAgIEJPT0wgcmVzdWx0ID0gRkFMU0U7Cisg
ICAgICAgICAgICAgICAgd293NjQgPSAoKCppc1dPVzY0UHJvY2VzcykoR2V0Q3VycmVudFByb2Nl
c3MoKSwgJnJlc3VsdCkgJiYgcmVzdWx0KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
IH0KKworICAgIHJldHVybiB3b3c2NDsKK30KKworc3RhdGljIFdPUkQgcHJvY2Vzc29yQXJjaGl0
ZWN0dXJlKCkKK3sKKyAgICBzdGF0aWMgYm9vbCBpbml0aWFsaXplZCA9IGZhbHNlOworICAgIHN0
YXRpYyBXT1JEIGFyY2hpdGVjdHVyZSA9IFBST0NFU1NPUl9BUkNISVRFQ1RVUkVfSU5URUw7CisK
KyAgICBpZiAoIWluaXRpYWxpemVkKSB7CisgICAgICAgIGluaXRpYWxpemVkID0gdHJ1ZTsKKyAg
ICAgICAgSE1PRFVMRSBrZXJuZWwzMk1vZHVsZSA9IEdldE1vZHVsZUhhbmRsZShMImtlcm5lbDMy
LmRsbCIpOworICAgICAgICBpZiAoa2VybmVsMzJNb2R1bGUpIHsKKyAgICAgICAgICAgIHR5cGVk
ZWYgVk9JRCAoV0lOQVBJKiBHZXROYXRpdmVTeXN0ZW1JbmZvRnVuYykoTFBTWVNURU1fSU5GTyk7
CisgICAgICAgICAgICBHZXROYXRpdmVTeXN0ZW1JbmZvRnVuYyBnZXROYXRpdmVTeXN0ZW1JbmZv
ID0gcmVpbnRlcnByZXRfY2FzdDxHZXROYXRpdmVTeXN0ZW1JbmZvRnVuYz4oR2V0UHJvY0FkZHJl
c3Moa2VybmVsMzJNb2R1bGUsICJHZXROYXRpdmVTeXN0ZW1JbmZvIikpOworICAgICAgICAgICAg
aWYgKGdldE5hdGl2ZVN5c3RlbUluZm8pIHsKKyAgICAgICAgICAgICAgICBTWVNURU1fSU5GTyBz
eXN0ZW1faW5mbyA9IHswfTsKKyAgICAgICAgICAgICAgICAoKmdldE5hdGl2ZVN5c3RlbUluZm8p
KCZzeXN0ZW1faW5mbyk7CisgICAgICAgICAgICAgICAgYXJjaGl0ZWN0dXJlID0gc3lzdGVtX2lu
Zm8ud1Byb2Nlc3NvckFyY2hpdGVjdHVyZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAg
IH0KKworICAgIHJldHVybiBhcmNoaXRlY3R1cmU7Cit9CisKK3N0YXRpYyBTdHJpbmcgYXJjaGl0
ZWN0dXJlVG9rZW5Gb3JVQVN0cmluZygpCit7CisjaWYgIU9TKFdJTkNFKQorICAgIGlmIChpc1dP
VzY0KCkpCisgICAgICAgIHJldHVybiAiOyBXT1c2NCI7CisgICAgZWxzZSBpZiAocHJvY2Vzc29y
QXJjaGl0ZWN0dXJlKCkgPT0gUFJPQ0VTU09SX0FSQ0hJVEVDVFVSRV9BTUQ2NCkKKyAgICAgICAg
cmV0dXJuICI7IFdpbjY0OyB4NjQiOworICAgIGVsc2UgaWYgKHByb2Nlc3NvckFyY2hpdGVjdHVy
ZSgpID09IFBST0NFU1NPUl9BUkNISVRFQ1RVUkVfSUE2NCkKKyAgICAgICAgcmV0dXJuICI7IFdp
bjY0OyBJQTY0IjsKKyNlbmRpZgorICAgIHJldHVybiBTdHJpbmcoKTsKK30KKworU3RyaW5nIHdp
bmRvd3NWZXJzaW9uRm9yVUFTdHJpbmcoKQoreworICAgIHJldHVybiBtYWtlU3RyaW5nKG9zVmVy
c2lvbkZvclVBU3RyaW5nKCksIGFyY2hpdGVjdHVyZVRva2VuRm9yVUFTdHJpbmcoKSk7Cit9CisK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>85284</attachid>
            <date>2011-03-09 21:50:09 -0800</date>
            <delta_ts>2011-03-09 22:03:42 -0800</delta_ts>
            <desc>Patch v2</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>4158</size>
            <attacher name="Peter Kasting">pkasting</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgwNjkwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDMtMDkgIFBldGVyIEth
c3RpbmcgIDxwa2FzdGluZ0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBVQSBzdHJpbmcgdGFncyBmb3IgV2luZG93cyA2NC4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU1MjI2CisK
KyAgICAgICAgKiBTdHJpbmdzTm90VG9CZUxvY2FsaXplZC50eHQ6CisgICAgICAgICogcGxhdGZv
cm0vd2luL1N5c3RlbUluZm8uY3BwOgorICAgICAgICAoV2ViQ29yZTo6b3NWZXJzaW9uRm9yVUFT
dHJpbmcpOgorICAgICAgICAoV2ViQ29yZTo6aXNXT1c2NCk6CisgICAgICAgIChXZWJDb3JlOjpw
cm9jZXNzb3JBcmNoaXRlY3R1cmUpOgorICAgICAgICAoV2ViQ29yZTo6YXJjaGl0ZWN0dXJlVG9r
ZW5Gb3JVQVN0cmluZyk6CisgICAgICAgIChXZWJDb3JlOjp3aW5kb3dzVmVyc2lvbkZvclVBU3Ry
aW5nKToKKwogMjAxMS0wMy0wOSAgUGV0ZXIgS2FzdGluZyAgPHBrYXN0aW5nQGdvb2dsZS5jb20+
CiAKICAgICAgICAgVW5yZXZpZXdlZCwgYXR0ZW1wdGVkIGJ1aWxkIGZpeC4KSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL1N0cmluZ3NOb3RUb0JlTG9jYWxpemVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9TdHJpbmdzTm90VG9CZUxvY2FsaXplZC50eHQJKHJldmlzaW9uIDgwNjg4KQor
KysgU291cmNlL1dlYkNvcmUvU3RyaW5nc05vdFRvQmVMb2NhbGl6ZWQudHh0CSh3b3JraW5nIGNv
cHkpCkBAIC05OSw2ICs5OSw5IEBACiAiOi8vIgogIjovPyMiCiAiOyAiCisiOyBXT1c2NCIKKyI7
IFdpbjY0OyB4NjQiCisiOyBXaW42NDsgSUE2NCIKICI8ISIKICI8JUAgJUA+IgogIjw/IgpAQCAt
NTExLDE1ICs1MTQsMTUgQEAKICJXZWJWaWV3V2luZG93Q2xhc3MiCiAiV2ViV29ya2Vyc1ByaXZh
dGUiCiAiV2luZG93cyAiCi0iV2luZG93cyBDRSIKLSJXaW5kb3dzIENFICIKLSJXaW5kb3dzIENF
IC5ORVQiCiAiV2luZG93cyAzLjEiCiAiV2luZG93cyA5NSIKICJXaW5kb3dzIDk4IgogIldpbmRv
d3MgOTg7IFdpbiA5eCA0LjkwIgotIldpbk5UNC4wIgorIldpbmRvd3MgQ0UiCisiV2luZG93cyBD
RSAiCisiV2luZG93cyBDRSAuTkVUIgogIldpbmRvd3MgTlQgIgorIldpbk5UNC4wIgogIldtdlBs
dWdpbiIKICJYU0wiCiAiWFhYWFhYLSIKQEAgLTY4Nyw2ICs2OTAsNyBAQAogImphdmFzY3JpcHQ6
IgogImpwZWciCiAianMiCisia2VybmVsMzIuZGxsIgogImtpb3NrbW9kZSIKICJrc19jXzU2MDEt
MTk4NyIKICJrdW5nZm9vLnR2LmVjdG8iCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93
aW4vU3lzdGVtSW5mby5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
d2luL1N5c3RlbUluZm8uY3BwCShyZXZpc2lvbiA4MDY4OSkKKysrIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL3dpbi9TeXN0ZW1JbmZvLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODYsNyArODYsNyBA
QCBXaW5kb3dzVmVyc2lvbiB3aW5kb3dzVmVyc2lvbihpbnQqIG1ham9yCiAgICAgcmV0dXJuIHZl
cnNpb247CiB9CiAKLVN0cmluZyB3aW5kb3dzVmVyc2lvbkZvclVBU3RyaW5nKCkKK3N0YXRpYyBT
dHJpbmcgb3NWZXJzaW9uRm9yVUFTdHJpbmcoKQogewogICAgIGludCBtYWpvciwgbWlub3I7CiAg
ICAgV2luZG93c1ZlcnNpb24gdmVyc2lvbiA9IHdpbmRvd3NWZXJzaW9uKCZtYWpvciwgJm1pbm9y
KTsKQEAgLTExMyw0ICsxMTMsNjUgQEAgU3RyaW5nIHdpbmRvd3NWZXJzaW9uRm9yVUFTdHJpbmco
KQogICAgIHJldHVybiBtYWtlU3RyaW5nKGZhbWlseU5hbWUsIFN0cmluZzo6bnVtYmVyKG1ham9y
KSwgJy4nLCBTdHJpbmc6Om51bWJlcihtaW5vcikpOwogfQogCitzdGF0aWMgYm9vbCBpc1dPVzY0
KCkKK3sKKyAgICBzdGF0aWMgYm9vbCBpbml0aWFsaXplZCA9IGZhbHNlOworICAgIHN0YXRpYyBi
b29sIHdvdzY0ID0gZmFsc2U7CisKKyAgICBpZiAoIWluaXRpYWxpemVkKSB7CisgICAgICAgIGlu
aXRpYWxpemVkID0gdHJ1ZTsKKyAgICAgICAgSE1PRFVMRSBrZXJuZWwzMk1vZHVsZSA9IEdldE1v
ZHVsZUhhbmRsZUEoImtlcm5lbDMyLmRsbCIpOworICAgICAgICBpZiAoIWtlcm5lbDMyTW9kdWxl
KQorICAgICAgICAgICAgcmV0dXJuIHdvdzY0OworICAgICAgICB0eXBlZGVmIEJPT0wgKFdJTkFQ
SSogSXNXb3c2NFByb2Nlc3NGdW5jKShIQU5ETEUsIFBCT09MKTsKKyAgICAgICAgSXNXb3c2NFBy
b2Nlc3NGdW5jIGlzV09XNjRQcm9jZXNzID0gcmVpbnRlcnByZXRfY2FzdDxJc1dvdzY0UHJvY2Vz
c0Z1bmM+KEdldFByb2NBZGRyZXNzKGtlcm5lbDMyTW9kdWxlLCAiSXNXb3c2NFByb2Nlc3MiKSk7
CisgICAgICAgIGlmIChpc1dPVzY0UHJvY2VzcykgeworICAgICAgICAgICAgQk9PTCByZXN1bHQg
PSBGQUxTRTsKKyAgICAgICAgICAgIHdvdzY0ID0gKCgqaXNXT1c2NFByb2Nlc3MpKEdldEN1cnJl
bnRQcm9jZXNzKCksICZyZXN1bHQpICYmIHJlc3VsdCk7CisgICAgICAgIH0KKyAgICB9CisKKyAg
ICByZXR1cm4gd293NjQ7Cit9CisKK3N0YXRpYyBXT1JEIHByb2Nlc3NvckFyY2hpdGVjdHVyZSgp
Cit7CisgICAgc3RhdGljIGJvb2wgaW5pdGlhbGl6ZWQgPSBmYWxzZTsKKyAgICBzdGF0aWMgV09S
RCBhcmNoaXRlY3R1cmUgPSBQUk9DRVNTT1JfQVJDSElURUNUVVJFX0lOVEVMOworCisgICAgaWYg
KCFpbml0aWFsaXplZCkgeworICAgICAgICBpbml0aWFsaXplZCA9IHRydWU7CisgICAgICAgIEhN
T0RVTEUga2VybmVsMzJNb2R1bGUgPSBHZXRNb2R1bGVIYW5kbGVBKCJrZXJuZWwzMi5kbGwiKTsK
KyAgICAgICAgaWYgKCFrZXJuZWwzMk1vZHVsZSkKKyAgICAgICAgICAgIHJldHVybiBhcmNoaXRl
Y3R1cmU7CisgICAgICAgIHR5cGVkZWYgVk9JRCAoV0lOQVBJKiBHZXROYXRpdmVTeXN0ZW1JbmZv
RnVuYykoTFBTWVNURU1fSU5GTyk7CisgICAgICAgIEdldE5hdGl2ZVN5c3RlbUluZm9GdW5jIGdl
dE5hdGl2ZVN5c3RlbUluZm8gPSByZWludGVycHJldF9jYXN0PEdldE5hdGl2ZVN5c3RlbUluZm9G
dW5jPihHZXRQcm9jQWRkcmVzcyhrZXJuZWwzMk1vZHVsZSwgIkdldE5hdGl2ZVN5c3RlbUluZm8i
KSk7CisgICAgICAgIGlmIChnZXROYXRpdmVTeXN0ZW1JbmZvKSB7CisgICAgICAgICAgICBTWVNU
RU1fSU5GTyBzeXN0ZW1JbmZvID0gezB9OworICAgICAgICAgICAgKCpnZXROYXRpdmVTeXN0ZW1J
bmZvKSgmc3lzdGVtSW5mbyk7CisgICAgICAgICAgICBhcmNoaXRlY3R1cmUgPSBzeXN0ZW1JbmZv
LndQcm9jZXNzb3JBcmNoaXRlY3R1cmU7CisgICAgICAgIH0KKyAgICB9CisKKyAgICByZXR1cm4g
YXJjaGl0ZWN0dXJlOworfQorCitzdGF0aWMgU3RyaW5nIGFyY2hpdGVjdHVyZVRva2VuRm9yVUFT
dHJpbmcoKQoreworI2lmICFPUyhXSU5DRSkKKyAgICBpZiAoaXNXT1c2NCgpKQorICAgICAgICBy
ZXR1cm4gIjsgV09XNjQiOworICAgIGlmIChwcm9jZXNzb3JBcmNoaXRlY3R1cmUoKSA9PSBQUk9D
RVNTT1JfQVJDSElURUNUVVJFX0FNRDY0KQorICAgICAgICByZXR1cm4gIjsgV2luNjQ7IHg2NCI7
CisgICAgaWYgKHByb2Nlc3NvckFyY2hpdGVjdHVyZSgpID09IFBST0NFU1NPUl9BUkNISVRFQ1RV
UkVfSUE2NCkKKyAgICAgICAgcmV0dXJuICI7IFdpbjY0OyBJQTY0IjsKKyNlbmRpZgorICAgIHJl
dHVybiBTdHJpbmcoKTsKK30KKworU3RyaW5nIHdpbmRvd3NWZXJzaW9uRm9yVUFTdHJpbmcoKQor
eworICAgIHJldHVybiBtYWtlU3RyaW5nKG9zVmVyc2lvbkZvclVBU3RyaW5nKCksIGFyY2hpdGVj
dHVyZVRva2VuRm9yVUFTdHJpbmcoKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>
<flag name="review"
          id="77386"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>