<?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>209513</bug_id>
          
          <creation_ts>2020-03-24 15:29:06 -0700</creation_ts>
          <short_desc>[WebGL2] Context state updates</short_desc>
          <delta_ts>2020-07-25 12:49:26 -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>
          <dependson>205823</dependson>
    
    <dependson>208875</dependson>
    
    <dependson>209516</dependson>
    
    <dependson>209518</dependson>
    
    <dependson>210766</dependson>
    
    <dependson>213906</dependson>
          <blocked>126404</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Russell">kbr</reporter>
          <assigned_to name="Kenneth Russell">kbr</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jdarpinian</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1633566</commentid>
    <comment_count>0</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-03-24 15:29:06 -0700</bug_when>
    <thetext>Updates are needed for WebGL 2.0 in the following methods which get and set global context state:
getParameter
getIndexedParameter
isEnabled
pixelStorei</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674789</commentid>
    <comment_count>1</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-07-24 12:29:06 -0700</bug_when>
    <thetext>Taking this. Most if not all of these were already upgraded in other bugs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674838</commentid>
    <comment_count>2</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-07-24 14:42:25 -0700</bug_when>
    <thetext>With recent updates from Bug 208875, Bug 209518, Bug 213906, and others, getParameter appears to be complete.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674851</commentid>
    <comment_count>3</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-07-24 14:55:25 -0700</bug_when>
    <thetext>With recent updates from Bug 205823, Bug 209518, Bug 213906, and perhaps others, getIndexedParameter appears to be fully implemented.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674920</commentid>
    <comment_count>4</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-07-24 16:55:35 -0700</bug_when>
    <thetext>Looking into isEnabled and in particular validateCapability, it was found that a couple of methods were placed on WebGLRenderingContext earlier so that they could be overridden in WebGL2RenderingContext. Mmoving them to WebGLRenderingContextBase removes duplicated code, so will put up a patch for that.

pixelStorei was completed in Bug 209516 and Bug 210766.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674961</commentid>
    <comment_count>5</comment_count>
      <attachid>405216</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-07-24 19:16:59 -0700</bug_when>
    <thetext>Created attachment 405216
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675018</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-25 12:49:01 -0700</bug_when>
    <thetext>Committed r264889: &lt;https://trac.webkit.org/changeset/264889&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 405216.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1675019</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-25 12:49:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/66107719&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>405216</attachid>
            <date>2020-07-24 19:16:59 -0700</date>
            <delta_ts>2020-07-25 12:49:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209513-20200724191658.patch</filename>
            <type>text/plain</type>
            <size>15434</size>
            <attacher name="Kenneth Russell">kbr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0ODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYThmYzRkYjkyYzliMmMw
