<?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>47677</bug_id>
          
          <creation_ts>2010-10-14 11:21:01 -0700</creation_ts>
          <short_desc>WebKit2 can load the same plugin multiple times</short_desc>
          <delta_ts>2016-10-27 19:09:32 -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>Plug-ins</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=164103</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>jhoneycutt</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>294216</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-10-14 11:21:01 -0700</bug_when>
    <thetext>It&apos;s possible for WebKit2 to load the same plugin multiple times. This can happen, e.g., if a client application passes the path to a standard plugin directory to _WKContextSetAdditionalPluginsDirectory, or if a plugin in one of the standard plugin directories on Windows is also listed in the MozillaPlugins registry key.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294217</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-10-14 11:21:53 -0700</bug_when>
    <thetext>We could change how we load plugins to:

1) Collect all plugin paths from all directories
2) Put all the paths in a HashSet to get rid of duplicates
3) Load plugins specified in the HashSet

On Windows, we&apos;d probably want to use a case-insensitive HashSet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294218</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-10-14 11:22:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/8552178&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294257</commentid>
    <comment_count>3</comment_count>
      <attachid>70763</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-10-14 11:55:13 -0700</bug_when>
    <thetext>Created attachment 70763
Make sure WebKit2 only loads each plugin once</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294265</commentid>
    <comment_count>4</comment_count>
      <attachid>70763</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2010-10-14 12:08:26 -0700</bug_when>
    <thetext>Comment on attachment 70763
Make sure WebKit2 only loads each plugin once

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

&gt; WebKit2/UIProcess/Plugins/PluginInfoStore.cpp:59
&gt; +template &lt;typename T, typename U, typename V, typename W&gt;
&gt; +static void addFromVector(HashSet&lt;T, U, V&gt;&amp; hashSet, const W&amp; vector)
&gt; +{
&gt; +    for (size_t i = 0; i &lt; vector.size(); ++i)
&gt; +        hashSet.add(vector[i]);
&gt; +}

Should this be in HashSet.h?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294267</commentid>
    <comment_count>5</comment_count>
      <attachid>70763</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-10-14 12:09:52 -0700</bug_when>
    <thetext>Comment on attachment 70763
Make sure WebKit2 only loads each plugin once

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

&gt;&gt; WebKit2/UIProcess/Plugins/PluginInfoStore.cpp:59
&gt;&gt; +}
&gt; 
&gt; Should this be in HashSet.h?

If we find it to be more generally useful we could put it there.

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>294286</commentid>
    <comment_count>6</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2010-10-14 12:33:35 -0700</bug_when>
    <thetext>Committed r69790: &lt;http://trac.webkit.org/changeset/69790&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70763</attachid>
            <date>2010-10-14 11:55:13 -0700</date>
            <delta_ts>2010-10-14 12:09:52 -0700</delta_ts>
            <desc>Make sure WebKit2 only loads each plugin once</desc>
            <filename>bug-47677-20101014145517.patch</filename>
            <type>text/plain</type>
            <size>6316</size>
            <attacher name="Adam Roben (:aroben)">aroben</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXgg
YTQyMGVkMDM2ZDYwN2NmYWExZjg2MmYxM2QwYTI5OWYxODY4OWQxYS4uMmM4NTIwMGFiMWZhMjA2
MWVjOWRjYmJjN2ZlOGQ1MDYzYTE2OWJiMyAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSwzMSBAQAogMjAxMC0xMC0xNCAgQWRh
bSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+CiAKKyAgICAgICAgTWFrZSBzdXJlIFdlYktpdDIg
b25seSBsb2FkcyBlYWNoIHBsdWdpbiBvbmNlCisKKyAgICAgICAgRml4ZXMgPGh0dHA6Ly93ZWJr
aXQub3JnL2IvNDc2Nzc+IDxyZGFyOi8vcHJvYmxlbS84NTUyMTc4PiBXZWJLaXQyIGNhbgorICAg
ICAgICBsb2FkIHRoZSBzYW1lIHBsdWdpbiBtdWx0aXBsZSB0aW1lcworCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luSW5mb1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6YWRkRnJvbVZlY3Rvcik6IEhlbHBl
ciBmdW5jdGlvbiB0aGF0IGFkZHMgYWxsIHRoZSBlbGVtZW50cworICAgICAgICBmcm9tIGEgVmVj
dG9yIHRvIGEgSGFzaFNldC4KKyAgICAgICAgKFdlYktpdDo6UGx1Z2luSW5mb1N0b3JlOjpsb2Fk
UGx1Z2luc0lmTmVjZXNzYXJ5KTogUHV0IGFsbCB0aGUgcGx1Z2luCisgICAgICAgIHBhdGhzIGlu
dG8gYSBIYXNoU2V0LCB0aGVuIGxvYWQgdGhlIHBsdWdpbnMgc3BlY2lmaWVkIGluIHRoZSBIYXNo
U2V0LgorICAgICAgICBPbiBXaW5kb3dzLCB0aGUgSGFzaFNldCBpcyBjYXNlLWluc2Vuc2l0aXZl
LCBqdXN0IGxpa2UgdGhlIGZpbGUKKyAgICAgICAgc3lzdGVtLgorCisgICAgICAgICogVUlQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmg6IFJlbW92ZWQgbG9hZFBsdWdpbnNJbkRpcmVj
dG9yeSwKKyAgICAgICAgd2hpY2ggaXMgbm8gbG9uZ2VyIHVzZWQuCisKKyAgICAgICAgKiBVSVBy
b2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6YWRkUGx1Z2luUGF0aHNGcm9tUmVnaXN0cnkpOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5J
bmZvU3RvcmU6OmluZGl2aWR1YWxQbHVnaW5QYXRocyk6CisgICAgICAgIENoYW5nZWQgdG8gc3Rv
cmUgdGhlIHBhdGhzIGluIGEgVmVjdG9yIGluc3RlYWQgb2YgYSBIYXNoU2V0IG5vdyB0aGF0Cisg
ICAgICAgIGxvYWRQbHVnaW5zSWZOZWNlc3Nhcnkgd2lsbCBoYW5kbGUgZHVwbGljYXRlcyBmb3Ig
dXMuCisKKzIwMTAtMTAtMTQgIEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgorCiAgICAg
ICAgIExvYWQgcGx1Z2lucyB0aGF0IGFyZSBzcGVjaWZpZWQgaW4gdGhlIE1vemlsbGFQbHVnaW5z
IHJlZ2lzdHJ5IGtleQogCiAgICAgICAgIEZpeGVzIDxodHRwOi8vd2Via2l0Lm9yZy9iLzQ0Mjcx
PiA8cmRhcjovL3Byb2JsZW0vODMyOTc1MD4gV2ViS2l0MgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9V
SVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5JbmZvU3RvcmUuY3BwIGIvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5JbmZvU3RvcmUuY3BwCmluZGV4IDhmYWZmYTEzM2ExYjkzYWM2OGY1ZTMz
YTdmYzAyNDMyNDJlYzVmN2UuLjIyZjQ2NzhlZDgwZmE3Y2RmNzM2MDQzOWM4ODY0OTFmYzIzYmFh
NDYgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3Jl
LmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5jcHAK
QEAgLTUxLDYgKzUxLDE5IEBAIHZvaWQgUGx1Z2luSW5mb1N0b3JlOjpyZWZyZXNoKCkKICAgICBt
X3BsdWdpbkxpc3RJc1VwVG9EYXRlID0gZmFsc2U7CiB9CiAKK3RlbXBsYXRlIDx0eXBlbmFtZSBU
LCB0eXBlbmFtZSBVLCB0eXBlbmFtZSBWLCB0eXBlbmFtZSBXPgorc3RhdGljIHZvaWQgYWRkRnJv
bVZlY3RvcihIYXNoU2V0PFQsIFUsIFY+JiBoYXNoU2V0LCBjb25zdCBXJiB2ZWN0b3IpCit7Cisg
ICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB2ZWN0b3Iuc2l6ZSgpOyArK2kpCisgICAgICAgIGhh
c2hTZXQuYWRkKHZlY3RvcltpXSk7Cit9CisKKyNpZiBPUyhXSU5ET1dTKQordHlwZWRlZiBIYXNo
U2V0PFN0cmluZywgQ2FzZUZvbGRpbmdIYXNoPiBQYXRoSGFzaFNldDsKKyNlbHNlCit0eXBlZGVm
IEhhc2hTZXQ8U3RyaW5nPiBQYXRoSGFzaFNldDsKKyNlbmRpZgorCiB2b2lkIFBsdWdpbkluZm9T
dG9yZTo6bG9hZFBsdWdpbnNJZk5lY2Vzc2FyeSgpCiB7CiAgICAgaWYgKG1fcGx1Z2luTGlzdElz
VXBUb0RhdGUpCkBAIC01OCwyOCArNzEsMjUgQEAgdm9pZCBQbHVnaW5JbmZvU3RvcmU6OmxvYWRQ
bHVnaW5zSWZOZWNlc3NhcnkoKQogCiAgICAgbV9wbHVnaW5zLmNsZWFyKCk7CiAKKyAgICBQYXRo
SGFzaFNldCB1bmlxdWVQbHVnaW5QYXRoczsKKwogICAgIC8vIEZpcnN0LCBsb2FkIHBsdWctaW5z
IGZyb20gdGhlIGFkZGl0aW9uYWwgcGx1Zy1pbnMgZGlyZWN0b3JpZXMgc3BlY2lmaWVkLgogICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9hZGRpdGlvbmFsUGx1Z2luc0RpcmVjdG9yaWVzLnNp
emUoKTsgKytpKQotICAgICAgICBsb2FkUGx1Z2luc0luRGlyZWN0b3J5KG1fYWRkaXRpb25hbFBs
dWdpbnNEaXJlY3Rvcmllc1tpXSk7CisgICAgICAgIGFkZEZyb21WZWN0b3IodW5pcXVlUGx1Z2lu
UGF0aHMsIHBsdWdpblBhdGhzSW5EaXJlY3RvcnkobV9hZGRpdGlvbmFsUGx1Z2luc0RpcmVjdG9y
aWVzW2ldKSk7CiAKICAgICAvLyBUaGVuIGxvYWQgcGx1Zy1pbnMgZnJvbSB0aGUgc3RhbmRhcmQg
cGx1Zy1pbnMgZGlyZWN0b3JpZXMuCiAgICAgVmVjdG9yPFN0cmluZz4gZGlyZWN0b3JpZXMgPSBw
bHVnaW5zRGlyZWN0b3JpZXMoKTsKICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGRpcmVjdG9y
aWVzLnNpemUoKTsgKytpKQotICAgICAgICBsb2FkUGx1Z2luc0luRGlyZWN0b3J5KGRpcmVjdG9y
aWVzW2ldKTsKKyAgICAgICAgYWRkRnJvbVZlY3Rvcih1bmlxdWVQbHVnaW5QYXRocywgcGx1Z2lu
UGF0aHNJbkRpcmVjdG9yeShkaXJlY3Rvcmllc1tpXSkpOwogCiAgICAgLy8gVGhlbiBsb2FkIHBs
dWctaW5zIHRoYXQgYXJlIG5vdCBpbiB0aGUgc3RhbmRhcmQgcGx1Zy1pbnMgZGlyZWN0b3JpZXMu
Ci0gICAgVmVjdG9yPFN0cmluZz4gcGF0aHMgPSBpbmRpdmlkdWFsUGx1Z2luUGF0aHMoKTsKLSAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHBhdGhzLnNpemUoKTsgKytpKQotICAgICAgICBsb2Fk
UGx1Z2luKHBhdGhzW2ldKTsKKyAgICBhZGRGcm9tVmVjdG9yKHVuaXF1ZVBsdWdpblBhdGhzLCBp
bmRpdmlkdWFsUGx1Z2luUGF0aHMoKSk7CiAKLSAgICBtX3BsdWdpbkxpc3RJc1VwVG9EYXRlID0g
dHJ1ZTsKLX0KKyAgICBQYXRoSGFzaFNldDo6Y29uc3RfaXRlcmF0b3IgZW5kID0gdW5pcXVlUGx1
Z2luUGF0aHMuZW5kKCk7CisgICAgZm9yIChQYXRoSGFzaFNldDo6Y29uc3RfaXRlcmF0b3IgaXQg
PSB1bmlxdWVQbHVnaW5QYXRocy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCisgICAgICAgIGxv
YWRQbHVnaW4oKml0KTsKIAotdm9pZCBQbHVnaW5JbmZvU3RvcmU6OmxvYWRQbHVnaW5zSW5EaXJl
Y3RvcnkoY29uc3QgU3RyaW5nJiBkaXJlY3RvcnkpCi17Ci0gICAgVmVjdG9yPFN0cmluZz4gcGx1
Z2luUGF0aHMgPSBwbHVnaW5QYXRoc0luRGlyZWN0b3J5KGRpcmVjdG9yeSk7Ci0gICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBwbHVnaW5QYXRocy5zaXplKCk7ICsraSkKLSAgICAgICAgbG9hZFBs
dWdpbihwbHVnaW5QYXRoc1tpXSk7CisgICAgbV9wbHVnaW5MaXN0SXNVcFRvRGF0ZSA9IHRydWU7
CiB9CiAKIHZvaWQgUGx1Z2luSW5mb1N0b3JlOjpsb2FkUGx1Z2luKGNvbnN0IFN0cmluZyYgcGx1
Z2luUGF0aCkKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5m
b1N0b3JlLmggYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5oCmlu
ZGV4IDE3OWJhY2YyMmRlYWQwNTI0NjgyODgwMDc5MDg3OGJkZjcwY2EwNmIuLmYzZTY2OWU4ZGJk
MGY5ZmYxNDE1NTViNTg1Yjk1YTljOGVkNWMwZjMgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5JbmZvU3RvcmUuaApAQCAtNjgsNyArNjgsNiBAQCBwcml2YXRlOgogICAgIFBs
dWdpbiBmaW5kUGx1Z2luRm9yRXh0ZW5zaW9uKGNvbnN0IFN0cmluZyYgZXh0ZW5zaW9uLCBTdHJp
bmcmIG1pbWVUeXBlKTsKIAogICAgIHZvaWQgbG9hZFBsdWdpbnNJZk5lY2Vzc2FyeSgpOwotICAg
IHZvaWQgbG9hZFBsdWdpbnNJbkRpcmVjdG9yeShjb25zdCBTdHJpbmcmIGRpcmVjdG9yeSk7CiAg
ICAgdm9pZCBsb2FkUGx1Z2luKGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aCk7CiAgICAgCiAgICAg
Ly8gUGxhdGZvcm0tc3BlY2lmaWMgbWVtYmVyIGZ1bmN0aW9ucwpkaWZmIC0tZ2l0IGEvV2ViS2l0
Mi9VSVByb2Nlc3MvUGx1Z2lucy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcCBiL1dlYktpdDIv
VUlQcm9jZXNzL1BsdWdpbnMvd2luL1BsdWdpbkluZm9TdG9yZVdpbi5jcHAKaW5kZXggMjgyOTc5
NmM0MGUxYTMxMjlkYzUxODI2NzdhYmIxOTc0M2VlNWJhYy4uNjQ1YjRjMGZhNDkyMTAxNmNiYjBl
NWYxZjU4YmQ2ZGUwYjhkOTg1NiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lu
cy93aW4vUGx1Z2luSW5mb1N0b3JlV2luLmNwcAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVn
aW5zL3dpbi9QbHVnaW5JbmZvU3RvcmVXaW4uY3BwCkBAIC0yOSw5ICsyOSw3IEBACiAjaW5jbHVk
ZSAiTm90SW1wbGVtZW50ZWQuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0ZpbGVTeXN0ZW0uaD4KICNp
bmNsdWRlIDxzaGx3YXBpLmg+Ci0jaW5jbHVkZSA8d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3
dGYvT3duQXJyYXlQdHIuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdIYXNoLmg+CiAKIHVz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCkBAIC0zMDUsNyArMzAzLDcgQEAgVmVjdG9yPFN0cmlu
Zz4gUGx1Z2luSW5mb1N0b3JlOjpwbHVnaW5QYXRoc0luRGlyZWN0b3J5KGNvbnN0IFN0cmluZyYg
ZGlyZWN0b3J5KQogICAgIHJldHVybiBwYXRoczsKIH0KIAotc3RhdGljIHZvaWQgYWRkUGx1Z2lu
UGF0aHNGcm9tUmVnaXN0cnkoSEtFWSByb290S2V5LCBIYXNoU2V0PFN0cmluZywgQ2FzZUZvbGRp
bmdIYXNoPiYgcGF0aHMpCitzdGF0aWMgdm9pZCBhZGRQbHVnaW5QYXRoc0Zyb21SZWdpc3RyeShI
S0VZIHJvb3RLZXksIFZlY3RvcjxTdHJpbmc+JiBwYXRocykKIHsKICAgICBIS0VZIGtleTsKICAg
ICBpZiAoOjpSZWdPcGVuS2V5RXhXKHJvb3RLZXksIEwiU29mdHdhcmVcXE1vemlsbGFQbHVnaW5z
IiwgMCwgS0VZX0VOVU1FUkFURV9TVUJfS0VZUywgJmtleSkgIT0gRVJST1JfU1VDQ0VTUykKQEAg
LTMyNiw3ICszMjQsNyBAQCBzdGF0aWMgdm9pZCBhZGRQbHVnaW5QYXRoc0Zyb21SZWdpc3RyeShI
S0VZIHJvb3RLZXksIEhhc2hTZXQ8U3RyaW5nLCBDYXNlRm9sZGluZwogICAgICAgICBpZiAodHlw
ZSAhPSBSRUdfU1opCiAgICAgICAgICAgICBjb250aW51ZTsKIAotICAgICAgICBwYXRocy5hZGQo
cGF0aCk7CisgICAgICAgIHBhdGhzLmFwcGVuZChwYXRoKTsKICAgICB9CiAKICAgICA6OlJlZ0Ns
b3NlS2V5KGtleSk7CkBAIC0zMzQsMTQgKzMzMiwxMiBAQCBzdGF0aWMgdm9pZCBhZGRQbHVnaW5Q
YXRoc0Zyb21SZWdpc3RyeShIS0VZIHJvb3RLZXksIEhhc2hTZXQ8U3RyaW5nLCBDYXNlRm9sZGlu
ZwogCiBWZWN0b3I8U3RyaW5nPiBQbHVnaW5JbmZvU3RvcmU6OmluZGl2aWR1YWxQbHVnaW5QYXRo
cygpCiB7Ci0gICAgSGFzaFNldDxTdHJpbmcsIENhc2VGb2xkaW5nSGFzaD4gcGF0aHM7CisgICAg
VmVjdG9yPFN0cmluZz4gcGF0aHM7CiAKICAgICBhZGRQbHVnaW5QYXRoc0Zyb21SZWdpc3RyeShI
S0VZX0xPQ0FMX01BQ0hJTkUsIHBhdGhzKTsKICAgICBhZGRQbHVnaW5QYXRoc0Zyb21SZWdpc3Ry
eShIS0VZX0NVUlJFTlRfVVNFUiwgcGF0aHMpOwogCi0gICAgVmVjdG9yPFN0cmluZz4gcmVzdWx0
OwotICAgIGNvcHlUb1ZlY3RvcihwYXRocywgcmVzdWx0KTsKLSAgICByZXR1cm4gcmVzdWx0Owor
ICAgIHJldHVybiBwYXRoczsKIH0KIAogc3RhdGljIFN0cmluZyBnZXRWZXJzaW9uSW5mbyhjb25z
dCBMUFZPSUQgdmVyc2lvbkluZm9EYXRhLCBjb25zdCBTdHJpbmcmIGluZm8pCg==
</data>
<flag name="review"
          id="60663"
          type_id="1"
          status="+"
          setter="sam"
    />
          </attachment>
      

    </bug>

</bugzilla>