<?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>111245</bug_id>
          
          <creation_ts>2013-03-01 23:41:03 -0800</creation_ts>
          <short_desc>Add API to allow WK2 clients to query the list of installed plug-ins.</short_desc>
          <delta_ts>2013-03-04 14:10:29 -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>WebKit2</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>gtk-ews</cc>
    
    <cc>jonlee</cc>
    
    <cc>mjs</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>845750</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-03-01 23:41:03 -0800</bug_when>
    <thetext>Add API to allow WK2 clients to query the list of installed plug-ins.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845808</commentid>
    <comment_count>1</comment_count>
      <attachid>191107</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-03-02 08:26:45 -0800</bug_when>
    <thetext>Created attachment 191107
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>845891</commentid>
    <comment_count>2</comment_count>
    <who name="Jon Lee">jonlee</who>
    <bug_when>2013-03-02 18:05:51 -0800</bug_when>
    <thetext>&lt;rdar://problem/13329717&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846219</commentid>
    <comment_count>3</comment_count>
      <attachid>191107</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2013-03-04 01:23:59 -0800</bug_when>
    <thetext>Comment on attachment 191107
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846584</commentid>
    <comment_count>4</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-04 09:47:37 -0800</bug_when>
    <thetext>From past experience, loading plugins is known to be a very expensive operation. Shouldn&apos;t this API be asynchronous, returning the answer in a callback?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846589</commentid>
    <comment_count>5</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-03-04 09:51:03 -0800</bug_when>
    <thetext>The handling of this call occurs entirely within the UIProcess.  Unless we wanted to marshal the request on another thread, what would the point of a callback be?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846590</commentid>
    <comment_count>6</comment_count>
      <attachid>191107</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-03-04 09:52:22 -0800</bug_when>
    <thetext>Comment on attachment 191107
Patch

Indeed.  PluginInfoStore::plugins() potentially does all sorts of heavy handed i/o.  I&apos;m going to go so far as to change this to an r- until Jer can convince us it&apos;s okay to be synchronous.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846591</commentid>
    <comment_count>7</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-03-04 09:53:38 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; The handling of this call occurs entirely within the UIProcess.  Unless we wanted to marshal the request on another thread, what would the point of a callback be?

When will this new API be called?

Have you explored marshaling to another thread?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846697</commentid>
    <comment_count>8</comment_count>
      <attachid>191283</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-03-04 12:00:56 -0800</bug_when>
    <thetext>Created attachment 191283
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846702</commentid>
    <comment_count>9</comment_count>
      <attachid>191283</attachid>
    <who name="kov&apos;s GTK+ EWS bot">gtk-ews</who>
    <bug_when>2013-03-04 12:06:04 -0800</bug_when>
    <thetext>Comment on attachment 191283
Patch

Attachment 191283 did not pass gtk-ews (gtk):
Output: http://webkit-commit-queue.appspot.com/results/16967063</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846722</commentid>
    <comment_count>10</comment_count>
      <attachid>191283</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-03-04 12:23:16 -0800</bug_when>
    <thetext>Comment on attachment 191283
Patch

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

&gt; Source/WebKit2/UIProcess/API/C/WKContext.h:52
&gt;      WKContextPlugInAutoStartOriginHashesChangedCallback                 plugInAutoStartOriginHashesChanged;
&gt;      WKContextNetworkProcessDidCrashCallback                             networkProcessDidCrash;
&gt; +    WKContextPlugInInformationAvailableCallback                         plugInInformationAvailable;

Please add a // Version 1 comment before the new callback.  See WKPage.h for the loaderclient and uiclient for examples.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846723</commentid>
    <comment_count>11</comment_count>
      <attachid>191289</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-03-04 12:24:46 -0800</bug_when>
    <thetext>Created attachment 191289
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846733</commentid>
    <comment_count>12</comment_count>
      <attachid>191289</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-03-04 12:34:33 -0800</bug_when>
    <thetext>Comment on attachment 191289
Patch

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

&gt; Source/WebKit2/UIProcess/API/C/WKContext.h:56
&gt; +    WKContextPlugInInformationAvailableCallback                         plugInInformationAvailable;

Maybe plugInInformationBecameAvailable or plugInInformationLoaded?