MWMyNDJlM2Q3ODAwN2RhZmYxNmIzMDNkZS4uNDMyMzNjZGE1MmUwZjBiNmEwZTU3MWNmMTEyMjE2
ZWY2MmQ2NDJlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDIwLTA3LTI0ICBLZW5u
ZXRoIFJ1c3NlbGwgIDxrYnJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtXZWJHTDJdIENvbnRl
eHQgc3RhdGUgdXBkYXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjA5NTEzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUmVmYWN0b3IgYSBmZXcgbWV0aG9kcyByZWxhdGVkIHRvIGNvbnRleHQgc3RhdGUg
dG8gcmVkdWNlCisgICAgICAgIGR1cGxpY2F0ZWQgY29kZSBiZXR3ZWVuIFdlYkdMIDEuMCBhbmQg
Mi4wLiBObyBiZWhhdmlvcmFsIGNoYW5nZXMuCisKKyAgICAgICAgQ292ZXJlZCBieSBleGlzdGlu
ZyBXZWJHTCBjb25mb3JtYW5jZSB0ZXN0cy4KKworICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdM
MlJlbmRlcmluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5n
Q29udGV4dDo6dmFsaWRhdGVDYXBhYmlsaXR5KToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJl
bmRlcmluZ0NvbnRleHQ6OmNsZWFyKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdM
MlJlbmRlcmluZ0NvbnRleHQ6OmhpbnQpOiBEZWxldGVkLgorICAgICAgICAqIGh0bWwvY2FudmFz
L1dlYkdMMlJlbmRlcmluZ0NvbnRleHQuaDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250
ZXh0OjpoaW50KTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29u
dGV4dDo6Y2xlYXIpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdD
b250ZXh0Ojp2YWxpZGF0ZUNhcGFiaWxpdHkpOiBEZWxldGVkLgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZTo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdD
b250ZXh0QmFzZTo6aGludCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlOjp2YWxpZGF0ZUNhcGFiaWxpdHkpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdM
UmVuZGVyaW5nQ29udGV4dEJhc2UuaDoKKwogMjAyMC0wNy0yNCAgTWFyayBMYW0gIDxtYXJrLmxh
bUBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IGV4Y2VwdGlvbiBjaGVjayBoYW5kbGluZyBiZWxv
dyBwb3N0TWVzc2FnZSgpLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0wyUmVuZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTDJSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCA1MzIwNTc0YzgyMDU2MGVjODhlZTk0YzMx
NGFlNmYwNWI4YjFhOTFjLi5hZTFmYmI3Nzg1YWY3ZDkzZWFmMTAyNzJiYjcwZjExNGU3YjIyZDQ1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdD
b250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJp
bmdDb250ZXh0LmNwcApAQCAtMTcxNSwzMCArMTcxNSw2IEBAIHZvaWQgV2ViR0wyUmVuZGVyaW5n
Q29udGV4dDo6dmVydGV4QXR0cmliSVBvaW50ZXIoR0NHTHVpbnQgaW5kZXgsIEdDR0xpbnQgc2l6
ZSwKICAgICBtX2NvbnRleHQtPnZlcnRleEF0dHJpYklQb2ludGVyKGluZGV4LCBzaXplLCB0eXBl
LCBzdHJpZGUsIG9mZnNldCk7CiB9CiAKLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y2xl
YXIoR0NHTGJpdGZpZWxkIG1hc2spCi17Ci0gICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmco
KSkKLSAgICAgICAgcmV0dXJuOwotI2lmICFVU0UoQU5HTEUpCi0gICAgaWYgKG1hc2sgJiB+KEdy
YXBoaWNzQ29udGV4dEdMOjpDT0xPUl9CVUZGRVJfQklUIHwgR3JhcGhpY3NDb250ZXh0R0w6OkRF
UFRIX0JVRkZFUl9CSVQgfCBHcmFwaGljc0NvbnRleHRHTDo6U1RFTkNJTF9CVUZGRVJfQklUKSkg
ewotICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9W
QUxVRSwgImNsZWFyIiwgImludmFsaWQgbWFzayIpOwotICAgICAgICByZXR1cm47Ci0gICAgfQot
ICAgIGNvbnN0IGNoYXIqIHJlYXNvbiA9ICJmcmFtZWJ1ZmZlciBpbmNvbXBsZXRlIjsKLSAgICBp
ZiAobV9mcmFtZWJ1ZmZlckJpbmRpbmcgJiYgIW1fZnJhbWVidWZmZXJCaW5kaW5nLT5vbkFjY2Vz
cyhncmFwaGljc0NvbnRleHRHTCgpLCAmcmVhc29uKSkgewotICAgICAgICBzeW50aGVzaXplR0xF
cnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVSQVRJT04sICJj
bGVhciIsIHJlYXNvbik7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgaWYgKG1fZnJhbWVi
dWZmZXJCaW5kaW5nICYmIChtYXNrICYgR3JhcGhpY3NDb250ZXh0R0w6OkNPTE9SX0JVRkZFUl9C
SVQpICYmIG1fZnJhbWVidWZmZXJCaW5kaW5nLT5nZXRDb2xvckJ1ZmZlckZvcm1hdCgpICYmIGlz
SW50ZWdlckZvcm1hdChtX2ZyYW1lYnVmZmVyQmluZGluZy0+Z2V0Q29sb3JCdWZmZXJGb3JtYXQo
KSkpIHsKLSAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6OklOVkFM
SURfT1BFUkFUSU9OLCAiY2xlYXIiLCAiY2Fubm90IGNsZWFyIGFuIGludGVnZXIgYnVmZmVyIik7
Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0jZW5kaWYKLSAgICBpZiAoIWNsZWFySWZDb21wb3Np
dGVkKG1hc2spKQotICAgICAgICBtX2NvbnRleHQtPmNsZWFyKG1hc2spOwotICAgIG1hcmtDb250
ZXh0Q2hhbmdlZEFuZE5vdGlmeUNhbnZhc09ic2VydmVyKCk7Ci19Ci0KIHZvaWQgV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dDo6dmVydGV4QXR0cmliRGl2aXNvcihHQ0dMdWludCBpbmRleCwgR0NHTHVp
bnQgZGl2aXNvcikKIHsKICAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpKQpAQCAtMjk2
NSwyNCArMjk0MSw2IEBAIHZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6cmVuZGVyYnVmZmVy
U3RvcmFnZUhlbHBlcihHQ0dMZW51bSB0YXJnZXQsIEdDR0xzaXplCiAgICAgICAgIG1fY29udGV4
dC0+cmVuZGVyYnVmZmVyU3RvcmFnZSh0YXJnZXQsIGludGVybmFsZm9ybWF0LCB3aWR0aCwgaGVp
Z2h0KTsKIH0KIAotdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpoaW50KEdDR0xlbnVtIHRh
cmdldCwgR0NHTGVudW0gbW9kZSkKLXsKLSAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygp
KQotICAgICAgICByZXR1cm47Ci0gICAgYm9vbCBpc1ZhbGlkID0gZmFsc2U7Ci0gICAgc3dpdGNo
ICh0YXJnZXQpIHsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpHRU5FUkFURV9NSVBNQVBf
SElOVDoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpGUkFHTUVOVF9TSEFERVJfREVSSVZB
VElWRV9ISU5UOgotICAgICAgICBpc1ZhbGlkID0gdHJ1ZTsKLSAgICAgICAgYnJlYWs7Ci0gICAg
fQotICAgIGlmICghaXNWYWxpZCkgewotICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGlj
c0NvbnRleHRHTDo6SU5WQUxJRF9FTlVNLCAiaGludCIsICJpbnZhbGlkIHRhcmdldCIpOwotICAg
ICAgICByZXR1cm47Ci0gICAgfQotICAgIG1fY29udGV4dC0+aGludCh0YXJnZXQsIG1vZGUpOwot
fQotCiBHQ0dMdWludCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjptYXhUcmFuc2Zvcm1GZWVkYmFj
a1NlcGFyYXRlQXR0cmlicygpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fbWF4VHJhbnNmb3JtRmVl
ZGJhY2tTZXBhcmF0ZUF0dHJpYnM7CkBAIC0zMzQ3LDIwICszMzA1LDEwIEBAIGJvb2wgV2ViR0wy
UmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVCbGVuZEVxdWF0aW9uKGNvbnN0IGNoYXIqIGZ1bmN0
aW9uTmFtZSwgR0NHCiBib29sIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnZhbGlkYXRlQ2FwYWJp
bGl0eShjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUsIEdDR0xlbnVtIGNhcCkKIHsKICAgICBzd2l0
Y2ggKGNhcCkgewotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OkJMRU5EOgotICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0R0w6OkNVTExfRkFDRToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdM
OjpERVBUSF9URVNUOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OkRJVEhFUjoKLSAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dEdMOjpQT0xZR09OX09GRlNFVF9GSUxMOgotICAgIGNhc2UgR3Jh
cGhpY3NDb250ZXh0R0w6OlNBTVBMRV9BTFBIQV9UT19DT1ZFUkFHRToKLSAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dEdMOjpTQU1QTEVfQ09WRVJBR0U6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHRH
TDo6U0NJU1NPUl9URVNUOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlNURU5DSUxfVEVT
VDoKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpSQVNURVJJWkVSX0RJU0NBUkQ6CiAgICAg
ICAgIHJldHVybiB0cnVlOwogICAgIGRlZmF1bHQ6Ci0gICAgICAgIHN5bnRoZXNpemVHTEVycm9y
KEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX0VOVU0sIGZ1bmN0aW9uTmFtZSwgImludmFsaWQg
Y2FwYWJpbGl0eSIpOwotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiBXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlOjp2YWxpZGF0ZUNhcGFiaWxpdHkoZnVuY3Rpb25OYW1lLCBj
YXApOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0wyUmVuZGVyaW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0wyUmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IDlhYWI2YjkyZGJhMmUxZGVkMGQwYTg0NDFlZTBl
MzljNjhhNmQ2YzAuLjgxOTlkOGU2NzMwZDE1NDc3MjJlMmVlMDNjMWVlNjcyZDA3NDM5YWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRl
eHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250
ZXh0LmgKQEAgLTE3OCw3ICsxNzgsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCB1bmlmb3JtTWF0cml4
NGZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgR0xib29sZWFuIHRyYW5zcG9zZSwg
RmxvYXQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgR0x1aW50IHNyY0xlbmd0aCk7CiAK
ICAgICAvLyBXcml0aW5nIHRvIHRoZSBkcmF3aW5nIGJ1ZmZlcgotICAgIHZvaWQgY2xlYXIoR0NH
TGJpdGZpZWxkIG1hc2spIGZpbmFsOwogICAgIHZvaWQgdmVydGV4QXR0cmliRGl2aXNvcihHQ0dM
dWludCBpbmRleCwgR0NHTHVpbnQgZGl2aXNvcik7CiAgICAgdm9pZCBkcmF3QXJyYXlzSW5zdGFu
Y2VkKEdDR0xlbnVtIG1vZGUsIEdDR0xpbnQgZmlyc3QsIEdDR0xzaXplaSBjb3VudCwgR0NHTHNp
emVpIGluc3RhbmNlQ291bnQpOwogICAgIHZvaWQgZHJhd0VsZW1lbnRzSW5zdGFuY2VkKEdDR0xl
bnVtIG1vZGUsIEdDR0xzaXplaSBjb3VudCwgR0NHTGVudW0gdHlwZSwgR0NHTGludDY0IG9mZnNl
dCwgR0NHTHNpemVpIGluc3RhbmNlQ291bnQpOwpAQCAtMjU1LDcgKzI1NCw2IEBAIHB1YmxpYzoK
ICAgICB2b2lkIHJlYWRQaXhlbHMoR0xpbnQgeCwgR0xpbnQgeSwgR0xzaXplaSB3aWR0aCwgR0xz
aXplaSBoZWlnaHQsIEdMZW51bSBmb3JtYXQsIEdMZW51bSB0eXBlLCBHTGludHB0ciBvZmZzZXQp
OwogICAgIHZvaWQgcmVhZFBpeGVscyhHTGludCB4LCBHTGludCB5LCBHTHNpemVpIHdpZHRoLCBH
THNpemVpIGhlaWdodCwgR0xlbnVtIGZvcm1hdCwgR0xlbnVtIHR5cGUsIEFycmF5QnVmZmVyVmll
dyYgZHN0RGF0YSwgR0x1aW50IGRzdE9mZnNldCk7CiAKLSAgICB2b2lkIGhpbnQoR0NHTGVudW0g
dGFyZ2V0LCBHQ0dMZW51bSBtb2RlKSBmaW5hbDsKICAgICBHQ0dMdWludCBtYXhUcmFuc2Zvcm1G
ZWVkYmFja1NlcGFyYXRlQXR0cmlicygpIGNvbnN0OwogCiAgICAgR3JhcGhpY3NDb250ZXh0R0xP
cGVuR0w6OlBpeGVsU3RvcmVQYXJhbXMgZ2V0UGFja1BpeGVsU3RvcmVQYXJhbXMoKSBjb25zdCBv
dmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVu
ZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRl
cmluZ0NvbnRleHQuY3BwCmluZGV4IGE1YmZiZTQwMjRmOWJhZTAzM2VmMzcxYWE3MjM3MWY3MWE0
Njg4MDUuLjZjZDY0YTUxYjA1NDJlZDhkOWMyYjlmMzQzNGMxNDhhNDZkYzE2YTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmNw
cApAQCAtMzIzLDQ3ICszMjMsNiBAQCBXZWJHTEFueSBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6Omdl
dEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcihHQ0dMZW51bSB0YXJnZQogICAgIH0KIH0K
IAotdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHQ6OmhpbnQoR0NHTGVudW0gdGFyZ2V0LCBHQ0dM
ZW51bSBtb2RlKQotewotICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkpCi0gICAgICAg
IHJldHVybjsKLSAgICBib29sIGlzVmFsaWQgPSBmYWxzZTsKLSAgICBzd2l0Y2ggKHRhcmdldCkg
ewotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OkdFTkVSQVRFX01JUE1BUF9ISU5UOgotICAg
ICAgICBpc1ZhbGlkID0gdHJ1ZTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBFeHRlbnNpb25z
R0w6OkZSQUdNRU5UX1NIQURFUl9ERVJJVkFUSVZFX0hJTlRfT0VTOiAvLyBPRVNfc3RhbmRhcmRf
ZGVyaXZhdGl2ZXMKLSAgICAgICAgaWYgKG1fb2VzU3RhbmRhcmREZXJpdmF0aXZlcykKLSAgICAg
ICAgICAgIGlzVmFsaWQgPSB0cnVlOwotICAgICAgICBicmVhazsKLSAgICB9Ci0gICAgaWYgKCFp
c1ZhbGlkKSB7Ci0gICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJ
TlZBTElEX0VOVU0sICJoaW50IiwgImludmFsaWQgdGFyZ2V0Iik7Ci0gICAgICAgIHJldHVybjsK
LSAgICB9Ci0gICAgbV9jb250ZXh0LT5oaW50KHRhcmdldCwgbW9kZSk7Ci19Ci0KLXZvaWQgV2Vi
R0xSZW5kZXJpbmdDb250ZXh0OjpjbGVhcihHQ0dMYml0ZmllbGQgbWFzaykKLXsKLSAgICBpZiAo
aXNDb250ZXh0TG9zdE9yUGVuZGluZygpKQotICAgICAgICByZXR1cm47Ci0jaWYgIVVTRShBTkdM
RSkKLSAgICBpZiAobWFzayAmIH4oR3JhcGhpY3NDb250ZXh0R0w6OkNPTE9SX0JVRkZFUl9CSVQg
fCBHcmFwaGljc0NvbnRleHRHTDo6REVQVEhfQlVGRkVSX0JJVCB8IEdyYXBoaWNzQ29udGV4dEdM
OjpTVEVOQ0lMX0JVRkZFUl9CSVQpKSB7Ci0gICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBo
aWNzQ29udGV4dEdMOjpJTlZBTElEX1ZBTFVFLCAiY2xlYXIiLCAiaW52YWxpZCBtYXNrIik7Ci0g
ICAgICAgIHJldHVybjsKLSAgICB9Ci0gICAgY29uc3QgY2hhciogcmVhc29uID0gImZyYW1lYnVm
ZmVyIGluY29tcGxldGUiOwotICAgIGlmIChtX2ZyYW1lYnVmZmVyQmluZGluZyAmJiAhbV9mcmFt
ZWJ1ZmZlckJpbmRpbmctPm9uQWNjZXNzKG1fY29udGV4dC5nZXQoKSwgJnJlYXNvbikpIHsKLSAg
ICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURfRlJBTUVC
VUZGRVJfT1BFUkFUSU9OLCAiY2xlYXIiLCByZWFzb24pOwotICAgICAgICByZXR1cm47Ci0gICAg
fQotI2VuZGlmCi0gICAgaWYgKCFjbGVhcklmQ29tcG9zaXRlZChtYXNrKSkKLSAgICAgICAgbV9j
b250ZXh0LT5jbGVhcihtYXNrKTsKLSAgICBtYXJrQ29udGV4dENoYW5nZWRBbmROb3RpZnlDYW52
YXNPYnNlcnZlcigpOwotfQotCiBHQ0dMaW50IFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6Z2V0TWF4
RHJhd0J1ZmZlcnMoKQogewogICAgIGlmICghc3VwcG9ydHNEcmF3QnVmZmVycygpKQpAQCAtNDcw
LDI1ICs0MjksNiBAQCBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVCbGVuZEVx
dWF0aW9uKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgR0NHTAogICAgIH0KIH0KIAotYm9vbCBX
ZWJHTFJlbmRlcmluZ0NvbnRleHQ6OnZhbGlkYXRlQ2FwYWJpbGl0eShjb25zdCBjaGFyKiBmdW5j
dGlvbk5hbWUsIEdDR0xlbnVtIGNhcCkKLXsKLSAgICBzd2l0Y2ggKGNhcCkgewotICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0R0w6OkJMRU5EOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OkNV
TExfRkFDRToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpERVBUSF9URVNUOgotICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0R0w6OkRJVEhFUjoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdM
OjpQT0xZR09OX09GRlNFVF9GSUxMOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlNBTVBM
RV9BTFBIQV9UT19DT1ZFUkFHRToKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpTQU1QTEVf
Q09WRVJBR0U6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6U0NJU1NPUl9URVNUOgotICAg
IGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlNURU5DSUxfVEVTVDoKLSAgICAgICAgcmV0dXJuIHRy
dWU7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250
ZXh0R0w6OklOVkFMSURfRU5VTSwgZnVuY3Rpb25OYW1lLCAiaW52YWxpZCBjYXBhYmlsaXR5Iik7
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0LmgKaW5kZXggNDc4ODA0MGM3YWY1YjI3NmU3
NzY4NTY1ZWZmNDg3ZjgwZTM2MDNkNy4uOTQ1ZDRiYjEwNTEzZDJkYjRmNWE0M2U5NDkxN2E2ODIx
ZGIyNjJiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5k
ZXJpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5k
ZXJpbmdDb250ZXh0LmgKQEAgLTQ0LDE1ICs0NCwxMiBAQCBwdWJsaWM6CiAgICAgT3B0aW9uYWw8
VmVjdG9yPFN0cmluZz4+IGdldFN1cHBvcnRlZEV4dGVuc2lvbnMoKSBmaW5hbDsKIAogICAgIFdl
YkdMQW55IGdldEZyYW1lYnVmZmVyQXR0YWNobWVudFBhcmFtZXRlcihHQ0dMZW51bSB0YXJnZXQs
IEdDR0xlbnVtIGF0dGFjaG1lbnQsIEdDR0xlbnVtIHBuYW1lKSBmaW5hbDsKLSAgICB2b2lkIGhp
bnQoR0NHTGVudW0gdGFyZ2V0LCBHQ0dMZW51bSBtb2RlKSBmaW5hbDsKLSAgICB2b2lkIGNsZWFy
KEdDR0xiaXRmaWVsZCBtYXNrKSBmaW5hbDsKIAogICAgIEdDR0xpbnQgZ2V0TWF4RHJhd0J1ZmZl
cnMoKSBmaW5hbDsKICAgICBHQ0dMaW50IGdldE1heENvbG9yQXR0YWNobWVudHMoKSBmaW5hbDsK
ICAgICB2b2lkIGluaXRpYWxpemVWZXJ0ZXhBcnJheU9iamVjdHMoKSBmaW5hbDsKICAgICBib29s
IHZhbGlkYXRlSW5kZXhBcnJheUNvbnNlcnZhdGl2ZShHQ0dMZW51bSB0eXBlLCB1bnNpZ25lZCYg
bnVtRWxlbWVudHNSZXF1aXJlZCkgZmluYWw7CiAgICAgYm9vbCB2YWxpZGF0ZUJsZW5kRXF1YXRp
b24oY29uc3QgY2hhciogZnVuY3Rpb25OYW1lLCBHQ0dMZW51bSBtb2RlKSBmaW5hbDsKLSAgICBi
b29sIHZhbGlkYXRlQ2FwYWJpbGl0eShjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUsIEdDR0xlbnVt
IGNhcCkgZmluYWw7CiAKIHByaXZhdGU6CiAgICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0KENhbnZh
c0Jhc2UmLCBHcmFwaGljc0NvbnRleHRHTEF0dHJpYnV0ZXMpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAppbmRl
eCBmYWViNTAzZGNiOTk4YWQxM2QxN2RhZDMwN2NjMzU5MWZkZTQwYTlmLi45ZjAzZThmOTE4Y2I2
NzVmNGQ1NjI0NmQ4NjU2ZTRmOTJjMzVhNTdlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcApAQCAtMTY1Myw2
ICsxNjUzLDI2IEBAIEdDR0xlbnVtIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNoZWNrRnJh
bWVidWZmZXJTdGF0dXMoR0NHTGVudW0gdGFyZ2V0KQogI2VuZGlmCiB9CiAKK3ZvaWQgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6Y2xlYXIoR0NHTGJpdGZpZWxkIG1hc2spCit7CisgICAgaWYg
KGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSkKKyAgICAgICAgcmV0dXJuOworI2lmICFVU0UoQU5H
TEUpCisgICAgaWYgKG1hc2sgJiB+KEdyYXBoaWNzQ29udGV4dEdMOjpDT0xPUl9CVUZGRVJfQklU
IHwgR3JhcGhpY3NDb250ZXh0R0w6OkRFUFRIX0JVRkZFUl9CSVQgfCBHcmFwaGljc0NvbnRleHRH
TDo6U1RFTkNJTF9CVUZGRVJfQklUKSkgeworICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFw
aGljc0NvbnRleHRHTDo6SU5WQUxJRF9WQUxVRSwgImNsZWFyIiwgImludmFsaWQgbWFzayIpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorICAgIGNvbnN0IGNoYXIqIHJlYXNvbiA9ICJmcmFtZWJ1
ZmZlciBpbmNvbXBsZXRlIjsKKyAgICBpZiAobV9mcmFtZWJ1ZmZlckJpbmRpbmcgJiYgIW1fZnJh
bWVidWZmZXJCaW5kaW5nLT5vbkFjY2VzcyhtX2NvbnRleHQuZ2V0KCksICZyZWFzb24pKSB7Cisg
ICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX0ZSQU1F
QlVGRkVSX09QRVJBVElPTiwgImNsZWFyIiwgcmVhc29uKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKyNlbmRpZgorICAgIGlmICghY2xlYXJJZkNvbXBvc2l0ZWQobWFzaykpCisgICAgICAgIG1f
Y29udGV4dC0+Y2xlYXIobWFzayk7CisgICAgbWFya0NvbnRleHRDaGFuZ2VkQW5kTm90aWZ5Q2Fu
dmFzT2JzZXJ2ZXIoKTsKK30KKwogdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpjbGVh
ckNvbG9yKEdDR0xmbG9hdCByLCBHQ0dMZmxvYXQgZywgR0NHTGZsb2F0IGIsIEdDR0xmbG9hdCBh
KQogewogICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkpCkBAIC0zNjkxLDYgKzM3MTEs
MjcgQEAgdm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjplbmFibGVQcmVzZXJ2ZURyYXdp
bmdCdWZmZXIoKQogICAgIG1fY29udGV4dC0+ZW5hYmxlUHJlc2VydmVEcmF3aW5nQnVmZmVyKCk7
CiB9CiAKK3ZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6aGludChHQ0dMZW51bSB0YXJn
ZXQsIEdDR0xlbnVtIG1vZGUpCit7CisgICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSkK
KyAgICAgICAgcmV0dXJuOworICAgIGJvb2wgaXNWYWxpZCA9IGZhbHNlOworICAgIHN3aXRjaCAo
dGFyZ2V0KSB7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6R0VORVJBVEVfTUlQTUFQX0hJ
TlQ6CisgICAgICAgIGlzVmFsaWQgPSB0cnVlOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEV4
dGVuc2lvbnNHTDo6RlJBR01FTlRfU0hBREVSX0RFUklWQVRJVkVfSElOVF9PRVM6IC8vIE9FU19z
dGFuZGFyZF9kZXJpdmF0aXZlcywgb3IgY29yZSBpbiBXZWJHTCAyLjAKKyAgICAgICAgaWYgKG1f
b2VzU3RhbmRhcmREZXJpdmF0aXZlcyB8fCBpc1dlYkdMMigpKQorICAgICAgICAgICAgaXNWYWxp
ZCA9IHRydWU7CisgICAgICAgIGJyZWFrOworICAgIH0KKyAgICBpZiAoIWlzVmFsaWQpIHsKKyAg
ICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURfRU5VTSwg
ImhpbnQiLCAiaW52YWxpZCB0YXJnZXQiKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBt
X2NvbnRleHQtPmhpbnQodGFyZ2V0LCBtb2RlKTsKK30KKwogR0NHTGJvb2xlYW4gV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZTo6aXNCdWZmZXIoV2ViR0xCdWZmZXIqIGJ1ZmZlcikKIHsKICAgICBp
ZiAoIWJ1ZmZlciB8fCBpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkpCkBAIC02OTA4LDYgKzY5NDks
MjUgQEAgYm9vbCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp2YWxpZGF0ZUJsZW5kRnVuY0Zh
Y3RvcnMoY29uc3QgY2hhciogZnVuY3Rpb25OYW0KICAgICByZXR1cm4gdHJ1ZTsKIH0KIAorYm9v
bCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjp2YWxpZGF0ZUNhcGFiaWxpdHkoY29uc3QgY2hh
ciogZnVuY3Rpb25OYW1lLCBHQ0dMZW51bSBjYXApCit7CisgICAgc3dpdGNoIChjYXApIHsKKyAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpCTEVORDoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4
dEdMOjpDVUxMX0ZBQ0U6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6REVQVEhfVEVTVDoK
KyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpESVRIRVI6CisgICAgY2FzZSBHcmFwaGljc0Nv
bnRleHRHTDo6UE9MWUdPTl9PRkZTRVRfRklMTDoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdM
OjpTQU1QTEVfQUxQSEFfVE9fQ09WRVJBR0U6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6
U0FNUExFX0NPVkVSQUdFOgorICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlNDSVNTT1JfVEVT
VDoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpTVEVOQ0lMX1RFU1Q6CisgICAgICAgIHJl
dHVybiB0cnVlOworICAgIGRlZmF1bHQ6CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBo
aWNzQ29udGV4dEdMOjpJTlZBTElEX0VOVU0sIGZ1bmN0aW9uTmFtZSwgImludmFsaWQgY2FwYWJp
bGl0eSIpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQorCiBib29sIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dEJhc2U6OnZhbGlkYXRlVW5pZm9ybVBhcmFtZXRlcnMoY29uc3QgY2hhciog
ZnVuY3Rpb25OYW1lLCBjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIGNvbnN0
IEZsb2F0MzJMaXN0JiB2LCBHQ0dMc2l6ZWkgcmVxdWlyZWRNaW5TaXplLCBHQ0dMdWludCBzcmNP
ZmZzZXQsIEdDR0x1aW50IHNyY0xlbmd0aCkKIHsKICAgICByZXR1cm4gdmFsaWRhdGVVbmlmb3Jt
TWF0cml4UGFyYW1ldGVycyhmdW5jdGlvbk5hbWUsIGxvY2F0aW9uLCBmYWxzZSwgdi5kYXRhKCks
IHYubGVuZ3RoKCksIHJlcXVpcmVkTWluU2l6ZSwgc3JjT2Zmc2V0LCBzcmNMZW5ndGgpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0
QmFzZS5oCmluZGV4IDQyOTlhNmY1NzFiZTVlOTRiOTljNDNjMWQwOTQ0Zjc1MGFmNTkzYTUuLjA3
YWM4OGE2MTg1YjAzM2Y3MzFjN2ZjOTljYjkyYWM2Zjk4YmZjZGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmgKQEAg
LTE0MSw3ICsxNDEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBidWZmZXJTdWJEYXRhKEdDR0xlbnVt
IHRhcmdldCwgbG9uZyBsb25nIG9mZnNldCwgT3B0aW9uYWw8QnVmZmVyRGF0YVNvdXJjZT4mJik7
CiAKICAgICBHQ0dMZW51bSBjaGVja0ZyYW1lYnVmZmVyU3RhdHVzKEdDR0xlbnVtIHRhcmdldCk7
Ci0gICAgdmlydHVhbCB2b2lkIGNsZWFyKEdDR0xiaXRmaWVsZCBtYXNrKSA9IDA7CisgICAgdm9p
ZCBjbGVhcihHQ0dMYml0ZmllbGQgbWFzayk7CiAgICAgdm9pZCBjbGVhckNvbG9yKEdDR0xmbG9h
dCByZWQsIEdDR0xmbG9hdCBncmVlbiwgR0NHTGZsb2F0IGJsdWUsIEdDR0xmbG9hdCBhbHBoYSk7
CiAgICAgdm9pZCBjbGVhckRlcHRoKEdDR0xmbG9hdCk7CiAgICAgdm9pZCBjbGVhclN0ZW5jaWwo
R0NHTGludCk7CkBAIC0yMjMsNyArMjIzLDcgQEAgcHVibGljOgogICAgIGJvb2wgcHJldmVudEJ1
ZmZlckNsZWFyRm9ySW5zcGVjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9wcmV2ZW50QnVmZmVyQ2xl
YXJGb3JJbnNwZWN0b3I7IH0KICAgICB2b2lkIHNldFByZXZlbnRCdWZmZXJDbGVhckZvckluc3Bl
Y3Rvcihib29sIHZhbHVlKSB7IG1fcHJldmVudEJ1ZmZlckNsZWFyRm9ySW5zcGVjdG9yID0gdmFs
dWU7IH0KIAotICAgIHZpcnR1YWwgdm9pZCBoaW50KEdDR0xlbnVtIHRhcmdldCwgR0NHTGVudW0g
bW9kZSkgPSAwOworICAgIHZvaWQgaGludChHQ0dMZW51bSB0YXJnZXQsIEdDR0xlbnVtIG1vZGUp
OwogICAgIEdDR0xib29sZWFuIGlzQnVmZmVyKFdlYkdMQnVmZmVyKik7CiAgICAgYm9vbCBpc0Nv
bnRleHRMb3N0KCkgY29uc3Q7CiAgICAgR0NHTGJvb2xlYW4gaXNFbmFibGVkKEdDR0xlbnVtIGNh
cCk7CkBAIC05NjMsNyArOTYzLDcgQEAgcHJvdGVjdGVkOgogICAgIGJvb2wgdmFsaWRhdGVCbGVu
ZEZ1bmNGYWN0b3JzKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgR0NHTGVudW0gc3JjLCBHQ0dM
ZW51bSBkc3QpOwogCiAgICAgLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHZhbGlkYXRlIGEgR0wgY2Fw
YWJpbGl0eS4KLSAgICB2aXJ0dWFsIGJvb2wgdmFsaWRhdGVDYXBhYmlsaXR5KGNvbnN0IGNoYXIq
IGZ1bmN0aW9uTmFtZSwgR0NHTGVudW0pID0gMDsKKyAgICB2aXJ0dWFsIGJvb2wgdmFsaWRhdGVD
YXBhYmlsaXR5KGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgR0NHTGVudW0pOwogCiAgICAgLy8g
SGVscGVyIGZ1bmN0aW9uIHRvIHZhbGlkYXRlIGlucHV0IHBhcmFtZXRlcnMgZm9yIHVuaWZvcm0g
ZnVuY3Rpb25zLgogICAgIGJvb2wgdmFsaWRhdGVVbmlmb3JtTG9jYXRpb24oY29uc3QgY2hhciog
ZnVuY3Rpb25OYW1lLCBjb25zdCBXZWJHTFVuaWZvcm1Mb2NhdGlvbiopOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>