<?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>54006</bug_id>
          
          <creation_ts>2011-02-08 08:26:56 -0800</creation_ts>
          <short_desc>[Qt] Patch for compiling QtWebKit with WebGL (--3d-canvas) support</short_desc>
          <delta_ts>2011-03-08 09:43:36 -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>WebKit Qt</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>DUPLICATE</resolution>
          <dup_id>53431</dup_id>
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Dawit A.">adawit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>benjamin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>347400</commentid>
    <comment_count>0</comment_count>
    <who name="Dawit A.">adawit</who>
    <bug_when>2011-02-08 08:26:56 -0800</bug_when>
    <thetext>The attached patch fixes compilation of QtWebKit with WebGL support. Everything is straight forward except for the new file that was added to implement the draw buffering (platform/graphics/qt/DrawingBufferQt.cpp). Due to my lack of knowledge of 3D graphics programming, this newly added file, based on the chromium and mac ports, is there to simply ensure proper compilation and not proper functionality. More specifically the platform (Qt) specific layer support needs to be implemented for this class.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347410</commentid>
    <comment_count>1</comment_count>
      <attachid>81640</attachid>
    <who name="Dawit A.">adawit</who>
    <bug_when>2011-02-08 08:45:22 -0800</bug_when>
    <thetext>Created attachment 81640
proposed patch v1

Important note I forgot to mention was that the need to replace the function named &quot;emit&quot; with &quot;emitChar&quot; in &quot;html/canvas/WebGLRenderingContext.cpp&quot; arose from compilation failure due to conflict with Qt&apos;s signal/slot keyword.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348119</commentid>
    <comment_count>2</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2011-02-09 03:10:22 -0800</bug_when>
    <thetext>Andrew Wason already started working on that on https://bugs.webkit.org/show_bug.cgi?id=53431

Dawit, it would be nice if you could sync with him.

*** This bug has been marked as a duplicate of bug 53431 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>363999</commentid>
    <comment_count>3</comment_count>
      <attachid>81640</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-03-08 09:43:36 -0800</bug_when>
    <thetext>Comment on attachment 81640
proposed patch v1

Cleared review? from attachment 81640 so that this bug does not appear in http://webkit.org/pending-review.  If you would like this patch reviewed, please attach it to a new bug (or re-open this bug before marking it for review again).</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81640</attachid>
            <date>2011-02-08 08:45:22 -0800</date>
            <delta_ts>2011-03-08 09:43:36 -0800</delta_ts>
            <desc>proposed patch v1</desc>
            <filename>fix_webgl_compilation_bug54006.patch</filename>
            <type>text/plain</type>
            <size>15809</size>
            <attacher name="Dawit A.">adawit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBjMDE4MDUwLi42ZjcwM2MzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQg
QEAKKzIwMTEtMDItMDggIERhd2l0IEFsZW1heWVodSAgPGFkYXdpdEBrZGUub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtRdF0gUGF0Y2ggZm9y
IGNvbXBpbGluZyBRdFdlYktpdCB3aXRoIFdlYkdMICgtLTNkLWNhbnZhcykgc3VwcG9ydAorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQwMDYKKworICAg
ICAgICBObyBuZXcgdGVzdHMuIChPT1BTISkKKworICAgICAgICAqIFdlYkNvcmUucHJvOgorICAg
ICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpTdHJpcENvbW1lbnRzOjpTdHJpcENvbW1lbnRzOjpwcm9jZXNzKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9EcmF3aW5nQnVmZmVyUXQuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6OmdlbmVyYXRlQ29sb3JUZXh0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6OkRy
YXdpbmdCdWZmZXI6OkRyYXdpbmdCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6RHJhd2luZ0J1
ZmZlcjo6fkRyYXdpbmdCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6RHJhd2luZ0J1ZmZlcjo6
ZGlkUmVzZXQpOgorICAgICAgICAoV2ViQ29yZTo6RHJhd2luZ0J1ZmZlcjo6cGxhdGZvcm1MYXll
cik6CisgICAgICAgIChXZWJDb3JlOjpEcmF3aW5nQnVmZmVyOjpwbGF0Zm9ybUNvbG9yQnVmZmVy
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9FeHRlbnNpb25zM0RRdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpFeHRlbnNpb25zM0RRdDo6YmxpdEZyYW1lYnVmZmVyKToKKyAgICAg
ICAgKFdlYkNvcmU6OkV4dGVuc2lvbnMzRFF0OjpyZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1w
bGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0V4dGVuc2lvbnMzRFF0Lmg6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6Y3JlYXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dDNEOjpnZXRBdHRyaWJMb2NhdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpHcmFwaGljc0NvbnRleHQzRDo6bGluZVdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dDNEOjpnZXRVbmlmb3JtTG9jYXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0M0Q6OmdldEV4dGVuc2lvbnMpOgorICAgICAgICAoV2ViQ29yZTo6
R3JhcGhpY3NDb250ZXh0M0Q6OmdldEltYWdlRGF0YSk6CisKIDIwMTEtMDItMDYgIFJ5b3N1a2Ug
Tml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRs
ZXIuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUucHJvCmluZGV4IGY3MDcwZTkuLjg4NGYzNzcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUucHJvCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUucHJvCkBA
IC0yNTMsNiArMjUzLDcgQEAgV0VCQ09SRV9JTkNMVURFUEFUSCA9IFwKICAgICAkJFBXRC9wbGF0
Zm9ybS9hdWRpbyBcCiAgICAgJCRQV0QvcGxhdGZvcm0vZ3JhcGhpY3MgXAogICAgICQkUFdEL3Bs
YXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMgXAorICAgICQkUFdEL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dSBcCiAgICAgJCRQV0QvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3JtcyBcCiAgICAgJCRQV0Qv
cGxhdGZvcm0vaW1hZ2UtZGVjb2RlcnMgXAogICAgICQkUFdEL3BsYXRmb3JtL21vY2sgXApAQCAt
Mzg0NSw2ICszODQ2LDcgQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxFX1dFQkdMPTEpIHsKICAg
ICAgICAgaHRtbC9jYW52YXMvV2ViR0xPYmplY3QuY3BwIFwKICAgICAgICAgaHRtbC9jYW52YXMv
V2ViR0xCdWZmZXIuY3BwIFwKICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xDb250ZXh0QXR0cmli
dXRlcy5jcHAgXAorICAgICAgICBodG1sL2NhbnZhcy9XZWJHTENvbnRleHRFdmVudC5jcHAgXAog
ICAgICAgICBodG1sL2NhbnZhcy9XZWJHTEV4dGVuc2lvbi5jcHAgXAogICAgICAgICBodG1sL2Nh
bnZhcy9XZWJHTEZyYW1lYnVmZmVyLmNwcCBcCiAgICAgICAgIGh0bWwvY2FudmFzL1dlYkdMR2V0
SW5mby5jcHAgXApAQCAtMzg1OCw2ICszODYwLDggQEAgY29udGFpbnMoREVGSU5FUywgRU5BQkxF
X1dFQkdMPTEpIHsKICAgICAgICAgaHRtbC9jYW52YXMvV2ViR0xVbmlmb3JtTG9jYXRpb24uY3Bw
IFwKICAgICAgICAgaHRtbC9jYW52YXMvV2ViS2l0TG9zZUNvbnRleHQuY3BwIFwKICAgICAgICAg
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuY3BwIFwKKyAgICAgICAgcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0RyYXdpbmdCdWZmZXIuY3BwIFwKKyAgICAgICAgcGxhdGZvcm0vZ3Jh
cGhpY3MvcXQvRHJhd2luZ0J1ZmZlclF0LmNwcCBcCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNz
L3F0L0V4dGVuc2lvbnMzRFF0LmNwcCBcCiAgICAgICAgIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0dy
YXBoaWNzQ29udGV4dDNEUXQuY3BwCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCA3YzZhOTQ2Li5lNzVmYzI1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRl
eHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29u
dGV4dC5jcHAKQEAgLTE3OCw3ICsxNzgsNyBAQCBuYW1lc3BhY2UgewogICAgICAgICAgICAgcmV0
dXJuIChjaGFyYWN0ZXIgPT0gJ1xuJyB8fCBjaGFyYWN0ZXIgPT0gJ1xyJyk7CiAgICAgICAgIH0K
IAotICAgICAgICB2b2lkIGVtaXQoVUNoYXIgY2hhcmFjdGVyKQorICAgICAgICB2b2lkIGVtaXRD
aGFyKFVDaGFyIGNoYXJhY3RlcikKICAgICAgICAgewogICAgICAgICAgICAgbV9idWlsZGVyLmFw
cGVuZChjaGFyYWN0ZXIpOwogICAgICAgICB9CkBAIC0yMTksNyArMjE5LDcgQEAgbmFtZXNwYWNl
IHsKICAgICAgICAgaWYgKGlzTmV3bGluZShjKSkgewogICAgICAgICAgICAgLy8gTm8gbWF0dGVy
IHdoYXQgc3RhdGUgd2UgYXJlIGluLCBwYXNzIHRocm91Z2ggbmV3bGluZXMKICAgICAgICAgICAg
IC8vIHNvIHdlIHByZXNlcnZlIGxpbmUgbnVtYmVycy4KLSAgICAgICAgICAgIGVtaXQoYyk7Cisg
ICAgICAgICAgICBlbWl0Q2hhcihjKTsKIAogICAgICAgICAgICAgaWYgKG1fcGFyc2VTdGF0ZSAh
PSBJbk11bHRpTGluZUNvbW1lbnQpCiAgICAgICAgICAgICAgICAgbV9wYXJzZVN0YXRlID0gQmVn
aW5uaW5nT2ZMaW5lOwpAQCAtMjMxLDEzICsyMzEsMTMgQEAgbmFtZXNwYWNlIHsKICAgICAgICAg
c3dpdGNoIChtX3BhcnNlU3RhdGUpIHsKICAgICAgICAgY2FzZSBCZWdpbm5pbmdPZkxpbmU6CiAg
ICAgICAgICAgICBpZiAoV1RGOjppc0FTQ0lJU3BhY2UoYykpIHsKLSAgICAgICAgICAgICAgICBl
bWl0KGMpOworICAgICAgICAgICAgICAgIGVtaXRDaGFyKGMpOwogICAgICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBpZiAoYyA9PSAnIycpIHsKICAgICAg
ICAgICAgICAgICBtX3BhcnNlU3RhdGUgPSBJblByZXByb2Nlc3NvckRpcmVjdGl2ZTsKLSAgICAg
ICAgICAgICAgICBlbWl0KGMpOworICAgICAgICAgICAgICAgIGVtaXRDaGFyKGMpOwogICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogCkBAIC0yNTAsNyArMjUwLDcgQEAgbmFt
ZXNwYWNlIHsKICAgICAgICAgICAgIGlmIChjID09ICcvJyAmJiBwZWVrKHRlbXApKSB7CiAgICAg
ICAgICAgICAgICAgaWYgKHRlbXAgPT0gJy8nKSB7CiAgICAgICAgICAgICAgICAgICAgIG1fcGFy
c2VTdGF0ZSA9IEluU2luZ2xlTGluZUNvbW1lbnQ7Ci0gICAgICAgICAgICAgICAgICAgIGVtaXQo
JyAnKTsKKyAgICAgICAgICAgICAgICAgICAgZW1pdENoYXIoJyAnKTsKICAgICAgICAgICAgICAg
ICAgICAgYWR2YW5jZSgpOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAg
ICAgICB9CkBAIC0yNjAsMTQgKzI2MCwxNCBAQCBuYW1lc3BhY2UgewogICAgICAgICAgICAgICAg
ICAgICAvLyBFbWl0IHRoZSBjb21tZW50IHN0YXJ0IGluIGNhc2UgdGhlIHVzZXIgaGFzCiAgICAg
ICAgICAgICAgICAgICAgIC8vIGFuIHVuY2xvc2VkIGNvbW1lbnQgYW5kIHdlIHdhbnQgdG8gbGF0
ZXIKICAgICAgICAgICAgICAgICAgICAgLy8gc2lnbmFsIGFuIGVycm9yLgotICAgICAgICAgICAg
ICAgICAgICBlbWl0KCcvJyk7Ci0gICAgICAgICAgICAgICAgICAgIGVtaXQoJyonKTsKKyAgICAg
ICAgICAgICAgICAgICAgZW1pdENoYXIoJy8nKTsKKyAgICAgICAgICAgICAgICAgICAgZW1pdENo
YXIoJyonKTsKICAgICAgICAgICAgICAgICAgICAgYWR2YW5jZSgpOwogICAgICAgICAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAKLSAgICAgICAg
ICAgIGVtaXQoYyk7CisgICAgICAgICAgICBlbWl0Q2hhcihjKTsKICAgICAgICAgICAgIGJyZWFr
OwogCiAgICAgICAgIGNhc2UgSW5QcmVwcm9jZXNzb3JEaXJlY3RpdmU6CkBAIC0yNzUsNyArMjc1
LDcgQEAgbmFtZXNwYWNlIHsKICAgICAgICAgICAgIC8vIHRocm91Z2guIERvIG5vdCBwYXJzZSBj
b21tZW50cyBpbiB0aGlzIHN0YXRlLiBUaGlzCiAgICAgICAgICAgICAvLyBtaWdodCBub3QgYmUg
dGhlIHJpZ2h0IHRoaW5nIHRvIGRvIGxvbmcgdGVybSwgYnV0IGl0CiAgICAgICAgICAgICAvLyBz
aG91bGQgaGFuZGxlIHRoZSAjZXJyb3IgcHJlcHJvY2Vzc29yIGRpcmVjdGl2ZS4KLSAgICAgICAg
ICAgIGVtaXQoYyk7CisgICAgICAgICAgICBlbWl0Q2hhcihjKTsKICAgICAgICAgICAgIGJyZWFr
OwogCiAgICAgICAgIGNhc2UgSW5TaW5nbGVMaW5lQ29tbWVudDoKQEAgLTI4Niw4ICsyODYsOCBA
QCBuYW1lc3BhY2UgewogCiAgICAgICAgIGNhc2UgSW5NdWx0aUxpbmVDb21tZW50OgogICAgICAg
ICAgICAgaWYgKGMgPT0gJyonICYmIHBlZWsodGVtcCkgJiYgdGVtcCA9PSAnLycpIHsKLSAgICAg
ICAgICAgICAgICBlbWl0KCcqJyk7Ci0gICAgICAgICAgICAgICAgZW1pdCgnLycpOworICAgICAg
ICAgICAgICAgIGVtaXRDaGFyKCcqJyk7CisgICAgICAgICAgICAgICAgZW1pdENoYXIoJy8nKTsK
ICAgICAgICAgICAgICAgICBtX3BhcnNlU3RhdGUgPSBNaWRkbGVPZkxpbmU7CiAgICAgICAgICAg
ICAgICAgYWR2YW5jZSgpOwogICAgICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRHJhd2luZ0J1ZmZlclF0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0RyYXdpbmdCdWZmZXJRdC5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGU2ZDQ3ZgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0RyYXdpbmdCdWZmZXJRdC5j
cHAKQEAgLTAsMCArMSwxMDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShX
RUJHTCkKKworI2luY2x1ZGUgIkRyYXdpbmdCdWZmZXIuaCIKKworI2luY2x1ZGUgIkV4dGVuc2lv
bnMzRC5oIgorI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dDNELmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworc3RhdGljIHVuc2lnbmVkIGdlbmVyYXRlQ29sb3JUZXh0dXJlKEdyYXBoaWNzQ29u
dGV4dDNEKiBjb250ZXh0LCBjb25zdCBJbnRTaXplJiBzaXplKQoreworICAgIHVuc2lnbmVkIG9m
ZnNjcmVlbkNvbG9yVGV4dHVyZSA9IGNvbnRleHQtPmNyZWF0ZVRleHR1cmUoKTsKKyAgICBpZiAo
IW9mZnNjcmVlbkNvbG9yVGV4dHVyZSkKKyAgICAgICAgcmV0dXJuIDA7CisKKyAgICBjb250ZXh0
LT5iaW5kVGV4dHVyZShHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV8yRCwgb2Zmc2NyZWVuQ29s
b3JUZXh0dXJlKTsKKyAgICBjb250ZXh0LT50ZXhQYXJhbWV0ZXJpKEdyYXBoaWNzQ29udGV4dDNE
OjpURVhUVVJFXzJELCBHcmFwaGljc0NvbnRleHQzRDo6VEVYVFVSRV9NQUdfRklMVEVSLCBHcmFw
aGljc0NvbnRleHQzRDo6TkVBUkVTVCk7CisgICAgY29udGV4dC0+dGV4UGFyYW1ldGVyaShHcmFw
aGljc0NvbnRleHQzRDo6VEVYVFVSRV8yRCwgR3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkVfTUlO
X0ZJTFRFUiwgR3JhcGhpY3NDb250ZXh0M0Q6Ok5FQVJFU1QpOworICAgIGNvbnRleHQtPnRleFBh
cmFtZXRlcmkoR3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkVfMkQsIEdyYXBoaWNzQ29udGV4dDNE
OjpURVhUVVJFX1dSQVBfUywgR3JhcGhpY3NDb250ZXh0M0Q6OkNMQU1QX1RPX0VER0UpOworICAg
IGNvbnRleHQtPnRleFBhcmFtZXRlcmkoR3JhcGhpY3NDb250ZXh0M0Q6OlRFWFRVUkVfMkQsIEdy
YXBoaWNzQ29udGV4dDNEOjpURVhUVVJFX1dSQVBfVCwgR3JhcGhpY3NDb250ZXh0M0Q6OkNMQU1Q
X1RPX0VER0UpOworICAgIGNvbnRleHQtPnRleEltYWdlMkRSZXNvdXJjZVNhZmUoR3JhcGhpY3ND
b250ZXh0M0Q6OlRFWFRVUkVfMkQsIDAsIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBLCBzaXplLndp
ZHRoKCksIHNpemUuaGVpZ2h0KCksIDAsIEdyYXBoaWNzQ29udGV4dDNEOjpSR0JBLCBHcmFwaGlj
c0NvbnRleHQzRDo6VU5TSUdORURfQllURSk7CisgICAgY29udGV4dC0+ZnJhbWVidWZmZXJUZXh0
dXJlMkQoR3JhcGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVGRkVSLCBHcmFwaGljc0NvbnRleHQzRDo6
Q09MT1JfQVRUQUNITUVOVDAsIEdyYXBoaWNzQ29udGV4dDNEOjpURVhUVVJFXzJELCBvZmZzY3Jl
ZW5Db2xvclRleHR1cmUsIDApOworCisgICAgcmV0dXJuIG9mZnNjcmVlbkNvbG9yVGV4dHVyZTsK
K30KKworRHJhd2luZ0J1ZmZlcjo6RHJhd2luZ0J1ZmZlcihHcmFwaGljc0NvbnRleHQzRCogY29u
dGV4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgSW50U2l6ZSYgc2l6ZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBtdWx0aXNhbXBsZUV4dGVuc2lvblN1
cHBvcnRlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBwYWNrZWREZXB0aFN0
ZW5jaWxFeHRlbnNpb25TdXBwb3J0ZWQpCisgICAgOiBtX2NvbnRleHQoY29udGV4dCkKKyAgICAs
IG1fc2l6ZSgtMSwgLTEpCisgICAgLCBtX211bHRpc2FtcGxlRXh0ZW5zaW9uU3VwcG9ydGVkKG11
bHRpc2FtcGxlRXh0ZW5zaW9uU3VwcG9ydGVkKQorICAgICwgbV9wYWNrZWREZXB0aFN0ZW5jaWxF
eHRlbnNpb25TdXBwb3J0ZWQocGFja2VkRGVwdGhTdGVuY2lsRXh0ZW5zaW9uU3VwcG9ydGVkKQor
ICAgICwgbV9mYm8oMCkKKyAgICAsIG1fY29sb3JCdWZmZXIoMCkKKyAgICAsIG1fZGVwdGhTdGVu
Y2lsQnVmZmVyKDApCisgICAgLCBtX2RlcHRoQnVmZmVyKDApCisgICAgLCBtX3N0ZW5jaWxCdWZm
ZXIoMCkKKyAgICAsIG1fbXVsdGlzYW1wbGVGQk8oMCkKKyAgICAsIG1fbXVsdGlzYW1wbGVDb2xv
ckJ1ZmZlcigwKQoreworICAgIG1fZmJvID0gY29udGV4dC0+Y3JlYXRlRnJhbWVidWZmZXIoKTsK
KyAgICBjb250ZXh0LT5iaW5kRnJhbWVidWZmZXIoR3JhcGhpY3NDb250ZXh0M0Q6OkZSQU1FQlVG
RkVSLCBtX2Zibyk7CisgICAgbV9jb2xvckJ1ZmZlciA9IGdlbmVyYXRlQ29sb3JUZXh0dXJlKGNv
bnRleHQsIHNpemUpOworICAgIGNyZWF0ZVNlY29uZGFyeUJ1ZmZlcnMoKTsKKyAgICByZXNldChz
aXplKTsKK30KKworRHJhd2luZ0J1ZmZlcjo6fkRyYXdpbmdCdWZmZXIoKQoreworICAgIGlmICgh
bV9jb250ZXh0KQorICAgICAgICByZXR1cm47CisKKyAgICBtX2NvbnRleHQtPmJpbmRGcmFtZWJ1
ZmZlcihHcmFwaGljc0NvbnRleHQzRDo6RlJBTUVCVUZGRVIsIG1fZmJvKTsKKyAgICBtX2NvbnRl
eHQtPmRlbGV0ZVRleHR1cmUobV9jb2xvckJ1ZmZlcik7CisKKyAgICBjbGVhcigpOworfQorCit2
b2lkIERyYXdpbmdCdWZmZXI6OmRpZFJlc2V0KCkKK3sKK30KKworUGxhdGZvcm1MYXllciogRHJh
d2luZ0J1ZmZlcjo6cGxhdGZvcm1MYXllcigpCit7CisgICAgLy8gRklYTUU6IFRoaXMgbmVlZHMg
dG8gcmV0dXJuIHRoZSBwcm9wZXIgcGxhdGZvcm0gbGF5ZXIhCisgICAgcmV0dXJuIDA7Cit9CisK
K1BsYXRmb3JtM0RPYmplY3QgRHJhd2luZ0J1ZmZlcjo6cGxhdGZvcm1Db2xvckJ1ZmZlcigpIGNv
bnN0Cit7CisgICAgcmV0dXJuIG1fY29sb3JCdWZmZXI7Cit9CisKK30KKworI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9FeHRlbnNpb25zM0RR
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9FeHRlbnNpb25zM0RR
dC5jcHAKaW5kZXggNTIzOGQ0Ni4uNzc4YTJiMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvcXQvRXh0ZW5zaW9uczNEUXQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0V4dGVuc2lvbnMzRFF0LmNwcApAQCAtNTYsNiArNTYs
MTUgQEAgaW50IEV4dGVuc2lvbnMzRFF0OjpnZXRHcmFwaGljc1Jlc2V0U3RhdHVzQVJCKCkKICAg
ICByZXR1cm4gR3JhcGhpY3NDb250ZXh0M0Q6Ok5PX0VSUk9SOwogfQogCit2b2lkIEV4dGVuc2lv
bnMzRFF0OjpibGl0RnJhbWVidWZmZXIobG9uZywgbG9uZywgbG9uZywgbG9uZywgbG9uZywgbG9u
ZywgbG9uZywgbG9uZywgdW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZykKK3sKK30KKwordm9p
ZCBFeHRlbnNpb25zM0RRdDo6cmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2FtcGxlKHVuc2lnbmVk
IGxvbmcsIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIHVuc2lnbmVkIGxvbmcsIHVuc2ln
bmVkIGxvbmcpCit7Cit9CisKKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8g
RU5BQkxFKFdFQkdMKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvcXQvRXh0ZW5zaW9uczNEUXQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3F0L0V4dGVuc2lvbnMzRFF0LmgKaW5kZXggYWU0YjM3NS4uNDA0NDkwZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvRXh0ZW5zaW9uczNEUXQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9FeHRlbnNpb25zM0RRdC5oCkBA
IC0zOSw2ICszOSw5IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgZW5zdXJlRW5hYmxlZChj
b25zdCBTdHJpbmcmKTsKICAgICB2aXJ0dWFsIGludCBnZXRHcmFwaGljc1Jlc2V0U3RhdHVzQVJC
KCk7CiAKKyAgICB2aXJ0dWFsIHZvaWQgYmxpdEZyYW1lYnVmZmVyKGxvbmcgc3JjWDAsIGxvbmcg
c3JjWTAsIGxvbmcgc3JjWDEsIGxvbmcgc3JjWTEsIGxvbmcgZHN0WDAsIGxvbmcgZHN0WTAsIGxv
bmcgZHN0WDEsIGxvbmcgZHN0WTEsIHVuc2lnbmVkIGxvbmcgbWFzaywgdW5zaWduZWQgbG9uZyBm
aWx0ZXIpOworICAgIHZpcnR1YWwgdm9pZCByZW5kZXJidWZmZXJTdG9yYWdlTXVsdGlzYW1wbGUo
dW5zaWduZWQgbG9uZyB0YXJnZXQsIHVuc2lnbmVkIGxvbmcgc2FtcGxlcywgdW5zaWduZWQgbG9u
ZyBpbnRlcm5hbGZvcm1hdCwgdW5zaWduZWQgbG9uZyB3aWR0aCwgdW5zaWduZWQgbG9uZyBoZWln
aHQpOworCiBwcml2YXRlOgogICAgIC8vIFRoaXMgY2xhc3Mgb25seSBuZWVkcyB0byBiZSBpbnN0
YW50aWF0ZWQgYnkgR3JhcGhpY3NDb250ZXh0M0QgaW1wbGVtZW50YXRpb25zLgogICAgIGZyaWVu
ZCBjbGFzcyBHcmFwaGljc0NvbnRleHQzRDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dDNEUXQuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAKaW5kZXggNjRi
OGFkMS4uZmVmMThlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0M0RRdC5jcHAKQEAgLTI1Miw3ICsyNTIsNyBA
QCBwdWJsaWM6CiAgICAgR0x1aW50IG1fY3VycmVudEZibzsKICAgICBHTHVpbnQgbV9kZXB0aEJ1
ZmZlcjsKICAgICBRSW1hZ2UgbV9waXhlbHM7Ci0gICAgTGlzdEhhc2hTZXQ8dW5zaWduZWQgbG9u
Zz4gbV9zeW50aGV0aWNFcnJvcnM7CisgICAgTGlzdEhhc2hTZXQ8R0MzRGVudW0+IG1fc3ludGhl
dGljRXJyb3JzOwogCiAgICAgT3duUHRyPEV4dGVuc2lvbnMzRFF0PiBtX2V4dGVuc2lvbnM7CiAK
QEAgLTI3Nyw2ICsyNzcsNyBAQCBib29sIEdyYXBoaWNzQ29udGV4dDNEOjppc0dMRVMyQ29tcGxp
YW50KCkgY29uc3QKICNlbmRpZgogfQogCisjaWYgMAogLy8gRXZlbiB3aXRoIHVuZGVybHlpbmcg
R0xFUzIgZHJpdmVyLCB0aGUgYmVsb3cgZmxhZ3Mgc2hvdWxkIHN0aWxsIGJlIHNldCB0bwogLy8g
ZmFsc2UgaWYgZXh0ZW50aW9ucyBleGlzdCAoYW5kIHRoZXkgYWxtb3N0IGFsd2F5cyBkbykuCiBi
b29sIEdyYXBoaWNzQ29udGV4dDNEOjppc0dMRVMyTlBPVFN0cmljdCgpIGNvbnN0CkBAIC0yOTMs
NyArMjk0LDcgQEAgaW50IEdyYXBoaWNzQ29udGV4dDNEOjpnZXRHcmFwaGljc1Jlc2V0U3RhdHVz
QVJCKCkKIHsKICAgICByZXR1cm4gTk9fRVJST1I7CiB9Ci0KKyNlbmRpZgogIAogR3JhcGhpY3ND
b250ZXh0M0RJbnRlcm5hbDo6R3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbChHcmFwaGljc0NvbnRl
eHQzRDo6QXR0cmlidXRlcyBhdHRycywgSG9zdFdpbmRvdyogaG9zdFdpbmRvdykKICAgICA6IG1f
YXR0cnMoYXR0cnMpCkBAIC00OTksMTIgKzUwMCwxMiBAQCB2b2lkKiBHcmFwaGljc0NvbnRleHQz
REludGVybmFsOjpnZXRQcm9jQWRkcmVzcyhjb25zdCBTdHJpbmcmIHByb2MpCiAgICAgcmV0dXJu
IDA7CiB9CiAKLVBhc3NPd25QdHI8R3JhcGhpY3NDb250ZXh0M0Q+IEdyYXBoaWNzQ29udGV4dDNE
OjpjcmVhdGUoR3JhcGhpY3NDb250ZXh0M0Q6OkF0dHJpYnV0ZXMgYXR0cnMsIEhvc3RXaW5kb3cq
IGhvc3RXaW5kb3csIEdyYXBoaWNzQ29udGV4dDNEOjpSZW5kZXJTdHlsZSByZW5kZXJTdHlsZSkK
K1Bhc3NSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IEdyYXBoaWNzQ29udGV4dDNEOjpjcmVhdGUo
R3JhcGhpY3NDb250ZXh0M0Q6OkF0dHJpYnV0ZXMgYXR0cnMsIEhvc3RXaW5kb3cqIGhvc3RXaW5k
b3csIEdyYXBoaWNzQ29udGV4dDNEOjpSZW5kZXJTdHlsZSByZW5kZXJTdHlsZSkKIHsKICAgICAv
LyBUaGlzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgY3VycmVudGx5IHN1cHBvcnQgcmVuZGVyaW5n
IGRpcmVjdGx5IHRvIHRoZSBIb3N0V2luZG93LgogICAgIGlmIChyZW5kZXJTdHlsZSA9PSBSZW5k
ZXJEaXJlY3RseVRvSG9zdFdpbmRvdykKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgT3duUHRyPEdy
YXBoaWNzQ29udGV4dDNEPiBjb250ZXh0KG5ldyBHcmFwaGljc0NvbnRleHQzRChhdHRycywgaG9z
dFdpbmRvdywgZmFsc2UpKTsKKyAgICBSZWZQdHI8R3JhcGhpY3NDb250ZXh0M0Q+IGNvbnRleHQo
bmV3IEdyYXBoaWNzQ29udGV4dDNEKGF0dHJzLCBob3N0V2luZG93LCBmYWxzZSkpOwogICAgIHJl
dHVybiBjb250ZXh0LT5tX2ludGVybmFsID8gY29udGV4dC5yZWxlYXNlKCkgOiAwOwogfQogCkBA
IC05NDMsNyArOTQ0LDcgQEAgaW50IEdyYXBoaWNzQ29udGV4dDNEOjpnZXRBdHRyaWJMb2NhdGlv
bihQbGF0Zm9ybTNET2JqZWN0IHByb2dyYW0sIGNvbnN0IFN0cmluZyYKIHsKICAgICBpZiAoIXBy
b2dyYW0pCiAgICAgICAgIHJldHVybiAtMTsKLSAgICAKKwogICAgIG1faW50ZXJuYWwtPm1fZ2xX
aWRnZXQtPm1ha2VDdXJyZW50KCk7CiAgICAgcmV0dXJuIG1faW50ZXJuYWwtPmdldEF0dHJpYkxv
Y2F0aW9uKHByb2dyYW0sIG5hbWUudXRmOCgpLmRhdGEoKSk7CiB9CkBAIC0xMDM4LDEwICsxMDM5
LDEwIEBAIEdDM0Rib29sZWFuIEdyYXBoaWNzQ29udGV4dDNEOjppc1RleHR1cmUoUGxhdGZvcm0z
RE9iamVjdCB0ZXh0dXJlKQogICAgIHJldHVybiBnbElzVGV4dHVyZSh0ZXh0dXJlKTsKIH0KIAot
dm9pZCBHcmFwaGljc0NvbnRleHQzRDo6bGluZVdpZHRoKGRvdWJsZSB3aWR0aCkKK3ZvaWQgR3Jh
cGhpY3NDb250ZXh0M0Q6OmxpbmVXaWR0aChHQzNEZmxvYXQgd2lkdGgpCiB7CiAgICAgbV9pbnRl
cm5hbC0+bV9nbFdpZGdldC0+bWFrZUN1cnJlbnQoKTsKLSAgICBnbExpbmVXaWR0aChzdGF0aWNf
Y2FzdDxmbG9hdD4od2lkdGgpKTsKKyAgICBnbExpbmVXaWR0aCh3aWR0aCk7CiB9CiAKIHZvaWQg
R3JhcGhpY3NDb250ZXh0M0Q6OmxpbmtQcm9ncmFtKFBsYXRmb3JtM0RPYmplY3QgcHJvZ3JhbSkK
QEAgLTE0ODksMTAgKzE0OTAsMTAgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQzRDo6Z2V0VW5pZm9y
bWl2KFBsYXRmb3JtM0RPYmplY3QgcHJvZ3JhbSwgR0MzRGludCBsb2NhdGlvbiwKICAgICBtX2lu
dGVybmFsLT5nZXRVbmlmb3JtaXYocHJvZ3JhbSwgbG9jYXRpb24sIHZhbHVlKTsKIH0KIAotbG9u
ZyBHcmFwaGljc0NvbnRleHQzRDo6Z2V0VW5pZm9ybUxvY2F0aW9uKFBsYXRmb3JtM0RPYmplY3Qg
cHJvZ3JhbSwgY29uc3QgU3RyaW5nJiBuYW1lKQorR0MzRGludCBHcmFwaGljc0NvbnRleHQzRDo6
Z2V0VW5pZm9ybUxvY2F0aW9uKFBsYXRmb3JtM0RPYmplY3QgcHJvZ3JhbSwgY29uc3QgU3RyaW5n
JiBuYW1lKQogewogICAgIEFTU0VSVChwcm9ncmFtKTsKLSAgICAKKwogICAgIG1faW50ZXJuYWwt
Pm1fZ2xXaWRnZXQtPm1ha2VDdXJyZW50KCk7CiAgICAgcmV0dXJuIG1faW50ZXJuYWwtPmdldFVu
aWZvcm1Mb2NhdGlvbihwcm9ncmFtLCBuYW1lLnV0ZjgoKS5kYXRhKCkpOwogfQpAQCAtMTYyMCw3
ICsxNjIxLDcgQEAgRXh0ZW5zaW9uczNEKiBHcmFwaGljc0NvbnRleHQzRDo6Z2V0RXh0ZW5zaW9u
cygpCiB7CiAgICAgaWYgKCFtX2ludGVybmFsLT5tX2V4dGVuc2lvbnMpCiAgICAgICAgIG1faW50
ZXJuYWwtPm1fZXh0ZW5zaW9ucyA9IGFkb3B0UHRyKG5ldyBFeHRlbnNpb25zM0RRdCk7Ci0gICAg
cmV0dXJuIG1faW50ZXJuYWwtPm1fZXh0ZW5zaW9uczsKKyAgICByZXR1cm4gbV9pbnRlcm5hbC0+
bV9leHRlbnNpb25zLmdldCgpOwogfQogCiBib29sIEdyYXBoaWNzQ29udGV4dDNEOjpnZXRJbWFn
ZURhdGEoSW1hZ2UqIGltYWdlLApAQCAtMTYzNywxMyArMTYzOCwxMyBAQCBib29sIEdyYXBoaWNz
Q29udGV4dDNEOjpnZXRJbWFnZURhdGEoSW1hZ2UqIGltYWdlLAogICAgIGlmICghbmF0aXZlUGl4
bWFwKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBBbHBoYU9wIG5lZWRlZEFscGhhT3Ag
PSBrQWxwaGFEb05vdGhpbmc7CisgICAgQWxwaGFPcCBuZWVkZWRBbHBoYU9wID0gQWxwaGFEb05v
dGhpbmc7CiAgICAgaWYgKCFwcmVtdWx0aXBseUFscGhhKQogICAgICAgICAvLyBGSVhNRTogbXVz
dCBmZXRjaCB0aGUgaW1hZ2UgZGF0YSBiZWZvcmUgdGhlIHByZW11bHRpcGxpY2F0aW9uIHN0ZXAK
LSAgICAgICAgbmVlZGVkQWxwaGFPcCA9IGtBbHBoYURvVW5tdWx0aXBseTsKKyAgICAgICAgbmVl
ZGVkQWxwaGFPcCA9IEFscGhhRG9Vbm11bHRpcGx5OwogICAgIFFJbWFnZSBuYXRpdmVJbWFnZSA9
IG5hdGl2ZVBpeG1hcC0+dG9JbWFnZSgpLmNvbnZlcnRUb0Zvcm1hdChRSW1hZ2U6OkZvcm1hdF9B
UkdCMzIpOwogICAgIG91dHB1dFZlY3Rvci5yZXNpemUobmF0aXZlSW1hZ2UuYnl0ZUNvdW50KCkp
OwotICAgIHJldHVybiBwYWNrUGl4ZWxzKG5hdGl2ZUltYWdlLnJnYlN3YXBwZWQoKS5iaXRzKCks
IGtTb3VyY2VGb3JtYXRSR0JBOCwgaW1hZ2UtPndpZHRoKCksIGltYWdlLT5oZWlnaHQoKSwgMCwK
KyAgICByZXR1cm4gcGFja1BpeGVscyhuYXRpdmVJbWFnZS5yZ2JTd2FwcGVkKCkuYml0cygpLCBT
b3VyY2VGb3JtYXRSR0JBOCwgaW1hZ2UtPndpZHRoKCksIGltYWdlLT5oZWlnaHQoKSwgMCwKICAg
ICAgICAgICAgICAgICAgICAgICBmb3JtYXQsIHR5cGUsIG5lZWRlZEFscGhhT3AsIG91dHB1dFZl
Y3Rvci5kYXRhKCkpOwogfQogCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>