<?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>135833</bug_id>
          
          <creation_ts>2014-08-12 02:19:01 -0700</creation_ts>
          <short_desc>Clean up GMutexLocker</short_desc>
          <delta_ts>2014-08-12 03:39:42 -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>New Bugs</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>
          
          <blocked>135800</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>pnormand</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1028469</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-08-12 02:19:01 -0700</bug_when>
    <thetext>Clean up GMutexLocker</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1028471</commentid>
    <comment_count>1</comment_count>
      <attachid>236434</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-08-12 02:25:32 -0700</bug_when>
    <thetext>Created attachment 236434
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1028474</commentid>
    <comment_count>2</comment_count>
      <attachid>236434</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-08-12 02:55:08 -0700</bug_when>
    <thetext>Comment on attachment 236434
Patch

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

&gt; Source/WTF/wtf/gobject/GMutexLocker.h:28
&gt; -namespace WebCore {
&gt; +namespace WTF {

wow!

&gt; Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp:237
&gt; -    if (priv-&gt;bufferMutex) {
&gt; -        g_mutex_clear(priv-&gt;bufferMutex);
&gt; -        delete priv-&gt;bufferMutex;
&gt; -        priv-&gt;bufferMutex = 0;
&gt; -    }
&gt; +    g_mutex_clear(&amp;priv-&gt;bufferMutex);

You can&apos;t do this here, dispose might be called multiple times, and g_mutex_clear should not be used on an already cleared mutex, because the internal pointer is not checked and it&apos;s not reset either when freed. Since we are using placement new syntax, I would add a constructor of WebKitVideoSinkPrivate to init the mutex, and a destructor to clear it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1028478</commentid>
    <comment_count>3</comment_count>
      <attachid>236436</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-08-12 03:13:12 -0700</bug_when>
    <thetext>Created attachment 236436
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1028482</commentid>
    <comment_count>4</comment_count>
      <attachid>236436</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-08-12 03:39:35 -0700</bug_when>
    <thetext>Comment on attachment 236436
Patch

Clearing flags on attachment: 236436

Committed r172441: &lt;http://trac.webkit.org/changeset/172441&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1028483</commentid>
    <comment_count>5</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2014-08-12 03:39:42 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236434</attachid>
            <date>2014-08-12 02:25:32 -0700</date>
            <delta_ts>2014-08-12 03:13:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135833-20140812022520.patch</filename>
            <type>text/plain</type>
            <size>14800</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNzI0MzgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDE0LTA4LTEyICBaYW4gRG9iZXJzZWsgIDx6ZG9i
ZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBDbGVhbiB1cCBHTXV0ZXhMb2NrZXIKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNTgzMworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBsYWNlIHRoZSBHTXV0
ZXhMb2NrZXIgaW50byB0aGUgV1RGIG5hbWVzcGFjZS4gVGhlcmUncyBubyBuZWVkIGZvciB0aGlz
CisgICAgICAgIGNsYXNzIHRvIHVzZSBGYXN0TWFsbG9jIHNpbmNlIGl0J3MgYWx3YXlzIGFsbG9j
YXRlZCBvbiB0aGUgc3RhY2suIFRoZQorICAgICAgICBjb25zdHJ1Y3RvciBhbmQgY2xhc3Mgbm93
IG9wZXJhdGUgb24gYSBHTXV0ZXggcmVmZXJlbmNlLiBUaGVyZSdzIGxpdHRsZQorICAgICAgICBu
ZWVkIGZvciBhbiBhZGRpdGlvbmFsIGlubGluZSBzcGVjaWZpZXIgZm9yIG1ldGhvZHMgZGVmaW5l
ZCBpbiB0aGUgaGVhZGVyLgorICAgICAgICBUaGUgbXV0ZXgoKSBtZXRob2QgaXMgcmVtb3ZlZCBh
cyBpdCB3YXMgbm90IHVzZWQuIG1fdmFsIGlzIHJlbmFtZWQgdG8gYQorICAgICAgICBtb3JlIGRl
c2NyaXB0aXZlIG1fbG9ja2VkIGFuZCBpcyBtYWRlIGEgYm9vbGVhbi4KKworICAgICAgICAqIHd0
Zi9nb2JqZWN0L0dNdXRleExvY2tlci5oOgorICAgICAgICAoV1RGOjpHTXV0ZXhMb2NrZXI6OkdN
dXRleExvY2tlcik6CisgICAgICAgIChXVEY6OkdNdXRleExvY2tlcjo6fkdNdXRleExvY2tlcik6
CisgICAgICAgIChXVEY6OkdNdXRleExvY2tlcjo6bG9jayk6CisgICAgICAgIChXVEY6OkdNdXRl
eExvY2tlcjo6dW5sb2NrKToKKyAgICAgICAgKFdlYkNvcmU6OkdNdXRleExvY2tlcjo6R011dGV4
TG9ja2VyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkdNdXRleExvY2tlcjo6fkdNdXRl
eExvY2tlcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpHTXV0ZXhMb2NrZXI6OmxvY2sp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6R011dGV4TG9ja2VyOjp1bmxvY2spOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6R011dGV4TG9ja2VyOjptdXRleCk6IERlbGV0ZWQuCisK
IDIwMTQtMDgtMTAgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFVwZGF0ZSBIYXNoVGFibGUncyBvcGVyYXRvcj0gYWZ0ZXIgcjE3MjE2NyBwZXIgcmV2
aWV3IGNvbW1lbnRzCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9nb2JqZWN0L0dNdXRleExvY2tlci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL2dvYmplY3QvR011dGV4TG9ja2VyLmgJKHJl
dmlzaW9uIDE3MjQzOCkKKysrIFNvdXJjZS9XVEYvd3RmL2dvYmplY3QvR011dGV4TG9ja2VyLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTIzLDQ5ICsyMyw0OSBAQAogI2lmIFVTRShHTElCKQogCiAjaW5j
bHVkZSA8Z2xpYi5oPgotCi0jaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAotbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIFdURiB7
CiAKIGNsYXNzIEdNdXRleExvY2tlciB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR011dGV4
TG9ja2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci0KKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShHTXV0ZXhMb2NrZXIpOwogcHVibGljOgotICAgIGlubGluZSBleHBsaWNpdCBHTXV0ZXhM
b2NrZXIoR011dGV4KiBtdXRleCkKKyAgICBleHBsaWNpdCBHTXV0ZXhMb2NrZXIoR011dGV4JiBt
dXRleCkKICAgICAgICAgOiBtX211dGV4KG11dGV4KQotICAgICAgICAsIG1fdmFsKDApCisgICAg
ICAgICwgbV9sb2NrZWQoZmFsc2UpCiAgICAgewogICAgICAgICBsb2NrKCk7CiAgICAgfQogCi0g
ICAgaW5saW5lIH5HTXV0ZXhMb2NrZXIoKSB7IHVubG9jaygpOyB9CisgICAgfkdNdXRleExvY2tl
cigpCisgICAgeworICAgICAgICB1bmxvY2soKTsKKyAgICB9CiAKLSAgICBpbmxpbmUgdm9pZCBs
b2NrKCkKKyAgICB2b2lkIGxvY2soKQogICAgIHsKLSAgICAgICAgaWYgKG1fbXV0ZXggJiYgIW1f
dmFsKSB7Ci0gICAgICAgICAgICBnX211dGV4X2xvY2sobV9tdXRleCk7Ci0gICAgICAgICAgICBt
X3ZhbCA9IDE7CisgICAgICAgIGlmICghbV9sb2NrZWQpIHsKKyAgICAgICAgICAgIGdfbXV0ZXhf
bG9jaygmbV9tdXRleCk7CisgICAgICAgICAgICBtX2xvY2tlZCA9IHRydWU7CiAgICAgICAgIH0K
ICAgICB9CiAKLSAgICBpbmxpbmUgdm9pZCB1bmxvY2soKQorICAgIHZvaWQgdW5sb2NrKCkKICAg
ICB7Ci0gICAgICAgIGlmIChtX211dGV4ICYmIG1fdmFsKSB7Ci0gICAgICAgICAgICBtX3ZhbCA9
IDA7Ci0gICAgICAgICAgICBnX211dGV4X3VubG9jayhtX211dGV4KTsKKyAgICAgICAgaWYgKG1f
bG9ja2VkKSB7CisgICAgICAgICAgICBtX2xvY2tlZCA9IGZhbHNlOworICAgICAgICAgICAgZ19t
dXRleF91bmxvY2soJm1fbXV0ZXgpOwogICAgICAgICB9CiAgICAgfQogCi0gICAgaW5saW5lIEdN
dXRleCogbXV0ZXgoKSBjb25zdCB7IHJldHVybiBtX211dGV4OyB9Ci0KIHByaXZhdGU6Ci0gICAg
R011dGV4KiBtX211dGV4OwotICAgIHVpbnQ4X3QgbV92YWw7CisgICAgR011dGV4JiBtX211dGV4
OworICAgIGJvb2wgbV9sb2NrZWQ7CiB9OwogCi19Cit9IC8vIG5hbWVzcGFjZSBXVEYKKwordXNp
bmcgV1RGOjpHTXV0ZXhMb2NrZXI7CiAKICNlbmRpZiAvLyBVU0UoR0xJQikKIApJbmRleDogU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkocmV2aXNpb24gMTcyNDM4KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsNDEgQEAKKzIwMTQtMDgtMTIgIFphbiBEb2JlcnNlayAgPHpk
b2JlcnNla0BpZ2FsaWEuY29tPgorCisgICAgICAgIENsZWFuIHVwIEdNdXRleExvY2tlcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM1ODMzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRG9uJ3QgZHluYW1p
Y2FsbHkgYWxsb2NhdGUgR011dGV4IG9iamVjdHMuIFVwZGF0ZSBHTXV0ZXhMb2NrZXIKKyAgICAg
ICAgaW5pdGlhbGl6YXRpb25zIHRvIHBhc3MgaW4gYSBHTXV0ZXggcmVmZXJlbmNlLCBub3QgYSBw
b2ludGVyLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZSk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp+TWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcDoKKyAg
ICAgICAgKHdlYmtpdFZpZGVvU2lua1JlbmRlcik6CisgICAgICAgICh3ZWJraXRWaWRlb1NpbmtE
aXNwb3NlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvV2ViS2l0V2Vi
U291cmNlR1N0cmVhbWVyLmNwcDoKKyAgICAgICAgKHdlYktpdFdlYlNyY0dldFByb3BlcnR5KToK
KyAgICAgICAgKHdlYktpdFdlYlNyY1N0b3ApOgorICAgICAgICAod2ViS2l0V2ViU3JjU3RhcnQp
OgorICAgICAgICAod2ViS2l0V2ViU3JjQ2hhbmdlU3RhdGUpOgorICAgICAgICAod2ViS2l0V2Vi
U3JjUXVlcnlXaXRoUGFyZW50KToKKyAgICAgICAgKHdlYktpdFdlYlNyY0dldFVyaSk6CisgICAg
ICAgICh3ZWJLaXRXZWJTcmNTZXRVcmkpOgorICAgICAgICAod2ViS2l0V2ViU3JjTmVlZERhdGFN
YWluQ2IpOgorICAgICAgICAod2ViS2l0V2ViU3JjTmVlZERhdGFDYik6CisgICAgICAgICh3ZWJL
aXRXZWJTcmNFbm91Z2hEYXRhTWFpbkNiKToKKyAgICAgICAgKHdlYktpdFdlYlNyY0Vub3VnaERh
dGFDYik6CisgICAgICAgICh3ZWJLaXRXZWJTcmNTZWVrRGF0YUNiKToKKyAgICAgICAgKHdlYktp
dFdlYlNyY1NldE1lZGlhUGxheWVyKToKKyAgICAgICAgKFN0cmVhbWluZ0NsaWVudDo6Y3JlYXRl
UmVhZEJ1ZmZlcik6CisgICAgICAgIChTdHJlYW1pbmdDbGllbnQ6OmhhbmRsZVJlc3BvbnNlUmVj
ZWl2ZWQpOgorICAgICAgICAoU3RyZWFtaW5nQ2xpZW50OjpoYW5kbGVEYXRhUmVjZWl2ZWQpOgor
ICAgICAgICAoU3RyZWFtaW5nQ2xpZW50OjpoYW5kbGVOb3RpZnlGaW5pc2hlZCk6CisgICAgICAg
IChSZXNvdXJjZUhhbmRsZVN0cmVhbWluZ0NsaWVudDo6d2FzQmxvY2tlZCk6CisgICAgICAgIChS
ZXNvdXJjZUhhbmRsZVN0cmVhbWluZ0NsaWVudDo6Y2Fubm90U2hvd1VSTCk6CisKIDIwMTQtMDgt
MTIgIEVkdWFyZG8gTGltYSBNaXRldiAgPGVsaW1hQGlnYWxpYS5jb20+CiAgICAgICAgIFtHVEtd
IEFkZHMgZGVwZW5kZW5jeSBvbiBHbnVUTFMgMy4wKyBmb3IgdGhlIGltcGxlbWVudGF0aW9uIG9m
IHN1YnRsZSBjcnlwdG8gYWxnb3JpdGhtcwogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTMzMzE3CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCShyZXZpc2lvbiAxNzI0MzgpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyQmFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk0LDggKzk0LDcgQEAgTWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6TWVkaWFQbAogICAgICwgbV92b2x1bWVTaWdu
YWxIYW5kbGVyKDApCiAgICAgLCBtX211dGVTaWduYWxIYW5kbGVyKDApCiB7Ci0gICAgbV9idWZm
ZXJNdXRleCA9IG5ldyBHTXV0ZXg7Ci0gICAgZ19tdXRleF9pbml0KG1fYnVmZmVyTXV0ZXgpOwor
ICAgIGdfbXV0ZXhfaW5pdCgmbV9idWZmZXJNdXRleCk7CiB9CiAKIE1lZGlhUGxheWVyUHJpdmF0
ZUdTdHJlYW1lckJhc2U6On5NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlKCkKQEAgLTEw
NSw4ICsxMDQsNyBAQCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp+TWVkaWFQCiAg
ICAgICAgIG1fcmVwYWludEhhbmRsZXIgPSAwOwogICAgIH0KIAotICAgIGdfbXV0ZXhfY2xlYXIo
bV9idWZmZXJNdXRleCk7Ci0gICAgZGVsZXRlIG1fYnVmZmVyTXV0ZXg7CisgICAgZ19tdXRleF9j
bGVhcigmbV9idWZmZXJNdXRleCk7CiAKICAgICBpZiAobV9idWZmZXIpCiAgICAgICAgIGdzdF9i
dWZmZXJfdW5yZWYobV9idWZmZXIpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5oCShyZXZpc2lvbiAxNzI0MzgpCisrKyBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0
cmVhbWVyQmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjMsNyArMTIzLDcgQEAgcHJvdGVjdGVk
OgogICAgIE1lZGlhUGxheWVyOjpSZWFkeVN0YXRlIG1fcmVhZHlTdGF0ZTsKICAgICBNZWRpYVBs
YXllcjo6TmV0d29ya1N0YXRlIG1fbmV0d29ya1N0YXRlOwogICAgIEludFNpemUgbV9zaXplOwot
ICAgIEdNdXRleCogbV9idWZmZXJNdXRleDsKKyAgICBHTXV0ZXggbV9idWZmZXJNdXRleDsKICAg
ICBHc3RCdWZmZXIqIG1fYnVmZmVyOwogICAgIEdNYWluTG9vcFNvdXJjZSBtX3ZvbHVtZVRpbWVy
SGFuZGxlcjsKICAgICBHTWFpbkxvb3BTb3VyY2UgbV9tdXRlVGltZXJIYW5kbGVyOwpJbmRleDog
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJl
YW1lci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1lci5jcHAJKHJldmlzaW9uIDE3MjQzOCkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFt
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03Niw3ICs3Niw3IEBAIHN0YXRpYyBndWludCB3ZWJr
aXRWaWRlb1NpbmtTaWduYWxzW0xBU1QKIHN0cnVjdCBfV2ViS2l0VmlkZW9TaW5rUHJpdmF0ZSB7
CiAgICAgR3N0QnVmZmVyKiBidWZmZXI7CiAgICAgR01haW5Mb29wU291cmNlIHRpbWVvdXRTb3Vy
Y2U7Ci0gICAgR011dGV4KiBidWZmZXJNdXRleDsKKyAgICBHTXV0ZXggYnVmZmVyTXV0ZXg7CiAg
ICAgR0NvbmQqIGRhdGFDb25kaXRpb247CiAKICAgICBHc3RWaWRlb0luZm8gaW5mbzsKQEAgLTEw
NCw4ICsxMDQsNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRfdmlkZW9fc2lua19pbml0KFdlYktpCiAg
ICAgbmV3IChzaW5rLT5wcml2KSBXZWJLaXRWaWRlb1NpbmtQcml2YXRlKCk7CiAgICAgc2luay0+
cHJpdi0+ZGF0YUNvbmRpdGlvbiA9IG5ldyBHQ29uZDsKICAgICBnX2NvbmRfaW5pdChzaW5rLT5w
cml2LT5kYXRhQ29uZGl0aW9uKTsKLSAgICBzaW5rLT5wcml2LT5idWZmZXJNdXRleCA9IG5ldyBH
TXV0ZXg7Ci0gICAgZ19tdXRleF9pbml0KHNpbmstPnByaXYtPmJ1ZmZlck11dGV4KTsKKyAgICBn
X211dGV4X2luaXQoJnNpbmstPnByaXYtPmJ1ZmZlck11dGV4KTsKIAogICAgIGdzdF92aWRlb19p
bmZvX2luaXQoJnNpbmstPnByaXYtPmluZm8pOwogfQpAQCAtMjIwLDcgKzIxOSw3IEBAIHN0YXRp
YyBHc3RGbG93UmV0dXJuIHdlYmtpdFZpZGVvU2lua1JlbmQKICAgICBwcml2LT50aW1lb3V0U291
cmNlLnNjaGVkdWxlKCJbV2ViS2l0XSB3ZWJraXRWaWRlb1NpbmtUaW1lb3V0Q2FsbGJhY2siLCBz
dGQ6OmZ1bmN0aW9uPHZvaWQoKT4oc3RkOjpiaW5kKHdlYmtpdFZpZGVvU2lua1RpbWVvdXRDYWxs
YmFjaywgc2luaykpLCBHX1BSSU9SSVRZX0RFRkFVTFQsCiAgICAgICAgIFtzaW5rXSB7IGdzdF9v
YmplY3RfdW5yZWYoc2luayk7IH0pOwogCi0gICAgZ19jb25kX3dhaXQocHJpdi0+ZGF0YUNvbmRp
dGlvbiwgcHJpdi0+YnVmZmVyTXV0ZXgpOworICAgIGdfY29uZF93YWl0KHByaXYtPmRhdGFDb25k
aXRpb24sICZwcml2LT5idWZmZXJNdXRleCk7CiAgICAgcmV0dXJuIEdTVF9GTE9XX09LOwogfQog
CkBAIC0yMzUsMTEgKzIzNCw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdFZpZGVvU2lua0Rpc3Bvc2Uo
R09iamUKICAgICAgICAgcHJpdi0+ZGF0YUNvbmRpdGlvbiA9IDA7CiAgICAgfQogCi0gICAgaWYg
KHByaXYtPmJ1ZmZlck11dGV4KSB7Ci0gICAgICAgIGdfbXV0ZXhfY2xlYXIocHJpdi0+YnVmZmVy
TXV0ZXgpOwotICAgICAgICBkZWxldGUgcHJpdi0+YnVmZmVyTXV0ZXg7Ci0gICAgICAgIHByaXYt
PmJ1ZmZlck11dGV4ID0gMDsKLSAgICB9CisgICAgZ19tdXRleF9jbGVhcigmcHJpdi0+YnVmZmVy
TXV0ZXgpOwogCiAgICAgR19PQkpFQ1RfQ0xBU1MocGFyZW50X2NsYXNzKS0+ZGlzcG9zZShvYmpl
Y3QpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5j
cHAJKHJldmlzaW9uIDE3MjQzOCkKKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VHU3RyZWFtZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0zNTIsNyArMzUyLDcgQEAgc3RhdGljIHZvaWQgd2ViS2l0V2ViU3JjR2V0UHJvcGVydHkoR09i
agogICAgIFdlYktpdFdlYlNyYyogc3JjID0gV0VCS0lUX1dFQl9TUkMob2JqZWN0KTsKICAgICBX
ZWJLaXRXZWJTcmNQcml2YXRlKiBwcml2ID0gc3JjLT5wcml2OwogCi0gICAgR011dGV4TG9ja2Vy
IGxvY2tlcihHU1RfT0JKRUNUX0dFVF9MT0NLKHNyYykpOworICAgIEdNdXRleExvY2tlciBsb2Nr
ZXIoKkdTVF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7CiAgICAgc3dpdGNoIChwcm9wSUQpIHsKICAg
ICBjYXNlIFBST1BfSVJBRElPX05BTUU6CiAgICAgICAgIGdfdmFsdWVfc2V0X3N0cmluZyh2YWx1
ZSwgcHJpdi0+aXJhZGlvTmFtZSk7CkBAIC0zOTEsNyArMzkxLDcgQEAgc3RhdGljIHZvaWQgd2Vi
S2l0V2ViU3JjU3RvcChXZWJLaXRXZWJTcgogCiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsK
IAotICAgIEdNdXRleExvY2tlciBsb2NrZXIoR1NUX09CSkVDVF9HRVRfTE9DSyhzcmMpKTsKKyAg
ICBHTXV0ZXhMb2NrZXIgbG9ja2VyKCpHU1RfT0JKRUNUX0dFVF9MT0NLKHNyYykpOwogCiAgICAg
Ym9vbCBzZWVraW5nID0gcHJpdi0+c2Vla1NvdXJjZS5pc0FjdGl2ZSgpOwogCkBAIC00NDcsNyAr
NDQ3LDcgQEAgc3RhdGljIHZvaWQgd2ViS2l0V2ViU3JjU3RhcnQoV2ViS2l0V2ViUwogCiAgICAg
QVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIAotICAgIEdNdXRleExvY2tlciBsb2NrZXIoR1NUX09C
SkVDVF9HRVRfTE9DSyhzcmMpKTsKKyAgICBHTXV0ZXhMb2NrZXIgbG9ja2VyKCpHU1RfT0JKRUNU
X0dFVF9MT0NLKHNyYykpOwogCiAgICAgcHJpdi0+Y29yc0FjY2Vzc0NoZWNrID0gQ09SU05vQ2hl
Y2s7CiAKQEAgLTU0MSw3ICs1NDEsNyBAQCBzdGF0aWMgR3N0U3RhdGVDaGFuZ2VSZXR1cm4gd2Vi
S2l0V2ViU3JjCiAgICAgICAgIHJldHVybiByZXQ7CiAgICAgfQogCi0gICAgR011dGV4TG9ja2Vy
IGxvY2tlcihHU1RfT0JKRUNUX0dFVF9MT0NLKHNyYykpOworICAgIEdNdXRleExvY2tlciBsb2Nr
ZXIoKkdTVF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7CiAgICAgc3dpdGNoICh0cmFuc2l0aW9uKSB7
CiAgICAgY2FzZSBHU1RfU1RBVEVfQ0hBTkdFX1JFQURZX1RPX1BBVVNFRDoKICAgICAgICAgR1NU
X0RFQlVHX09CSkVDVChzcmMsICJSRUFEWS0+UEFVU0VEIik7CkBAIC01NzYsNyArNTc2LDcgQEAg
c3RhdGljIGdib29sZWFuIHdlYktpdFdlYlNyY1F1ZXJ5V2l0aFBhcgogICAgICAgICBnc3RfcXVl
cnlfcGFyc2VfZHVyYXRpb24ocXVlcnksICZmb3JtYXQsIE5VTEwpOwogCiAgICAgICAgIEdTVF9E
RUJVR19PQkpFQ1Qoc3JjLCAiZHVyYXRpb24gcXVlcnkgaW4gZm9ybWF0ICVzIiwgZ3N0X2Zvcm1h
dF9nZXRfbmFtZShmb3JtYXQpKTsKLSAgICAgICAgR011dGV4TG9ja2VyIGxvY2tlcihHU1RfT0JK
RUNUX0dFVF9MT0NLKHNyYykpOworICAgICAgICBHTXV0ZXhMb2NrZXIgbG9ja2VyKCpHU1RfT0JK
RUNUX0dFVF9MT0NLKHNyYykpOwogICAgICAgICBpZiAoZm9ybWF0ID09IEdTVF9GT1JNQVRfQllU
RVMgJiYgc3JjLT5wcml2LT5zaXplID4gMCkgewogICAgICAgICAgICAgZ3N0X3F1ZXJ5X3NldF9k
dXJhdGlvbihxdWVyeSwgZm9ybWF0LCBzcmMtPnByaXYtPnNpemUpOwogICAgICAgICAgICAgcmVz
dWx0ID0gVFJVRTsKQEAgLTU4NCw3ICs1ODQsNyBAQCBzdGF0aWMgZ2Jvb2xlYW4gd2ViS2l0V2Vi
U3JjUXVlcnlXaXRoUGFyCiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIEdTVF9RVUVS
WV9VUkk6IHsKLSAgICAgICAgR011dGV4TG9ja2VyIGxvY2tlcihHU1RfT0JKRUNUX0dFVF9MT0NL
KHNyYykpOworICAgICAgICBHTXV0ZXhMb2NrZXIgbG9ja2VyKCpHU1RfT0JKRUNUX0dFVF9MT0NL
KHNyYykpOwogICAgICAgICBnc3RfcXVlcnlfc2V0X3VyaShxdWVyeSwgc3JjLT5wcml2LT51cmkp
OwogICAgICAgICByZXN1bHQgPSBUUlVFOwogICAgICAgICBicmVhazsKQEAgLTYyNSw3ICs2MjUs
NyBAQCBzdGF0aWMgZ2NoYXIqIHdlYktpdFdlYlNyY0dldFVyaShHc3RVUklICiAgICAgV2ViS2l0
V2ViU3JjKiBzcmMgPSBXRUJLSVRfV0VCX1NSQyhoYW5kbGVyKTsKICAgICBnY2hhciogcmV0Owog
Ci0gICAgR011dGV4TG9ja2VyIGxvY2tlcihHU1RfT0JKRUNUX0dFVF9MT0NLKHNyYykpOworICAg
IEdNdXRleExvY2tlciBsb2NrZXIoKkdTVF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7CiAgICAgcmV0
ID0gZ19zdHJkdXAoc3JjLT5wcml2LT51cmkpOwogICAgIHJldHVybiByZXQ7CiB9CkBAIC02NDAs
NyArNjQwLDcgQEAgc3RhdGljIGdib29sZWFuIHdlYktpdFdlYlNyY1NldFVyaShHc3RVUgogICAg
ICAgICByZXR1cm4gRkFMU0U7CiAgICAgfQogCi0gICAgR011dGV4TG9ja2VyIGxvY2tlcihHU1Rf
T0JKRUNUX0dFVF9MT0NLKHNyYykpOworICAgIEdNdXRleExvY2tlciBsb2NrZXIoKkdTVF9PQkpF
Q1RfR0VUX0xPQ0soc3JjKSk7CiAKICAgICBnX2ZyZWUocHJpdi0+dXJpKTsKICAgICBwcml2LT51
cmkgPSAwOwpAQCAtNjc2LDcgKzY3Niw3IEBAIHN0YXRpYyB2b2lkIHdlYktpdFdlYlNyY05lZWRE
YXRhTWFpbkNiKFcKIAogICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CiAKLSAgICBHTXV0ZXhM
b2NrZXIgbG9ja2VyKEdTVF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7CisgICAgR011dGV4TG9ja2Vy
IGxvY2tlcigqR1NUX09CSkVDVF9HRVRfTE9DSyhzcmMpKTsKICAgICBwcml2LT5wYXVzZWQgPSBG
QUxTRTsKICAgICBsb2NrZXIudW5sb2NrKCk7CiAKQEAgLTY5MSw3ICs2OTEsNyBAQCBzdGF0aWMg
dm9pZCB3ZWJLaXRXZWJTcmNOZWVkRGF0YUNiKEdzdEFwCiAKICAgICBHU1RfREVCVUdfT0JKRUNU
KHNyYywgIk5lZWQgbW9yZSBkYXRhOiAldSIsIGxlbmd0aCk7CiAKLSAgICBHTXV0ZXhMb2NrZXIg
bG9ja2VyKEdTVF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7CisgICAgR011dGV4TG9ja2VyIGxvY2tl
cigqR1NUX09CSkVDVF9HRVRfTE9DSyhzcmMpKTsKICAgICBpZiAocHJpdi0+bmVlZERhdGFTb3Vy
Y2UuaXNTY2hlZHVsZWQoKSB8fCAhcHJpdi0+cGF1c2VkKQogICAgICAgICByZXR1cm47CiAKQEAg
LTcwNiw3ICs3MDYsNyBAQCBzdGF0aWMgdm9pZCB3ZWJLaXRXZWJTcmNFbm91Z2hEYXRhTWFpbkNi
CiAKICAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwogCi0gICAgR011dGV4TG9ja2VyIGxvY2tl
cihHU1RfT0JKRUNUX0dFVF9MT0NLKHNyYykpOworICAgIEdNdXRleExvY2tlciBsb2NrZXIoKkdT
VF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7CiAgICAgcHJpdi0+cGF1c2VkID0gVFJVRTsKICAgICBs
b2NrZXIudW5sb2NrKCk7CiAKQEAgLTcyMSw3ICs3MjEsNyBAQCBzdGF0aWMgdm9pZCB3ZWJLaXRX
ZWJTcmNFbm91Z2hEYXRhQ2IoR3N0CiAKICAgICBHU1RfREVCVUdfT0JKRUNUKHNyYywgIkhhdmUg
ZW5vdWdoIGRhdGEiKTsKIAotICAgIEdNdXRleExvY2tlciBsb2NrZXIoR1NUX09CSkVDVF9HRVRf
TE9DSyhzcmMpKTsKKyAgICBHTXV0ZXhMb2NrZXIgbG9ja2VyKCpHU1RfT0JKRUNUX0dFVF9MT0NL
KHNyYykpOwogICAgIGlmIChwcml2LT5lbm91Z2hEYXRhU291cmNlLmlzU2NoZWR1bGVkKCkgfHwg
cHJpdi0+cGF1c2VkKQogICAgICAgICByZXR1cm47CiAKQEAgLTc0NCw3ICs3NDQsNyBAQCBzdGF0
aWMgZ2Jvb2xlYW4gd2ViS2l0V2ViU3JjU2Vla0RhdGFDYihHCiAgICAgV2ViS2l0V2ViU3JjUHJp
dmF0ZSogcHJpdiA9IHNyYy0+cHJpdjsKIAogICAgIEdTVF9ERUJVR19PQkpFQ1Qoc3JjLCAiU2Vl
a2luZyB0byBvZmZzZXQ6ICUiIEdfR1VJTlQ2NF9GT1JNQVQsIG9mZnNldCk7Ci0gICAgR011dGV4
TG9ja2VyIGxvY2tlcihHU1RfT0JKRUNUX0dFVF9MT0NLKHNyYykpOworICAgIEdNdXRleExvY2tl
ciBsb2NrZXIoKkdTVF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7CiAgICAgaWYgKG9mZnNldCA9PSBw
cml2LT5vZmZzZXQgJiYgcHJpdi0+cmVxdWVzdGVkT2Zmc2V0ID09IHByaXYtPm9mZnNldCkKICAg
ICAgICAgcmV0dXJuIFRSVUU7CiAKQEAgLTc2Myw3ICs3NjMsNyBAQCBzdGF0aWMgZ2Jvb2xlYW4g
d2ViS2l0V2ViU3JjU2Vla0RhdGFDYihHCiB2b2lkIHdlYktpdFdlYlNyY1NldE1lZGlhUGxheWVy
KFdlYktpdFdlYlNyYyogc3JjLCBXZWJDb3JlOjpNZWRpYVBsYXllciogcGxheWVyKQogewogICAg
IEFTU0VSVChwbGF5ZXIpOwotICAgIEdNdXRleExvY2tlciBsb2NrZXIoR1NUX09CSkVDVF9HRVRf
TE9DSyhzcmMpKTsKKyAgICBHTXV0ZXhMb2NrZXIgbG9ja2VyKCpHU1RfT0JKRUNUX0dFVF9MT0NL
KHNyYykpOwogICAgIHNyYy0+cHJpdi0+cGxheWVyID0gcGxheWVyOwogfQogCkBAIC03OTIsNyAr
NzkyLDcgQEAgY2hhciogU3RyZWFtaW5nQ2xpZW50OjpjcmVhdGVSZWFkQnVmZmVyKAogCiAgICAg
bWFwR3N0QnVmZmVyKGJ1ZmZlcik7CiAKLSAgICBHTXV0ZXhMb2NrZXIgbG9ja2VyKEdTVF9PQkpF
Q1RfR0VUX0xPQ0soc3JjKSk7CisgICAgR011dGV4TG9ja2VyIGxvY2tlcigqR1NUX09CSkVDVF9H
RVRfTE9DSyhzcmMpKTsKICAgICBwcml2LT5idWZmZXIgPSBhZG9wdEdSZWYoYnVmZmVyKTsKICAg
ICBsb2NrZXIudW5sb2NrKCk7CiAKQEAgLTgxOCw3ICs4MTgsNyBAQCB2b2lkIFN0cmVhbWluZ0Ns
aWVudDo6aGFuZGxlUmVzcG9uc2VSZWNlCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBH
TXV0ZXhMb2NrZXIgbG9ja2VyKEdTVF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7CisgICAgR011dGV4
TG9ja2VyIGxvY2tlcigqR1NUX09CSkVDVF9HRVRfTE9DSyhzcmMpKTsKIAogICAgIHByaXYtPmNv
cnNBY2Nlc3NDaGVjayA9IGNvcnNBY2Nlc3NDaGVjazsKIApAQCAtOTE3LDcgKzkxNyw3IEBAIHZv
aWQgU3RyZWFtaW5nQ2xpZW50OjpoYW5kbGVEYXRhUmVjZWl2ZWQKICAgICBXZWJLaXRXZWJTcmMq
IHNyYyA9IFdFQktJVF9XRUJfU1JDKG1fc3JjLmdldCgpKTsKICAgICBXZWJLaXRXZWJTcmNQcml2
YXRlKiBwcml2ID0gc3JjLT5wcml2OwogCi0gICAgR011dGV4TG9ja2VyIGxvY2tlcihHU1RfT0JK
RUNUX0dFVF9MT0NLKHNyYykpOworICAgIEdNdXRleExvY2tlciBsb2NrZXIoKkdTVF9PQkpFQ1Rf
R0VUX0xPQ0soc3JjKSk7CiAKICAgICBHU1RfTE9HX09CSkVDVChzcmMsICJIYXZlICVsbGQgYnl0
ZXMgb2YgZGF0YSIsIHByaXYtPmJ1ZmZlciA/IHN0YXRpY19jYXN0PGxvbmcgbG9uZz4oZ3N0X2J1
ZmZlcl9nZXRfc2l6ZShwcml2LT5idWZmZXIuZ2V0KCkpKSA6IGxlbmd0aCk7CiAKQEAgLTk4Niw3
ICs5ODYsNyBAQCB2b2lkIFN0cmVhbWluZ0NsaWVudDo6aGFuZGxlTm90aWZ5RmluaXNoCiAKICAg
ICBHU1RfREVCVUdfT0JKRUNUKHNyYywgIkhhdmUgRU9TIik7CiAKLSAgICBHTXV0ZXhMb2NrZXIg
bG9ja2VyKEdTVF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7CisgICAgR011dGV4TG9ja2VyIGxvY2tl
cigqR1NUX09CSkVDVF9HRVRfTE9DSyhzcmMpKTsKICAgICBpZiAoIXByaXYtPnNlZWtTb3VyY2Uu
aXNBY3RpdmUoKSkgewogICAgICAgICBsb2NrZXIudW5sb2NrKCk7CiAgICAgICAgIGdzdF9hcHBf
c3JjX2VuZF9vZl9zdHJlYW0ocHJpdi0+YXBwc3JjKTsKQEAgLTExNDUsNyArMTE0NSw3IEBAIHZv
aWQgUmVzb3VyY2VIYW5kbGVTdHJlYW1pbmdDbGllbnQ6Ondhc0IKIAogICAgIEdTVF9FUlJPUl9P
QkpFQ1Qoc3JjLCAiUmVxdWVzdCB3YXMgYmxvY2tlZCIpOwogCi0gICAgR011dGV4TG9ja2VyIGxv
Y2tlcihHU1RfT0JKRUNUX0dFVF9MT0NLKHNyYykpOworICAgIEdNdXRleExvY2tlciBsb2NrZXIo
KkdTVF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7CiAgICAgdXJpLnJlc2V0KGdfc3RyZHVwKHNyYy0+
cHJpdi0+dXJpKSk7CiAgICAgbG9ja2VyLnVubG9jaygpOwogCkBAIC0xMTU5LDcgKzExNTksNyBA
QCB2b2lkIFJlc291cmNlSGFuZGxlU3RyZWFtaW5nQ2xpZW50OjpjYW5uCiAKICAgICBHU1RfRVJS
T1JfT0JKRUNUKHNyYywgIkNhbm5vdCBzaG93IFVSTCIpOwogCi0gICAgR011dGV4TG9ja2VyIGxv
Y2tlcihHU1RfT0JKRUNUX0dFVF9MT0NLKHNyYykpOworICAgIEdNdXRleExvY2tlciBsb2NrZXIo
KkdTVF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7CiAgICAgdXJpLnJlc2V0KGdfc3RyZHVwKHNyYy0+
cHJpdi0+dXJpKSk7CiAgICAgbG9ja2VyLnVubG9jaygpOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236436</attachid>
            <date>2014-08-12 03:13:12 -0700</date>
            <delta_ts>2014-08-12 03:39:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135833-20140812031300.patch</filename>
            <type>text/plain</type>
            <size>15115</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxNzI0MzkpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDE0LTA4LTEyICBaYW4gRG9iZXJzZWsgIDx6ZG9i
ZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBDbGVhbiB1cCBHTXV0ZXhMb2NrZXIKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNTgzMworCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFBsYWNlIHRoZSBHTXV0
ZXhMb2NrZXIgaW50byB0aGUgV1RGIG5hbWVzcGFjZS4gVGhlcmUncyBubyBuZWVkIGZvciB0aGlz
CisgICAgICAgIGNsYXNzIHRvIHVzZSBGYXN0TWFsbG9jIHNpbmNlIGl0J3MgYWx3YXlzIGFsbG9j
YXRlZCBvbiB0aGUgc3RhY2suIFRoZQorICAgICAgICBjb25zdHJ1Y3RvciBhbmQgY2xhc3Mgbm93
IG9wZXJhdGUgb24gYSBHTXV0ZXggcmVmZXJlbmNlLiBUaGVyZSdzIGxpdHRsZQorICAgICAgICBu
ZWVkIGZvciBhbiBhZGRpdGlvbmFsIGlubGluZSBzcGVjaWZpZXIgZm9yIG1ldGhvZHMgZGVmaW5l
ZCBpbiB0aGUgaGVhZGVyLgorICAgICAgICBUaGUgbXV0ZXgoKSBtZXRob2QgaXMgcmVtb3ZlZCBh
cyBpdCB3YXMgbm90IHVzZWQuIG1fdmFsIGlzIHJlbmFtZWQgdG8gYQorICAgICAgICBtb3JlIGRl
c2NyaXB0aXZlIG1fbG9ja2VkIGFuZCBpcyBtYWRlIGEgYm9vbGVhbi4KKworICAgICAgICAqIHd0
Zi9nb2JqZWN0L0dNdXRleExvY2tlci5oOgorICAgICAgICAoV1RGOjpHTXV0ZXhMb2NrZXI6OkdN
dXRleExvY2tlcik6CisgICAgICAgIChXVEY6OkdNdXRleExvY2tlcjo6fkdNdXRleExvY2tlcik6
CisgICAgICAgIChXVEY6OkdNdXRleExvY2tlcjo6bG9jayk6CisgICAgICAgIChXVEY6OkdNdXRl
eExvY2tlcjo6dW5sb2NrKToKKyAgICAgICAgKFdlYkNvcmU6OkdNdXRleExvY2tlcjo6R011dGV4
TG9ja2VyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkdNdXRleExvY2tlcjo6fkdNdXRl
eExvY2tlcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpHTXV0ZXhMb2NrZXI6OmxvY2sp
OiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6R011dGV4TG9ja2VyOjp1bmxvY2spOiBEZWxl
dGVkLgorICAgICAgICAoV2ViQ29yZTo6R011dGV4TG9ja2VyOjptdXRleCk6IERlbGV0ZWQuCisK
IDIwMTQtMDgtMTAgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFVwZGF0ZSBIYXNoVGFibGUncyBvcGVyYXRvcj0gYWZ0ZXIgcjE3MjE2NyBwZXIgcmV2
aWV3IGNvbW1lbnRzCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi9nb2JqZWN0L0dNdXRleExvY2tlci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL2dvYmplY3QvR011dGV4TG9ja2VyLmgJKHJl
dmlzaW9uIDE3MjQzOSkKKysrIFNvdXJjZS9XVEYvd3RmL2dvYmplY3QvR011dGV4TG9ja2VyLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTIzLDQ5ICsyMyw0OSBAQAogI2lmIFVTRShHTElCKQogCiAjaW5j
bHVkZSA8Z2xpYi5oPgotCi0jaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNpbmNsdWRlIDx3
dGYvTm9uY29weWFibGUuaD4KIAotbmFtZXNwYWNlIFdlYkNvcmUgeworbmFtZXNwYWNlIFdURiB7
CiAKIGNsYXNzIEdNdXRleExvY2tlciB7Ci0gICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoR011dGV4
TG9ja2VyKTsgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci0KKyAgICBXVEZfTUFLRV9OT05DT1BZ
QUJMRShHTXV0ZXhMb2NrZXIpOwogcHVibGljOgotICAgIGlubGluZSBleHBsaWNpdCBHTXV0ZXhM
b2NrZXIoR011dGV4KiBtdXRleCkKKyAgICBleHBsaWNpdCBHTXV0ZXhMb2NrZXIoR011dGV4JiBt
dXRleCkKICAgICAgICAgOiBtX211dGV4KG11dGV4KQotICAgICAgICAsIG1fdmFsKDApCisgICAg
ICAgICwgbV9sb2NrZWQoZmFsc2UpCiAgICAgewogICAgICAgICBsb2NrKCk7CiAgICAgfQogCi0g
ICAgaW5saW5lIH5HTXV0ZXhMb2NrZXIoKSB7IHVubG9jaygpOyB9CisgICAgfkdNdXRleExvY2tl
cigpCisgICAgeworICAgICAgICB1bmxvY2soKTsKKyAgICB9CiAKLSAgICBpbmxpbmUgdm9pZCBs
b2NrKCkKKyAgICB2b2lkIGxvY2soKQogICAgIHsKLSAgICAgICAgaWYgKG1fbXV0ZXggJiYgIW1f
dmFsKSB7Ci0gICAgICAgICAgICBnX211dGV4X2xvY2sobV9tdXRleCk7Ci0gICAgICAgICAgICBt
X3ZhbCA9IDE7CisgICAgICAgIGlmICghbV9sb2NrZWQpIHsKKyAgICAgICAgICAgIGdfbXV0ZXhf
bG9jaygmbV9tdXRleCk7CisgICAgICAgICAgICBtX2xvY2tlZCA9IHRydWU7CiAgICAgICAgIH0K
ICAgICB9CiAKLSAgICBpbmxpbmUgdm9pZCB1bmxvY2soKQorICAgIHZvaWQgdW5sb2NrKCkKICAg
ICB7Ci0gICAgICAgIGlmIChtX211dGV4ICYmIG1fdmFsKSB7Ci0gICAgICAgICAgICBtX3ZhbCA9
IDA7Ci0gICAgICAgICAgICBnX211dGV4X3VubG9jayhtX211dGV4KTsKKyAgICAgICAgaWYgKG1f
bG9ja2VkKSB7CisgICAgICAgICAgICBtX2xvY2tlZCA9IGZhbHNlOworICAgICAgICAgICAgZ19t
dXRleF91bmxvY2soJm1fbXV0ZXgpOwogICAgICAgICB9CiAgICAgfQogCi0gICAgaW5saW5lIEdN
dXRleCogbXV0ZXgoKSBjb25zdCB7IHJldHVybiBtX211dGV4OyB9Ci0KIHByaXZhdGU6Ci0gICAg
R011dGV4KiBtX211dGV4OwotICAgIHVpbnQ4X3QgbV92YWw7CisgICAgR011dGV4JiBtX211dGV4
OworICAgIGJvb2wgbV9sb2NrZWQ7CiB9OwogCi19Cit9IC8vIG5hbWVzcGFjZSBXVEYKKwordXNp
bmcgV1RGOjpHTXV0ZXhMb2NrZXI7CiAKICNlbmRpZiAvLyBVU0UoR0xJQikKIApJbmRleDogU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkocmV2aXNpb24gMTcyNDM5KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsNDQgQEAKKzIwMTQtMDgtMTIgIFphbiBEb2JlcnNlayAgPHpk
b2JlcnNla0BpZ2FsaWEuY29tPgorCisgICAgICAgIENsZWFuIHVwIEdNdXRleExvY2tlcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM1ODMzCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRG9uJ3QgZHluYW1p
Y2FsbHkgYWxsb2NhdGUgR011dGV4IG9iamVjdHMuIFVwZGF0ZSBHTXV0ZXhMb2NrZXIKKyAgICAg
ICAgaW5pdGlhbGl6YXRpb25zIHRvIHBhc3MgaW4gYSBHTXV0ZXggcmVmZXJlbmNlLCBub3QgYSBw
b2ludGVyLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5
ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZSk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp+TWVk
aWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcDoKKyAg
ICAgICAgKF9XZWJLaXRWaWRlb1NpbmtQcml2YXRlOjpfV2ViS2l0VmlkZW9TaW5rUHJpdmF0ZSk6
IEluaXRpYWxpemUgdGhlIEdNdXRleC4KKyAgICAgICAgKF9XZWJLaXRWaWRlb1NpbmtQcml2YXRl
Ojp+X1dlYktpdFZpZGVvU2lua1ByaXZhdGUpOiBDbGVhciB0aGUgR011dGV4LgorICAgICAgICAo
d2Via2l0X3ZpZGVvX3NpbmtfaW5pdCk6CisgICAgICAgICh3ZWJraXRWaWRlb1NpbmtSZW5kZXIp
OgorICAgICAgICAod2Via2l0VmlkZW9TaW5rRGlzcG9zZSk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHA6CisgICAgICAg
ICh3ZWJLaXRXZWJTcmNHZXRQcm9wZXJ0eSk6CisgICAgICAgICh3ZWJLaXRXZWJTcmNTdG9wKToK
KyAgICAgICAgKHdlYktpdFdlYlNyY1N0YXJ0KToKKyAgICAgICAgKHdlYktpdFdlYlNyY0NoYW5n
ZVN0YXRlKToKKyAgICAgICAgKHdlYktpdFdlYlNyY1F1ZXJ5V2l0aFBhcmVudCk6CisgICAgICAg
ICh3ZWJLaXRXZWJTcmNHZXRVcmkpOgorICAgICAgICAod2ViS2l0V2ViU3JjU2V0VXJpKToKKyAg
ICAgICAgKHdlYktpdFdlYlNyY05lZWREYXRhTWFpbkNiKToKKyAgICAgICAgKHdlYktpdFdlYlNy
Y05lZWREYXRhQ2IpOgorICAgICAgICAod2ViS2l0V2ViU3JjRW5vdWdoRGF0YU1haW5DYik6Cisg
ICAgICAgICh3ZWJLaXRXZWJTcmNFbm91Z2hEYXRhQ2IpOgorICAgICAgICAod2ViS2l0V2ViU3Jj
U2Vla0RhdGFDYik6CisgICAgICAgICh3ZWJLaXRXZWJTcmNTZXRNZWRpYVBsYXllcik6CisgICAg
ICAgIChTdHJlYW1pbmdDbGllbnQ6OmNyZWF0ZVJlYWRCdWZmZXIpOgorICAgICAgICAoU3RyZWFt
aW5nQ2xpZW50OjpoYW5kbGVSZXNwb25zZVJlY2VpdmVkKToKKyAgICAgICAgKFN0cmVhbWluZ0Ns
aWVudDo6aGFuZGxlRGF0YVJlY2VpdmVkKToKKyAgICAgICAgKFN0cmVhbWluZ0NsaWVudDo6aGFu
ZGxlTm90aWZ5RmluaXNoZWQpOgorICAgICAgICAoUmVzb3VyY2VIYW5kbGVTdHJlYW1pbmdDbGll
bnQ6Ondhc0Jsb2NrZWQpOgorICAgICAgICAoUmVzb3VyY2VIYW5kbGVTdHJlYW1pbmdDbGllbnQ6
OmNhbm5vdFNob3dVUkwpOgorCiAyMDE0LTA4LTEyICBFZHVhcmRvIExpbWEgTWl0ZXYgIDxlbGlt
YUBpZ2FsaWEuY29tPgogICAgICAgICBbR1RLXSBBZGRzIGRlcGVuZGVuY3kgb24gR251VExTIDMu
MCsgZm9yIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBzdWJ0bGUgY3J5cHRvIGFsZ29yaXRobXMKICAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzMzMxNwpJbmRl
eDogU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNl
LmNwcAkocmV2aXNpb24gMTcyNDM5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC05NCw4ICs5NCw3IEBAIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2U6
Ok1lZGlhUGwKICAgICAsIG1fdm9sdW1lU2lnbmFsSGFuZGxlcigwKQogICAgICwgbV9tdXRlU2ln
bmFsSGFuZGxlcigwKQogewotICAgIG1fYnVmZmVyTXV0ZXggPSBuZXcgR011dGV4OwotICAgIGdf
bXV0ZXhfaW5pdChtX2J1ZmZlck11dGV4KTsKKyAgICBnX211dGV4X2luaXQoJm1fYnVmZmVyTXV0
ZXgpOwogfQogCiBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjp+TWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyQmFzZSgpCkBAIC0xMDUsOCArMTA0LDcgQEAgTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyQmFzZTo6fk1lZGlhUAogICAgICAgICBtX3JlcGFpbnRIYW5kbGVyID0gMDsK
ICAgICB9CiAKLSAgICBnX211dGV4X2NsZWFyKG1fYnVmZmVyTXV0ZXgpOwotICAgIGRlbGV0ZSBt
X2J1ZmZlck11dGV4OworICAgIGdfbXV0ZXhfY2xlYXIoJm1fYnVmZmVyTXV0ZXgpOwogCiAgICAg
aWYgKG1fYnVmZmVyKQogICAgICAgICBnc3RfYnVmZmVyX3VucmVmKG1fYnVmZmVyKTsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclBy
aXZhdGVHU3RyZWFtZXJCYXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaAko
cmV2aXNpb24gMTcyNDM5KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuaAkod29ya2luZyBjb3B5KQpA
QCAtMTIzLDcgKzEyMyw3IEBAIHByb3RlY3RlZDoKICAgICBNZWRpYVBsYXllcjo6UmVhZHlTdGF0
ZSBtX3JlYWR5U3RhdGU7CiAgICAgTWVkaWFQbGF5ZXI6Ok5ldHdvcmtTdGF0ZSBtX25ldHdvcmtT
dGF0ZTsKICAgICBJbnRTaXplIG1fc2l6ZTsKLSAgICBHTXV0ZXgqIG1fYnVmZmVyTXV0ZXg7Cisg
ICAgR011dGV4IG1fYnVmZmVyTXV0ZXg7CiAgICAgR3N0QnVmZmVyKiBtX2J1ZmZlcjsKICAgICBH
TWFpbkxvb3BTb3VyY2UgbV92b2x1bWVUaW1lckhhbmRsZXI7CiAgICAgR01haW5Mb29wU291cmNl
IG1fbXV0ZVRpbWVySGFuZGxlcjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIu
Y3BwCShyZXZpc2lvbiAxNzI0MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzQs
OSArNzQsMTkgQEAgZW51bSB7CiBzdGF0aWMgZ3VpbnQgd2Via2l0VmlkZW9TaW5rU2lnbmFsc1tM
QVNUX1NJR05BTF0gPSB7IDAsIH07CiAKIHN0cnVjdCBfV2ViS2l0VmlkZW9TaW5rUHJpdmF0ZSB7
CisgICAgX1dlYktpdFZpZGVvU2lua1ByaXZhdGUoKQorICAgIHsKKyAgICAgICAgZ19tdXRleF9p
bml0KCZidWZmZXJNdXRleCk7CisgICAgfQorCisgICAgfl9XZWJLaXRWaWRlb1NpbmtQcml2YXRl
KCkKKyAgICB7CisgICAgICAgIGdfbXV0ZXhfY2xlYXIoJmJ1ZmZlck11dGV4KTsKKyAgICB9CisK
ICAgICBHc3RCdWZmZXIqIGJ1ZmZlcjsKICAgICBHTWFpbkxvb3BTb3VyY2UgdGltZW91dFNvdXJj
ZTsKLSAgICBHTXV0ZXgqIGJ1ZmZlck11dGV4OworICAgIEdNdXRleCBidWZmZXJNdXRleDsKICAg
ICBHQ29uZCogZGF0YUNvbmRpdGlvbjsKIAogICAgIEdzdFZpZGVvSW5mbyBpbmZvOwpAQCAtMTA0
LDggKzExNCw2IEBAIHN0YXRpYyB2b2lkIHdlYmtpdF92aWRlb19zaW5rX2luaXQoV2ViS2kKICAg
ICBuZXcgKHNpbmstPnByaXYpIFdlYktpdFZpZGVvU2lua1ByaXZhdGUoKTsKICAgICBzaW5rLT5w
cml2LT5kYXRhQ29uZGl0aW9uID0gbmV3IEdDb25kOwogICAgIGdfY29uZF9pbml0KHNpbmstPnBy
aXYtPmRhdGFDb25kaXRpb24pOwotICAgIHNpbmstPnByaXYtPmJ1ZmZlck11dGV4ID0gbmV3IEdN
dXRleDsKLSAgICBnX211dGV4X2luaXQoc2luay0+cHJpdi0+YnVmZmVyTXV0ZXgpOwogCiAgICAg
Z3N0X3ZpZGVvX2luZm9faW5pdCgmc2luay0+cHJpdi0+aW5mbyk7CiB9CkBAIC0yMjAsNyArMjI4
LDcgQEAgc3RhdGljIEdzdEZsb3dSZXR1cm4gd2Via2l0VmlkZW9TaW5rUmVuZAogICAgIHByaXYt
PnRpbWVvdXRTb3VyY2Uuc2NoZWR1bGUoIltXZWJLaXRdIHdlYmtpdFZpZGVvU2lua1RpbWVvdXRD
YWxsYmFjayIsIHN0ZDo6ZnVuY3Rpb248dm9pZCgpPihzdGQ6OmJpbmQod2Via2l0VmlkZW9TaW5r
VGltZW91dENhbGxiYWNrLCBzaW5rKSksIEdfUFJJT1JJVFlfREVGQVVMVCwKICAgICAgICAgW3Np
bmtdIHsgZ3N0X29iamVjdF91bnJlZihzaW5rKTsgfSk7CiAKLSAgICBnX2NvbmRfd2FpdChwcml2
LT5kYXRhQ29uZGl0aW9uLCBwcml2LT5idWZmZXJNdXRleCk7CisgICAgZ19jb25kX3dhaXQocHJp
di0+ZGF0YUNvbmRpdGlvbiwgJnByaXYtPmJ1ZmZlck11dGV4KTsKICAgICByZXR1cm4gR1NUX0ZM
T1dfT0s7CiB9CiAKQEAgLTIzNSwxMiArMjQzLDYgQEAgc3RhdGljIHZvaWQgd2Via2l0VmlkZW9T
aW5rRGlzcG9zZShHT2JqZQogICAgICAgICBwcml2LT5kYXRhQ29uZGl0aW9uID0gMDsKICAgICB9
CiAKLSAgICBpZiAocHJpdi0+YnVmZmVyTXV0ZXgpIHsKLSAgICAgICAgZ19tdXRleF9jbGVhcihw
cml2LT5idWZmZXJNdXRleCk7Ci0gICAgICAgIGRlbGV0ZSBwcml2LT5idWZmZXJNdXRleDsKLSAg
ICAgICAgcHJpdi0+YnVmZmVyTXV0ZXggPSAwOwotICAgIH0KLQogICAgIEdfT0JKRUNUX0NMQVNT
KHBhcmVudF9jbGFzcyktPmRpc3Bvc2Uob2JqZWN0KTsKIH0KIApJbmRleDogU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL1dlYktpdFdlYlNvdXJjZUdTdHJlYW1lci5jcHAJKHJldmlzaW9uIDE3MjQzOSkKKysrIFNv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9XZWJLaXRXZWJTb3VyY2VH
U3RyZWFtZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNTIsNyArMzUyLDcgQEAgc3RhdGljIHZv
aWQgd2ViS2l0V2ViU3JjR2V0UHJvcGVydHkoR09iagogICAgIFdlYktpdFdlYlNyYyogc3JjID0g
V0VCS0lUX1dFQl9TUkMob2JqZWN0KTsKICAgICBXZWJLaXRXZWJTcmNQcml2YXRlKiBwcml2ID0g
c3JjLT5wcml2OwogCi0gICAgR011dGV4TG9ja2VyIGxvY2tlcihHU1RfT0JKRUNUX0dFVF9MT0NL
KHNyYykpOworICAgIEdNdXRleExvY2tlciBsb2NrZXIoKkdTVF9PQkpFQ1RfR0VUX0xPQ0soc3Jj
KSk7CiAgICAgc3dpdGNoIChwcm9wSUQpIHsKICAgICBjYXNlIFBST1BfSVJBRElPX05BTUU6CiAg
ICAgICAgIGdfdmFsdWVfc2V0X3N0cmluZyh2YWx1ZSwgcHJpdi0+aXJhZGlvTmFtZSk7CkBAIC0z
OTEsNyArMzkxLDcgQEAgc3RhdGljIHZvaWQgd2ViS2l0V2ViU3JjU3RvcChXZWJLaXRXZWJTcgog
CiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIAotICAgIEdNdXRleExvY2tlciBsb2NrZXIo
R1NUX09CSkVDVF9HRVRfTE9DSyhzcmMpKTsKKyAgICBHTXV0ZXhMb2NrZXIgbG9ja2VyKCpHU1Rf
T0JKRUNUX0dFVF9MT0NLKHNyYykpOwogCiAgICAgYm9vbCBzZWVraW5nID0gcHJpdi0+c2Vla1Nv
dXJjZS5pc0FjdGl2ZSgpOwogCkBAIC00NDcsNyArNDQ3LDcgQEAgc3RhdGljIHZvaWQgd2ViS2l0
V2ViU3JjU3RhcnQoV2ViS2l0V2ViUwogCiAgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKIAot
ICAgIEdNdXRleExvY2tlciBsb2NrZXIoR1NUX09CSkVDVF9HRVRfTE9DSyhzcmMpKTsKKyAgICBH
TXV0ZXhMb2NrZXIgbG9ja2VyKCpHU1RfT0JKRUNUX0dFVF9MT0NLKHNyYykpOwogCiAgICAgcHJp
di0+Y29yc0FjY2Vzc0NoZWNrID0gQ09SU05vQ2hlY2s7CiAKQEAgLTU0MSw3ICs1NDEsNyBAQCBz
dGF0aWMgR3N0U3RhdGVDaGFuZ2VSZXR1cm4gd2ViS2l0V2ViU3JjCiAgICAgICAgIHJldHVybiBy
ZXQ7CiAgICAgfQogCi0gICAgR011dGV4TG9ja2VyIGxvY2tlcihHU1RfT0JKRUNUX0dFVF9MT0NL
KHNyYykpOworICAgIEdNdXRleExvY2tlciBsb2NrZXIoKkdTVF9PQkpFQ1RfR0VUX0xPQ0soc3Jj
KSk7CiAgICAgc3dpdGNoICh0cmFuc2l0aW9uKSB7CiAgICAgY2FzZSBHU1RfU1RBVEVfQ0hBTkdF
X1JFQURZX1RPX1BBVVNFRDoKICAgICAgICAgR1NUX0RFQlVHX09CSkVDVChzcmMsICJSRUFEWS0+
UEFVU0VEIik7CkBAIC01NzYsNyArNTc2LDcgQEAgc3RhdGljIGdib29sZWFuIHdlYktpdFdlYlNy
Y1F1ZXJ5V2l0aFBhcgogICAgICAgICBnc3RfcXVlcnlfcGFyc2VfZHVyYXRpb24ocXVlcnksICZm
b3JtYXQsIE5VTEwpOwogCiAgICAgICAgIEdTVF9ERUJVR19PQkpFQ1Qoc3JjLCAiZHVyYXRpb24g
cXVlcnkgaW4gZm9ybWF0ICVzIiwgZ3N0X2Zvcm1hdF9nZXRfbmFtZShmb3JtYXQpKTsKLSAgICAg
ICAgR011dGV4TG9ja2VyIGxvY2tlcihHU1RfT0JKRUNUX0dFVF9MT0NLKHNyYykpOworICAgICAg
ICBHTXV0ZXhMb2NrZXIgbG9ja2VyKCpHU1RfT0JKRUNUX0dFVF9MT0NLKHNyYykpOwogICAgICAg
ICBpZiAoZm9ybWF0ID09IEdTVF9GT1JNQVRfQllURVMgJiYgc3JjLT5wcml2LT5zaXplID4gMCkg
ewogICAgICAgICAgICAgZ3N0X3F1ZXJ5X3NldF9kdXJhdGlvbihxdWVyeSwgZm9ybWF0LCBzcmMt
PnByaXYtPnNpemUpOwogICAgICAgICAgICAgcmVzdWx0ID0gVFJVRTsKQEAgLTU4NCw3ICs1ODQs
NyBAQCBzdGF0aWMgZ2Jvb2xlYW4gd2ViS2l0V2ViU3JjUXVlcnlXaXRoUGFyCiAgICAgICAgIGJy
ZWFrOwogICAgIH0KICAgICBjYXNlIEdTVF9RVUVSWV9VUkk6IHsKLSAgICAgICAgR011dGV4TG9j
a2VyIGxvY2tlcihHU1RfT0JKRUNUX0dFVF9MT0NLKHNyYykpOworICAgICAgICBHTXV0ZXhMb2Nr
ZXIgbG9ja2VyKCpHU1RfT0JKRUNUX0dFVF9MT0NLKHNyYykpOwogICAgICAgICBnc3RfcXVlcnlf
c2V0X3VyaShxdWVyeSwgc3JjLT5wcml2LT51cmkpOwogICAgICAgICByZXN1bHQgPSBUUlVFOwog
ICAgICAgICBicmVhazsKQEAgLTYyNSw3ICs2MjUsNyBAQCBzdGF0aWMgZ2NoYXIqIHdlYktpdFdl
YlNyY0dldFVyaShHc3RVUklICiAgICAgV2ViS2l0V2ViU3JjKiBzcmMgPSBXRUJLSVRfV0VCX1NS
QyhoYW5kbGVyKTsKICAgICBnY2hhciogcmV0OwogCi0gICAgR011dGV4TG9ja2VyIGxvY2tlcihH
U1RfT0JKRUNUX0dFVF9MT0NLKHNyYykpOworICAgIEdNdXRleExvY2tlciBsb2NrZXIoKkdTVF9P
QkpFQ1RfR0VUX0xPQ0soc3JjKSk7CiAgICAgcmV0ID0gZ19zdHJkdXAoc3JjLT5wcml2LT51cmkp
OwogICAgIHJldHVybiByZXQ7CiB9CkBAIC02NDAsNyArNjQwLDcgQEAgc3RhdGljIGdib29sZWFu
IHdlYktpdFdlYlNyY1NldFVyaShHc3RVUgogICAgICAgICByZXR1cm4gRkFMU0U7CiAgICAgfQog
Ci0gICAgR011dGV4TG9ja2VyIGxvY2tlcihHU1RfT0JKRUNUX0dFVF9MT0NLKHNyYykpOworICAg
IEdNdXRleExvY2tlciBsb2NrZXIoKkdTVF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7CiAKICAgICBn
X2ZyZWUocHJpdi0+dXJpKTsKICAgICBwcml2LT51cmkgPSAwOwpAQCAtNjc2LDcgKzY3Niw3IEBA
IHN0YXRpYyB2b2lkIHdlYktpdFdlYlNyY05lZWREYXRhTWFpbkNiKFcKIAogICAgIEFTU0VSVChp
c01haW5UaHJlYWQoKSk7CiAKLSAgICBHTXV0ZXhMb2NrZXIgbG9ja2VyKEdTVF9PQkpFQ1RfR0VU
X0xPQ0soc3JjKSk7CisgICAgR011dGV4TG9ja2VyIGxvY2tlcigqR1NUX09CSkVDVF9HRVRfTE9D
SyhzcmMpKTsKICAgICBwcml2LT5wYXVzZWQgPSBGQUxTRTsKICAgICBsb2NrZXIudW5sb2NrKCk7
CiAKQEAgLTY5MSw3ICs2OTEsNyBAQCBzdGF0aWMgdm9pZCB3ZWJLaXRXZWJTcmNOZWVkRGF0YUNi
KEdzdEFwCiAKICAgICBHU1RfREVCVUdfT0JKRUNUKHNyYywgIk5lZWQgbW9yZSBkYXRhOiAldSIs
IGxlbmd0aCk7CiAKLSAgICBHTXV0ZXhMb2NrZXIgbG9ja2VyKEdTVF9PQkpFQ1RfR0VUX0xPQ0so
c3JjKSk7CisgICAgR011dGV4TG9ja2VyIGxvY2tlcigqR1NUX09CSkVDVF9HRVRfTE9DSyhzcmMp
KTsKICAgICBpZiAocHJpdi0+bmVlZERhdGFTb3VyY2UuaXNTY2hlZHVsZWQoKSB8fCAhcHJpdi0+
cGF1c2VkKQogICAgICAgICByZXR1cm47CiAKQEAgLTcwNiw3ICs3MDYsNyBAQCBzdGF0aWMgdm9p
ZCB3ZWJLaXRXZWJTcmNFbm91Z2hEYXRhTWFpbkNiCiAKICAgICBBU1NFUlQoaXNNYWluVGhyZWFk
KCkpOwogCi0gICAgR011dGV4TG9ja2VyIGxvY2tlcihHU1RfT0JKRUNUX0dFVF9MT0NLKHNyYykp
OworICAgIEdNdXRleExvY2tlciBsb2NrZXIoKkdTVF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7CiAg
ICAgcHJpdi0+cGF1c2VkID0gVFJVRTsKICAgICBsb2NrZXIudW5sb2NrKCk7CiAKQEAgLTcyMSw3
ICs3MjEsNyBAQCBzdGF0aWMgdm9pZCB3ZWJLaXRXZWJTcmNFbm91Z2hEYXRhQ2IoR3N0CiAKICAg
ICBHU1RfREVCVUdfT0JKRUNUKHNyYywgIkhhdmUgZW5vdWdoIGRhdGEiKTsKIAotICAgIEdNdXRl
eExvY2tlciBsb2NrZXIoR1NUX09CSkVDVF9HRVRfTE9DSyhzcmMpKTsKKyAgICBHTXV0ZXhMb2Nr
ZXIgbG9ja2VyKCpHU1RfT0JKRUNUX0dFVF9MT0NLKHNyYykpOwogICAgIGlmIChwcml2LT5lbm91
Z2hEYXRhU291cmNlLmlzU2NoZWR1bGVkKCkgfHwgcHJpdi0+cGF1c2VkKQogICAgICAgICByZXR1
cm47CiAKQEAgLTc0NCw3ICs3NDQsNyBAQCBzdGF0aWMgZ2Jvb2xlYW4gd2ViS2l0V2ViU3JjU2Vl
a0RhdGFDYihHCiAgICAgV2ViS2l0V2ViU3JjUHJpdmF0ZSogcHJpdiA9IHNyYy0+cHJpdjsKIAog
ICAgIEdTVF9ERUJVR19PQkpFQ1Qoc3JjLCAiU2Vla2luZyB0byBvZmZzZXQ6ICUiIEdfR1VJTlQ2
NF9GT1JNQVQsIG9mZnNldCk7Ci0gICAgR011dGV4TG9ja2VyIGxvY2tlcihHU1RfT0JKRUNUX0dF
VF9MT0NLKHNyYykpOworICAgIEdNdXRleExvY2tlciBsb2NrZXIoKkdTVF9PQkpFQ1RfR0VUX0xP
Q0soc3JjKSk7CiAgICAgaWYgKG9mZnNldCA9PSBwcml2LT5vZmZzZXQgJiYgcHJpdi0+cmVxdWVz
dGVkT2Zmc2V0ID09IHByaXYtPm9mZnNldCkKICAgICAgICAgcmV0dXJuIFRSVUU7CiAKQEAgLTc2
Myw3ICs3NjMsNyBAQCBzdGF0aWMgZ2Jvb2xlYW4gd2ViS2l0V2ViU3JjU2Vla0RhdGFDYihHCiB2
b2lkIHdlYktpdFdlYlNyY1NldE1lZGlhUGxheWVyKFdlYktpdFdlYlNyYyogc3JjLCBXZWJDb3Jl
OjpNZWRpYVBsYXllciogcGxheWVyKQogewogICAgIEFTU0VSVChwbGF5ZXIpOwotICAgIEdNdXRl
eExvY2tlciBsb2NrZXIoR1NUX09CSkVDVF9HRVRfTE9DSyhzcmMpKTsKKyAgICBHTXV0ZXhMb2Nr
ZXIgbG9ja2VyKCpHU1RfT0JKRUNUX0dFVF9MT0NLKHNyYykpOwogICAgIHNyYy0+cHJpdi0+cGxh
eWVyID0gcGxheWVyOwogfQogCkBAIC03OTIsNyArNzkyLDcgQEAgY2hhciogU3RyZWFtaW5nQ2xp
ZW50OjpjcmVhdGVSZWFkQnVmZmVyKAogCiAgICAgbWFwR3N0QnVmZmVyKGJ1ZmZlcik7CiAKLSAg
ICBHTXV0ZXhMb2NrZXIgbG9ja2VyKEdTVF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7CisgICAgR011
dGV4TG9ja2VyIGxvY2tlcigqR1NUX09CSkVDVF9HRVRfTE9DSyhzcmMpKTsKICAgICBwcml2LT5i
dWZmZXIgPSBhZG9wdEdSZWYoYnVmZmVyKTsKICAgICBsb2NrZXIudW5sb2NrKCk7CiAKQEAgLTgx
OCw3ICs4MTgsNyBAQCB2b2lkIFN0cmVhbWluZ0NsaWVudDo6aGFuZGxlUmVzcG9uc2VSZWNlCiAg
ICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBHTXV0ZXhMb2NrZXIgbG9ja2VyKEdTVF9PQkpF
Q1RfR0VUX0xPQ0soc3JjKSk7CisgICAgR011dGV4TG9ja2VyIGxvY2tlcigqR1NUX09CSkVDVF9H
RVRfTE9DSyhzcmMpKTsKIAogICAgIHByaXYtPmNvcnNBY2Nlc3NDaGVjayA9IGNvcnNBY2Nlc3ND
aGVjazsKIApAQCAtOTE3LDcgKzkxNyw3IEBAIHZvaWQgU3RyZWFtaW5nQ2xpZW50OjpoYW5kbGVE
YXRhUmVjZWl2ZWQKICAgICBXZWJLaXRXZWJTcmMqIHNyYyA9IFdFQktJVF9XRUJfU1JDKG1fc3Jj
LmdldCgpKTsKICAgICBXZWJLaXRXZWJTcmNQcml2YXRlKiBwcml2ID0gc3JjLT5wcml2OwogCi0g
ICAgR011dGV4TG9ja2VyIGxvY2tlcihHU1RfT0JKRUNUX0dFVF9MT0NLKHNyYykpOworICAgIEdN
dXRleExvY2tlciBsb2NrZXIoKkdTVF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7CiAKICAgICBHU1Rf
TE9HX09CSkVDVChzcmMsICJIYXZlICVsbGQgYnl0ZXMgb2YgZGF0YSIsIHByaXYtPmJ1ZmZlciA/
IHN0YXRpY19jYXN0PGxvbmcgbG9uZz4oZ3N0X2J1ZmZlcl9nZXRfc2l6ZShwcml2LT5idWZmZXIu
Z2V0KCkpKSA6IGxlbmd0aCk7CiAKQEAgLTk4Niw3ICs5ODYsNyBAQCB2b2lkIFN0cmVhbWluZ0Ns
aWVudDo6aGFuZGxlTm90aWZ5RmluaXNoCiAKICAgICBHU1RfREVCVUdfT0JKRUNUKHNyYywgIkhh
dmUgRU9TIik7CiAKLSAgICBHTXV0ZXhMb2NrZXIgbG9ja2VyKEdTVF9PQkpFQ1RfR0VUX0xPQ0so
c3JjKSk7CisgICAgR011dGV4TG9ja2VyIGxvY2tlcigqR1NUX09CSkVDVF9HRVRfTE9DSyhzcmMp
KTsKICAgICBpZiAoIXByaXYtPnNlZWtTb3VyY2UuaXNBY3RpdmUoKSkgewogICAgICAgICBsb2Nr
ZXIudW5sb2NrKCk7CiAgICAgICAgIGdzdF9hcHBfc3JjX2VuZF9vZl9zdHJlYW0ocHJpdi0+YXBw
c3JjKTsKQEAgLTExNDUsNyArMTE0NSw3IEBAIHZvaWQgUmVzb3VyY2VIYW5kbGVTdHJlYW1pbmdD
bGllbnQ6Ondhc0IKIAogICAgIEdTVF9FUlJPUl9PQkpFQ1Qoc3JjLCAiUmVxdWVzdCB3YXMgYmxv
Y2tlZCIpOwogCi0gICAgR011dGV4TG9ja2VyIGxvY2tlcihHU1RfT0JKRUNUX0dFVF9MT0NLKHNy
YykpOworICAgIEdNdXRleExvY2tlciBsb2NrZXIoKkdTVF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7
CiAgICAgdXJpLnJlc2V0KGdfc3RyZHVwKHNyYy0+cHJpdi0+dXJpKSk7CiAgICAgbG9ja2VyLnVu
bG9jaygpOwogCkBAIC0xMTU5LDcgKzExNTksNyBAQCB2b2lkIFJlc291cmNlSGFuZGxlU3RyZWFt
aW5nQ2xpZW50OjpjYW5uCiAKICAgICBHU1RfRVJST1JfT0JKRUNUKHNyYywgIkNhbm5vdCBzaG93
IFVSTCIpOwogCi0gICAgR011dGV4TG9ja2VyIGxvY2tlcihHU1RfT0JKRUNUX0dFVF9MT0NLKHNy
YykpOworICAgIEdNdXRleExvY2tlciBsb2NrZXIoKkdTVF9PQkpFQ1RfR0VUX0xPQ0soc3JjKSk7
CiAgICAgdXJpLnJlc2V0KGdfc3RyZHVwKHNyYy0+cHJpdi0+dXJpKSk7CiAgICAgbG9ja2VyLnVu
bG9jaygpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>