<?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>238200</bug_id>
          
          <creation_ts>2022-03-22 05:55:24 -0700</creation_ts>
          <short_desc>Move TextureMapper member variables, types and code out of GraphicsContextGLANGLE</short_desc>
          <delta_ts>2022-03-23 02:05:36 -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>WebGL</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>237649</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>alex</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>kbr</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>luiz</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zdobersek</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1853623</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2022-03-22 05:55:24 -0700</bug_when>
    <thetext>Move TextureMapper member variables, types and code out of GraphicsContextGLANGLE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853625</commentid>
    <comment_count>1</comment_count>
      <attachid>455364</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2022-03-22 05:55:53 -0700</bug_when>
    <thetext>Created attachment 455364
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853629</commentid>
    <comment_count>2</comment_count>
      <attachid>455364</attachid>
    <who name="Alejandro G. Castro">alex</who>
    <bug_when>2022-03-22 06:17:00 -0700</bug_when>
    <thetext>Comment on attachment 455364
Patch

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

LGTM! Great refactor, just added a small comment.

&gt; Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.h:82
&gt; +#if USE(COORDINATED_GRAPHICS)
&gt; +    GCGLuint m_intermediateTexture { 0 };
&gt; +#endif
&gt; +
&gt; +#if USE(NICOSIA)
&gt; +    std::unique_ptr&lt;Nicosia::GCGLANGLELayer&gt; m_nicosiaLayer;

Could we use remove of of the #ifs here and joing the two code sections?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853632</commentid>
    <comment_count>3</comment_count>
      <attachid>455364</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2022-03-22 06:24:23 -0700</bug_when>
    <thetext>Comment on attachment 455364
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/texmap/GraphicsContextGLTextureMapperANGLE.h:82
&gt;&gt; +    std::unique_ptr&lt;Nicosia::GCGLANGLELayer&gt; m_nicosiaLayer;
&gt; 
&gt; Could we use remove of of the #ifs here and joing the two code sections?