&gt; Source/WebKit2/UIProcess/Plugins/PluginInfoStore.h:41
&gt; +class PluginInfoStoreClient {

It would be nice to put this in a separate file. PluginInfoStore.h has data and includes a client is unlikely to ever care about, yet it currently has to include the whole thing to implement PluginInfoStoreClient interface.

Not such a big deal, since there is only one client that&apos;s already huge.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>846840</commentid>
    <comment_count>13</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2013-03-04 14:10:29 -0800</bug_when>
    <thetext>Committed r144672: &lt;http://trac.webkit.org/changeset/144672&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191107</attachid>
            <date>2013-03-02 08:26:45 -0800</date>
            <delta_ts>2013-03-04 12:00:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111245-20130302082255.patch</filename>
            <type>text/plain</type>
            <size>4829</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NTEwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjZlZTFmZDNhNTRjYzhl
YTk3ZmEzNTIyMTAyOTE5ZjQ1MjU4NTdkZS4uOTU4MGVkZWViZDM3YmYzZjlmODUxZTcxODk3NDlk
NWUyNzZlMWQ3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEzLTAzLTAxICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBBUEkgdG8gYWxsb3cg
V0syIGNsaWVudHMgdG8gcXVlcnkgdGhlIGxpc3Qgb2YgaW5zdGFsbGVkIHBsdWctaW5zLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExMjQ1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEFQSSBpbiBX
S0NvbnRleHQsIGltcGxlbWVudGVkIGJ5IFdlYkNvbnRleHQsIHRoYXQgYWxsb3dzIGNhbGxlcnMg
dG8gcmV0cmlldmUgYW4gYXJyYXkKKyAgICAgICAgY29udGFpbmluZyBpbnN0YWxsZWQgcGx1Z2lu
IGluZm9ybWF0aW9uLiBUaGlzIEFQSSBpcyBleHBvc2VkIHRocm91Z2ggV2ViQ29udGV4dCBiZWNh
dXNlIGl0CisgICAgICAgIG93bnMgdGhlIFBsdWdpbkluZm9TdG9yZSB1c2VkIHRvIGZ1bGZpbGwg
dGhlIHJlcXVlc3QuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcDoK
KyAgICAgICAgKFdLQ29udGV4dENvcHlJbnN0YWxsZWRQbHVnSW5Nb2R1bGVJbmZvKToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dl
YkNvbnRleHQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjppbnN0YWxsZWRQbHVn
SW5Nb2R1bGVJbmZvKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29udGV4dC5oOgorCiAyMDEz
LTAyLTI4ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgogCiAgICAgICAgIE1h
a2UgaW4tbWVtb3J5IGJsb2JzIHdvcmsgaW4gTmV0d29ya1Byb2Nlc3MKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAKaW5kZXggMmZlZTFlMjUxY2RkZTc0YTU3
ODg1MTdmMGMzZGMxM2ZiOTczZjZmYy4uOGVkZmNhY2YwYzVhNmFkMWM5YTQzYzA5YTYxZDVjZmIw
MGI4OTJkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29u
dGV4dC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5j
cHAKQEAgLTM2Niw2ICszNjYsMTEgQEAgdm9pZCBXS0NvbnRleHRTZXRQbHVnSW5BdXRvU3RhcnRP
cmlnaW5IYXNoZXMoV0tDb250ZXh0UmVmIGNvbnRleHRSZWYsIFdLRGljdGlvbmEKICAgICB0b0lt
cGwoY29udGV4dFJlZiktPnNldFBsdWdJbkF1dG9TdGFydE9yaWdpbkhhc2hlcygqdG9JbXBsKGRp
Y3Rpb25hcnlSZWYpKTsKIH0KIAorV0tBcnJheVJlZiBXS0NvbnRleHRDb3B5SW5zdGFsbGVkUGx1
Z0luTW9kdWxlSW5mbyhXS0NvbnRleHRSZWYgY29udGV4dCkKK3sKKyAgICByZXR1cm4gdG9BUEko
dG9JbXBsKGNvbnRleHQpLT5pbnN0YWxsZWRQbHVnSW5Nb2R1bGVJbmZvKCkubGVha1JlZigpKTsK
K30KKwogLy8gRGVwcmVjYXRlZCBmdW5jdGlvbnMuCiB2b2lkIF9XS0NvbnRleHRTZXRBZGRpdGlv
bmFsUGx1Z2luc0RpcmVjdG9yeShXS0NvbnRleHRSZWYgY29udGV4dCwgV0tTdHJpbmdSZWYgcGx1
Z2luc0RpcmVjdG9yeSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS0NvbnRleHQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRl
eHQuaAppbmRleCBmZTdjMjA4NDllN2NjZDJlZDk3YzBhMDk2ZDZmZTg4NDAwNjlmYWM3Li41ZDEy
MWE1MTdmYmI1ZTk3ZTJjMTQ4OTUyNzFlMDMyYzM0YzdkZmQ0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5oCkBAIC0yMDIsNiArMjAyLDggQEAgV0tfRVhQT1JU
IHZvaWQgV0tDb250ZXh0U2V0SmF2YVNjcmlwdEdhcmJhZ2VDb2xsZWN0b3JUaW1lckVuYWJsZWQo
V0tDb250ZXh0UmVmIGMKIFdLX0VYUE9SVCBXS0RpY3Rpb25hcnlSZWYgV0tDb250ZXh0Q29weVBs
dWdJbkF1dG9TdGFydE9yaWdpbkhhc2hlcyhXS0NvbnRleHRSZWYgY29udGV4dCk7CiBXS19FWFBP
UlQgdm9pZCBXS0NvbnRleHRTZXRQbHVnSW5BdXRvU3RhcnRPcmlnaW5IYXNoZXMoV0tDb250ZXh0
UmVmIGNvbnRleHQsIFdLRGljdGlvbmFyeVJlZiBkaWN0aW9uYXJ5KTsKIAorV0tfRVhQT1JUIFdL
QXJyYXlSZWYgV0tDb250ZXh0Q29weUluc3RhbGxlZFBsdWdJbk1vZHVsZUluZm8oV0tDb250ZXh0
UmVmIGNvbnRleHQpOworCiAjaWZkZWYgX19jcGx1c3BsdXMKIH0KICNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCmluZGV4IGJjNzhiZjQ2NThkMzNkZDZlM2NmYjNh
YzIyOTY2NWY1NTU4NDhkMTguLjZjMDc4Y2FjY2FjOGE1YjQ1NTgzZGM1M2JjNzJmYTdhMjdiZjk5
YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAKQEAgLTExODcsNCAr
MTE4NywzMSBAQCB2b2lkIFdlYkNvbnRleHQ6OnVucmVnaXN0ZXJTY2hlbWVGb3JDdXN0b21Qcm90
b2NvbChjb25zdCBTdHJpbmcmIHNjaGVtZSkKIH0KICNlbmRpZgogCitQYXNzUmVmUHRyPEltbXV0
YWJsZUFycmF5PiBXZWJDb250ZXh0OjppbnN0YWxsZWRQbHVnSW5Nb2R1bGVJbmZvKCkKK3sKKyAg
ICBWZWN0b3I8UmVmUHRyPEFQSU9iamVjdD4gPiBwbHVnaW5BcnJheTsKKworICAgIFZlY3RvcjxQ
bHVnaW5Nb2R1bGVJbmZvPiBwbHVnaW5zID0gbV9wbHVnaW5JbmZvU3RvcmUucGx1Z2lucygpOwor
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcGx1Z2lucy5zaXplKCk7ICsraSkgeworICAgICAg
ICBQbHVnaW5Nb2R1bGVJbmZvJiBwbHVnaW4gPSBwbHVnaW5zW2ldOworICAgICAgICBJbW11dGFi
bGVEaWN0aW9uYXJ5OjpNYXBUeXBlIG1hcDsKKyAgICAgICAgbWFwLnNldChBU0NJSUxpdGVyYWwo
InBhdGgiKSwgV2ViU3RyaW5nOjpjcmVhdGUocGx1Z2luLnBhdGgpKTsKKyAgICAgICAgbWFwLnNl
dChBU0NJSUxpdGVyYWwoIm5hbWUiKSwgV2ViU3RyaW5nOjpjcmVhdGUocGx1Z2luLmluZm8ubmFt
ZSkpOworICAgICAgICBtYXAuc2V0KEFTQ0lJTGl0ZXJhbCgiZmlsZSIpLCBXZWJTdHJpbmc6OmNy
ZWF0ZShwbHVnaW4uaW5mby5maWxlKSk7CisgICAgICAgIG1hcC5zZXQoQVNDSUlMaXRlcmFsKCJk
ZXNjIiksIFdlYlN0cmluZzo6Y3JlYXRlKHBsdWdpbi5pbmZvLmRlc2MpKTsKKyAgICAgICAgVmVj
dG9yPFJlZlB0cjxBUElPYmplY3Q+ID4gbWltZUFycmF5OworICAgICAgICBmb3IgKHNpemVfdCBq
ID0gMDsgaiA8ICBwbHVnaW4uaW5mby5taW1lcy5zaXplKCk7ICsraikKKyAgICAgICAgICAgIG1p
bWVBcnJheS5hcHBlbmQoV2ViU3RyaW5nOjpjcmVhdGUocGx1Z2luLmluZm8ubWltZXNbal0udHlw
ZSkpOworICAgICAgICBtYXAuc2V0KEFTQ0lJTGl0ZXJhbCgibWltZXMiKSwgSW1tdXRhYmxlQXJy
YXk6OmFkb3B0KG1pbWVBcnJheSkpOworI2lmIFBMQVRGT1JNKE1BQykKKyAgICAgICAgbWFwLnNl
dChBU0NJSUxpdGVyYWwoImJ1bmRsZUlkIiksIFdlYlN0cmluZzo6Y3JlYXRlKHBsdWdpbi5idW5k
bGVJZGVudGlmaWVyKSk7CisgICAgICAgIG1hcC5zZXQoQVNDSUlMaXRlcmFsKCJ2ZXJzaW9uIiks
IFdlYlN0cmluZzo6Y3JlYXRlKHBsdWdpbi52ZXJzaW9uU3RyaW5nKSk7CisjZW5kaWYKKworICAg
ICAgICBwbHVnaW5BcnJheS5hcHBlbmQoSW1tdXRhYmxlRGljdGlvbmFyeTo6YWRvcHQobWFwKSk7
CisgICAgfQorCisgICAgcmV0dXJuIEltbXV0YWJsZUFycmF5OjphZG9wdChwbHVnaW5BcnJheSk7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYkNvbnRleHQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250
ZXh0LmgKaW5kZXggZWYzYmMyNjdhNTUwNjdiOWFiNDA1YTY4YzFiNmMzYzczN2ZjNTUzMi4uYjNi
YWQ3MTQwODVmNDNlNmViN2EwNmUyNWJhYjBhMWU1NzBiNzcxZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQ29udGV4dC5oCkBAIC0yNjIsNiArMjYyLDggQEAgcHVibGljOgogICAgIFBhc3NS
ZWZQdHI8SW1tdXRhYmxlRGljdGlvbmFyeT4gcGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaGVzKCkg
Y29uc3Q7CiAgICAgdm9pZCBzZXRQbHVnSW5BdXRvU3RhcnRPcmlnaW5IYXNoZXMoSW1tdXRhYmxl
RGljdGlvbmFyeSYpOwogCisgICAgUGFzc1JlZlB0cjxJbW11dGFibGVBcnJheT4gaW5zdGFsbGVk
UGx1Z0luTW9kdWxlSW5mbygpOworCiAgICAgLy8gTmV0d29yayBQcm9jZXNzIE1hbmFnZW1lbnQK
IAogICAgIHZvaWQgc2V0VXNlc05ldHdvcmtQcm9jZXNzKGJvb2wpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191283</attachid>
            <date>2013-03-04 12:00:56 -0800</date>
            <delta_ts>2013-03-04 12:24:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111245-20130304115704.patch</filename>
            <type>text/plain</type>
            <size>12383</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTM0NjUyZWUzNjU5Mzg2
ZDQ3ODlmMDgxOWE0ZTMyZDE3MWM2NmRkMy4uMWNkZDA0MTNlZWMwMzVhNDQ2YTViZDIxNzZlZTBm
OTQ5NTBjY2U3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEzLTAzLTA0ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBBUEkgdG8gYWxsb3cg
V0syIGNsaWVudHMgdG8gcXVlcnkgdGhlIGxpc3Qgb2YgaW5zdGFsbGVkIHBsdWctaW5zLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExMjQ1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEFQSSBpbiBX
S0NvbnRleHQsIGltcGxlbWVudGVkIGJ5IFdlYkNvbnRleHQsIHRoYXQgYWxsb3dzIGNhbGxlcnMg
dG8gcmVnaXN0ZXIgYSBjYWxsYmFjayAKKyAgICAgICAgcmV0cmlldmUgYW4gYXJyYXkgY29udGFp
bmluZyBpbnN0YWxsZWQgcGx1Z2luIGluZm9ybWF0aW9uLiBUaGlzIEFQSSBpcyBleHBvc2VkIHRo
cm91Z2ggV2ViQ29udGV4dCAKKyAgICAgICAgYmVjYXVzZSBpdCBvd25zIHRoZSBQbHVnaW5JbmZv
U3RvcmUgdXNlZCB0byBmdWxmaWxsIHRoZSByZXF1ZXN0LgorCisgICAgICAgIEJ1bXAgdGhlIFdL
Q29udGV4dENsaWVudCBBUEkgYnkgMToKKyAgICAgICAgKiBTaGFyZWQvQVBJQ2xpZW50VHJhaXRz
LmNwcDoKKyAgICAgICAgKiBTaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9DL1dLQ29udGV4dC5oOgorCisgICAgICAgIEFkZCBhIGNsaWVudCBwcm90b2Nv
bCB0byBQbHVnaW5JbmZvU3RvcmUgdG8gbm90aWZ5IHRoZSBjbGllbnQgd2hlbiBwbHVnSW4gaW5m
b3JtYXRpb24gaGFzIGJlZW4KKyAgICAgICAgc3VjY2Vzc2Z1bGx5IGxvYWRlZDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5JbmZvU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0
OjpQbHVnaW5JbmZvU3RvcmU6OlBsdWdpbkluZm9TdG9yZSk6IEluaXRpYWxpemUgbV9jbGllbnQg
dG8gMC4KKyAgICAgICAgKFdlYktpdDo6UGx1Z2luSW5mb1N0b3JlOjpsb2FkUGx1Z2luc0lmTmVj
ZXNzYXJ5KTogSWYgdGhlIGNsaWVudCBpcyBwcmVzZW50LCBub3RpZnkgYWZ0ZXIgbG9hZGluZyB0
aGUgcGx1Z2luIHN0b3JlLgorICAgICAgICAqIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9T
dG9yZS5oOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5JbmZvU3RvcmVDbGllbnQ6On5QbHVnaW5J
bmZvU3RvcmVDbGllbnQpOiBEZWZhdWx0IGRlc3RydWN0b3IuCisgICAgICAgIChXZWJLaXQ6OlBs
dWdpbkluZm9TdG9yZUNsaWVudDo6UGx1Z2luSW5mb1N0b3JlQ2xpZW50KTogRGVmYXVsdCBjb25z
dHJ1Y3Rvci4KKyAgICAgICAgKFdlYktpdDo6UGx1Z2luSW5mb1N0b3JlOjpzZXRDbGllbnQpOiBT
aW1wbGUgc2V0dGVyLgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5JbmZvU3RvcmU6OmNsaWVudCk6
IFNpbXBsZSBnZXR0ZXIuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29udGV4dC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OldlYkNvbnRleHQpOiBTZXQgc2VsZiBhcyB0aGUg
Y2xpZW50IG9mIFBsdWdpbkluZm9TdG9yZS4KKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6
fldlYkNvbnRleHQpOiBDbGVhciB0aGUgY2xpZW50IG9mIFBsdWdpbkluZm9TdG9yZS4KKyAgICAg
ICAgKFdlYktpdDo6V2ViQ29udGV4dDo6cGx1Z2luSW5mb1N0b3JlRGlkTG9hZFBsdWdpbnMpOiBQ
YXNzIHRoZSBjYWxsYmFjayB0byBvd24gY2xpZW50LgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJD
b250ZXh0Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHRDbGllbnQuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJDb250ZXh0Q2xpZW50OjpwbHVnSW5JbmZvcm1hdGlvbkF2YWlsYWJs
ZSk6IFBhc3MgdGhlIGNhbGxiYWNrIHRvIHRoZSByZWdpc3RlcmVkIFdLIGNhbGxiYWNrLCBpZiBw
cmVzZW50LgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0Q2xpZW50Lmg6CisKIDIwMTMt
MDMtMDQgIEt1bmloaWtvIFNha2Ftb3RvICA8a3Nha2Ftb3RvQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBBZGQgYnVpbGQgZmxhZyBmb3IgRm9udExvYWRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QVBJQ2xpZW50VHJhaXRzLmNwcAppbmRleCA1ZWNkYWIzYjEzODE5NDBlYzBhOWZkOTg5OTk5ZWJj
NGU1NmMyYTY5Li5lNjEzOGMzMTU2Y2NmYjA1Yzk0ZmE3OWZhODdiOTQ4NjViNzZlOGI2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmNwcApAQCAtODcsNiArODcsMTEg
QEAgY29uc3Qgc2l6ZV90IEFQSUNsaWVudFRyYWl0czxXS0J1bmRsZVBhZ2VVSUNsaWVudD46Omlu
dGVyZmFjZVNpemVzQnlWZXJzaW9uW10gPQogICAgIHNpemVvZihXS0J1bmRsZVBhZ2VVSUNsaWVu
dCkKIH07CiAKK2NvbnN0IHNpemVfdCBBUElDbGllbnRUcmFpdHM8V0tDb250ZXh0Q2xpZW50Pjo6
aW50ZXJmYWNlU2l6ZXNCeVZlcnNpb25bXSA9IHsKKyAgICBvZmZzZXRvZihXS0NvbnRleHRDbGll
bnQsIHBsdWdJbkluZm9ybWF0aW9uQXZhaWxhYmxlKSwKKyAgICBzaXplb2YoV0tDb250ZXh0Q2xp
ZW50KQorfTsKKwogY29uc3Qgc2l6ZV90IEFQSUNsaWVudFRyYWl0czxXS0NvbnRleHRJbmplY3Rl
ZEJ1bmRsZUNsaWVudD46OmludGVyZmFjZVNpemVzQnlWZXJzaW9uW10gPSB7CiAgICAgb2Zmc2V0
b2YoV0tDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQsIGdldEluamVjdGVkQnVuZGxlSW5pdGlh
bGl6YXRpb25Vc2VyRGF0YSksCiAgICAgc2l6ZW9mKFdLQ29udGV4dEluamVjdGVkQnVuZGxlQ2xp
ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5o
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5oCmluZGV4IGEwNjI5NTZl
ZjllNzIzMWYzOWVjMGY4ZTZjZDRkZTIwYWIyNGExZGMuLmQzOTEyYzk2ZjQ3ZjI0MmE3YjY4YWE3
N2M5M2ZjZjVmZGI5OGJlY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElD
bGllbnRUcmFpdHMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRz
LmgKQEAgLTc5LDYgKzc5LDEwIEBAIHRlbXBsYXRlPD4gc3RydWN0IEFQSUNsaWVudFRyYWl0czxX
S0J1bmRsZVBhZ2VFZGl0b3JDbGllbnQ+IHsKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGludGVy
ZmFjZVNpemVzQnlWZXJzaW9uWzJdOwogfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgQVBJQ2xpZW50
VHJhaXRzPFdLQ29udGV4dENsaWVudD4geworICAgIHN0YXRpYyBjb25zdCBzaXplX3QgaW50ZXJm
YWNlU2l6ZXNCeVZlcnNpb25bMl07Cit9OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBUElDbGllbnRU
cmFpdHM8V0tDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQ+IHsKICAgICBzdGF0aWMgY29uc3Qg
c2l6ZV90IGludGVyZmFjZVNpemVzQnlWZXJzaW9uWzJdOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaAppbmRleCBmZTdjMjA4NDllN2NjZDJlZDk3YzBhMDk2
ZDZmZTg4NDAwNjlmYWM3Li4yNWQwNGRkNzBkOTZlMTI2OGQ3ZDMxOTdjYmY4NjEzYTEwMzNiMjdj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5oCkBAIC00Miwx
NiArNDIsMTggQEAgdHlwZWRlZiB1aW50MzJfdCBXS0NhY2hlTW9kZWw7CiAvLyBDb250ZXh0IENs
aWVudAogdHlwZWRlZiB2b2lkICgqV0tDb250ZXh0UGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaGVz
Q2hhbmdlZENhbGxiYWNrKShXS0NvbnRleHRSZWYgY29udGV4dCwgY29uc3Qgdm9pZCAqY2xpZW50
SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS0NvbnRleHROZXR3b3JrUHJvY2Vzc0RpZENyYXNoQ2Fs
bGJhY2spKFdLQ29udGV4dFJlZiBjb250ZXh0LCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKK3R5
cGVkZWYgdm9pZCAoKldLQ29udGV4dFBsdWdJbkluZm9ybWF0aW9uQXZhaWxhYmxlQ2FsbGJhY2sp
KFdLQ29udGV4dFJlZiBjb250ZXh0LCBXS0FycmF5UmVmIHBsdWdJbiwgY29uc3Qgdm9pZCAqY2xp
ZW50SW5mbyk7CiAKIHN0cnVjdCBXS0NvbnRleHRDbGllbnQgewogICAgIGludCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVy
c2lvbjsKICAgICBjb25zdCB2b2lkICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNsaWVudEluZm87CiAgICAgV0tDb250ZXh0UGx1Z0luQXV0
b1N0YXJ0T3JpZ2luSGFzaGVzQ2hhbmdlZENhbGxiYWNrICAgICAgICAgICAgICAgICBwbHVnSW5B
dXRvU3RhcnRPcmlnaW5IYXNoZXNDaGFuZ2VkOwogICAgIFdLQ29udGV4dE5ldHdvcmtQcm9jZXNz
RGlkQ3Jhc2hDYWxsYmFjayAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV0d29ya1Byb2Nl
c3NEaWRDcmFzaDsKKyAgICBXS0NvbnRleHRQbHVnSW5JbmZvcm1hdGlvbkF2YWlsYWJsZUNhbGxi
YWNrICAgICAgICAgICAgICAgICAgICAgICAgIHBsdWdJbkluZm9ybWF0aW9uQXZhaWxhYmxlOwog
fTsKIHR5cGVkZWYgc3RydWN0IFdLQ29udGV4dENsaWVudCBXS0NvbnRleHRDbGllbnQ7CiAKLWVu
dW0geyBrV0tDb250ZXh0Q2xpZW50Q3VycmVudFZlcnNpb24gPSAwIH07CitlbnVtIHsga1dLQ29u
dGV4dENsaWVudEN1cnJlbnRWZXJzaW9uID0gMSB9OwogCiAvLyBJbmplY3RlZCBCdW5kbGUgQ2xp
ZW50CiB0eXBlZGVmIHZvaWQgKCpXS0NvbnRleHREaWRSZWNlaXZlTWVzc2FnZUZyb21JbmplY3Rl
ZEJ1bmRsZUNhbGxiYWNrKShXS0NvbnRleHRSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZU5h
bWUsIFdLVHlwZVJlZiBtZXNzYWdlQm9keSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5JbmZvU3RvcmUu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmNw
cAppbmRleCBiNzliNWFmNzY1ZThiYzgwNjQzNGY4YzNkYjQwNWY5NmU2NjUyZDhiLi42YWMxNGIw
Yzc4OTNiNTY0MjhjZjE0ZGU5NDA5ZWE2ZDIxMGNhYTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5JbmZvU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5jcHAKQEAgLTQyLDYgKzQy
LDcgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIFBsdWdpbkluZm9TdG9yZTo6UGx1Z2luSW5mb1N0
b3JlKCkKICAgICA6IG1fcGx1Z2luTGlzdElzVXBUb0RhdGUoZmFsc2UpCisgICAgLCBtX2NsaWVu
dCgwKQogewogfQogCkBAIC05Nyw2ICs5OCw5IEBAIHZvaWQgUGx1Z2luSW5mb1N0b3JlOjpsb2Fk
UGx1Z2luc0lmTmVjZXNzYXJ5KCkKICAgICAgICAgbG9hZFBsdWdpbihtX3BsdWdpbnMsICppdCk7
CiAKICAgICBtX3BsdWdpbkxpc3RJc1VwVG9EYXRlID0gdHJ1ZTsKKworICAgIGlmIChtX2NsaWVu
dCkKKyAgICAgICAgbV9jbGllbnQtPnBsdWdpbkluZm9TdG9yZURpZExvYWRQbHVnaW5zKHRoaXMp
OwogfQogCiB2b2lkIFBsdWdpbkluZm9TdG9yZTo6bG9hZFBsdWdpbihWZWN0b3I8UGx1Z2luTW9k
dWxlSW5mbz4mIHBsdWdpbnMsIGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmgKaW5kZXggMTdj
ZjJjNDJhNjM5MTdmNTc3MThmMGEwYTlhZDhkZDQ1MzE0N2U3OS4uMThhM2Q0MThlNDNmMDRlMzU5
NmM3YmQwZDhhMjBmNDc5ODY5ZWNkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmgKQEAgLTM2LDYgKzM2LDE3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKK2NsYXNzIFBsdWdpbkluZm9TdG9y
ZTsKKworY2xhc3MgUGx1Z2luSW5mb1N0b3JlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShQbHVnaW5JbmZvU3RvcmVDbGllbnQpOworcHVibGljOgorICAgIHZpcnR1YWwgflBsdWdp
bkluZm9TdG9yZUNsaWVudCgpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBwbHVnaW5JbmZvU3RvcmVE
aWRMb2FkUGx1Z2lucyhQbHVnaW5JbmZvU3RvcmUqKSA9IDA7Citwcm90ZWN0ZWQ6CisgICAgUGx1
Z2luSW5mb1N0b3JlQ2xpZW50KCkgeyB9Cit9OworCiBjbGFzcyBQbHVnaW5JbmZvU3RvcmUgewog
ICAgIFdURl9NQUtFX05PTkNPUFlBQkxFKFBsdWdpbkluZm9TdG9yZSk7CiAKQEAgLTU4LDYgKzY5
LDkgQEAgcHVibGljOgogICAgIHN0YXRpYyBQbHVnaW5Nb2R1bGVMb2FkUG9saWN5IHBvbGljeUZv
clBsdWdpbihjb25zdCBQbHVnaW5Nb2R1bGVJbmZvJik7CiAgICAgc3RhdGljIGJvb2wgcmVhY3Rp
dmF0ZUluYWN0aXZlUGx1Z2luKGNvbnN0IFBsdWdpbk1vZHVsZUluZm8mKTsKIAorICAgIHZvaWQg
c2V0Q2xpZW50KFBsdWdpbkluZm9TdG9yZUNsaWVudCogY2xpZW50KSB7IG1fY2xpZW50ID0gY2xp
ZW50OyB9CisgICAgUGx1Z2luSW5mb1N0b3JlQ2xpZW50KiBjbGllbnQoKSBjb25zdCB7IHJldHVy
biBtX2NsaWVudDsgfQorCiBwcml2YXRlOgogICAgIFBsdWdpbk1vZHVsZUluZm8gZmluZFBsdWdp
bkZvck1JTUVUeXBlKGNvbnN0IFN0cmluZyYgbWltZVR5cGUpIGNvbnN0OwogICAgIFBsdWdpbk1v
ZHVsZUluZm8gZmluZFBsdWdpbkZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4dGVuc2lvbiwg
U3RyaW5nJiBtaW1lVHlwZSkgY29uc3Q7CkBAIC04OCw2ICsxMDIsNyBAQCBwcml2YXRlOgogICAg
IFZlY3RvcjxTdHJpbmc+IG1fYWRkaXRpb25hbFBsdWdpbnNEaXJlY3RvcmllczsKICAgICBWZWN0
b3I8UGx1Z2luTW9kdWxlSW5mbz4gbV9wbHVnaW5zOwogICAgIGJvb2wgbV9wbHVnaW5MaXN0SXNV
cFRvRGF0ZTsKKyAgICBQbHVnaW5JbmZvU3RvcmVDbGllbnQqIG1fY2xpZW50OwogfTsKICAgICAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYkNvbnRleHQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQu
Y3BwCmluZGV4IGJjNzhiZjQ2NThkMzNkZDZlM2NmYjNhYzIyOTY2NWY1NTU4NDhkMTguLmI3OTkx
ZTZhZTI3MmI1YzFhNGIxNjMxYTkxZjUzOTg1ODlhYTE0YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQ29udGV4dC5jcHAKQEAgLTE4OSw2ICsxODksOCBAQCBXZWJDb250ZXh0OjpXZWJD
b250ZXh0KFByb2Nlc3NNb2RlbCBwcm9jZXNzTW9kZWwsIGNvbnN0IFN0cmluZyYgaW5qZWN0ZWRC
dW5kbGVQYQogICAgIFdlYktpdDo6aW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKTsK
ICNlbmRpZiAvLyAhTE9HX0RJU0FCTEVECiAKKyAgICBtX3BsdWdpbkluZm9TdG9yZS5zZXRDbGll
bnQodGhpcyk7CisKICNpZm5kZWYgTkRFQlVHCiAgICAgd2ViQ29udGV4dENvdW50ZXIuaW5jcmVt
ZW50KCk7CiAjZW5kaWYKQEAgLTIzNyw3ICsyMzksOSBAQCBXZWJDb250ZXh0Ojp+V2ViQ29udGV4
dCgpCiAgICAgaW52YWxpZGF0ZUNhbGxiYWNrTWFwKG1fZGljdGlvbmFyeUNhbGxiYWNrcyk7CiAK
ICAgICBwbGF0Zm9ybUludmFsaWRhdGVDb250ZXh0KCk7Ci0gICAgCisKKyAgICBtX3BsdWdpbklu
Zm9TdG9yZS5zZXRDbGllbnQoMCk7CisKICNpZm5kZWYgTkRFQlVHCiAgICAgd2ViQ29udGV4dENv
dW50ZXIuZGVjcmVtZW50KCk7CiAjZW5kaWYKQEAgLTExODcsNCArMTE5MSwzMyBAQCB2b2lkIFdl
YkNvbnRleHQ6OnVucmVnaXN0ZXJTY2hlbWVGb3JDdXN0b21Qcm90b2NvbChjb25zdCBTdHJpbmcm
IHNjaGVtZSkKIH0KICNlbmRpZgogCit2b2lkIFdlYkNvbnRleHQ6OnBsdWdpbkluZm9TdG9yZURp
ZExvYWRQbHVnaW5zKFBsdWdpbkluZm9TdG9yZSogc3RvcmUpCit7CisgICAgQVNTRVJUKHN0b3Jl
ID09ICZtX3BsdWdpbkluZm9TdG9yZSk7CisKKyAgICBWZWN0b3I8UmVmUHRyPEFQSU9iamVjdD4g
PiBwbHVnaW5BcnJheTsKKworICAgIFZlY3RvcjxQbHVnaW5Nb2R1bGVJbmZvPiBwbHVnaW5zID0g
bV9wbHVnaW5JbmZvU3RvcmUucGx1Z2lucygpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
cGx1Z2lucy5zaXplKCk7ICsraSkgeworICAgICAgICBQbHVnaW5Nb2R1bGVJbmZvJiBwbHVnaW4g
PSBwbHVnaW5zW2ldOworICAgICAgICBJbW11dGFibGVEaWN0aW9uYXJ5OjpNYXBUeXBlIG1hcDsK
KyAgICAgICAgbWFwLnNldChBU0NJSUxpdGVyYWwoInBhdGgiKSwgV2ViU3RyaW5nOjpjcmVhdGUo
cGx1Z2luLnBhdGgpKTsKKyAgICAgICAgbWFwLnNldChBU0NJSUxpdGVyYWwoIm5hbWUiKSwgV2Vi
U3RyaW5nOjpjcmVhdGUocGx1Z2luLmluZm8ubmFtZSkpOworICAgICAgICBtYXAuc2V0KEFTQ0lJ
TGl0ZXJhbCgiZmlsZSIpLCBXZWJTdHJpbmc6OmNyZWF0ZShwbHVnaW4uaW5mby5maWxlKSk7Cisg
ICAgICAgIG1hcC5zZXQoQVNDSUlMaXRlcmFsKCJkZXNjIiksIFdlYlN0cmluZzo6Y3JlYXRlKHBs
dWdpbi5pbmZvLmRlc2MpKTsKKyAgICAgICAgVmVjdG9yPFJlZlB0cjxBUElPYmplY3Q+ID4gbWlt
ZUFycmF5OworICAgICAgICBmb3IgKHNpemVfdCBqID0gMDsgaiA8ICBwbHVnaW4uaW5mby5taW1l
cy5zaXplKCk7ICsraikKKyAgICAgICAgICAgIG1pbWVBcnJheS5hcHBlbmQoV2ViU3RyaW5nOjpj
cmVhdGUocGx1Z2luLmluZm8ubWltZXNbal0udHlwZSkpOworICAgICAgICBtYXAuc2V0KEFTQ0lJ
TGl0ZXJhbCgibWltZXMiKSwgSW1tdXRhYmxlQXJyYXk6OmFkb3B0KG1pbWVBcnJheSkpOworI2lm
IFBMQVRGT1JNKE1BQykKKyAgICAgICAgbWFwLnNldChBU0NJSUxpdGVyYWwoImJ1bmRsZUlkIiks
IFdlYlN0cmluZzo6Y3JlYXRlKHBsdWdpbi5idW5kbGVJZGVudGlmaWVyKSk7CisgICAgICAgIG1h
cC5zZXQoQVNDSUlMaXRlcmFsKCJ2ZXJzaW9uIiksIFdlYlN0cmluZzo6Y3JlYXRlKHBsdWdpbi52
ZXJzaW9uU3RyaW5nKSk7CisjZW5kaWYKKworICAgICAgICBwbHVnaW5BcnJheS5hcHBlbmQoSW1t
dXRhYmxlRGljdGlvbmFyeTo6YWRvcHQobWFwKSk7CisgICAgfQorCisgICAgbV9jbGllbnQucGx1
Z0luSW5mb3JtYXRpb25BdmFpbGFibGUodGhpcywgSW1tdXRhYmxlQXJyYXk6OmFkb3B0KHBsdWdp
bkFycmF5KS5sZWFrUmVmKCkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmggYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oCmluZGV4IGVmM2JjMjY3YTU1MDY3YjlhYjQwNWE2OGMx
YjZjM2M3MzdmYzU1MzIuLjVlZWY5YTY4OWRjYTZiMGQ5Mjg0YzA1MWU4OWJjZWYxODcwNmJlNzYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaApAQCAtODQsNyArODQsNyBAQCBl
eHRlcm4gTlNTdHJpbmcgKlNjaGVtZUZvckN1c3RvbVByb3RvY29sUmVnaXN0ZXJlZE5vdGlmaWNh
dGlvbk5hbWU7CiBleHRlcm4gTlNTdHJpbmcgKlNjaGVtZUZvckN1c3RvbVByb3RvY29sVW5yZWdp
c3RlcmVkTm90aWZpY2F0aW9uTmFtZTsKICNlbmRpZgogCi1jbGFzcyBXZWJDb250ZXh0IDogcHVi
bGljIEFQSU9iamVjdCwgcHJpdmF0ZSBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIgeworY2xhc3Mg
V2ViQ29udGV4dCA6IHB1YmxpYyBBUElPYmplY3QsIHByaXZhdGUgUGx1Z2luSW5mb1N0b3JlQ2xp
ZW50LCBwcml2YXRlIENvcmVJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIGNvbnN0IFR5cGUgQVBJVHlwZSA9IFR5cGVDb250ZXh0OwogCkBAIC0zNzEsNiArMzcxLDkg
QEAgcHJpdmF0ZToKICAgICB2b2lkIGFkZFBsdWdJbkF1dG9TdGFydE9yaWdpbkhhc2goY29uc3Qg
U3RyaW5nJiBwYWdlT3JpZ2luLCB1bnNpZ25lZCBwbHVnSW5PcmlnaW5IYXNoKTsKICAgICB2b2lk
IHBsdWdJbkRpZFJlY2VpdmVVc2VySW50ZXJhY3Rpb24odW5zaWduZWQgcGx1Z0luT3JpZ2luSGFz
aCk7CiAKKyAgICAvLyBQbHVnaW5JbmZvU3RvcmVDbGllbnQ6CisgICAgdmlydHVhbCB2b2lkIHBs
dWdpbkluZm9TdG9yZURpZExvYWRQbHVnaW5zKFBsdWdpbkluZm9TdG9yZSopIE9WRVJSSURFOwor
CiAgICAgQ29yZUlQQzo6TWVzc2FnZVJlY2VpdmVyTWFwIG1fbWVzc2FnZVJlY2VpdmVyTWFwOwog
CiAgICAgUHJvY2Vzc01vZGVsIG1fcHJvY2Vzc01vZGVsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHRDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYkNvbnRleHRDbGllbnQuY3BwCmluZGV4IDJiYzk0Mjg5ZDUyMDU5NTMxYzQzNTM0
NGZkMjcxZGU4OTE1MmJkMDkuLmE3NzJhMWZlYjMxMTdmNjQ4MmFiMzExYWQwZTNhNzk2NWIyNjUx
OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0Q2xpZW50
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dENsaWVudC5jcHAK
QEAgLTQ2LDQgKzQ2LDEyIEBAIHZvaWQgV2ViQ29udGV4dENsaWVudDo6bmV0d29ya1Byb2Nlc3NE
aWRDcmFzaChXZWJDb250ZXh0KiBjb250ZXh0KQogICAgIG1fY2xpZW50Lm5ldHdvcmtQcm9jZXNz
RGlkQ3Jhc2godG9BUEkoY29udGV4dCksIG1fY2xpZW50LmNsaWVudEluZm8pOwogfQogCit2b2lk
IFdlYkNvbnRleHRDbGllbnQ6OnBsdWdJbkluZm9ybWF0aW9uQXZhaWxhYmxlKFdlYkNvbnRleHQq
IGNvbnRleHQsIEltbXV0YWJsZUFycmF5KiBwbHVnSW5JbmZvKQoreworICAgIGlmICghbV9jbGll
bnQucGx1Z0luSW5mb3JtYXRpb25BdmFpbGFibGUpCisgICAgICAgIHJldHVybjsKKworICAgIG1f
Y2xpZW50LnBsdWdJbkluZm9ybWF0aW9uQXZhaWxhYmxlKHRvQVBJKGNvbnRleHQpLCB0b0FQSShw
bHVnSW5JbmZvKSwgbV9jbGllbnQuY2xpZW50SW5mbyk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHRDbGll
bnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0Q2xpZW50LmgKaW5kZXgg
OGIzYTczN2I2OTA2YTcyZWUwZjM0NDUxNDc1MjA4NTUzNzEyNGU3Zi4uODk3N2RhNWQyY2I0OGRi
NGRhMjRiMzk3MTQ1YTZiNTIzYTk5ZjAzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1dlYkNvbnRleHRDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViQ29udGV4dENsaWVudC5oCkBAIC0zMSwxMiArMzEsMTQgQEAKIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKK2NsYXNzIEltbXV0YWJsZUFycmF5OwogY2xhc3MgV2ViQ29udGV4dDsKIAogY2xhc3Mg
V2ViQ29udGV4dENsaWVudCA6IHB1YmxpYyBBUElDbGllbnQ8V0tDb250ZXh0Q2xpZW50LCBrV0tD
b250ZXh0Q2xpZW50Q3VycmVudFZlcnNpb24+IHsKIHB1YmxpYzoKICAgICB2b2lkIHBsdWdJbkF1
dG9TdGFydE9yaWdpbkhhc2hlc0NoYW5nZWQoV2ViQ29udGV4dCopOwogICAgIHZvaWQgbmV0d29y
a1Byb2Nlc3NEaWRDcmFzaChXZWJDb250ZXh0Kik7CisgICAgdm9pZCBwbHVnSW5JbmZvcm1hdGlv
bkF2YWlsYWJsZShXZWJDb250ZXh0KiwgSW1tdXRhYmxlQXJyYXkqKTsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYktpdAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>191289</attachid>
            <date>2013-03-04 12:24:46 -0800</date>
            <delta_ts>2013-03-04 12:34:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-111245-20130304122054.patch</filename>
            <type>text/plain</type>
            <size>12425</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ0NjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTM0NjUyZWUzNjU5Mzg2
ZDQ3ODlmMDgxOWE0ZTMyZDE3MWM2NmRkMy4uMWNkZDA0MTNlZWMwMzVhNDQ2YTViZDIxNzZlZTBm
OTQ5NTBjY2U3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEzLTAzLTA0ICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBBUEkgdG8gYWxsb3cg
V0syIGNsaWVudHMgdG8gcXVlcnkgdGhlIGxpc3Qgb2YgaW5zdGFsbGVkIHBsdWctaW5zLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTExMjQ1CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIEFQSSBpbiBX
S0NvbnRleHQsIGltcGxlbWVudGVkIGJ5IFdlYkNvbnRleHQsIHRoYXQgYWxsb3dzIGNhbGxlcnMg
dG8gcmVnaXN0ZXIgYSBjYWxsYmFjayAKKyAgICAgICAgcmV0cmlldmUgYW4gYXJyYXkgY29udGFp
bmluZyBpbnN0YWxsZWQgcGx1Z2luIGluZm9ybWF0aW9uLiBUaGlzIEFQSSBpcyBleHBvc2VkIHRo
cm91Z2ggV2ViQ29udGV4dCAKKyAgICAgICAgYmVjYXVzZSBpdCBvd25zIHRoZSBQbHVnaW5JbmZv
U3RvcmUgdXNlZCB0byBmdWxmaWxsIHRoZSByZXF1ZXN0LgorCisgICAgICAgIEJ1bXAgdGhlIFdL
Q29udGV4dENsaWVudCBBUEkgYnkgMToKKyAgICAgICAgKiBTaGFyZWQvQVBJQ2xpZW50VHJhaXRz
LmNwcDoKKyAgICAgICAgKiBTaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9DL1dLQ29udGV4dC5oOgorCisgICAgICAgIEFkZCBhIGNsaWVudCBwcm90b2Nv
bCB0byBQbHVnaW5JbmZvU3RvcmUgdG8gbm90aWZ5IHRoZSBjbGllbnQgd2hlbiBwbHVnSW4gaW5m
b3JtYXRpb24gaGFzIGJlZW4KKyAgICAgICAgc3VjY2Vzc2Z1bGx5IGxvYWRlZDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5JbmZvU3RvcmUuY3BwOgorICAgICAgICAoV2ViS2l0
OjpQbHVnaW5JbmZvU3RvcmU6OlBsdWdpbkluZm9TdG9yZSk6IEluaXRpYWxpemUgbV9jbGllbnQg
dG8gMC4KKyAgICAgICAgKFdlYktpdDo6UGx1Z2luSW5mb1N0b3JlOjpsb2FkUGx1Z2luc0lmTmVj
ZXNzYXJ5KTogSWYgdGhlIGNsaWVudCBpcyBwcmVzZW50LCBub3RpZnkgYWZ0ZXIgbG9hZGluZyB0
aGUgcGx1Z2luIHN0b3JlLgorICAgICAgICAqIFVJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9T
dG9yZS5oOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5JbmZvU3RvcmVDbGllbnQ6On5QbHVnaW5J
bmZvU3RvcmVDbGllbnQpOiBEZWZhdWx0IGRlc3RydWN0b3IuCisgICAgICAgIChXZWJLaXQ6OlBs
dWdpbkluZm9TdG9yZUNsaWVudDo6UGx1Z2luSW5mb1N0b3JlQ2xpZW50KTogRGVmYXVsdCBjb25z
dHJ1Y3Rvci4KKyAgICAgICAgKFdlYktpdDo6UGx1Z2luSW5mb1N0b3JlOjpzZXRDbGllbnQpOiBT
aW1wbGUgc2V0dGVyLgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5JbmZvU3RvcmU6OmNsaWVudCk6
IFNpbXBsZSBnZXR0ZXIuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViQ29udGV4dC5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OldlYkNvbnRleHQpOiBTZXQgc2VsZiBhcyB0aGUg
Y2xpZW50IG9mIFBsdWdpbkluZm9TdG9yZS4KKyAgICAgICAgKFdlYktpdDo6V2ViQ29udGV4dDo6
fldlYkNvbnRleHQpOiBDbGVhciB0aGUgY2xpZW50IG9mIFBsdWdpbkluZm9TdG9yZS4KKyAgICAg
ICAgKFdlYktpdDo6V2ViQ29udGV4dDo6cGx1Z2luSW5mb1N0b3JlRGlkTG9hZFBsdWdpbnMpOiBQ
YXNzIHRoZSBjYWxsYmFjayB0byBvd24gY2xpZW50LgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJD
b250ZXh0Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYkNvbnRleHRDbGllbnQuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJDb250ZXh0Q2xpZW50OjpwbHVnSW5JbmZvcm1hdGlvbkF2YWlsYWJs
ZSk6IFBhc3MgdGhlIGNhbGxiYWNrIHRvIHRoZSByZWdpc3RlcmVkIFdLIGNhbGxiYWNrLCBpZiBw
cmVzZW50LgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJDb250ZXh0Q2xpZW50Lmg6CisKIDIwMTMt
MDMtMDQgIEt1bmloaWtvIFNha2Ftb3RvICA8a3Nha2Ftb3RvQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBBZGQgYnVpbGQgZmxhZyBmb3IgRm9udExvYWRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QVBJQ2xpZW50VHJhaXRzLmNwcAppbmRleCA1ZWNkYWIzYjEzODE5NDBlYzBhOWZkOTg5OTk5ZWJj
NGU1NmMyYTY5Li5lNjEzOGMzMTU2Y2NmYjA1Yzk0ZmE3OWZhODdiOTQ4NjViNzZlOGI2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRzLmNwcApAQCAtODcsNiArODcsMTEg
QEAgY29uc3Qgc2l6ZV90IEFQSUNsaWVudFRyYWl0czxXS0J1bmRsZVBhZ2VVSUNsaWVudD46Omlu
dGVyZmFjZVNpemVzQnlWZXJzaW9uW10gPQogICAgIHNpemVvZihXS0J1bmRsZVBhZ2VVSUNsaWVu
dCkKIH07CiAKK2NvbnN0IHNpemVfdCBBUElDbGllbnRUcmFpdHM8V0tDb250ZXh0Q2xpZW50Pjo6
aW50ZXJmYWNlU2l6ZXNCeVZlcnNpb25bXSA9IHsKKyAgICBvZmZzZXRvZihXS0NvbnRleHRDbGll
bnQsIHBsdWdJbkluZm9ybWF0aW9uQXZhaWxhYmxlKSwKKyAgICBzaXplb2YoV0tDb250ZXh0Q2xp
ZW50KQorfTsKKwogY29uc3Qgc2l6ZV90IEFQSUNsaWVudFRyYWl0czxXS0NvbnRleHRJbmplY3Rl
ZEJ1bmRsZUNsaWVudD46OmludGVyZmFjZVNpemVzQnlWZXJzaW9uW10gPSB7CiAgICAgb2Zmc2V0
b2YoV0tDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQsIGdldEluamVjdGVkQnVuZGxlSW5pdGlh
bGl6YXRpb25Vc2VyRGF0YSksCiAgICAgc2l6ZW9mKFdLQ29udGV4dEluamVjdGVkQnVuZGxlQ2xp
ZW50KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5o
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSUNsaWVudFRyYWl0cy5oCmluZGV4IGEwNjI5NTZl
ZjllNzIzMWYzOWVjMGY4ZTZjZDRkZTIwYWIyNGExZGMuLmQzOTEyYzk2ZjQ3ZjI0MmE3YjY4YWE3
N2M5M2ZjZjVmZGI5OGJlY2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUElD
bGllbnRUcmFpdHMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50VHJhaXRz
LmgKQEAgLTc5LDYgKzc5LDEwIEBAIHRlbXBsYXRlPD4gc3RydWN0IEFQSUNsaWVudFRyYWl0czxX
S0J1bmRsZVBhZ2VFZGl0b3JDbGllbnQ+IHsKICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IGludGVy
ZmFjZVNpemVzQnlWZXJzaW9uWzJdOwogfTsKIAordGVtcGxhdGU8PiBzdHJ1Y3QgQVBJQ2xpZW50
VHJhaXRzPFdLQ29udGV4dENsaWVudD4geworICAgIHN0YXRpYyBjb25zdCBzaXplX3QgaW50ZXJm
YWNlU2l6ZXNCeVZlcnNpb25bMl07Cit9OworCiB0ZW1wbGF0ZTw+IHN0cnVjdCBBUElDbGllbnRU
cmFpdHM8V0tDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQ+IHsKICAgICBzdGF0aWMgY29uc3Qg
c2l6ZV90IGludGVyZmFjZVNpemVzQnlWZXJzaW9uWzJdOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaAppbmRleCBmZTdjMjA4NDllN2NjZDJlZDk3YzBhMDk2
ZDZmZTg4NDAwNjlmYWM3Li5mODYxMmE3YzZhMTFiNDM0ODEwMzEyMjhlZTBmOTQwZTQwY2UwYjE2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmgK
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5oCkBAIC00Miwx
NiArNDIsMjIgQEAgdHlwZWRlZiB1aW50MzJfdCBXS0NhY2hlTW9kZWw7CiAvLyBDb250ZXh0IENs
aWVudAogdHlwZWRlZiB2b2lkICgqV0tDb250ZXh0UGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaGVz
Q2hhbmdlZENhbGxiYWNrKShXS0NvbnRleHRSZWYgY29udGV4dCwgY29uc3Qgdm9pZCAqY2xpZW50
SW5mbyk7CiB0eXBlZGVmIHZvaWQgKCpXS0NvbnRleHROZXR3b3JrUHJvY2Vzc0RpZENyYXNoQ2Fs
bGJhY2spKFdLQ29udGV4dFJlZiBjb250ZXh0LCBjb25zdCB2b2lkICpjbGllbnRJbmZvKTsKK3R5
cGVkZWYgdm9pZCAoKldLQ29udGV4dFBsdWdJbkluZm9ybWF0aW9uQXZhaWxhYmxlQ2FsbGJhY2sp
KFdLQ29udGV4dFJlZiBjb250ZXh0LCBXS0FycmF5UmVmIHBsdWdJbiwgY29uc3Qgdm9pZCAqY2xp
ZW50SW5mbyk7CiAKIHN0cnVjdCBXS0NvbnRleHRDbGllbnQgewogICAgIGludCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVy
c2lvbjsKICAgICBjb25zdCB2b2lkICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGNsaWVudEluZm87CisKKyAgICAvLyBWZXJzaW9uIDAuCiAg
ICAgV0tDb250ZXh0UGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaGVzQ2hhbmdlZENhbGxiYWNrICAg
ICAgICAgICAgICAgICBwbHVnSW5BdXRvU3RhcnRPcmlnaW5IYXNoZXNDaGFuZ2VkOwogICAgIFdL
Q29udGV4dE5ldHdvcmtQcm9jZXNzRGlkQ3Jhc2hDYWxsYmFjayAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgbmV0d29ya1Byb2Nlc3NEaWRDcmFzaDsKKworICAgIC8vIFZlcnNpb24gMS4KKyAg
ICBXS0NvbnRleHRQbHVnSW5JbmZvcm1hdGlvbkF2YWlsYWJsZUNhbGxiYWNrICAgICAgICAgICAg
ICAgICAgICAgICAgIHBsdWdJbkluZm9ybWF0aW9uQXZhaWxhYmxlOwogfTsKIHR5cGVkZWYgc3Ry
dWN0IFdLQ29udGV4dENsaWVudCBXS0NvbnRleHRDbGllbnQ7CiAKLWVudW0geyBrV0tDb250ZXh0
Q2xpZW50Q3VycmVudFZlcnNpb24gPSAwIH07CitlbnVtIHsga1dLQ29udGV4dENsaWVudEN1cnJl
bnRWZXJzaW9uID0gMSB9OwogCiAvLyBJbmplY3RlZCBCdW5kbGUgQ2xpZW50CiB0eXBlZGVmIHZv
aWQgKCpXS0NvbnRleHREaWRSZWNlaXZlTWVzc2FnZUZyb21JbmplY3RlZEJ1bmRsZUNhbGxiYWNr
KShXS0NvbnRleHRSZWYgcGFnZSwgV0tTdHJpbmdSZWYgbWVzc2FnZU5hbWUsIFdLVHlwZVJlZiBt
ZXNzYWdlQm9keSwgY29uc3Qgdm9pZCAqY2xpZW50SW5mbyk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5JbmZvU3RvcmUuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmNwcAppbmRleCBiNzliNWFm
NzY1ZThiYzgwNjQzNGY4YzNkYjQwNWY5NmU2NjUyZDhiLi42YWMxNGIwYzc4OTNiNTY0MjhjZjE0
ZGU5NDA5ZWE2ZDIxMGNhYTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5JbmZvU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5jcHAKQEAgLTQyLDYgKzQyLDcgQEAgbmFtZXNwYWNl
IFdlYktpdCB7CiAKIFBsdWdpbkluZm9TdG9yZTo6UGx1Z2luSW5mb1N0b3JlKCkKICAgICA6IG1f
cGx1Z2luTGlzdElzVXBUb0RhdGUoZmFsc2UpCisgICAgLCBtX2NsaWVudCgwKQogewogfQogCkBA
IC05Nyw2ICs5OCw5IEBAIHZvaWQgUGx1Z2luSW5mb1N0b3JlOjpsb2FkUGx1Z2luc0lmTmVjZXNz
YXJ5KCkKICAgICAgICAgbG9hZFBsdWdpbihtX3BsdWdpbnMsICppdCk7CiAKICAgICBtX3BsdWdp
bkxpc3RJc1VwVG9EYXRlID0gdHJ1ZTsKKworICAgIGlmIChtX2NsaWVudCkKKyAgICAgICAgbV9j
bGllbnQtPnBsdWdpbkluZm9TdG9yZURpZExvYWRQbHVnaW5zKHRoaXMpOwogfQogCiB2b2lkIFBs
dWdpbkluZm9TdG9yZTo6bG9hZFBsdWdpbihWZWN0b3I8UGx1Z2luTW9kdWxlSW5mbz4mIHBsdWdp
bnMsIGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5oIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmgKaW5kZXggMTdjZjJjNDJhNjM5MTdmNTc3
MThmMGEwYTlhZDhkZDQ1MzE0N2U3OS4uMThhM2Q0MThlNDNmMDRlMzU5NmM3YmQwZDhhMjBmNDc5
ODY5ZWNkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luSW5mb1N0b3JlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luSW5mb1N0b3JlLmgKQEAgLTM2LDYgKzM2LDE3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
bmFtZXNwYWNlIFdlYktpdCB7CiAKK2NsYXNzIFBsdWdpbkluZm9TdG9yZTsKKworY2xhc3MgUGx1
Z2luSW5mb1N0b3JlQ2xpZW50IHsKKyAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShQbHVnaW5JbmZv
U3RvcmVDbGllbnQpOworcHVibGljOgorICAgIHZpcnR1YWwgflBsdWdpbkluZm9TdG9yZUNsaWVu
dCgpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBwbHVnaW5JbmZvU3RvcmVEaWRMb2FkUGx1Z2lucyhQ
bHVnaW5JbmZvU3RvcmUqKSA9IDA7Citwcm90ZWN0ZWQ6CisgICAgUGx1Z2luSW5mb1N0b3JlQ2xp
ZW50KCkgeyB9Cit9OworCiBjbGFzcyBQbHVnaW5JbmZvU3RvcmUgewogICAgIFdURl9NQUtFX05P
TkNPUFlBQkxFKFBsdWdpbkluZm9TdG9yZSk7CiAKQEAgLTU4LDYgKzY5LDkgQEAgcHVibGljOgog
ICAgIHN0YXRpYyBQbHVnaW5Nb2R1bGVMb2FkUG9saWN5IHBvbGljeUZvclBsdWdpbihjb25zdCBQ
bHVnaW5Nb2R1bGVJbmZvJik7CiAgICAgc3RhdGljIGJvb2wgcmVhY3RpdmF0ZUluYWN0aXZlUGx1
Z2luKGNvbnN0IFBsdWdpbk1vZHVsZUluZm8mKTsKIAorICAgIHZvaWQgc2V0Q2xpZW50KFBsdWdp
bkluZm9TdG9yZUNsaWVudCogY2xpZW50KSB7IG1fY2xpZW50ID0gY2xpZW50OyB9CisgICAgUGx1
Z2luSW5mb1N0b3JlQ2xpZW50KiBjbGllbnQoKSBjb25zdCB7IHJldHVybiBtX2NsaWVudDsgfQor
CiBwcml2YXRlOgogICAgIFBsdWdpbk1vZHVsZUluZm8gZmluZFBsdWdpbkZvck1JTUVUeXBlKGNv
bnN0IFN0cmluZyYgbWltZVR5cGUpIGNvbnN0OwogICAgIFBsdWdpbk1vZHVsZUluZm8gZmluZFBs
dWdpbkZvckV4dGVuc2lvbihjb25zdCBTdHJpbmcmIGV4dGVuc2lvbiwgU3RyaW5nJiBtaW1lVHlw
ZSkgY29uc3Q7CkBAIC04OCw2ICsxMDIsNyBAQCBwcml2YXRlOgogICAgIFZlY3RvcjxTdHJpbmc+
IG1fYWRkaXRpb25hbFBsdWdpbnNEaXJlY3RvcmllczsKICAgICBWZWN0b3I8UGx1Z2luTW9kdWxl
SW5mbz4gbV9wbHVnaW5zOwogICAgIGJvb2wgbV9wbHVnaW5MaXN0SXNVcFRvRGF0ZTsKKyAgICBQ
bHVnaW5JbmZvU3RvcmVDbGllbnQqIG1fY2xpZW50OwogfTsKICAgICAKIH0gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwCmluZGV4IGJjNzhi
ZjQ2NThkMzNkZDZlM2NmYjNhYzIyOTY2NWY1NTU4NDhkMTguLmI3OTkxZTZhZTI3MmI1YzFhNGIx
NjMxYTkxZjUzOTg1ODlhYTE0YmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9XZWJDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4
dC5jcHAKQEAgLTE4OSw2ICsxODksOCBAQCBXZWJDb250ZXh0OjpXZWJDb250ZXh0KFByb2Nlc3NN
b2RlbCBwcm9jZXNzTW9kZWwsIGNvbnN0IFN0cmluZyYgaW5qZWN0ZWRCdW5kbGVQYQogICAgIFdl
YktpdDo6aW5pdGlhbGl6ZUxvZ0NoYW5uZWxzSWZOZWNlc3NhcnkoKTsKICNlbmRpZiAvLyAhTE9H
X0RJU0FCTEVECiAKKyAgICBtX3BsdWdpbkluZm9TdG9yZS5zZXRDbGllbnQodGhpcyk7CisKICNp
Zm5kZWYgTkRFQlVHCiAgICAgd2ViQ29udGV4dENvdW50ZXIuaW5jcmVtZW50KCk7CiAjZW5kaWYK
QEAgLTIzNyw3ICsyMzksOSBAQCBXZWJDb250ZXh0Ojp+V2ViQ29udGV4dCgpCiAgICAgaW52YWxp
ZGF0ZUNhbGxiYWNrTWFwKG1fZGljdGlvbmFyeUNhbGxiYWNrcyk7CiAKICAgICBwbGF0Zm9ybUlu
dmFsaWRhdGVDb250ZXh0KCk7Ci0gICAgCisKKyAgICBtX3BsdWdpbkluZm9TdG9yZS5zZXRDbGll
bnQoMCk7CisKICNpZm5kZWYgTkRFQlVHCiAgICAgd2ViQ29udGV4dENvdW50ZXIuZGVjcmVtZW50
KCk7CiAjZW5kaWYKQEAgLTExODcsNCArMTE5MSwzMyBAQCB2b2lkIFdlYkNvbnRleHQ6OnVucmVn
aXN0ZXJTY2hlbWVGb3JDdXN0b21Qcm90b2NvbChjb25zdCBTdHJpbmcmIHNjaGVtZSkKIH0KICNl
bmRpZgogCit2b2lkIFdlYkNvbnRleHQ6OnBsdWdpbkluZm9TdG9yZURpZExvYWRQbHVnaW5zKFBs
dWdpbkluZm9TdG9yZSogc3RvcmUpCit7CisgICAgQVNTRVJUKHN0b3JlID09ICZtX3BsdWdpbklu
Zm9TdG9yZSk7CisKKyAgICBWZWN0b3I8UmVmUHRyPEFQSU9iamVjdD4gPiBwbHVnaW5BcnJheTsK
KworICAgIFZlY3RvcjxQbHVnaW5Nb2R1bGVJbmZvPiBwbHVnaW5zID0gbV9wbHVnaW5JbmZvU3Rv
cmUucGx1Z2lucygpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcGx1Z2lucy5zaXplKCk7
ICsraSkgeworICAgICAgICBQbHVnaW5Nb2R1bGVJbmZvJiBwbHVnaW4gPSBwbHVnaW5zW2ldOwor
ICAgICAgICBJbW11dGFibGVEaWN0aW9uYXJ5OjpNYXBUeXBlIG1hcDsKKyAgICAgICAgbWFwLnNl
dChBU0NJSUxpdGVyYWwoInBhdGgiKSwgV2ViU3RyaW5nOjpjcmVhdGUocGx1Z2luLnBhdGgpKTsK
KyAgICAgICAgbWFwLnNldChBU0NJSUxpdGVyYWwoIm5hbWUiKSwgV2ViU3RyaW5nOjpjcmVhdGUo
cGx1Z2luLmluZm8ubmFtZSkpOworICAgICAgICBtYXAuc2V0KEFTQ0lJTGl0ZXJhbCgiZmlsZSIp
LCBXZWJTdHJpbmc6OmNyZWF0ZShwbHVnaW4uaW5mby5maWxlKSk7CisgICAgICAgIG1hcC5zZXQo
QVNDSUlMaXRlcmFsKCJkZXNjIiksIFdlYlN0cmluZzo6Y3JlYXRlKHBsdWdpbi5pbmZvLmRlc2Mp
KTsKKyAgICAgICAgVmVjdG9yPFJlZlB0cjxBUElPYmplY3Q+ID4gbWltZUFycmF5OworICAgICAg
ICBmb3IgKHNpemVfdCBqID0gMDsgaiA8ICBwbHVnaW4uaW5mby5taW1lcy5zaXplKCk7ICsraikK
KyAgICAgICAgICAgIG1pbWVBcnJheS5hcHBlbmQoV2ViU3RyaW5nOjpjcmVhdGUocGx1Z2luLmlu
Zm8ubWltZXNbal0udHlwZSkpOworICAgICAgICBtYXAuc2V0KEFTQ0lJTGl0ZXJhbCgibWltZXMi
KSwgSW1tdXRhYmxlQXJyYXk6OmFkb3B0KG1pbWVBcnJheSkpOworI2lmIFBMQVRGT1JNKE1BQykK
KyAgICAgICAgbWFwLnNldChBU0NJSUxpdGVyYWwoImJ1bmRsZUlkIiksIFdlYlN0cmluZzo6Y3Jl
YXRlKHBsdWdpbi5idW5kbGVJZGVudGlmaWVyKSk7CisgICAgICAgIG1hcC5zZXQoQVNDSUlMaXRl
cmFsKCJ2ZXJzaW9uIiksIFdlYlN0cmluZzo6Y3JlYXRlKHBsdWdpbi52ZXJzaW9uU3RyaW5nKSk7
CisjZW5kaWYKKworICAgICAgICBwbHVnaW5BcnJheS5hcHBlbmQoSW1tdXRhYmxlRGljdGlvbmFy
eTo6YWRvcHQobWFwKSk7CisgICAgfQorCisgICAgbV9jbGllbnQucGx1Z0luSW5mb3JtYXRpb25B
dmFpbGFibGUodGhpcywgSW1tdXRhYmxlQXJyYXk6OmFkb3B0KHBsdWdpbkFycmF5KS5sZWFrUmVm
KCkpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
Q29udGV4dC5oCmluZGV4IGVmM2JjMjY3YTU1MDY3YjlhYjQwNWE2OGMxYjZjM2M3MzdmYzU1MzIu
LjVlZWY5YTY4OWRjYTZiMGQ5Mjg0YzA1MWU4OWJjZWYxODcwNmJlNzYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYkNvbnRleHQuaApAQCAtODQsNyArODQsNyBAQCBleHRlcm4gTlNTdHJpbmcg
KlNjaGVtZUZvckN1c3RvbVByb3RvY29sUmVnaXN0ZXJlZE5vdGlmaWNhdGlvbk5hbWU7CiBleHRl
cm4gTlNTdHJpbmcgKlNjaGVtZUZvckN1c3RvbVByb3RvY29sVW5yZWdpc3RlcmVkTm90aWZpY2F0
aW9uTmFtZTsKICNlbmRpZgogCi1jbGFzcyBXZWJDb250ZXh0IDogcHVibGljIEFQSU9iamVjdCwg
cHJpdmF0ZSBDb3JlSVBDOjpNZXNzYWdlUmVjZWl2ZXIgeworY2xhc3MgV2ViQ29udGV4dCA6IHB1
YmxpYyBBUElPYmplY3QsIHByaXZhdGUgUGx1Z2luSW5mb1N0b3JlQ2xpZW50LCBwcml2YXRlIENv
cmVJUEM6Ok1lc3NhZ2VSZWNlaXZlciB7CiBwdWJsaWM6CiAgICAgc3RhdGljIGNvbnN0IFR5cGUg
QVBJVHlwZSA9IFR5cGVDb250ZXh0OwogCkBAIC0zNzEsNiArMzcxLDkgQEAgcHJpdmF0ZToKICAg
ICB2b2lkIGFkZFBsdWdJbkF1dG9TdGFydE9yaWdpbkhhc2goY29uc3QgU3RyaW5nJiBwYWdlT3Jp
Z2luLCB1bnNpZ25lZCBwbHVnSW5PcmlnaW5IYXNoKTsKICAgICB2b2lkIHBsdWdJbkRpZFJlY2Vp
dmVVc2VySW50ZXJhY3Rpb24odW5zaWduZWQgcGx1Z0luT3JpZ2luSGFzaCk7CiAKKyAgICAvLyBQ
bHVnaW5JbmZvU3RvcmVDbGllbnQ6CisgICAgdmlydHVhbCB2b2lkIHBsdWdpbkluZm9TdG9yZURp
ZExvYWRQbHVnaW5zKFBsdWdpbkluZm9TdG9yZSopIE9WRVJSSURFOworCiAgICAgQ29yZUlQQzo6
TWVzc2FnZVJlY2VpdmVyTWFwIG1fbWVzc2FnZVJlY2VpdmVyTWFwOwogCiAgICAgUHJvY2Vzc01v
ZGVsIG1fcHJvY2Vzc01vZGVsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYkNvbnRleHRDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRl
eHRDbGllbnQuY3BwCmluZGV4IDJiYzk0Mjg5ZDUyMDU5NTMxYzQzNTM0NGZkMjcxZGU4OTE1MmJk
MDkuLmE3NzJhMWZlYjMxMTdmNjQ4MmFiMzExYWQwZTNhNzk2NWIyNjUxOWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0Q2xpZW50LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dENsaWVudC5jcHAKQEAgLTQ2LDQgKzQ2LDEy
IEBAIHZvaWQgV2ViQ29udGV4dENsaWVudDo6bmV0d29ya1Byb2Nlc3NEaWRDcmFzaChXZWJDb250
ZXh0KiBjb250ZXh0KQogICAgIG1fY2xpZW50Lm5ldHdvcmtQcm9jZXNzRGlkQ3Jhc2godG9BUEko
Y29udGV4dCksIG1fY2xpZW50LmNsaWVudEluZm8pOwogfQogCit2b2lkIFdlYkNvbnRleHRDbGll
bnQ6OnBsdWdJbkluZm9ybWF0aW9uQXZhaWxhYmxlKFdlYkNvbnRleHQqIGNvbnRleHQsIEltbXV0
YWJsZUFycmF5KiBwbHVnSW5JbmZvKQoreworICAgIGlmICghbV9jbGllbnQucGx1Z0luSW5mb3Jt
YXRpb25BdmFpbGFibGUpCisgICAgICAgIHJldHVybjsKKworICAgIG1fY2xpZW50LnBsdWdJbklu
Zm9ybWF0aW9uQXZhaWxhYmxlKHRvQVBJKGNvbnRleHQpLCB0b0FQSShwbHVnSW5JbmZvKSwgbV9j
bGllbnQuY2xpZW50SW5mbyk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHRDbGllbnQuaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0Q2xpZW50LmgKaW5kZXggOGIzYTczN2I2OTA2YTcy
ZWUwZjM0NDUxNDc1MjA4NTUzNzEyNGU3Zi4uODk3N2RhNWQyY2I0OGRiNGRhMjRiMzk3MTQ1YTZi
NTIzYTk5ZjAzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRl
eHRDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dENsaWVu
dC5oCkBAIC0zMSwxMiArMzEsMTQgQEAKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKK2NsYXNzIElt
bXV0YWJsZUFycmF5OwogY2xhc3MgV2ViQ29udGV4dDsKIAogY2xhc3MgV2ViQ29udGV4dENsaWVu
dCA6IHB1YmxpYyBBUElDbGllbnQ8V0tDb250ZXh0Q2xpZW50LCBrV0tDb250ZXh0Q2xpZW50Q3Vy
cmVudFZlcnNpb24+IHsKIHB1YmxpYzoKICAgICB2b2lkIHBsdWdJbkF1dG9TdGFydE9yaWdpbkhh
c2hlc0NoYW5nZWQoV2ViQ29udGV4dCopOwogICAgIHZvaWQgbmV0d29ya1Byb2Nlc3NEaWRDcmFz
aChXZWJDb250ZXh0Kik7CisgICAgdm9pZCBwbHVnSW5JbmZvcm1hdGlvbkF2YWlsYWJsZShXZWJD
b250ZXh0KiwgSW1tdXRhYmxlQXJyYXkqKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAo=
</data>
<flag name="review"
          id="212213"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>