<?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>135279</bug_id>
          
          <creation_ts>2014-07-24 19:07:06 -0700</creation_ts>
          <short_desc>Remove GraphicsSurfaceGLX.cpp</short_desc>
          <delta_ts>2014-07-27 23:47:51 -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>WebKit EFL</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryuan Choi">ryuan.choi</reporter>
          <assigned_to name="Ryuan Choi">ryuan.choi</assigned_to>
          <cc>bunhere</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>luiz</cc>
    
    <cc>noam</cc>
    
    <cc>sergio</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1024739</commentid>
    <comment_count>0</comment_count>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-07-24 19:07:06 -0700</bug_when>
    <thetext>GraphicsSurfaceGLX.cpp is not used since Qt dropped and Efl port changed at r146458</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1024740</commentid>
    <comment_count>1</comment_count>
      <attachid>235489</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-07-24 19:19:49 -0700</bug_when>
    <thetext>Created attachment 235489
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1025112</commentid>
    <comment_count>2</comment_count>
      <attachid>235489</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-07-27 23:47:46 -0700</bug_when>
    <thetext>Comment on attachment 235489
Patch

Clearing flags on attachment: 235489

Committed r171672: &lt;http://trac.webkit.org/changeset/171672&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1025113</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-07-27 23:47:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>235489</attachid>
            <date>2014-07-24 19:19:49 -0700</date>
            <delta_ts>2014-07-27 23:47:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-135279-20140725111933.patch</filename>
            <type>text/plain</type>
            <size>17135</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcxNTQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjcwMzc2MDFjZTBhM2I3