I&apos;m just moving code around, I&apos;m not making these decisions ATM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853659</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-03-22 07:49:19 -0700</bug_when>
    <thetext>Committed r291616 (248709@main): &lt;https://commits.webkit.org/248709@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 455364.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853661</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-22 07:50:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/90635015&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1853897</commentid>
    <comment_count>6</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2022-03-22 14:17:45 -0700</bug_when>
    <thetext>Does this change match Kimmo&apos;s plan (bug#236769 comment#0)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1854081</commentid>
    <comment_count>7</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2022-03-23 02:05:36 -0700</bug_when>
    <thetext>This one:
&gt; The long-term plan would be to minimise the ifdefs in GraphicsContextGLANGLE.

It doesn&apos;t affect others.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>455364</attachid>
            <date>2022-03-22 05:55:53 -0700</date>
            <delta_ts>2022-03-22 07:49:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-238200-20220322135551.patch</filename>
            <type>text/plain</type>
            <size>15854</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkxNjExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGEwYjQ3MjU3MjY3MDg0
ZjgyZTcwNjQ3YWVhOWRkYmM1ZWU0NTFlZi4uYTA5ZjIzMTFiMzA1YTNmNTQyMTg3MzRkN2VmNWZk
NGU2ZjQ5YjY5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDIyLTAzLTIyICBaYW4g
RG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBNb3ZlIFRleHR1cmVN
YXBwZXIgbWVtYmVyIHZhcmlhYmxlcywgdHlwZXMgYW5kIGNvZGUgb3V0IG9mIEdyYXBoaWNzQ29u
dGV4dEdMQU5HTEUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIzODIwMAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE1vdmUgbWVtYmVyIHZhcmlhYmxlcyBhbmQgY29kZSBzcGVjaWZpYyB0byB0aGUgVGV4dHVy
ZU1hcHBlci1vcmllbnRlZAorICAgICAgICBHcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXJB
TkdMRSBjbGFzcyBmcm9tIHRoZSBwYXJlbnQKKyAgICAgICAgR3JhcGhpY3NDb250ZXh0R0xBTkdM
RSBjbGFzcyBpbnRvIEdyYXBoaWNzQ29udGV4dEdMVGV4dHVyZU1hcHBlckFOR0xFLgorCisgICAg
ICAgIFRoaXMgbWVhbnMgbW92aW5nIGRvd24gdmFyaW91cyBtZW1iZXIgdmFyaWFibGVzIGFuZCB0
eXBlcyBhcyB3ZWxsIGFzCisgICAgICAgIGZyaWVuZHNoaXAgZGVjbGFyYXRpb25zLiBGb3IgYmVo
YXZpb3IgdG8gcmVtYWluIHRoZSBzYW1lLCB0aGUKKyAgICAgICAgcHJlcGFyZVRleHR1cmVJbXBs
KCkgbWV0aG9kIGlzIG1hZGUgdmlydHVhbCBhbmQgb3ZlcnJpZGRlbiBpbiB0aGUKKyAgICAgICAg
VGV4dHVyZU1hcHBlciBjbGFzcywgYnV0IG90aGVyd2lzZSBtYXRjaGVzIHRoZSBwcmV2aW91cyBi
ZWhhdmlvci4KKworICAgICAgICBOaWNvc2lhOjpHQ0dMQU5HTEVMYXllciBpcyBhZGp1c3RlZCB0
byBvcGVyYXRlIG9uIGEgcmVmZXJlbmNlIHRvIHRoZQorICAgICAgICBkZXJpdmVkIGNsYXNzLCBu
b3Qgb24gdGhlIGJhc2UgR3JhcGhpY3NDb250ZXh0R0xBTkdMRS4KKworICAgICAgICBObyBuZXcg
dGVzdHMgYXMgdGhlcmUncyBubyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMQU5HTEU6OnByZXBhcmVUZXh0dXJlSW1wbCk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL25pY29zaWEvdGV4bWFwL05pY29zaWFHQ0dM
QU5HTEVMYXllci5jcHA6CisgICAgICAgIChOaWNvc2lhOjpHQ0dMQU5HTEVMYXllcjo6R0NHTEFO
R0xFTGF5ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL25pY29zaWEvdGV4bWFwL05p
Y29zaWFHQ0dMQU5HTEVMYXllci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9HcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXJBTkdMRS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHRHTEFOR0xFOjp+R3JhcGhpY3NDb250ZXh0R0xBTkdMRSk6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXJBTkdMRTo6cHJl
cGFyZVRleHR1cmVJbXBsKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMVGV4
dHVyZU1hcHBlckFOR0xFOjpFR0xJbWFnZUJhY2tpbmc6OkVHTEltYWdlQmFja2luZyk6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXJBTkdMRTo6RUdMSW1h
Z2VCYWNraW5nOjp+RUdMSW1hZ2VCYWNraW5nKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dEdMVGV4dHVyZU1hcHBlckFOR0xFOjpFR0xJbWFnZUJhY2tpbmc6OmZvcm1hdCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXJBTkdM
RTo6RUdMSW1hZ2VCYWNraW5nOjpzdHJpZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6R3Jh
cGhpY3NDb250ZXh0R0xUZXh0dXJlTWFwcGVyQU5HTEU6OkVHTEltYWdlQmFja2luZzo6cmVsZWFz
ZVJlc291cmNlcyk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTFRleHR1cmVN
YXBwZXJBTkdMRTo6RUdMSW1hZ2VCYWNraW5nOjppc1JlbGVhc2VkKToKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dEdMVGV4dHVyZU1hcHBlckFOR0xFOjpFR0xJbWFnZUJhY2tpbmc6
OnJlc2V0KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMQU5HTEU6OkVHTElt
YWdlQmFja2luZzo6RUdMSW1hZ2VCYWNraW5nKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dEdMQU5HTEU6OkVHTEltYWdlQmFja2luZzo6fkVHTEltYWdlQmFja2lu
Zyk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpF
R0xJbWFnZUJhY2tpbmc6OmZvcm1hdCBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpFR0xJbWFnZUJhY2tpbmc6OnN0cmlkZSBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpFR0xJ
bWFnZUJhY2tpbmc6OnJlbGVhc2VSZXNvdXJjZXMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6RUdMSW1hZ2VCYWNraW5nOjppc1JlbGVhc2VkKTog
RGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMQU5HTEU6OkVHTElt
YWdlQmFja2luZzo6cmVzZXQpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9HcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXJBTkdMRS5oOgorCiAyMDIyLTAz
LTIyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIFJl
YWx0aW1lTWVkaWFTb3VyY2U6OlZpZGVvU2FtcGxlT2JzZXJ2ZXI6OnZpZGVvU2FtcGxlQXZhaWxh
YmxlIHRvIFZpZGVvRnJhbWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHAKaW5kZXgg
NjNmNWQzOTZhNWMzN2JiZjFkNzEzOGFhNmY2ZTIwNzI2NWZjMzgwYy4uY2MyOWNmYjQ2NzNjNjYy
MTFkZTFhNDFlZTJiZjZhMmU4YmExMWZkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdM
RS5jcHAKQEAgLTU2MCwyMSArNTYwLDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpw
cmVwYXJlVGV4dHVyZUltcGwoKQogICAgIGlmIChjb250ZXh0QXR0cmlidXRlcygpLmFudGlhbGlh
cykKICAgICAgICAgcmVzb2x2ZU11bHRpc2FtcGxpbmdJZk5lY2Vzc2FyeSgpOwogCi0jaWYgVVNF
KFRFWFRVUkVfTUFQUEVSKQotICAgIHN0ZDo6c3dhcChtX3RleHR1cmUsIG1fY29tcG9zaXRvclRl
eHR1cmUpOwotI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKLSAgICBzdGQ6OnN3YXAobV90
ZXh0dXJlLCBtX2ludGVybWVkaWF0ZVRleHR1cmUpOwotICAgIHN0ZDo6c3dhcChtX3RleHR1cmVC
YWNraW5nLCBtX2NvbXBvc2l0b3JUZXh0dXJlQmFja2luZyk7Ci0gICAgc3RkOjpzd2FwKG1fdGV4
dHVyZUJhY2tpbmcsIG1faW50ZXJtZWRpYXRlVGV4dHVyZUJhY2tpbmcpOwotI2VuZGlmCi0KLSAg
ICBHTF9CaW5kRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZGRVIsIG1fZmJvKTsKLSAgICBHTF9GcmFt
ZWJ1ZmZlclRleHR1cmUyRChHTF9GUkFNRUJVRkZFUiwgR0xfQ09MT1JfQVRUQUNITUVOVDAsIGRy
YXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0KCksIG1fdGV4dHVyZSwgMCk7Ci0gICAgR0xfRmx1c2go
KTsKLQotICAgIGlmIChtX3N0YXRlLmJvdW5kRHJhd0ZCTyAhPSBtX2ZibykKLSAgICAgICAgR0xf
QmluZEZyYW1lYnVmZmVyKEdyYXBoaWNzQ29udGV4dEdMOjpGUkFNRUJVRkZFUiwgbV9zdGF0ZS5i
b3VuZERyYXdGQk8pOwotI2Vsc2UKKyNpZiBQTEFURk9STShDT0NPQSkKICAgICBpZiAobV9wcmVz
ZXJ2ZURyYXdpbmdCdWZmZXJUZXh0dXJlKSB7CiAgICAgICAgIC8vIEJsaXQgbV9wcmVzZXJ2ZURy
YXdpbmdCdWZmZXJUZXh0dXJlIGludG8gbV90ZXh0dXJlLgogICAgICAgICBTY29wZWRHTENhcGFi
aWxpdHkgc2NvcGVkU2Npc3NvcihHTF9TQ0lTU09SX1RFU1QsIEdMX0ZBTFNFKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4
dEdMQU5HTEUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBo
aWNzQ29udGV4dEdMQU5HTEUuaAppbmRleCBiZTEwNGM1NTdhNmI3ZmVmMDgzNWI5OThiNDM1ZWQ0
NjU4ODFlNTkzLi4zYjkyYjhjNDQyMmMwNjEwN2IwYzI0YzNhYjY5MTg5Yjg4NDlhYmVjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFwaGljc0Nv
bnRleHRHTEFOR0xFLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5n
bGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5oCkBAIC0zOSwyNSArMzksOCBAQAogI2luY2x1ZGUg
IlByb2Nlc3NJZGVudGl0eS5oIgogI2VuZGlmCiAKLQotI2lmIFVTRShOSUNPU0lBKQotbmFtZXNw
YWNlIE5pY29zaWEgewotY2xhc3MgR0NHTEFOR0xFTGF5ZXI7Ci1jbGFzcyBHQ0dMTGF5ZXI7Ci19
Ci0KLXN0cnVjdCBnYm1fZGV2aWNlOwotc3RydWN0IGdibV9ibzsKLQotdHlwZWRlZiB2b2lkICpF
R0xJbWFnZTsKLSNlbmRpZgotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLSNpZiBVU0UoVEVYVFVS
RV9NQVBQRVIpCi1jbGFzcyBUZXh0dXJlTWFwcGVyR0NHTFBsYXRmb3JtTGF5ZXI7Ci0jZW5kaWYK
LQogLy8gQmFzZSBjbGFzcyBmb3IgR3JhcGhpY3NDb250ZXh0R0wgY29udGV4dHMgdGhhdCB1c2Ug
QU5HTEUuCiBjbGFzcyBXRUJDT1JFX0VYUE9SVCBHcmFwaGljc0NvbnRleHRHTEFOR0xFIDogcHVi
bGljIEdyYXBoaWNzQ29udGV4dEdMIHsKIHB1YmxpYzoKQEAgLTM4Niw3ICszNjksNyBAQCBwcm90
ZWN0ZWQ6CiAgICAgc3RkOjpvcHRpb25hbDxQaXhlbEJ1ZmZlcj4gcmVhZFBpeGVsc0ZvclBhaW50
UmVzdWx0cygpOwogCiAgICAgYm9vbCByZXNoYXBlRkJPcyhjb25zdCBJbnRTaXplJik7Ci0gICAg
dm9pZCBwcmVwYXJlVGV4dHVyZUltcGwoKTsKKyAgICB2aXJ0dWFsIHZvaWQgcHJlcGFyZVRleHR1
cmVJbXBsKCk7CiAgICAgdm9pZCByZXNvbHZlTXVsdGlzYW1wbGluZ0lmTmVjZXNzYXJ5KGNvbnN0
IEludFJlY3QmID0gSW50UmVjdCgpKTsKICAgICB2b2lkIGF0dGFjaERlcHRoQW5kU3RlbmNpbEJ1
ZmZlcklmTmVlZGVkKEdDR0x1aW50IGludGVybmFsRGVwdGhTdGVuY2lsRm9ybWF0LCBpbnQgd2lk
dGgsIGludCBoZWlnaHQpOwogI2lmIFBMQVRGT1JNKENPQ09BKQpAQCAtNDQ3LDUyICs0MzAsNiBA
QCBwcm90ZWN0ZWQ6CiAgICAgLy8gV2hlbiBwcmVzZXJ2ZURyYXdpbmdCdWZmZXIgPT0gdHJ1ZSwg
dGhpcyBpcyBibGl0dGVkIHRvIGR1cmluZyBkaXNwbGF5IHByZXBhcmUuCiAgICAgc3RkOjp1bmlx
dWVfcHRyPElPU3VyZmFjZT4gbV9kaXNwbGF5QnVmZmVyQmFja2luZzsKICAgICB2b2lkKiBtX2Rp
c3BsYXlCdWZmZXJQYnVmZmVyIHsgbnVsbHB0ciB9OwotI2VsaWYgVVNFKFRFWFRVUkVfTUFQUEVS
KQotICAgIEdDR0x1aW50IG1fY29tcG9zaXRvclRleHR1cmUgeyAwIH07Ci0jaWYgVVNFKENPT1JE
SU5BVEVEX0dSQVBISUNTKQotICAgIEdDR0x1aW50IG1faW50ZXJtZWRpYXRlVGV4dHVyZSB7IDAg
fTsKLSNlbmRpZgotI2VuZGlmCi0jaWYgVVNFKE5JQ09TSUEpCi0gICAgc3RkOjp1bmlxdWVfcHRy
PE5pY29zaWE6OkdDR0xBTkdMRUxheWVyPiBtX25pY29zaWFMYXllcjsKLQotICAgIGNsYXNzIEVH
TEltYWdlQmFja2luZyB7Ci0gICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci0gICAgcHVibGlj
OgotICAgICAgICBFR0xJbWFnZUJhY2tpbmcoR0NHTERpc3BsYXkpOwotICAgICAgICB+RUdMSW1h
Z2VCYWNraW5nKCk7Ci0KLSAgICAgICAgYm9vbCByZXNldChpbnQgd2lkdGgsIGludCBoZWlnaHQs
IGJvb2wgaGFzQWxwaGEpOwotCi0gICAgICAgIEVHTEltYWdlIGltYWdlKCkgY29uc3QgeyByZXR1
cm4gbV9pbWFnZTsgfQotICAgICAgICBpbnQgZmQoKSBjb25zdCB7IHJldHVybiBtX0ZEOyB9Ci0K
LSAgICAgICAgdWludDMyX3QgZm9ybWF0KCkgY29uc3Q7Ci0gICAgICAgIHVpbnQzMl90IHN0cmlk
ZSgpIGNvbnN0OwotCi0gICAgICAgIGJvb2wgaXNSZWxlYXNlZCgpOwotICAgIHByaXZhdGU6Ci0g
ICAgICAgIHZvaWQgcmVsZWFzZVJlc291cmNlcygpOwotCi0gICAgICAgIEdDR0xEaXNwbGF5IG1f
ZGlzcGxheTsKLQotICAgICAgICBnYm1fYm8qIG1fQk8geyBudWxscHRyIH07Ci0gICAgICAgIGlu
dCBtX0ZEIHsgLTEgfTsKLSAgICAgICAgRUdMSW1hZ2UgbV9pbWFnZTsKLSAgICB9OwotCi0gICAg
c3RkOjp1bmlxdWVfcHRyPEVHTEltYWdlQmFja2luZz4gbV90ZXh0dXJlQmFja2luZzsKLSAgICBz
dGQ6OnVuaXF1ZV9wdHI8RUdMSW1hZ2VCYWNraW5nPiBtX2NvbXBvc2l0b3JUZXh0dXJlQmFja2lu
ZzsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8RUdMSW1hZ2VCYWNraW5nPiBtX2ludGVybWVkaWF0ZVRl
eHR1cmVCYWNraW5nOwotI2VsaWYgVVNFKFRFWFRVUkVfTUFQUEVSKQotICAgIHN0ZDo6dW5pcXVl
X3B0cjxUZXh0dXJlTWFwcGVyR0NHTFBsYXRmb3JtTGF5ZXI+IG1fdGV4bWFwTGF5ZXI7Ci0jZW5k
aWYKLQotI2lmIFVTRShOSUNPU0lBKQotICAgIGZyaWVuZCBjbGFzcyBOaWNvc2lhOjpHQ0dMQU5H
TEVMYXllcjsKLSAgICBmcmllbmQgY2xhc3MgTmljb3NpYTo6R0NHTExheWVyOwotI2VsaWYgVVNF
KFRFWFRVUkVfTUFQUEVSKQotICAgIGZyaWVuZCBjbGFzcyBUZXh0dXJlTWFwcGVyR0NHTFBsYXRm
b3JtTGF5ZXI7CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL25pY29zaWEvdGV4bWFwL05pY29zaWFHQ0dMQU5HTEVMYXllci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9uaWNvc2lhL3RleG1hcC9OaWNvc2lhR0NH
TEFOR0xFTGF5ZXIuY3BwCmluZGV4IDI0MjUxZmNhZWMwMjM0MjFiY2ViOWQxNzA5YjRmNThkNGI3
NzdmNGYuLjc5Y2Y2MjgwMjUyZjhmYWYwZDRkMTAxOTM4ODc2MGEzNDI0ZWFiMjkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL25pY29zaWEvdGV4bWFwL05pY29z
aWFHQ0dMQU5HTEVMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvbmljb3NpYS90ZXhtYXAvTmljb3NpYUdDR0xBTkdMRUxheWVyLmNwcApAQCAtMzIsNiArMzIs
NyBAQAogI2lmIFVTRShOSUNPU0lBKSAmJiBVU0UoVEVYVFVSRV9NQVBQRVIpCiAKICNpbmNsdWRl
ICJBTkdMRUhlYWRlcnMuaCIKKyNpbmNsdWRlICJHcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBw
ZXJBTkdMRS5oIgogI2luY2x1ZGUgIkltYWdlQnVmZmVyLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5o
IgogI2luY2x1ZGUgIlRleHR1cmVNYXBwZXJHTC5oIgpAQCAtOTIsNyArOTMsNyBAQCB2b2lkIEdD
R0xBTkdMRUxheWVyOjpzd2FwQnVmZmVyc0lmTmVlZGVkKCkKICAgICBtX2NvbnRleHQubWFya0xh
eWVyQ29tcG9zaXRlZCgpOwogfQogCi1HQ0dMQU5HTEVMYXllcjo6R0NHTEFOR0xFTGF5ZXIoR3Jh
cGhpY3NDb250ZXh0R0xBTkdMRSYgY29udGV4dCkKK0dDR0xBTkdMRUxheWVyOjpHQ0dMQU5HTEVM
YXllcihHcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXJBTkdMRSYgY29udGV4dCkKICAgICA6
IG1fY29udGV4dChjb250ZXh0KQogICAgICwgbV9jb250ZW50TGF5ZXIoTmljb3NpYTo6Q29udGVu
dExheWVyOjpjcmVhdGUoTmljb3NpYTo6Q29udGVudExheWVyVGV4dHVyZU1hcHBlckltcGw6OmNy
ZWF0ZUZhY3RvcnkoKnRoaXMpKSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL25pY29zaWEvdGV4bWFwL05pY29zaWFHQ0dMQU5HTEVMYXllci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvbmljb3NpYS90ZXhtYXAvTmljb3NpYUdDR0xB
TkdMRUxheWVyLmgKaW5kZXggNDEyNDI2YTNjZGI1YzRiMGYzMGU3MTlkY2U2YTg3YWRmNTRmMzhk
Ni4uYTQ0MTE1ODNlNWNlYTU5OTA5NjI2ZmI3YWM0MDAwODQwMjYyZDZmZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvbmljb3NpYS90ZXhtYXAvTmljb3NpYUdD
R0xBTkdMRUxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvbmlj
b3NpYS90ZXhtYXAvTmljb3NpYUdDR0xBTkdMRUxheWVyLmgKQEAgLTMwLDcgKzMwLDYgQEAKIAog
I2lmIFVTRShOSUNPU0lBKSAmJiBVU0UoVEVYVFVSRV9NQVBQRVIpCiAKLSNpbmNsdWRlICJHcmFw
aGljc0NvbnRleHRHTEFOR0xFLmgiCiAjaW5jbHVkZSAiTmljb3NpYUNvbnRlbnRMYXllclRleHR1
cmVNYXBwZXJJbXBsLmgiCiAjaW5jbHVkZSA8bWVtb3J5PgogCkBAIC00Miw2ICs0MSw3IEBAIHR5
cGVkZWYgdm9pZCAqRUdMU3VyZmFjZTsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEludFNp
emU7CiBjbGFzcyBHTENvbnRleHQ7CitjbGFzcyBHcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBw
ZXJBTkdMRTsKIGNsYXNzIFBsYXRmb3JtRGlzcGxheTsKIH0KIApAQCAtNTAsMTQgKzUwLDE0IEBA
IG5hbWVzcGFjZSBOaWNvc2lhIHsKIGNsYXNzIEdDR0xBTkdMRUxheWVyIGZpbmFsIDogcHVibGlj
IENvbnRlbnRMYXllclRleHR1cmVNYXBwZXJJbXBsOjpDbGllbnQgewogICAgIFdURl9NQUtFX0ZB
U1RfQUxMT0NBVEVEOwogcHVibGljOgotICAgIEdDR0xBTkdMRUxheWVyKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dEdMQU5HTEUmKTsKKyAgICBHQ0dMQU5HTEVMYXllcihXZWJDb3JlOjpHcmFwaGlj
c0NvbnRleHRHTFRleHR1cmVNYXBwZXJBTkdMRSYpOwogICAgIHZpcnR1YWwgfkdDR0xBTkdMRUxh
eWVyKCk7CiAKICAgICBDb250ZW50TGF5ZXImIGNvbnRlbnRMYXllcigpIGNvbnN0IHsgcmV0dXJu
IG1fY29udGVudExheWVyOyB9CiAgICAgdm9pZCBzd2FwQnVmZmVyc0lmTmVlZGVkKCkgZmluYWw7
CiAKIHByaXZhdGU6Ci0gICAgV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xBTkdMRSYgbV9jb250
ZXh0OworICAgIFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMVGV4dHVyZU1hcHBlckFOR0xFJiBt
X2NvbnRleHQ7CiAgICAgUmVmPENvbnRlbnRMYXllcj4gbV9jb250ZW50TGF5ZXI7CiB9OwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhp
Y3NDb250ZXh0R0xUZXh0dXJlTWFwcGVyQU5HTEUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdGV4bWFwL0dyYXBoaWNzQ29udGV4dEdMVGV4dHVyZU1hcHBlckFOR0xFLmNw
cAppbmRleCA1YjYyNTE1ZTI4MmY4NzM3YTI1MmJmYzliYjYwNjMxYjdlZTk0YzA2Li5kYTcyZTU2
N2ExOGFkYWI5Nzc5MDk3MDgyMzUyY2Y1NmJkYmEwOWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NDb250ZXh0R0xUZXh0dXJlTWFw
cGVyQU5HTEUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1h
cC9HcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXJBTkdMRS5jcHAKQEAgLTYwLDggKzYwLDYg
QEAgR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6fkdyYXBoaWNzQ29udGV4dEdMQU5HTEUoKQogICAg
IEFTU0VSVF9VTlVTRUQoc3VjY2Vzcywgc3VjY2Vzcyk7CiAgICAgaWYgKG1fdGV4dHVyZSkKICAg
ICAgICAgR0xfRGVsZXRlVGV4dHVyZXMoMSwgJm1fdGV4dHVyZSk7Ci0gICAgaWYgKG1fY29tcG9z
aXRvclRleHR1cmUpCi0gICAgICAgIEdMX0RlbGV0ZVRleHR1cmVzKDEsICZtX2NvbXBvc2l0b3JU
ZXh0dXJlKTsKIAogICAgIGF1dG8gYXR0cmlidXRlcyA9IGNvbnRleHRBdHRyaWJ1dGVzKCk7CiAK
QEAgLTc1LDkgKzczLDYgQEAgR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6fkdyYXBoaWNzQ29udGV4
dEdMQU5HTEUoKQogICAgICAgICAgICAgR0xfRGVsZXRlUmVuZGVyYnVmZmVycygxLCAmbV9kZXB0
aFN0ZW5jaWxCdWZmZXIpOwogICAgIH0KICAgICBHTF9EZWxldGVGcmFtZWJ1ZmZlcnMoMSwgJm1f
ZmJvKTsKLSNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCi0gICAgR0xfRGVsZXRlVGV4dHVy
ZXMoMSwgJm1faW50ZXJtZWRpYXRlVGV4dHVyZSk7Ci0jZW5kaWYKIH0KIAogR0NHTERpc3BsYXkg
R3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6cGxhdGZvcm1EaXNwbGF5KCkgY29uc3QKQEAgLTM0Nyw2
ICszNDIsMjggQEAgYm9vbCBHcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXJBTkdMRTo6cGxh
dGZvcm1Jbml0aWFsaXplKCkKICAgICByZXR1cm4gR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6cGxh
dGZvcm1Jbml0aWFsaXplKCk7CiB9CiAKK3ZvaWQgR3JhcGhpY3NDb250ZXh0R0xUZXh0dXJlTWFw
cGVyQU5HTEU6OnByZXBhcmVUZXh0dXJlSW1wbCgpCit7CisgICAgQVNTRVJUKCFtX2xheWVyQ29t
cG9zaXRlZCk7CisKKyAgICBpZiAoY29udGV4dEF0dHJpYnV0ZXMoKS5hbnRpYWxpYXMpCisgICAg
ICAgIHJlc29sdmVNdWx0aXNhbXBsaW5nSWZOZWNlc3NhcnkoKTsKKworICAgIHN0ZDo6c3dhcCht
X3RleHR1cmUsIG1fY29tcG9zaXRvclRleHR1cmUpOworI2lmIFVTRShDT09SRElOQVRFRF9HUkFQ
SElDUykKKyAgICBzdGQ6OnN3YXAobV90ZXh0dXJlLCBtX2ludGVybWVkaWF0ZVRleHR1cmUpOwor
ICAgIHN0ZDo6c3dhcChtX3RleHR1cmVCYWNraW5nLCBtX2NvbXBvc2l0b3JUZXh0dXJlQmFja2lu
Zyk7CisgICAgc3RkOjpzd2FwKG1fdGV4dHVyZUJhY2tpbmcsIG1faW50ZXJtZWRpYXRlVGV4dHVy
ZUJhY2tpbmcpOworI2VuZGlmCisKKyAgICBHTF9CaW5kRnJhbWVidWZmZXIoR0xfRlJBTUVCVUZG
RVIsIG1fZmJvKTsKKyAgICBHTF9GcmFtZWJ1ZmZlclRleHR1cmUyRChHTF9GUkFNRUJVRkZFUiwg
R0xfQ09MT1JfQVRUQUNITUVOVDAsIGRyYXdpbmdCdWZmZXJUZXh0dXJlVGFyZ2V0KCksIG1fdGV4
dHVyZSwgMCk7CisgICAgR0xfRmx1c2goKTsKKworICAgIGlmIChtX3N0YXRlLmJvdW5kRHJhd0ZC
TyAhPSBtX2ZibykKKyAgICAgICAgR0xfQmluZEZyYW1lYnVmZmVyKEdyYXBoaWNzQ29udGV4dEdM
OjpGUkFNRUJVRkZFUiwgbV9zdGF0ZS5ib3VuZERyYXdGQk8pOworfQorCiB2b2lkIEdyYXBoaWNz
Q29udGV4dEdMVGV4dHVyZU1hcHBlckFOR0xFOjpzZXRDb250ZXh0VmlzaWJpbGl0eShib29sKQog
ewogfQpAQCAtNDA1LDMyICs0MjIsMzIgQEAgdm9pZCBHcmFwaGljc0NvbnRleHRHTFRleHR1cmVN
YXBwZXJBTkdMRTo6cHJlcGFyZUZvckRpc3BsYXkoKQogfQogCiAjaWYgVVNFKE5JQ09TSUEpCi1H
cmFwaGljc0NvbnRleHRHTEFOR0xFOjpFR0xJbWFnZUJhY2tpbmc6OkVHTEltYWdlQmFja2luZyhH
Q0dMRGlzcGxheSBkaXNwbGF5KQorR3JhcGhpY3NDb250ZXh0R0xUZXh0dXJlTWFwcGVyQU5HTEU6
OkVHTEltYWdlQmFja2luZzo6RUdMSW1hZ2VCYWNraW5nKEdDR0xEaXNwbGF5IGRpc3BsYXkpCiAg
ICAgOiBtX2Rpc3BsYXkoZGlzcGxheSkKICAgICAsIG1faW1hZ2UoRUdMX05PX0lNQUdFKQogewog
fQogCi1HcmFwaGljc0NvbnRleHRHTEFOR0xFOjpFR0xJbWFnZUJhY2tpbmc6On5FR0xJbWFnZUJh
Y2tpbmcoKQorR3JhcGhpY3NDb250ZXh0R0xUZXh0dXJlTWFwcGVyQU5HTEU6OkVHTEltYWdlQmFj
a2luZzo6fkVHTEltYWdlQmFja2luZygpCiB7CiAgICAgcmVsZWFzZVJlc291cmNlcygpOwogfQog
Ci11aW50MzJfdCBHcmFwaGljc0NvbnRleHRHTEFOR0xFOjpFR0xJbWFnZUJhY2tpbmc6OmZvcm1h
dCgpIGNvbnN0Cit1aW50MzJfdCBHcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXJBTkdMRTo6
RUdMSW1hZ2VCYWNraW5nOjpmb3JtYXQoKSBjb25zdAogewogICAgIGlmIChtX0JPKQogICAgICAg
ICByZXR1cm4gZ2JtX2JvX2dldF9mb3JtYXQobV9CTyk7CiAgICAgcmV0dXJuIDA7CiB9CiAKLXVp
bnQzMl90IEdyYXBoaWNzQ29udGV4dEdMQU5HTEU6OkVHTEltYWdlQmFja2luZzo6c3RyaWRlKCkg
Y29uc3QKK3VpbnQzMl90IEdyYXBoaWNzQ29udGV4dEdMVGV4dHVyZU1hcHBlckFOR0xFOjpFR0xJ
bWFnZUJhY2tpbmc6OnN0cmlkZSgpIGNvbnN0CiB7CiAgICAgaWYgKG1fQk8pCiAgICAgICAgIHJl
dHVybiBnYm1fYm9fZ2V0X3N0cmlkZShtX0JPKTsKICAgICByZXR1cm4gMDsKIH0KIAotdm9pZCBH
cmFwaGljc0NvbnRleHRHTEFOR0xFOjpFR0xJbWFnZUJhY2tpbmc6OnJlbGVhc2VSZXNvdXJjZXMo
KQordm9pZCBHcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXJBTkdMRTo6RUdMSW1hZ2VCYWNr
aW5nOjpyZWxlYXNlUmVzb3VyY2VzKCkKIHsKICAgICBpZiAobV9CTykgewogICAgICAgICBnYm1f
Ym9fZGVzdHJveShtX0JPKTsKQEAgLTQ0NiwxMiArNDYzLDEyIEBAIHZvaWQgR3JhcGhpY3NDb250
ZXh0R0xBTkdMRTo6RUdMSW1hZ2VCYWNraW5nOjpyZWxlYXNlUmVzb3VyY2VzKCkKICAgICB9CiB9
CiAKLWJvb2wgR3JhcGhpY3NDb250ZXh0R0xBTkdMRTo6RUdMSW1hZ2VCYWNraW5nOjppc1JlbGVh
c2VkKCkKK2Jvb2wgR3JhcGhpY3NDb250ZXh0R0xUZXh0dXJlTWFwcGVyQU5HTEU6OkVHTEltYWdl
QmFja2luZzo6aXNSZWxlYXNlZCgpCiB7CiAgICAgcmV0dXJuICFtX0JPOwogfQogCi1ib29sIEdy
YXBoaWNzQ29udGV4dEdMQU5HTEU6OkVHTEltYWdlQmFja2luZzo6cmVzZXQoaW50IHdpZHRoLCBp
bnQgaGVpZ2h0LCBib29sIGhhc0FscGhhKQorYm9vbCBHcmFwaGljc0NvbnRleHRHTFRleHR1cmVN
YXBwZXJBTkdMRTo6RUdMSW1hZ2VCYWNraW5nOjpyZXNldChpbnQgd2lkdGgsIGludCBoZWlnaHQs
IGJvb2wgaGFzQWxwaGEpCiB7CiAgICAgcmVsZWFzZVJlc291cmNlcygpOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90ZXhtYXAvR3JhcGhpY3NDb250ZXh0
R0xUZXh0dXJlTWFwcGVyQU5HTEUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RleG1hcC9HcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXJBTkdMRS5oCmluZGV4IDRjZWVj
Yzk3MGUxZGMwY2Y4Y2E1MTE1MzIwZTdjZmY0YTc3OWM1YjYuLjMxZmRlM2RkY2Q0M2UyZjI5ZDYw
MzMyMGE3ZDRlNGRkODM1NGUwOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0NvbnRleHRHTFRleHR1cmVNYXBwZXJBTkdMRS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RleG1hcC9HcmFwaGljc0NvbnRl
eHRHTFRleHR1cmVNYXBwZXJBTkdMRS5oCkBAIC0yOSw4ICsyOSwyMiBAQAogCiAjaW5jbHVkZSAi
R3JhcGhpY3NDb250ZXh0R0xBTkdMRS5oIgogCisjaWYgVVNFKE5JQ09TSUEpCituYW1lc3BhY2Ug
Tmljb3NpYSB7CitjbGFzcyBHQ0dMQU5HTEVMYXllcjsKK2NsYXNzIEdDR0xMYXllcjsKK30KKwor
c3RydWN0IGdibV9kZXZpY2U7CitzdHJ1Y3QgZ2JtX2JvOworCit0eXBlZGVmIHZvaWQgKkVHTElt
YWdlOworI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgVGV4dHVyZU1hcHBl
ckdDR0xQbGF0Zm9ybUxheWVyOworCiBjbGFzcyBXRUJDT1JFX0VYUE9SVCBHcmFwaGljc0NvbnRl
eHRHTFRleHR1cmVNYXBwZXJBTkdMRSA6IHB1YmxpYyBHcmFwaGljc0NvbnRleHRHTEFOR0xFIHsK
IHB1YmxpYzoKICAgICBzdGF0aWMgUmVmUHRyPEdyYXBoaWNzQ29udGV4dEdMVGV4dHVyZU1hcHBl
ckFOR0xFPiBjcmVhdGUoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xBdHRyaWJ1dGVzJiYpOwpA
QCAtNTUsNyArNjksNTYgQEAgcHJpdmF0ZToKICAgICBib29sIHBsYXRmb3JtSW5pdGlhbGl6ZUNv
bnRleHQoKSBmaW5hbDsKICAgICBib29sIHBsYXRmb3JtSW5pdGlhbGl6ZSgpIGZpbmFsOwogCisg
ICAgdm9pZCBwcmVwYXJlVGV4dHVyZUltcGwoKSBmaW5hbDsKKwogICAgIFJlZlB0cjxHcmFwaGlj
c0xheWVyQ29udGVudHNEaXNwbGF5RGVsZWdhdGU+IG1fbGF5ZXJDb250ZW50c0Rpc3BsYXlEZWxl
Z2F0ZTsKKworICAgIEdDR0x1aW50IG1fY29tcG9zaXRvclRleHR1cmUgeyAwIH07CisjaWYgVVNF
KENPT1JESU5BVEVEX0dSQVBISUNTKQorICAgIEdDR0x1aW50IG1faW50ZXJtZWRpYXRlVGV4dHVy
ZSB7IDAgfTsKKyNlbmRpZgorCisjaWYgVVNFKE5JQ09TSUEpCisgICAgc3RkOjp1bmlxdWVfcHRy
PE5pY29zaWE6OkdDR0xBTkdMRUxheWVyPiBtX25pY29zaWFMYXllcjsKKworICAgIGNsYXNzIEVH
TEltYWdlQmFja2luZyB7CisgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CisgICAgcHVibGlj
OgorICAgICAgICBFR0xJbWFnZUJhY2tpbmcoR0NHTERpc3BsYXkpOworICAgICAgICB+RUdMSW1h
Z2VCYWNraW5nKCk7CisKKyAgICAgICAgYm9vbCByZXNldChpbnQgd2lkdGgsIGludCBoZWlnaHQs
IGJvb2wgaGFzQWxwaGEpOworCisgICAgICAgIEVHTEltYWdlIGltYWdlKCkgY29uc3QgeyByZXR1
cm4gbV9pbWFnZTsgfQorICAgICAgICBpbnQgZmQoKSBjb25zdCB7IHJldHVybiBtX0ZEOyB9CisK
KyAgICAgICAgdWludDMyX3QgZm9ybWF0KCkgY29uc3Q7CisgICAgICAgIHVpbnQzMl90IHN0cmlk
ZSgpIGNvbnN0OworCisgICAgICAgIGJvb2wgaXNSZWxlYXNlZCgpOworICAgIHByaXZhdGU6Cisg
ICAgICAgIHZvaWQgcmVsZWFzZVJlc291cmNlcygpOworCisgICAgICAgIEdDR0xEaXNwbGF5IG1f
ZGlzcGxheTsKKworICAgICAgICBnYm1fYm8qIG1fQk8geyBudWxscHRyIH07CisgICAgICAgIGlu
dCBtX0ZEIHsgLTEgfTsKKyAgICAgICAgRUdMSW1hZ2UgbV9pbWFnZTsKKyAgICB9OworCisgICAg
c3RkOjp1bmlxdWVfcHRyPEVHTEltYWdlQmFja2luZz4gbV90ZXh0dXJlQmFja2luZzsKKyAgICBz
dGQ6OnVuaXF1ZV9wdHI8RUdMSW1hZ2VCYWNraW5nPiBtX2NvbXBvc2l0b3JUZXh0dXJlQmFja2lu
ZzsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8RUdMSW1hZ2VCYWNraW5nPiBtX2ludGVybWVkaWF0ZVRl
eHR1cmVCYWNraW5nOworI2Vsc2UKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8VGV4dHVyZU1hcHBlckdD
R0xQbGF0Zm9ybUxheWVyPiBtX3RleG1hcExheWVyOworI2VuZGlmCisKKyNpZiBVU0UoTklDT1NJ
QSkKKyAgICBmcmllbmQgY2xhc3MgTmljb3NpYTo6R0NHTEFOR0xFTGF5ZXI7CisgICAgZnJpZW5k
IGNsYXNzIE5pY29zaWE6OkdDR0xMYXllcjsKKyNlbHNlCisgICAgZnJpZW5kIGNsYXNzIFRleHR1
cmVNYXBwZXJHQ0dMUGxhdGZvcm1MYXllcjsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>