NjFiOTQwOWFhOTY3M2MzYjE2ZGUyMjQyOC4uZDgwOTUzY2QwYWYyMmI3MGJlMjM1NDllODhlMzYz
MmZhYTZiODgzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE0LTA3LTI0ICBSeXVh
biBDaG9pICA8cnl1YW4uY2hvaUBzYW1zdW5nLmNvbT4KKworICAgICAgICBSZW1vdmUgR3JhcGhp
Y3NTdXJmYWNlR0xYLmNwcAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTM1Mjc5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgR3JhcGhpY3NTdXJmYWNlR0xYLmNwcCBpcyBub3QgdXNlZCBzaW5jZSBRdCBkcm9w
cGVkIGFuZCBFZmwgcG9ydCBjaGFuZ2VkIGF0IHIxNDY0NTgKKworICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3N1cmZhY2VzL2dseC9HcmFwaGljc1N1cmZhY2VHTFguY3BwOiBSZW1vdmVkLgor
CiAyMDE0LTA3LTI0ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAg
QXR0ZW1wdGVkIFdpbmRvd3MgYnVpbGQgZml4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvc3VyZmFjZXMvZ2x4L0dyYXBoaWNzU3VyZmFjZUdMWC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNlcy9nbHgvR3JhcGhpY3NTdXJm
YWNlR0xYLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjNlZmEwMjFmNjRlZWFm
ZDQzMzFlMDY5NjVmOWI1OTBlOTkwMzMyNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9zdXJmYWNl
cy9nbHgvR3JhcGhpY3NTdXJmYWNlR0xYLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQ2NiArMCww
IEBACi0vKgotIENvcHlyaWdodCAoQykgMjAxMiBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRz
IHN1YnNpZGlhcnkoLWllcykKLSBDb3B5cmlnaHQgKEMpIDIwMTMgSW50ZWwgQ29ycG9yYXRpb24u
Ci0KLSBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCi0gbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKLSBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotIE1FUkNI
QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg
R05VCi0gTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0K
LSBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlCi0gYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmls
ZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAotIEJvc3Rvbiwg
TUEgMDIxMTAtMTMwMSwgVVNBLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRl
ICJHcmFwaGljc1N1cmZhY2UuaCIKLQotI2lmIFVTRShHUkFQSElDU19TVVJGQUNFKQotCi0jaW5j
bHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKLSNpbmNsdWRlICJUZXh0dXJlTWFwcGVyR0wuaCIKLQot
I2luY2x1ZGUgPG9wZW5nbC9HTERlZnMuaD4KLQotI2luY2x1ZGUgIkdMWENvbmZpZ1NlbGVjdG9y
LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotc3RhdGljIFBGTkdMWEJJTkRURVhJTUFHRUVY
VFBST0MgcEdsWEJpbmRUZXhJbWFnZUVYVCA9IDA7Ci1zdGF0aWMgUEZOR0xYUkVMRUFTRVRFWElN
QUdFRVhUUFJPQyBwR2xYUmVsZWFzZVRleEltYWdlRVhUID0gMDsKLXN0YXRpYyBQRk5HTEJJTkRG
UkFNRUJVRkZFUlBST0MgcEdsQmluZEZyYW1lYnVmZmVyID0gMDsKLXN0YXRpYyBQRk5HTEJMSVRG
UkFNRUJVRkZFUlBST0MgcEdsQmxpdEZyYW1lYnVmZmVyID0gMDsKLXN0YXRpYyBQRk5HTEdFTkZS
QU1FQlVGRkVSU1BST0MgcEdsR2VuRnJhbWVidWZmZXJzID0gMDsKLXN0YXRpYyBQRk5HTERFTEVU
RUZSQU1FQlVGRkVSU1BST0MgcEdsRGVsZXRlRnJhbWVidWZmZXJzID0gMDsKLXN0YXRpYyBQRk5H
TEZSQU1FQlVGRkVSVEVYVFVSRTJEUFJPQyBwR2xGcmFtZWJ1ZmZlclRleHR1cmUyRCA9IDA7Ci0K
LXN0YXRpYyBpbnQgZ2x4QXR0cmlidXRlc1tdID0gewotICAgIEdMWF9URVhUVVJFX0ZPUk1BVF9F
WFQsCi0gICAgR0xYX1RFWFRVUkVfRk9STUFUX1JHQkFfRVhULAotICAgIEdMWF9URVhUVVJFX1RB
UkdFVF9FWFQsCi0gICAgR0xYX1RFWFRVUkVfMkRfRVhULAotICAgIDAKLX07Ci0KLXN0YXRpYyBi
b29sIGlzTWVzYUdMWCgpCi17Ci0gICAgc3RhdGljIGJvb2wgaXNNZXNhID0gISFzdHJzdHIoZ2xY
R2V0Q2xpZW50U3RyaW5nKFgxMUhlbHBlcjo6bmF0aXZlRGlzcGxheSgpLCBHTFhfVkVORE9SKSwg
Ik1lc2EiKTsKLSAgICByZXR1cm4gaXNNZXNhOwotfQotCi1zdHJ1Y3QgR3JhcGhpY3NTdXJmYWNl
UHJpdmF0ZSB7Ci0gICAgR3JhcGhpY3NTdXJmYWNlUHJpdmF0ZShjb25zdCBQbGF0Zm9ybUdyYXBo
aWNzQ29udGV4dDNEIHNoYXJlQ29udGV4dCA9IDApCi0gICAgICAgIDogbV94UGl4bWFwKDApCi0g
ICAgICAgICwgbV9nbHhQaXhtYXAoMCkKLSAgICAgICAgLCBtX3N1cmZhY2UoMCkKLSAgICAgICAg
LCBtX2dseFN1cmZhY2UoMCkKLSAgICAgICAgLCBtX2dsQ29udGV4dCgwKQotICAgICAgICAsIG1f
ZGV0YWNoZWRDb250ZXh0KDApCi0gICAgICAgICwgbV9kZXRhY2hlZFN1cmZhY2UoMCkKLSAgICAg
ICAgLCBtX2lzUmVjZWl2ZXIoZmFsc2UpCi0gICAgICAgICwgbV90ZXh0dXJlKDApCi0gICAgewot
ICAgICAgICBHTFhDb250ZXh0IHNoYXJlQ29udGV4dE9iamVjdCA9IDA7Ci0KLSAgICAgICAgVU5V
U0VEX1BBUkFNKHNoYXJlQ29udGV4dCk7Ci0KLSAgICAgICAgR0xQbGF0Zm9ybVN1cmZhY2U6OlN1
cmZhY2VBdHRyaWJ1dGVzIHNoYXJlZFN1cmZhY2VBdHRyaWJ1dGVzID0gR0xQbGF0Zm9ybVN1cmZh
Y2U6OkRvdWJsZUJ1ZmZlcmVkIHwKLSAgICAgICAgICAgIEdMUGxhdGZvcm1TdXJmYWNlOjpTdXBw
b3J0QWxwaGE7Ci0gICAgICAgIG1fY29uZmlnU2VsZWN0b3IgPSBhZG9wdFB0cihuZXcgR0xYQ29u
ZmlnU2VsZWN0b3Ioc2hhcmVkU3VyZmFjZUF0dHJpYnV0ZXMpKTsKLQotICAgICAgICBpZiAoIW1f
Y29uZmlnU2VsZWN0b3ItPnN1cmZhY2VDb250ZXh0Q29uZmlnKCkpIHsKLSAgICAgICAgICAgIGNs
ZWFyKCk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICAvLyBDcmVh
dGUgYSBHTFggY29udGV4dCBmb3IgT3BlbkdMIHJlbmRlcmluZwotICAgICAgICBtX2dsQ29udGV4
dCA9IGdsWENyZWF0ZU5ld0NvbnRleHQoZGlzcGxheSgpLCBtX2NvbmZpZ1NlbGVjdG9yLT5zdXJm
YWNlQ29udGV4dENvbmZpZygpLCBHTFhfUkdCQV9UWVBFLCBzaGFyZUNvbnRleHRPYmplY3QsIHRy
dWUpOwotICAgIH0KLQotICAgIEdyYXBoaWNzU3VyZmFjZVByaXZhdGUodWludDMyX3Qgd2luSWQp
Ci0gICAgICAgIDogbV94UGl4bWFwKDApCi0gICAgICAgICwgbV9nbHhQaXhtYXAoMCkKLSAgICAg
ICAgLCBtX3N1cmZhY2Uod2luSWQpCi0gICAgICAgICwgbV9nbHhTdXJmYWNlKDApCi0gICAgICAg
ICwgbV9nbENvbnRleHQoMCkKLSAgICAgICAgLCBtX2RldGFjaGVkQ29udGV4dCgwKQotICAgICAg
ICAsIG1fZGV0YWNoZWRTdXJmYWNlKDApCi0gICAgICAgICwgbV9pc1JlY2VpdmVyKHRydWUpCi0g
ICAgICAgICwgbV90ZXh0dXJlKDApCi0gICAgewotICAgIH0KLQotICAgIH5HcmFwaGljc1N1cmZh
Y2VQcml2YXRlKCkKLSAgICB7Ci0gICAgICAgIGNsZWFyKCk7Ci0gICAgfQotCi0gICAgdWludDMy
X3QgY3JlYXRlU3VyZmFjZShjb25zdCBJbnRTaXplJiBzaXplKQotICAgIHsKLSAgICAgICAgaWYg
KCFkaXNwbGF5KCkgfHwgIW1fY29uZmlnU2VsZWN0b3IpCi0gICAgICAgICAgICByZXR1cm4gMDsK
LQotICAgICAgICBHTFhGQkNvbmZpZyBjb25maWcgPSBtX2NvbmZpZ1NlbGVjdG9yLT5zdXJmYWNl
Q29udGV4dENvbmZpZygpOwotICAgICAgICBPd25QdHJYMTE8WFZpc3VhbEluZm8+IHZpc0luZm8o
bV9jb25maWdTZWxlY3Rvci0+dmlzdWFsSW5mbyhjb25maWcpKTsKLQotICAgICAgICBpZiAoIXZp
c0luZm8uZ2V0KCkpIHsKLSAgICAgICAgICAgIGNsZWFyKCk7Ci0gICAgICAgICAgICByZXR1cm4g
MDsKLSAgICAgICAgfQotCi0gICAgICAgIFgxMUhlbHBlcjo6Y3JlYXRlT2ZmU2NyZWVuV2luZG93
KCZtX3N1cmZhY2UsICp2aXNJbmZvLmdldCgpLCBzaXplKTsKLQotICAgICAgICBpZiAoIW1fc3Vy
ZmFjZSkgewotICAgICAgICAgICAgY2xlYXIoKTsKLSAgICAgICAgICAgIHJldHVybiAwOwotICAg
ICAgICB9Ci0KLSAgICAgICAgbV9nbHhTdXJmYWNlID0gZ2xYQ3JlYXRlV2luZG93KGRpc3BsYXko
KSwgY29uZmlnLCBtX3N1cmZhY2UsIDApOwotICAgICAgICByZXR1cm4gbV9zdXJmYWNlOwotICAg
IH0KLQotICAgIHZvaWQgY3JlYXRlUGl4bWFwKHVpbnQzMl90IHdpbklkKQotICAgIHsKLSAgICAg
ICAgWFdpbmRvd0F0dHJpYnV0ZXMgYXR0cjsKLSAgICAgICAgaWYgKCFYR2V0V2luZG93QXR0cmli
dXRlcyhkaXNwbGF5KCksIHdpbklkLCAmYXR0cikpCi0gICAgICAgICAgICByZXR1cm47Ci0KLSAg
ICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIHdpbmRvdyBpcyBtYXBwZWQuCi0gICAgICAgIGlmIChh
dHRyLm1hcF9zdGF0ZSA9PSBJc1VubWFwcGVkIHx8IGF0dHIubWFwX3N0YXRlID09IElzVW52aWV3
YWJsZSkKLSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBTY29wZWRYUGl4bWFwQ3JlYXRp
b25FcnJvckhhbmRsZXIgaGFuZGxlcjsKLSAgICAgICAgbV9zaXplID0gSW50U2l6ZShhdHRyLndp
ZHRoLCBhdHRyLmhlaWdodCk7Ci0KLSAgICAgICAgWFJlbmRlclBpY3RGb3JtYXQqIGZvcm1hdCA9
IFhSZW5kZXJGaW5kVmlzdWFsRm9ybWF0KGRpc3BsYXkoKSwgYXR0ci52aXN1YWwpOwotICAgICAg
ICBib29sIGhhc0FscGhhID0gKGZvcm1hdC0+dHlwZSA9PSBQaWN0VHlwZURpcmVjdCAmJiBmb3Jt
YXQtPmRpcmVjdC5hbHBoYU1hc2spOwotICAgICAgICBtX3hQaXhtYXAgPSBYQ29tcG9zaXRlTmFt
ZVdpbmRvd1BpeG1hcChkaXNwbGF5KCksIHdpbklkKTsKLSAgICAgICAgZ2x4QXR0cmlidXRlc1sx
XSA9IChmb3JtYXQtPmRlcHRoID09IDMyICYmIGhhc0FscGhhKSA/IEdMWF9URVhUVVJFX0ZPUk1B
VF9SR0JBX0VYVCA6IEdMWF9URVhUVVJFX0ZPUk1BVF9SR0JfRVhUOwotCi0gICAgICAgIEdMUGxh
dGZvcm1TdXJmYWNlOjpTdXJmYWNlQXR0cmlidXRlcyBzaGFyZWRTdXJmYWNlQXR0cmlidXRlcyA9
IEdMUGxhdGZvcm1TdXJmYWNlOjpEZWZhdWx0OwotICAgICAgICBpZiAoaGFzQWxwaGEpCi0gICAg
ICAgICAgICBzaGFyZWRTdXJmYWNlQXR0cmlidXRlcyA9IEdMUGxhdGZvcm1TdXJmYWNlOjpTdXBw
b3J0QWxwaGE7Ci0KLSAgICAgICAgaWYgKCFtX2NvbmZpZ1NlbGVjdG9yKQotICAgICAgICAgICAg
bV9jb25maWdTZWxlY3RvciA9IGFkb3B0UHRyKG5ldyBHTFhDb25maWdTZWxlY3RvcihzaGFyZWRT
dXJmYWNlQXR0cmlidXRlcykpOwotCi0gICAgICAgIG1fZ2x4UGl4bWFwID0gZ2xYQ3JlYXRlUGl4
bWFwKGRpc3BsYXkoKSwgbV9jb25maWdTZWxlY3Rvci0+c3VyZmFjZUNsaWVudENvbmZpZyhmb3Jt
YXQtPmRlcHRoLCBYVmlzdWFsSURGcm9tVmlzdWFsKGF0dHIudmlzdWFsKSksIG1feFBpeG1hcCwg
Z2x4QXR0cmlidXRlcyk7Ci0KLSAgICAgICAgaWYgKCFoYW5kbGVyLmlzVmFsaWRPcGVyYXRpb24o
KSkKLSAgICAgICAgICAgIGNsZWFyKCk7Ci0gICAgICAgIGVsc2UgewotICAgICAgICAgICAgdWlu
dCBpbnZlcnRlZCA9IDA7Ci0gICAgICAgICAgICBnbFhRdWVyeURyYXdhYmxlKGRpc3BsYXkoKSwg
bV9nbHhQaXhtYXAsIEdMWF9ZX0lOVkVSVEVEX0VYVCwgJmludmVydGVkKTsKLSAgICAgICAgICAg
IG1fZmxhZ3MgPSAhIWludmVydGVkID8gVGV4dHVyZU1hcHBlckdMOjpTaG91bGRGbGlwVGV4dHVy
ZSA6IDA7Ci0KLSAgICAgICAgICAgIGlmIChoYXNBbHBoYSkKLSAgICAgICAgICAgICAgICBtX2Zs
YWdzIHw9IFRleHR1cmVNYXBwZXJHTDo6U2hvdWxkQmxlbmQ7Ci0gICAgICAgIH0KLSAgICB9Ci0K
LSAgICB2b2lkIG1ha2VDdXJyZW50KCkKLSAgICB7Ci0gICAgICAgIG1fZGV0YWNoZWRDb250ZXh0
ID0gZ2xYR2V0Q3VycmVudENvbnRleHQoKTsKLSAgICAgICAgbV9kZXRhY2hlZFN1cmZhY2UgPSBn
bFhHZXRDdXJyZW50RHJhd2FibGUoKTsKLSAgICAgICAgaWYgKG1fc3VyZmFjZSAmJiBtX2dsQ29u
dGV4dCkKLSAgICAgICAgICAgIGdsWE1ha2VDdXJyZW50KGRpc3BsYXkoKSwgbV9zdXJmYWNlLCBt
X2dsQ29udGV4dCk7Ci0gICAgfQotCi0gICAgdm9pZCBkb25lQ3VycmVudCgpCi0gICAgewotICAg
ICAgICBpZiAobV9kZXRhY2hlZENvbnRleHQpCi0gICAgICAgICAgICBnbFhNYWtlQ3VycmVudChk
aXNwbGF5KCksIG1fZGV0YWNoZWRTdXJmYWNlLCBtX2RldGFjaGVkQ29udGV4dCk7Ci0gICAgICAg
IG1fZGV0YWNoZWRDb250ZXh0ID0gMDsKLSAgICB9Ci0KLSAgICB2b2lkIHN3YXBCdWZmZXJzKCkK
LSAgICB7Ci0gICAgICAgIGlmIChpc1JlY2VpdmVyKCkpIHsKLSAgICAgICAgICAgIGlmIChpc01l
c2FHTFgoKSAmJiB0ZXh0dXJlSUQoKSkgewotICAgICAgICAgICAgICAgIGdsQmluZFRleHR1cmUo
R0xfVEVYVFVSRV8yRCwgdGV4dHVyZUlEKCkpOwotICAgICAgICAgICAgICAgIC8vIE1lc2EgZG9l
c24ndCByZS1iaW5kIHRleHR1cmUgdG8gdGhlIGZyb250IGJ1ZmZlciBvbiBnbFhTd2FwQnVmZXIK
LSAgICAgICAgICAgICAgICAvLyBNYW51YWxseSByZWxlYXNlIHByZXZpb3VzIGxvY2sgYW5kIHJl
YmluZCB0ZXh0dXJlIHRvIHN1cmZhY2UgdG8gZW5zdXJlIGZyYW1lIHVwZGF0ZXMuCi0gICAgICAg
ICAgICAgICAgcEdsWFJlbGVhc2VUZXhJbWFnZUVYVChkaXNwbGF5KCksIGdseFBpeG1hcCgpLCBH
TFhfRlJPTlRfRVhUKTsKLSAgICAgICAgICAgICAgICBwR2xYQmluZFRleEltYWdlRVhUKGRpc3Bs
YXkoKSwgZ2x4UGl4bWFwKCksIEdMWF9GUk9OVF9FWFQsIDApOwotICAgICAgICAgICAgfQotCi0g
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICBHTFhDb250ZXh0IGdsQ29u
dGV4dCA9IGdsWEdldEN1cnJlbnRDb250ZXh0KCk7Ci0KLSAgICAgICAgaWYgKG1fc3VyZmFjZSAm
JiBnbENvbnRleHQpIHsKLSAgICAgICAgICAgIEdMaW50IG9sZEZCTzsKLSAgICAgICAgICAgIGds
R2V0SW50ZWdlcnYoR0xfRlJBTUVCVUZGRVJfQklORElORywgJm9sZEZCTyk7Ci0gICAgICAgICAg
ICBwR2xCaW5kRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIsIDApOwotICAgICAgICAgICAgZ2xY
U3dhcEJ1ZmZlcnMoZGlzcGxheSgpLCBtX3N1cmZhY2UpOwotICAgICAgICAgICAgcEdsQmluZEZy
YW1lYnVmZmVyKEdMX0ZSQU1FQlVGRkVSLCBvbGRGQk8pOwotICAgICAgICB9Ci0gICAgfQotCi0g
ICAgdm9pZCBjb3B5RnJvbVRleHR1cmUodWludDMyX3QgdGV4dHVyZSwgY29uc3QgSW50UmVjdCYg
c291cmNlUmVjdCkKLSAgICB7Ci0gICAgICAgIG1ha2VDdXJyZW50KCk7Ci0gICAgICAgIGludCB4
ID0gc291cmNlUmVjdC54KCk7Ci0gICAgICAgIGludCB5ID0gc291cmNlUmVjdC55KCk7Ci0gICAg
ICAgIGludCB3aWR0aCA9IHNvdXJjZVJlY3Qud2lkdGgoKTsKLSAgICAgICAgaW50IGhlaWdodCA9
IHNvdXJjZVJlY3QuaGVpZ2h0KCk7Ci0KLSAgICAgICAgZ2xQdXNoQXR0cmliKEdMX0FMTF9BVFRS
SUJfQklUUyk7Ci0gICAgICAgIEdMaW50IHByZXZpb3VzRkJPOwotICAgICAgICBnbEdldEludGVn
ZXJ2KEdMX0ZSQU1FQlVGRkVSX0JJTkRJTkcsICZwcmV2aW91c0ZCTyk7Ci0KLSAgICAgICAgR0x1
aW50IG9yaWdpbkZCTzsKLSAgICAgICAgcEdsR2VuRnJhbWVidWZmZXJzKDEsICZvcmlnaW5GQk8p
OwotICAgICAgICBwR2xCaW5kRnJhbWVidWZmZXIoR0xfUkVBRF9GUkFNRUJVRkZFUiwgb3JpZ2lu
RkJPKTsKLSAgICAgICAgZ2xCaW5kVGV4dHVyZShHTF9URVhUVVJFXzJELCB0ZXh0dXJlKTsKLSAg
ICAgICAgcEdsRnJhbWVidWZmZXJUZXh0dXJlMkQoR0xfUkVBRF9GUkFNRUJVRkZFUiwgR0xfQ09M
T1JfQVRUQUNITUVOVDAsIEdMX1RFWFRVUkVfMkQsIHRleHR1cmUsIDApOwotCi0gICAgICAgIHBH
bEJpbmRGcmFtZWJ1ZmZlcihHTF9EUkFXX0ZSQU1FQlVGRkVSLCAwKTsKLSAgICAgICAgcEdsQmxp
dEZyYW1lYnVmZmVyKHgsIHksIHdpZHRoLCBoZWlnaHQsIHgsIHksIHdpZHRoLCBoZWlnaHQsIEdM
X0NPTE9SX0JVRkZFUl9CSVQsIEdMX0xJTkVBUik7Ci0KLSAgICAgICAgcEdsRnJhbWVidWZmZXJU
ZXh0dXJlMkQoR0xfUkVBRF9GUkFNRUJVRkZFUiwgR0xfQ09MT1JfQVRUQUNITUVOVDAsIEdMX1RF
WFRVUkVfMkQsIDAsIDApOwotICAgICAgICBnbEJpbmRUZXh0dXJlKEdMX1RFWFRVUkVfMkQsIDAp
OwotICAgICAgICBwR2xCaW5kRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIsIHByZXZpb3VzRkJP
KTsKLSAgICAgICAgcEdsRGVsZXRlRnJhbWVidWZmZXJzKDEsICZvcmlnaW5GQk8pOwotCi0gICAg
ICAgIGdsUG9wQXR0cmliKCk7Ci0KLSAgICAgICAgc3dhcEJ1ZmZlcnMoKTsKLSAgICAgICAgZG9u
ZUN1cnJlbnQoKTsKLSAgICB9Ci0KLSAgICBEaXNwbGF5KiBkaXNwbGF5KCkgY29uc3QgeyByZXR1
cm4gWDExSGVscGVyOjpuYXRpdmVEaXNwbGF5KCk7IH0KLQotICAgIEdMWFBpeG1hcCBnbHhQaXht
YXAoKSBjb25zdAotICAgIHsKLSAgICAgICAgaWYgKCFtX2dseFBpeG1hcCAmJiBtX3N1cmZhY2Up
Ci0gICAgICAgICAgICBjb25zdF9jYXN0PEdyYXBoaWNzU3VyZmFjZVByaXZhdGUqPih0aGlzKS0+
Y3JlYXRlUGl4bWFwKG1fc3VyZmFjZSk7Ci0gICAgICAgIHJldHVybiBtX2dseFBpeG1hcDsKLSAg
ICB9Ci0KLSAgICBJbnRTaXplIHNpemUoKSBjb25zdAotICAgIHsKLSAgICAgICAgaWYgKG1fc2l6
ZS5pc0VtcHR5KCkpIHsKLSAgICAgICAgICAgIFhXaW5kb3dBdHRyaWJ1dGVzIGF0dHI7Ci0gICAg
ICAgICAgICBpZiAoWEdldFdpbmRvd0F0dHJpYnV0ZXMoZGlzcGxheSgpLCBtX3N1cmZhY2UsICZh
dHRyKSkKLSAgICAgICAgICAgICAgICBjb25zdF9jYXN0PEdyYXBoaWNzU3VyZmFjZVByaXZhdGUq
Pih0aGlzKS0+bV9zaXplID0gSW50U2l6ZShhdHRyLndpZHRoLCBhdHRyLmhlaWdodCk7Ci0gICAg
ICAgIH0KLSAgICAgICAgcmV0dXJuIG1fc2l6ZTsKLSAgICB9Ci0KLSAgICBib29sIGlzUmVjZWl2
ZXIoKSBjb25zdCB7IHJldHVybiBtX2lzUmVjZWl2ZXI7IH0KLQotICAgIFRleHR1cmVNYXBwZXJH
TDo6RmxhZ3MgZmxhZ3MoKSBjb25zdCB7IHJldHVybiBtX2ZsYWdzOyB9Ci0KLSAgICBXaW5kb3cg
c3VyZmFjZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3VyZmFjZTsgfQotCi0gICAgR0x1aW50IHRleHR1
cmVJRCgpIGNvbnN0Ci0gICAgewotICAgICAgICBpZiAobV90ZXh0dXJlKSAKLSAgICAgICAgICAg
IHJldHVybiBtX3RleHR1cmU7Ci0KLSAgICAgICAgR0xYUGl4bWFwIHBpeG1hcCA9IGdseFBpeG1h
cCgpOwotICAgICAgICBpZiAoIXBpeG1hcCkKLSAgICAgICAgICAgIHJldHVybiAwOwotCi0gICAg
ICAgIEdMdWludCB0ZXh0dXJlOwotICAgICAgICBnbEdlblRleHR1cmVzKDEsICZ0ZXh0dXJlKTsK
LSAgICAgICAgZ2xCaW5kVGV4dHVyZShHTF9URVhUVVJFXzJELCB0ZXh0dXJlKTsKLSAgICAgICAg
Z2xUZXhQYXJhbWV0ZXJmKEdMX1RFWFRVUkVfMkQsIEdMX1RFWFRVUkVfTUlOX0ZJTFRFUiwgR0xf
TElORUFSKTsKLSAgICAgICAgZ2xUZXhQYXJhbWV0ZXJmKEdMX1RFWFRVUkVfMkQsIEdMX1RFWFRV
UkVfTUFHX0ZJTFRFUiwgR0xfTElORUFSKTsKLSAgICAgICAgZ2xUZXhQYXJhbWV0ZXJpKEdMX1RF
WFRVUkVfMkQsIEdMX1RFWFRVUkVfV1JBUF9TLCBHTF9DTEFNUF9UT19FREdFKTsKLSAgICAgICAg
Z2xUZXhQYXJhbWV0ZXJpKEdMX1RFWFRVUkVfMkQsIEdMX1RFWFRVUkVfV1JBUF9ULCBHTF9DTEFN
UF9UT19FREdFKTsKLSAgICAgICAgcEdsWEJpbmRUZXhJbWFnZUVYVChkaXNwbGF5KCksIHBpeG1h
cCwgR0xYX0ZST05UX0VYVCwgMCk7Ci0gICAgICAgIGNvbnN0X2Nhc3Q8R3JhcGhpY3NTdXJmYWNl
UHJpdmF0ZSo+KHRoaXMpLT5tX3RleHR1cmUgPSB0ZXh0dXJlOwotCi0gICAgICAgIHJldHVybiB0
ZXh0dXJlOwotICAgIH0KLXByaXZhdGU6Ci0gICAgdm9pZCBjbGVhcigpCi0gICAgewotICAgICAg
ICBpZiAobV90ZXh0dXJlKSB7Ci0gICAgICAgICAgICBwR2xYUmVsZWFzZVRleEltYWdlRVhUKGRp
c3BsYXkoKSwgZ2x4UGl4bWFwKCksIEdMWF9GUk9OVF9FWFQpOwotICAgICAgICAgICAgZ2xEZWxl
dGVUZXh0dXJlcygxLCAmbV90ZXh0dXJlKTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmIChtX2ds
eFBpeG1hcCkgewotICAgICAgICAgICAgZ2xYRGVzdHJveVBpeG1hcChkaXNwbGF5KCksIG1fZ2x4
UGl4bWFwKTsKLSAgICAgICAgICAgIG1fZ2x4UGl4bWFwID0gMDsKLSAgICAgICAgfQotCi0gICAg
ICAgIGlmIChtX3hQaXhtYXApIHsKLSAgICAgICAgICAgIFhGcmVlUGl4bWFwKGRpc3BsYXkoKSwg
bV94UGl4bWFwKTsKLSAgICAgICAgICAgIG1feFBpeG1hcCA9IDA7Ci0gICAgICAgIH0KLQotICAg
ICAgICAvLyBDbGllbnQgZG9lc24ndCBvd24gdGhlIHdpbmRvdy4gRGVsZXRlIHN1cmZhY2Ugb25s
eSBvbiB3cml0aW5nIHNpZGUuCi0gICAgICAgIGlmICghbV9pc1JlY2VpdmVyICYmIG1fc3VyZmFj
ZSkgewotICAgICAgICAgICAgWERlc3Ryb3lXaW5kb3coZGlzcGxheSgpLCBtX3N1cmZhY2UpOwot
ICAgICAgICAgICAgbV9zdXJmYWNlID0gMDsKLSAgICAgICAgfQotCi0gICAgICAgIGlmIChtX2ds
Q29udGV4dCkgewotICAgICAgICAgICAgZ2xYRGVzdHJveUNvbnRleHQoZGlzcGxheSgpLCBtX2ds
Q29udGV4dCk7Ci0gICAgICAgICAgICBtX2dsQ29udGV4dCA9IDA7Ci0gICAgICAgIH0KLQotICAg
ICAgICBpZiAobV9jb25maWdTZWxlY3RvcikKLSAgICAgICAgICAgIG1fY29uZmlnU2VsZWN0b3Ig
PSBudWxscHRyOwotICAgIH0KLQotICAgIEludFNpemUgbV9zaXplOwotICAgIFBpeG1hcCBtX3hQ
aXhtYXA7Ci0gICAgR0xYUGl4bWFwIG1fZ2x4UGl4bWFwOwotICAgIHVpbnQzMl90IG1fc3VyZmFj
ZTsKLSAgICBXaW5kb3cgbV9nbHhTdXJmYWNlOwotICAgIEdMWENvbnRleHQgbV9nbENvbnRleHQ7
Ci0gICAgR0xYQ29udGV4dCBtX2RldGFjaGVkQ29udGV4dDsKLSAgICBHTFhEcmF3YWJsZSBtX2Rl
dGFjaGVkU3VyZmFjZTsKLSAgICBPd25QdHI8R0xYQ29uZmlnU2VsZWN0b3I+IG1fY29uZmlnU2Vs
ZWN0b3I7Ci0gICAgYm9vbCBtX2lzUmVjZWl2ZXI7Ci0gICAgVGV4dHVyZU1hcHBlckdMOjpGbGFn
cyBtX2ZsYWdzOwotICAgIEdMdWludCBtX3RleHR1cmU7Ci19OwotCi1zdGF0aWMgYm9vbCByZXNv
bHZlR0xNZXRob2RzKCkKLXsKLSAgICBzdGF0aWMgYm9vbCByZXNvbHZlZCA9IGZhbHNlOwotICAg
IGlmIChyZXNvbHZlZCkKLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgcEdsWEJpbmRUZXhJbWFn
ZUVYVCA9IHJlaW50ZXJwcmV0X2Nhc3Q8UEZOR0xYQklORFRFWElNQUdFRVhUUFJPQz4oZ2xYR2V0
UHJvY0FkZHJlc3MocmVpbnRlcnByZXRfY2FzdDxjb25zdCBHTHVieXRlKj4oImdsWEJpbmRUZXhJ
bWFnZUVYVCIpKSk7Ci0gICAgcEdsWFJlbGVhc2VUZXhJbWFnZUVYVCA9IHJlaW50ZXJwcmV0X2Nh
c3Q8UEZOR0xYUkVMRUFTRVRFWElNQUdFRVhUUFJPQz4oZ2xYR2V0UHJvY0FkZHJlc3MocmVpbnRl
cnByZXRfY2FzdDxjb25zdCBHTHVieXRlKj4oImdsWFJlbGVhc2VUZXhJbWFnZUVYVCIpKSk7Ci0g
ICAgcEdsQmluZEZyYW1lYnVmZmVyID0gcmVpbnRlcnByZXRfY2FzdDxQRk5HTEJJTkRGUkFNRUJV
RkZFUlBST0M+KGdsWEdldFByb2NBZGRyZXNzKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgR0x1Ynl0
ZSo+KCJnbEJpbmRGcmFtZWJ1ZmZlciIpKSk7Ci0gICAgcEdsQmxpdEZyYW1lYnVmZmVyID0gcmVp
bnRlcnByZXRfY2FzdDxQRk5HTEJMSVRGUkFNRUJVRkZFUlBST0M+KGdsWEdldFByb2NBZGRyZXNz
KHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgR0x1Ynl0ZSo+KCJnbEJsaXRGcmFtZWJ1ZmZlciIpKSk7
Ci0KLSAgICBwR2xHZW5GcmFtZWJ1ZmZlcnMgPSByZWludGVycHJldF9jYXN0PFBGTkdMR0VORlJB
TUVCVUZGRVJTUFJPQz4oZ2xYR2V0UHJvY0FkZHJlc3MocmVpbnRlcnByZXRfY2FzdDxjb25zdCBH
THVieXRlKj4oImdsR2VuRnJhbWVidWZmZXJzIikpKTsKLSAgICBwR2xEZWxldGVGcmFtZWJ1ZmZl
cnMgPSByZWludGVycHJldF9jYXN0PFBGTkdMREVMRVRFRlJBTUVCVUZGRVJTUFJPQz4oZ2xYR2V0
UHJvY0FkZHJlc3MocmVpbnRlcnByZXRfY2FzdDxjb25zdCBHTHVieXRlKj4oImdsRGVsZXRlRnJh
bWVidWZmZXJzIikpKTsKLSAgICBwR2xGcmFtZWJ1ZmZlclRleHR1cmUyRCA9IHJlaW50ZXJwcmV0
X2Nhc3Q8UEZOR0xGUkFNRUJVRkZFUlRFWFRVUkUyRFBST0M+KGdsWEdldFByb2NBZGRyZXNzKHJl
aW50ZXJwcmV0X2Nhc3Q8Y29uc3QgR0x1Ynl0ZSo+KCJnbEZyYW1lYnVmZmVyVGV4dHVyZTJEIikp
KTsKLSAgICByZXNvbHZlZCA9IHBHbEJsaXRGcmFtZWJ1ZmZlciAmJiBwR2xCaW5kRnJhbWVidWZm
ZXIgJiYgcEdsWEJpbmRUZXhJbWFnZUVYVCAmJiBwR2xYUmVsZWFzZVRleEltYWdlRVhUOwotCi0g
ICAgcmV0dXJuIHJlc29sdmVkOwotfQotCi1HcmFwaGljc1N1cmZhY2VUb2tlbiBHcmFwaGljc1N1
cmZhY2U6OnBsYXRmb3JtRXhwb3J0KCkKLXsKLSAgICByZXR1cm4gR3JhcGhpY3NTdXJmYWNlVG9r
ZW4obV9wcml2YXRlLT5zdXJmYWNlKCkpOwotfQotCi11aW50MzJfdCBHcmFwaGljc1N1cmZhY2U6
OnBsYXRmb3JtR2V0VGV4dHVyZUlEKCkKLXsKLSAgICByZXR1cm4gbV9wcml2YXRlLT50ZXh0dXJl
SUQoKTsKLX0KLQotdm9pZCBHcmFwaGljc1N1cmZhY2U6OnBsYXRmb3JtQ29weVRvR0xUZXh0dXJl
KHVpbnQzMl90IC8qdGFyZ2V0Ki8sIHVpbnQzMl90IC8qaWQqLywgY29uc3QgSW50UmVjdCYgLyp0
YXJnZXRSZWN0Ki8sIGNvbnN0IEludFBvaW50JiAvKm9mZnNldCovKQotewotICAgIC8vIFRoaXMg
aXMgbm90IHN1cHBvcnRlZCBieSBHTFgvWGNvbXBvc2l0ZS4KLX0KLQotdm9pZCBHcmFwaGljc1N1
cmZhY2U6OnBsYXRmb3JtQ29weUZyb21UZXh0dXJlKHVpbnQzMl90IHRleHR1cmUsIGNvbnN0IElu
dFJlY3QmIHNvdXJjZVJlY3QpCi17Ci0gICAgbV9wcml2YXRlLT5jb3B5RnJvbVRleHR1cmUodGV4
dHVyZSwgc291cmNlUmVjdCk7Ci19Ci0KLXZvaWQgR3JhcGhpY3NTdXJmYWNlOjpwbGF0Zm9ybVBh
aW50VG9UZXh0dXJlTWFwcGVyKFRleHR1cmVNYXBwZXIqIHRleHR1cmVNYXBwZXIsIGNvbnN0IEZs
b2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIHRyYW5zZm9y
bSwgZmxvYXQgb3BhY2l0eSkKLXsKLSAgICBJbnRTaXplIHNpemUgPSBtX3ByaXZhdGUtPnNpemUo
KTsKLSAgICBpZiAoc2l6ZS5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybjsKLSAgICB1aW50MzJf
dCB0ZXh0dXJlID0gcGxhdGZvcm1HZXRUZXh0dXJlSUQoKTsKLSAgICBpZiAoIXRleHR1cmUpCi0g
ICAgICAgIHJldHVybjsKLQotICAgIEZsb2F0UmVjdCByZWN0T25Db250ZW50cyhGbG9hdFBvaW50
Ojp6ZXJvKCksIHNpemUpOwotICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IGFkanVzdGVkVHJhbnNm
b3JtID0gdHJhbnNmb3JtOwotICAgIGFkanVzdGVkVHJhbnNmb3JtLm11bHRpcGx5KFRyYW5zZm9y
bWF0aW9uTWF0cml4OjpyZWN0VG9SZWN0KHJlY3RPbkNvbnRlbnRzLCB0YXJnZXRSZWN0KSk7Ci0g
ICAgc3RhdGljX2Nhc3Q8VGV4dHVyZU1hcHBlckdMKj4odGV4dHVyZU1hcHBlciktPmRyYXdUZXh0
dXJlKHRleHR1cmUsIG1fcHJpdmF0ZS0+ZmxhZ3MoKSwgc2l6ZSwgcmVjdE9uQ29udGVudHMsIGFk
anVzdGVkVHJhbnNmb3JtLCBvcGFjaXR5KTsKLX0KLQotdWludDMyX3QgR3JhcGhpY3NTdXJmYWNl
OjpwbGF0Zm9ybUZyb250QnVmZmVyKCkgY29uc3QKLXsKLSAgICByZXR1cm4gMDsKLX0KLQotdWlu
dDMyX3QgR3JhcGhpY3NTdXJmYWNlOjpwbGF0Zm9ybVN3YXBCdWZmZXJzKCkKLXsKLSAgICBtX3By
aXZhdGUtPnN3YXBCdWZmZXJzKCk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KLUludFNpemUgR3JhcGhp
Y3NTdXJmYWNlOjpwbGF0Zm9ybVNpemUoKSBjb25zdAotewotICAgIHJldHVybiBtX3ByaXZhdGUt
PnNpemUoKTsKLX0KLQotUGFzc1JlZlB0cjxHcmFwaGljc1N1cmZhY2U+IEdyYXBoaWNzU3VyZmFj
ZTo6cGxhdGZvcm1DcmVhdGUoY29uc3QgSW50U2l6ZSYgc2l6ZSwgRmxhZ3MgZmxhZ3MsIGNvbnN0
IFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0M0Qgc2hhcmVDb250ZXh0KQotewotICAgIC8vIFgxMSBk
b2VzIG5vdCBzdXBwb3J0IENvcHlUb1RleHR1cmUsIHNvIHdlIGRvIG5vdCBjcmVhdGUgYSBHcmFw
aGljc1N1cmZhY2UgaWYgdGhpcyBpcyByZXF1ZXN0ZWQuCi0gICAgLy8gR3JhcGhpY3NTdXJmYWNl
R0xYIHVzZXMgYW4gWFdpbmRvdyBhcyBuYXRpdmUgc3VyZmFjZS4gVGhpcyBvbmUgYWx3YXlzIGhh
cyBhIGZyb250IGFuZCBhIGJhY2sgYnVmZmVyLgotICAgIC8vIFRoZXJlZm9yZSBzaW5nbGUgYnVm
ZmVyZWQgR3JhcGhpY3NTdXJmYWNlcyBhcmUgbm90IHN1cHBvcnRlZC4KLSAgICBpZiAoZmxhZ3Mg
JiBTdXBwb3J0c0NvcHlUb1RleHR1cmUgfHwgZmxhZ3MgJiBTdXBwb3J0c1NpbmdsZUJ1ZmZlcmVk
KQotICAgICAgICByZXR1cm4gUGFzc1JlZlB0cjxHcmFwaGljc1N1cmZhY2U+KCk7Ci0KLSAgICBS
ZWZQdHI8R3JhcGhpY3NTdXJmYWNlPiBzdXJmYWNlID0gYWRvcHRSZWYobmV3IEdyYXBoaWNzU3Vy
ZmFjZShzaXplLCBmbGFncykpOwotCi0gICAgc3VyZmFjZS0+bV9wcml2YXRlID0gbmV3IEdyYXBo
aWNzU3VyZmFjZVByaXZhdGUoc2hhcmVDb250ZXh0KTsKLSAgICBpZiAoIXJlc29sdmVHTE1ldGhv
ZHMoKSkKLSAgICAgICAgcmV0dXJuIFBhc3NSZWZQdHI8R3JhcGhpY3NTdXJmYWNlPigpOwotCi0g
ICAgc3VyZmFjZS0+bV9wcml2YXRlLT5jcmVhdGVTdXJmYWNlKHNpemUpOwotCi0gICAgcmV0dXJu
IHN1cmZhY2U7Ci19Ci0KLVBhc3NSZWZQdHI8R3JhcGhpY3NTdXJmYWNlPiBHcmFwaGljc1N1cmZh
Y2U6OnBsYXRmb3JtSW1wb3J0KGNvbnN0IEludFNpemUmIHNpemUsIEZsYWdzIGZsYWdzLCBjb25z
dCBHcmFwaGljc1N1cmZhY2VUb2tlbiYgdG9rZW4pCi17Ci0gICAgLy8gWDExIGRvZXMgbm90IHN1
cHBvcnQgQ29weVRvVGV4dHVyZSwgc28gd2UgZG8gbm90IGNyZWF0ZSBhIEdyYXBoaWNzU3VyZmFj
ZSBpZiB0aGlzIGlzIHJlcXVlc3RlZC4KLSAgICAvLyBHcmFwaGljc1N1cmZhY2VHTFggdXNlcyBh
biBYV2luZG93IGFzIG5hdGl2ZSBzdXJmYWNlLiBUaGlzIG9uZSBhbHdheXMgaGFzIGEgZnJvbnQg
YW5kIGEgYmFjayBidWZmZXIuCi0gICAgLy8gVGhlcmVmb3JlIHNpbmdsZSBidWZmZXJlZCBHcmFw
aGljc1N1cmZhY2VzIGFyZSBub3Qgc3VwcG9ydGVkLgotICAgIGlmIChmbGFncyAmIFN1cHBvcnRz
Q29weVRvVGV4dHVyZSB8fCBmbGFncyAmIFN1cHBvcnRzU2luZ2xlQnVmZmVyZWQpCi0gICAgICAg
IHJldHVybiBQYXNzUmVmUHRyPEdyYXBoaWNzU3VyZmFjZT4oKTsKLQotICAgIFJlZlB0cjxHcmFw
aGljc1N1cmZhY2U+IHN1cmZhY2UgPSBhZG9wdFJlZihuZXcgR3JhcGhpY3NTdXJmYWNlKHNpemUs
IGZsYWdzKSk7Ci0KLSAgICBzdXJmYWNlLT5tX3ByaXZhdGUgPSBuZXcgR3JhcGhpY3NTdXJmYWNl
UHJpdmF0ZSh0b2tlbi5mcm9udEJ1ZmZlckhhbmRsZSk7Ci0gICAgaWYgKCFyZXNvbHZlR0xNZXRo
b2RzKCkpCi0gICAgICAgIHJldHVybiBQYXNzUmVmUHRyPEdyYXBoaWNzU3VyZmFjZT4oKTsKLQot
ICAgIHJldHVybiBzdXJmYWNlOwotfQotCi1jaGFyKiBHcmFwaGljc1N1cmZhY2U6OnBsYXRmb3Jt
TG9jayhjb25zdCBJbnRSZWN0JiwgaW50KiAvKm91dHB1dFN0cmlkZSovLCBMb2NrT3B0aW9ucykK
LXsKLSAgICAvLyBHcmFwaGljc1N1cmZhY2UgaXMgY3VycmVudGx5IG9ubHkgYmVpbmcgdXNlZCBm
b3IgV2ViR0wsIHdoaWNoIGRvZXMgbm90IHJlcXVpcmUgdGhpcyBsb2NraW5nIG1lY2hhbmlzbS4K
LSAgICByZXR1cm4gMDsKLX0KLQotdm9pZCBHcmFwaGljc1N1cmZhY2U6OnBsYXRmb3JtVW5sb2Nr
KCkKLXsKLSAgICAvLyBHcmFwaGljc1N1cmZhY2UgaXMgY3VycmVudGx5IG9ubHkgYmVpbmcgdXNl
ZCBmb3IgV2ViR0wsIHdoaWNoIGRvZXMgbm90IHJlcXVpcmUgdGhpcyBsb2NraW5nIG1lY2hhbmlz
bS4KLX0KLQotdm9pZCBHcmFwaGljc1N1cmZhY2U6OnBsYXRmb3JtRGVzdHJveSgpCi17Ci0gICAg
ZGVsZXRlIG1fcHJpdmF0ZTsKLSAgICBtX3ByaXZhdGUgPSAwOwotfQotCi1zdGQ6OnVuaXF1ZV9w
dHI8R3JhcGhpY3NDb250ZXh0PiBHcmFwaGljc1N1cmZhY2U6OnBsYXRmb3JtQmVnaW5QYWludChj
b25zdCBJbnRTaXplJiwgY2hhciosIGludCkKLXsKLSAgICBub3RJbXBsZW1lbnRlZCgpOwotICAg
IHJldHVybiBudWxscHRyOwotfQotCi1QYXNzUmVmUHRyPEltYWdlPiBHcmFwaGljc1N1cmZhY2U6
OmNyZWF0ZVJlYWRPbmx5SW1hZ2UoY29uc3QgSW50UmVjdCYpCi17Ci0gICAgbm90SW1wbGVtZW50
ZWQoKTsKLSAgICByZXR1cm4gMDsKLX0KLX0KLSNlbmRpZgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>