<?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>127801</bug_id>
          
          <creation_ts>2014-01-28 14:28:10 -0800</creation_ts>
          <short_desc>EFL port should stop using COMPILE_ASSERT_MATCHING_ENUM macros</short_desc>
          <delta_ts>2014-02-04 23:18:52 -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 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="Anders Carlsson">andersca</reporter>
          <assigned_to name="Ryuan Choi">ryuan.choi</assigned_to>
          <cc>bunhere</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>rakuco</cc>
    
    <cc>ryuan.choi</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>973102</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-28 14:28:10 -0800</bug_when>
    <thetext>Instead of having COMPILE_ASSERT_MATCHING_ENUM macros, WebKit EFL should have functions that can map between different types. For example:

inline WKSameDocumentNavigationType toAPI(SameDocumentNavigationType type)
{
    WKFrameNavigationType wkType = kWKSameDocumentNavigationAnchorNavigation;

    switch (type) {
    case SameDocumentNavigationAnchorNavigation:
        wkType = kWKSameDocumentNavigationAnchorNavigation;
        break;
    case SameDocumentNavigationSessionStatePush:
        wkType = kWKSameDocumentNavigationSessionStatePush;
        break;
    case SameDocumentNavigationSessionStateReplace:
        wkType = kWKSameDocumentNavigationSessionStateReplace;
        break;
    case SameDocumentNavigationSessionStatePop:
        wkType = kWKSameDocumentNavigationSessionStatePop;
        break;
    }
    
    return wkType;
}

This allows us to change the enum values in WebCore without breaking the builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973330</commentid>
    <comment_count>1</comment_count>
      <attachid>222561</attachid>
    <who name="Ryuan Choi">ryuan.choi</who>
    <bug_when>2014-01-29 02:55:37 -0800</bug_when>
    <thetext>Created attachment 222561
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973374</commentid>
    <comment_count>2</comment_count>
      <attachid>222561</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2014-01-29 08:14:23 -0800</bug_when>
    <thetext>Comment on attachment 222561
Patch

Thanks a lot for doing this!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973435</commentid>
    <comment_count>3</comment_count>
      <attachid>222561</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-29 12:12:59 -0800</bug_when>
    <thetext>Comment on attachment 222561
Patch

Clearing flags on attachment: 222561

Committed r163033: &lt;http://trac.webkit.org/changeset/163033&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>973436</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-29 12:13:04 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>976666</commentid>
    <comment_count>5</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2014-02-04 23:18:52 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=222561) [details]
&gt; Patch

Thanks Ryuan :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>222561</attachid>
            <date>2014-01-29 02:55:37 -0800</date>
            <delta_ts>2014-01-29 12:12:59 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-127801-20140129195534.patch</filename>
            <type>text/plain</type>
            <size>36696</size>
            <attacher name="Ryuan Choi">ryuan.choi</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYyOTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQwY2Y5YTA1ZWFkOTY3Yjkz
YjBkOWIzMzFhM2ZmNWY1NmVlNzc3M2MuLjAyMDk5MGMxNzU1M2RlOTFmN2Y4OGQwYWJkMDkxOTEx
NWU2ZmFiNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTQtMDEtMjkgIFJ5dWFuIENo
b2kgIDxyeXVhbi5jaG9pQHNhbXN1bmcuY29tPgorCisgICAgICAgIEVGTCBwb3J0IHNob3VsZCBz
dG9wIHVzaW5nIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0gbWFjcm9zCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjc4MDEKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFBsYXRmb3JtRWZsLmNtYWtl
OiBSZW1vdmVkIEFzc2VydE1hdGNoaW5nRW51bXMuY3BwCisKIDIwMTQtMDEtMjcgIFJvZ2VyIEZv
bmcgIDxyb2dlcl9mb25nQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2luZG93c10gVGVzdHMgY3Jh
c2hpbmcgb24gV2luZG93cyBhZnRlciByMTYyODE2LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9lZmwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9lZmwvQ2hhbmdlTG9nCmluZGV4IDcxY2Zj
NWJjZjViYTBkYTk0OGUzMTQ2YmE3NmQzNWViNzA0MzU4ZmIuLmYxZTc2N2MzYzBjODA1ZWVkODY0
ZTFhYTk5NDA4ZWI2ZjM5NWIwODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvZWZsL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNSBAQAor
MjAxNC0wMS0yOSAgUnl1YW4gQ2hvaSAgPHJ5dWFuLmNob2lAc2Ftc3VuZy5jb20+CisKKyAgICAg
ICAgRUZMIHBvcnQgc2hvdWxkIHN0b3AgdXNpbmcgQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TSBtYWNyb3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTEyNzgwMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEluc3RlYWQgb2YgQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTVMgd2l0aCBzdGF0aWNfY2Fz
dCwgdGhpcyBwYXRjaAorICAgICAgICBhZGRlZCBzd2l0Y2ggYW5kIGNvbnZlcnNpb24gZnVuY3Rp
b25zIGlmIG5lZWRlZC4KKworICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0Fzc2VydE1hdGNoaW5n
RW51bXMuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVy
Q2xpZW50RWZsLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyQ2xpZW50RWZsOjpk
aXNwYXRjaERlY2lkZVBvbGljeUZvck5hdmlnYXRpb25BY3Rpb24pOgorICAgICAgICAqIGV3ay9l
d2tfY29udGV4dG1lbnUuY3BwOgorICAgICAgICAodG9Fd2tDb250ZXh0TWVudUFjdGlvbik6Cisg
ICAgICAgICogZXdrL2V3a19jb250ZXh0bWVudS5oOgorICAgICAgICBBZGRlZCBtaXNzaW5nIGVu
dW0gdmFyaWFibGVzLiBUaGVzZSBhcmUgcmVxdWlyZWQgbm90IHRvIGJyZWFrIHRoZSBidWlsZC4K
KyAgICAgICAgKiBld2svZXdrX2ZyYW1lLmNwcDoKKyAgICAgICAgKGV3a19mcmFtZV90ZXh0X3Nl
bGVjdGlvbl90eXBlX2dldCk6CisgICAgICAgICogZXdrL2V3a190b3VjaF9ldmVudC5jcHA6Cisg
ICAgICAgICh0b1BsYXRmb3JtVG91Y2hQb2ludFN0YXRlKToKKyAgICAgICAgKFdlYktpdFBsYXRm
b3JtVG91Y2hFdmVudDo6V2ViS2l0UGxhdGZvcm1Ub3VjaEV2ZW50KToKKyAgICAgICAgKiBld2sv
ZXdrX3ZpZXcuY3BwOgorICAgICAgICAoZXdrX3ZpZXdfdGV4dF9kaXJlY3Rpb25fc2V0KToKKyAg
ICAgICAgKGV3a192aWV3X25hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uKToKKyAgICAgICAgKHRv
Vmlld01vZGUpOgorICAgICAgICAodG9Fd2tWaWV3TW9kZSk6CisgICAgICAgIChld2tfdmlld19t
b2RlX3NldCk6CisgICAgICAgIChld2tfdmlld19tb2RlX2dldCk6CisgICAgICAgIChld2tfdmll
d192aXNpYmlsaXR5X3N0YXRlX2dldCk6CisgICAgICAgICogZXdrL2V3a192aWV3X3ByaXZhdGUu
aDoKKwogMjAxNC0wMS0yOCAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgUmVtb3ZlIHVubmVjZXNzYXJ5IGZvcndhcmQgZGVjbGFyYXRpb25zIG9mIE1lc3Nh
Z2VQb3J0Q2hhbm5lbCwgTWVzc2FnZVBvcnRDaGFubmVsQXJyYXkgaW4gRHVtcFJlbmRlclRyZWVT
dXBwb3J0RWZsLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1FZmwuY21ha2Ug
Yi9Tb3VyY2UvV2ViS2l0L1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IDZiODhmZDA5Zjg2Y2I3MmI4
ZTgzMTM1NGY3YzM5YjliYTRhZDIzMjEuLmRmNDhkNTQ2MmQxZDkyYWVjZDhiMzI3YTViOWNjYTA2
ZTZmODYwMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvUGxhdGZvcm1FZmwuY21ha2UKKysr
IGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybUVmbC5jbWFrZQpAQCAtMTAxLDcgKzEwMSw2IEBAIGVu
ZGlmICgpCiAKIGxpc3QoQVBQRU5EIFdlYktpdF9TT1VSQ0VTCiAgICAgZWZsL1dlYkNvcmVTdXBw
b3J0L0FjY2VsZXJhdGVkQ29tcG9zaXRpbmdDb250ZXh0RWZsLmNwcAotICAgIGVmbC9XZWJDb3Jl
U3VwcG9ydC9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAogICAgIGVmbC9XZWJDb3JlU3VwcG9ydC9C
YXR0ZXJ5Q2xpZW50RWZsLmNwcAogICAgIGVmbC9XZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRF
ZmwuY3BwCiAgICAgZWZsL1dlYkNvcmVTdXBwb3J0L0NvbG9yQ2hvb3NlckVmbC5jcHAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0Fzc2VydE1hdGNoaW5nRW51
bXMuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQXNzZXJ0TWF0Y2hpbmdF
bnVtcy5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDliOWZkMDViMzc0ZWU1ZWE4
ZGQwZjQ1N2MyNzczNTk3YWJmNDhmNjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvQXNzZXJ0TWF0
Y2hpbmdFbnVtcy5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxNjkgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxMSBTYW1zdW5nIEVsZWN0cm9uaWNzCi0gKgotICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
LSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p
IGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBp
biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdB
UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5U
QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05V
Ci0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAq
Ci0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAq
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0vLyBVc2UgdGhpcyBmaWxl
IHRvIGFzc2VydCB0aGF0IHZhcmlvdXMgV2ViS2l0IEFQSSBlbnVtIHZhbHVlcyBjb250aW51ZQot
Ly8gbWF0Y2hpbmcgV2ViQ29yZSBkZWZpbmVkIGVudW0gdmFsdWVzLgotCi0jaW5jbHVkZSAiY29u
ZmlnLmgiCi0KLSNpbmNsdWRlICJDb250ZXh0TWVudUl0ZW0uaCIKLSNpbmNsdWRlICJGcmFtZUxv
YWRlclR5cGVzLmgiCi0jaW5jbHVkZSAiUGFnZS5oIgotI2luY2x1ZGUgIlZpc2libGVTZWxlY3Rp
b24uaCIKLSNpbmNsdWRlICJXcml0aW5nRGlyZWN0aW9uLmgiCi0jaW5jbHVkZSAiZXdrX2NvbnRl
eHRtZW51LmgiCi0jaW5jbHVkZSAiZXdrX2ZyYW1lLmgiCi0jaW5jbHVkZSAiZXdrX3ZpZXcuaCIK
LSNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgotCi0jaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykK
LSNpbmNsdWRlICJQbGF0Zm9ybVRvdWNoRXZlbnQuaCIKLSNpbmNsdWRlICJQbGF0Zm9ybVRvdWNo
UG9pbnQuaCIKLSNlbmRpZgotCi0jZGVmaW5lIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
d2Via2l0X25hbWUsIHdlYmNvcmVfbmFtZSkgXAotICAgIENPTVBJTEVfQVNTRVJUKHN0YXRpY19j
YXN0PGludD4od2Via2l0X25hbWUpID09IHN0YXRpY19jYXN0PGludD4oV2ViQ29yZTo6d2ViY29y
ZV9uYW1lKSwgbWlzbWF0Y2hpbmdfZW51bXMpCi0KLS8vIFRoZXNlIGNvbnN0YW50cyBhcmUgbm90
IG5hbWVzcGFjZWQsIGJyaW5nIHRoZW0gaW50byBXZWJDb3JlIHNvIHRoZSBBU1NFUlQgc3RpbGwg
d29ya3MgZm9yIHRoZW0uCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci11c2luZyA6Ok5hdHVyYWxXcml0
aW5nRGlyZWN0aW9uOwotdXNpbmcgOjpMZWZ0VG9SaWdodFdyaXRpbmdEaXJlY3Rpb247Ci11c2lu
ZyA6OlJpZ2h0VG9MZWZ0V3JpdGluZ0RpcmVjdGlvbjsKLX07Ci0KLSNpZiBFTkFCTEUoUEFHRV9W
SVNJQklMSVRZX0FQSSkKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX1BBR0VfVklT
SUJJTElUWV9TVEFURV9WSVNJQkxFLCBQYWdlVmlzaWJpbGl0eVN0YXRlVmlzaWJsZSk7Ci1DT01Q
SUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19QQUdFX1ZJU0lCSUxJVFlfU1RBVEVfSElEREVO
LCBQYWdlVmlzaWJpbGl0eVN0YXRlSGlkZGVuKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRVdLX1BBR0VfVklTSUJJTElUWV9TVEFURV9QUkVSRU5ERVIsIFBhZ2VWaXNpYmlsaXR5U3Rh
dGVQcmVyZW5kZXIpOwotI2VuZGlmCi0KLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X1RFWFRfU0VMRUNUSU9OX05PTkUsIFZpc2libGVTZWxlY3Rpb246Ok5vU2VsZWN0aW9uKTsKLUNP
TVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX1RFWFRfU0VMRUNUSU9OX0NBUkVULCBWaXNp
YmxlU2VsZWN0aW9uOjpDYXJldFNlbGVjdGlvbik7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19F
TlVNKEVXS19URVhUX1NFTEVDVElPTl9SQU5HRSwgVmlzaWJsZVNlbGVjdGlvbjo6UmFuZ2VTZWxl
Y3Rpb24pOwotCi1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19OQVZJR0FUSU9OX1RZ
UEVfTElOS19DTElDS0VELCBOYXZpZ2F0aW9uVHlwZUxpbmtDbGlja2VkKTsKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX05BVklHQVRJT05fVFlQRV9GT1JNX1NVQk1JVFRFRCwgTmF2
aWdhdGlvblR5cGVGb3JtU3VibWl0dGVkKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX05BVklHQVRJT05fVFlQRV9CQUNLX0ZPUldBUkQsIE5hdmlnYXRpb25UeXBlQmFja0Zvcndh
cmQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfTkFWSUdBVElPTl9UWVBFX1JF
TE9BRCwgTmF2aWdhdGlvblR5cGVSZWxvYWQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShFV0tfTkFWSUdBVElPTl9UWVBFX0ZPUk1fUkVTVUJNSVRURUQsIE5hdmlnYXRpb25UeXBlRm9y
bVJlc3VibWl0dGVkKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX05BVklHQVRJ
T05fVFlQRV9PVEhFUiwgTmF2aWdhdGlvblR5cGVPdGhlcik7Ci0KLSNpZiBFTkFCTEUoVE9VQ0hf
RVZFTlRTKQotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfVE9VQ0hfUE9JTlRfUkVM
RUFTRUQsIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hSZWxlYXNlZCk7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKEVXS19UT1VDSF9QT0lOVF9QUkVTU0VELCBQbGF0Zm9ybVRvdWNoUG9p
bnQ6OlRvdWNoUHJlc3NlZCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19UT1VD
SF9QT0lOVF9NT1ZFRCwgUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaE1vdmVkKTsKLUNPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX1RPVUNIX1BPSU5UX1NUQVRJT05BUlksIFBsYXRmb3Jt
VG91Y2hQb2ludDo6VG91Y2hTdGF0aW9uYXJ5KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRVdLX1RPVUNIX1BPSU5UX0NBTkNFTExFRCwgUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaENh
bmNlbGxlZCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19UT1VDSF9QT0lOVF9F
TkQsIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hTdGF0ZUVuZCk7Ci0jZW5kaWYKLQotI2lmIEVO
QUJMRShWSUVXX01PREVfQ1NTX01FRElBKQotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
V0tfVklFV19NT0RFX0lOVkFMSUQsIFBhZ2U6OlZpZXdNb2RlSW52YWxpZCk7Ci1DT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKEVXS19WSUVXX01PREVfV0lORE9XRUQsIFBhZ2U6OlZpZXdNb2Rl
V2luZG93ZWQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfVklFV19NT0RFX0ZM
T0FUSU5HLCBQYWdlOjpWaWV3TW9kZUZsb2F0aW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oRVdLX1ZJRVdfTU9ERV9GVUxMU0NSRUVOLCBQYWdlOjpWaWV3TW9kZUZ1bGxzY3JlZW4p
OwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfVklFV19NT0RFX01BWElNSVpFRCwg
UGFnZTo6Vmlld01vZGVNYXhpbWl6ZWQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
V0tfVklFV19NT0RFX01JTklNSVpFRCwgUGFnZTo6Vmlld01vZGVNaW5pbWl6ZWQpOwotI2VuZGlm
Ci0KLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX1RFWFRfRElSRUNUSU9OX0RFRkFV
TFQsIE5hdHVyYWxXcml0aW5nRGlyZWN0aW9uKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRVdLX1RFWFRfRElSRUNUSU9OX0xFRlRfVE9fUklHSFQsIExlZnRUb1JpZ2h0V3JpdGluZ0Rp
cmVjdGlvbik7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19URVhUX0RJUkVDVElP
Tl9SSUdIVF9UT19MRUZULCBSaWdodFRvTGVmdFdyaXRpbmdEaXJlY3Rpb24pOwotCi0jaWYgRU5B
QkxFKENPTlRFWFRfTUVOVVMpCi1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfTk9fQUNUSU9OLCBDb250ZXh0TWVudUl0ZW1UYWdOb0FjdGlvbik7
Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
T1BFTl9MSU5LX0lOX05FV19XSU5ET1csIENvbnRleHRNZW51SXRlbVRhZ09wZW5MaW5rSW5OZXdX
aW5kb3cpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX0RPV05MT0FEX0xJTktfVE9fRElTSywgQ29udGV4dE1lbnVJdGVtVGFnRG93bmxvYWRM
aW5rVG9EaXNrKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19DT1BZX0xJTktfVE9fQ0xJUEJPQVJELCBDb250ZXh0TWVudUl0ZW1UYWdDb3B5
TGlua1RvQ2xpcGJvYXJkKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19PUEVOX0lNQUdFX0lOX05FV19XSU5ET1csIENvbnRleHRNZW51SXRl
bVRhZ09wZW5JbWFnZUluTmV3V2luZG93KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19ET1dOTE9BRF9JTUFHRV9UT19ESVNLLCBDb250ZXh0
TWVudUl0ZW1UYWdEb3dubG9hZEltYWdlVG9EaXNrKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5H
X0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZX0lNQUdFX1RPX0NMSVBCT0FSRCwg
Q29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVG9DbGlwYm9hcmQpOwotQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlfSU1BR0VfVVJMX1RP
X0NMSVBCT0FSRCwgQ29udGV4dE1lbnVJdGVtVGFnQ29weUltYWdlVXJsVG9DbGlwYm9hcmQpOwot
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09Q
RU5fRlJBTUVfSU5fTkVXX1dJTkRPVywgQ29udGV4dE1lbnVJdGVtVGFnT3BlbkZyYW1lSW5OZXdX
aW5kb3cpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX0NPUFksIENvbnRleHRNZW51SXRlbVRhZ0NvcHkpOwotQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0dPX0JBQ0ssIENvbnRleHRNZW51
SXRlbVRhZ0dvQmFjayk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfR09fRk9SV0FSRCwgQ29udGV4dE1lbnVJdGVtVGFnR29Gb3J3YXJkKTsK
LUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19T
VE9QLCBDb250ZXh0TWVudUl0ZW1UYWdTdG9wKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VO
VU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19SRUxPQUQsIENvbnRleHRNZW51SXRlbVRhZ1Jl
bG9hZCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfQ1VULCBDb250ZXh0TWVudUl0ZW1UYWdDdXQpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1BBU1RFLCBDb250ZXh0TWVudUl0ZW1U
YWdQYXN0ZSk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfU0VMRUNUX0FMTCwgQ29udGV4dE1lbnVJdGVtVGFnU2VsZWN0QWxsKTsKLUNPTVBJ
TEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TUEVMTElO
R19HVUVTUywgQ29udGV4dE1lbnVJdGVtVGFnU3BlbGxpbmdHdWVzcyk7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTk9fR1VFU1NFU19GT1VO
RCwgQ29udGV4dE1lbnVJdGVtVGFnTm9HdWVzc2VzRm91bmQpOwotQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0lHTk9SRV9TUEVMTElORywgQ29u
dGV4dE1lbnVJdGVtVGFnSWdub3JlU3BlbGxpbmcpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0xFQVJOX1NQRUxMSU5HLCBDb250ZXh0TWVu
dUl0ZW1UYWdMZWFyblNwZWxsaW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PVEhFUiwgQ29udGV4dE1lbnVJdGVtVGFnT3RoZXIpOwot
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NF
QVJDSF9JTl9TUE9UTElHSFQsIENvbnRleHRNZW51SXRlbVRhZ1NlYXJjaEluU3BvdGxpZ2h0KTsK
LUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19T
RUFSQ0hfV0VCLCBDb250ZXh0TWVudUl0ZW1UYWdTZWFyY2hXZWIpOwotQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0xPT0tfVVBfSU5fRElDVElP
TkFSWSwgQ29udGV4dE1lbnVJdGVtVGFnTG9va1VwSW5EaWN0aW9uYXJ5KTsKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX1dJVEhfREVG
QVVMVF9BUFBMSUNBVElPTiwgQ29udGV4dE1lbnVJdGVtVGFnT3BlbldpdGhEZWZhdWx0QXBwbGlj
YXRpb24pOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fUERGQUNUVUFMX1NJWkUsIENvbnRleHRNZW51SXRlbVBERkFjdHVhbFNpemUpOwotQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGWk9PTV9JTiwg
Q29udGV4dE1lbnVJdGVtUERGWm9vbUluKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERlpPT01fT1VULCBDb250ZXh0TWVudUl0ZW1QREZab29t
T3V0KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1BERkFVVE9fU0laRSwgQ29udGV4dE1lbnVJdGVtUERGQXV0b1NpemUpOwotQ09NUElMRV9BU1NF
UlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGU0lOR0xFX1BBR0UsIENv
bnRleHRNZW51SXRlbVBERlNpbmdsZVBhZ2UpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGRkFDSU5HX1BBR0VTLCBDb250ZXh0TWVudUl0ZW1Q
REZGYWNpbmdQYWdlcyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhU
X01FTlVfSVRFTV9QREZDT05USU5VT1VTLCBDb250ZXh0TWVudUl0ZW1QREZDb250aW51b3VzKTsK
LUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERk5F
WFRfUEFHRSwgQ29udGV4dE1lbnVJdGVtUERGTmV4dFBhZ2UpOwotQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fUERGUFJFVklPVVNfUEFHRSwgQ29udGV4
dE1lbnVJdGVtUERGUHJldmlvdXNQYWdlKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0o
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19PUEVOX0xJTkssIENvbnRleHRNZW51SXRlbVRhZ09w
ZW5MaW5rKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19JR05PUkVfR1JBTU1BUiwgQ29udGV4dE1lbnVJdGVtVGFnSWdub3JlR3JhbW1hcik7
Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
U1BFTExJTkdfTUVOVSwgQ29udGV4dE1lbnVJdGVtVGFnU3BlbGxpbmdNZW51KTsKLUNPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TSE9XX1NQRUxM
SU5HX1BBTkVMLCBDb250ZXh0TWVudUl0ZW1UYWdTaG93U3BlbGxpbmdQYW5lbCk7Ci1DT01QSUxF
X0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ0hFQ0tfU1BF
TExJTkcsIENvbnRleHRNZW51SXRlbVRhZ0NoZWNrU3BlbGxpbmcpOwotQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NIRUNLX1NQRUxMSU5HX1dI
SUxFX1RZUElORywgQ29udGV4dE1lbnVJdGVtVGFnQ2hlY2tTcGVsbGluZ1doaWxlVHlwaW5nKTsK
LUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19D
SEVDS19HUkFNTUFSX1dJVEhfU1BFTExJTkcsIENvbnRleHRNZW51SXRlbVRhZ0NoZWNrR3JhbW1h
cldpdGhTcGVsbGluZyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfRk9OVF9NRU5VLCBDb250ZXh0TWVudUl0ZW1UYWdGb250TWVudSk7Ci1D
T01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0hP
V19GT05UUywgQ29udGV4dE1lbnVJdGVtVGFnU2hvd0ZvbnRzKTsKLUNPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19CT0xELCBDb250ZXh0TWVudUl0
ZW1UYWdCb2xkKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19JVEFMSUMsIENvbnRleHRNZW51SXRlbVRhZ0l0YWxpYyk7Ci1DT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVU5ERVJMSU5FLCBD
b250ZXh0TWVudUl0ZW1UYWdVbmRlcmxpbmUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09VVExJTkUsIENvbnRleHRNZW51SXRlbVRhZ091
dGxpbmUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX1NUWUxFUywgQ29udGV4dE1lbnVJdGVtVGFnU3R5bGVzKTsKLUNPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19TSE9XX0NPTE9SUywgQ29u
dGV4dE1lbnVJdGVtVGFnU2hvd0NvbG9ycyk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1BFRUNIX01FTlUsIENvbnRleHRNZW51SXRlbVRh
Z1NwZWVjaE1lbnUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX1NUQVJUX1NQRUFLSU5HLCBDb250ZXh0TWVudUl0ZW1UYWdTdGFydFNwZWFr
aW5nKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19TVE9QX1NQRUFLSU5HLCBDb250ZXh0TWVudUl0ZW1UYWdTdG9wU3BlYWtpbmcpOwotQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1dSSVRJ
TkdfRElSRUNUSU9OX01FTlUsIENvbnRleHRNZW51SXRlbVRhZ1dyaXRpbmdEaXJlY3Rpb25NZW51
KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RB
R19ERUZBVUxUX0RJUkVDVElPTiwgQ29udGV4dE1lbnVJdGVtVGFnRGVmYXVsdERpcmVjdGlvbik7
Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
TEVGVF9UT19SSUdIVCwgQ29udGV4dE1lbnVJdGVtVGFnTGVmdFRvUmlnaHQpOwotQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1JJR0hUX1RPX0xF
RlQsIENvbnRleHRNZW51SXRlbVRhZ1JpZ2h0VG9MZWZ0KTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19QREZTSU5HTEVfUEFHRV9TQ1JPTExJ
TkcsIENvbnRleHRNZW51SXRlbVRhZ1BERlNpbmdsZVBhZ2VTY3JvbGxpbmcpOwotQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1BERkZBQ0lOR19Q
QUdFU19TQ1JPTExJTkcsIENvbnRleHRNZW51SXRlbVRhZ1BERkZhY2luZ1BhZ2VzU2Nyb2xsaW5n
KTsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0lOU1BFQ1RfRUxFTUVOVCwgQ29udGV4dE1lbnVJdGVt
VGFnSW5zcGVjdEVsZW1lbnQpOwotI2VuZGlmCi1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVN
KEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVEVYVF9ESVJFQ1RJT05fTUVOVSwgQ29udGV4dE1l
bnVJdGVtVGFnVGV4dERpcmVjdGlvbk1lbnUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RFWFRfRElSRUNUSU9OX0RFRkFVTFQsIENvbnRl
eHRNZW51SXRlbVRhZ1RleHREaXJlY3Rpb25EZWZhdWx0KTsKLUNPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19URVhUX0RJUkVDVElPTl9MRUZUX1RP
X1JJR0hULCBDb250ZXh0TWVudUl0ZW1UYWdUZXh0RGlyZWN0aW9uTGVmdFRvUmlnaHQpOwotQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RFWFRf
RElSRUNUSU9OX1JJR0hUX1RPX0xFRlQsIENvbnRleHRNZW51SXRlbVRhZ1RleHREaXJlY3Rpb25S
aWdodFRvTGVmdCk7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01F
TlVfSVRFTV9PUEVOX01FRElBX0lOX05FV19XSU5ET1csIENvbnRleHRNZW51SXRlbVRhZ09wZW5N
ZWRpYUluTmV3V2luZG93KTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19ET1dOTE9BRF9NRURJQV9UT19ESVNLLCBDb250ZXh0TWVudUl0ZW1U
YWdEb3dubG9hZE1lZGlhVG9EaXNrKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZX01FRElBX0xJTktfVE9fQ0xJUEJPQVJELCBDb250
ZXh0TWVudUl0ZW1UYWdDb3B5TWVkaWFMaW5rVG9DbGlwYm9hcmQpOwotQ09NUElMRV9BU1NFUlRf
TUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1RPR0dMRV9NRURJQV9DT05U
Uk9MUywgQ29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlTWVkaWFDb250cm9scyk7Ci1DT01QSUxFX0FT
U0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVE9HR0xFX01FRElB
X0xPT1AsIENvbnRleHRNZW51SXRlbVRhZ1RvZ2dsZU1lZGlhTG9vcCk7Ci1DT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfRU5URVJfVklERU9fRlVM
TFNDUkVFTiwgQ29udGV4dE1lbnVJdGVtVGFnRW50ZXJWaWRlb0Z1bGxzY3JlZW4pOwotQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX01FRElBX1BM
QVlfUEFVU0UsIENvbnRleHRNZW51SXRlbVRhZ01lZGlhUGxheVBhdXNlKTsKLUNPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9NVVRFLCBD
b250ZXh0TWVudUl0ZW1UYWdNZWRpYU11dGUpOwotQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5V
TShFV0tfQ09OVEVYVF9NRU5VX0lURU1fQkFTRV9DVVNUT01fVEFHLCBDb250ZXh0TWVudUl0ZW1C
YXNlQ3VzdG9tVGFnKTsKLUNPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX0NVU1RPTV9UQUdfTk9fQUNUSU9OLCBDb250ZXh0TWVudUl0ZW1DdXN0b21UYWdO
b0FjdGlvbik7Ci1DT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKEVXS19DT05URVhUX01FTlVf
SVRFTV9MQVNUX0NVU1RPTV9UQUcsIENvbnRleHRNZW51SXRlbUxhc3RDdXN0b21UYWcpOwotQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShFV0tfQ09OVEVYVF9NRU5VX0lURU1fQkFTRV9BUFBM
SUNBVElPTl9UQUcsIENvbnRleHRNZW51SXRlbUJhc2VBcHBsaWNhdGlvblRhZyk7Ci0jZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVy
Q2xpZW50RWZsLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9h
ZGVyQ2xpZW50RWZsLmNwcAppbmRleCA5NTk2NWI4OTJkNjg3YzlkMDY4MGY2OTU2MTEwNTI4Y2E5
ODI3YmIwLi5jOWY0YzE2Y2U3ZWE5M2JhZjJlYWNiNjcyNGY0M2M0MWMyN2M4Mjg5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEVm
bC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9lZmwvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJD
bGllbnRFZmwuY3BwCkBAIC0zMjQsNyArMzI0LDcgQEAgdm9pZCBGcmFtZUxvYWRlckNsaWVudEVm
bDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOYXZpZ2F0aW9uQWN0aW9uKGNvbnN0IE5hdmlnYXQK
ICAgICBDU3RyaW5nIGZpcnN0UGFydHkgPSByZXNvdXJjZVJlcXVlc3QuZmlyc3RQYXJ0eUZvckNv
b2tpZXMoKS5zdHJpbmcoKS51dGY4KCk7CiAgICAgQ1N0cmluZyBodHRwTWV0aG9kID0gcmVzb3Vy
Y2VSZXF1ZXN0Lmh0dHBNZXRob2QoKS51dGY4KCk7CiAgICAgRXdrX0ZyYW1lX1Jlc291cmNlX1Jl
cXVlc3QgcmVxdWVzdCA9IHsgdXJsLmRhdGEoKSwgZmlyc3RQYXJ0eS5kYXRhKCksIGh0dHBNZXRo
b2QuZGF0YSgpLCAwLCBtX2ZyYW1lLCBmYWxzZSB9OwotICAgIGJvb2wgcmV0ID0gZXdrX3ZpZXdf
bmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb24obV92aWV3LCAmcmVxdWVzdCwgc3RhdGljX2Nhc3Q8
RXdrX05hdmlnYXRpb25fVHlwZT4oYWN0aW9uLnR5cGUoKSkpOworICAgIGJvb2wgcmV0ID0gZXdr
X3ZpZXdfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb24obV92aWV3LCAmcmVxdWVzdCwgYWN0aW9u
LnR5cGUoKSk7CiAKICAgICBQb2xpY3lBY3Rpb24gcG9saWN5OwogICAgIGlmICghcmV0KQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a19jb250ZXh0bWVudS5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2VmbC9ld2svZXdrX2NvbnRleHRtZW51LmNwcAppbmRleCBiN2FlODg3NGM2MGU2
YTQxZTg5NjJjZTI0MGE4ZmRlNGQwZmVlODZjLi5kZWIxYjdlNjEzODg5MTQ1ZjlkYjBjMzM3ZTQ0
MDZlZmMyOTQ5MmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2NvbnRl
eHRtZW51LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2NvbnRleHRtZW51LmNw
cApAQCAtNTksNiArNTksMTc0IEBAIHN0cnVjdCBfRXdrX0NvbnRleHRfTWVudV9JdGVtIHsKICAg
ICBib29sIGVuYWJsZWQgOiAxOwogfTsKIAorI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQoraW5s
aW5lIHN0YXRpYyBFd2tfQ29udGV4dF9NZW51X0FjdGlvbiB0b0V3a0NvbnRleHRNZW51QWN0aW9u
KFdlYkNvcmU6OkNvbnRleHRNZW51QWN0aW9uIGFjdGlvbikKK3sKKyAgICBzd2l0Y2ggKGFjdGlv
bikgeworICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnTm9BY3Rpb246CisgICAg
ICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX05PX0FDVElPTjsKKyAgICBjYXNl
IFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ09wZW5MaW5rSW5OZXdXaW5kb3c6CisgICAgICAg
IHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX09QRU5fTElOS19JTl9ORVdfV0lORE9X
OworICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnRG93bmxvYWRMaW5rVG9EaXNr
OgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19ET1dOTE9BRF9MSU5L
X1RPX0RJU0s7CisgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdDb3B5TGlua1Rv
Q2xpcGJvYXJkOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19DT1BZ
X0xJTktfVE9fQ0xJUEJPQVJEOworICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFn
T3BlbkltYWdlSW5OZXdXaW5kb3c6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX09QRU5fSU1BR0VfSU5fTkVXX1dJTkRPVzsKKyAgICBjYXNlIFdlYkNvcmU6OkNvbnRl
eHRNZW51SXRlbVRhZ0Rvd25sb2FkSW1hZ2VUb0Rpc2s6CisgICAgICAgIHJldHVybiBFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX0RPV05MT0FEX0lNQUdFX1RPX0RJU0s7CisgICAgY2FzZSBXZWJD
b3JlOjpDb250ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VUb0NsaXBib2FyZDoKKyAgICAgICAgcmV0
dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWV9JTUFHRV9UT19DTElQQk9BUkQ7Cisg
ICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdDb3B5SW1hZ2VVcmxUb0NsaXBib2Fy
ZDoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ09QWV9JTUFHRV9V
UkxfVE9fQ0xJUEJPQVJEOworICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnT3Bl
bkZyYW1lSW5OZXdXaW5kb3c6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1f
VEFHX09QRU5fRlJBTUVfSU5fTkVXX1dJTkRPVzsKKyAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRN
ZW51SXRlbVRhZ0NvcHk6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X0NPUFk7CisgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdHb0JhY2s6CisgICAg
ICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0dPX0JBQ0s7CisgICAgY2FzZSBX
ZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdHb0ZvcndhcmQ6CisgICAgICAgIHJldHVybiBFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX0dPX0ZPUldBUkQ7CisgICAgY2FzZSBXZWJDb3JlOjpDb250
ZXh0TWVudUl0ZW1UYWdTdG9wOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19TVE9QOworICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnUmVsb2FkOgor
ICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19SRUxPQUQ7CisgICAgY2Fz
ZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdDdXQ6CisgICAgICAgIHJldHVybiBFV0tfQ09O
VEVYVF9NRU5VX0lURU1fVEFHX0NVVDsKKyAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRl
bVRhZ1Bhc3RlOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19QQVNU
RTsKKyAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1NlbGVjdEFsbDoKKyAgICAg
ICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0VMRUNUX0FMTDsKKyAgICBjYXNl
IFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1NwZWxsaW5nR3Vlc3M6CisgICAgICAgIHJldHVy
biBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX1NQRUxMSU5HX0dVRVNTOworICAgIGNhc2UgV2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtVGFnTm9HdWVzc2VzRm91bmQ6CisgICAgICAgIHJldHVybiBF
V0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX05PX0dVRVNTRVNfRk9VTkQ7CisgICAgY2FzZSBXZWJD
b3JlOjpDb250ZXh0TWVudUl0ZW1UYWdJZ25vcmVTcGVsbGluZzoKKyAgICAgICAgcmV0dXJuIEVX
S19DT05URVhUX01FTlVfSVRFTV9UQUdfSUdOT1JFX1NQRUxMSU5HOworICAgIGNhc2UgV2ViQ29y
ZTo6Q29udGV4dE1lbnVJdGVtVGFnTGVhcm5TcGVsbGluZzoKKyAgICAgICAgcmV0dXJuIEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfTEVBUk5fU1BFTExJTkc7CisgICAgY2FzZSBXZWJDb3JlOjpD
b250ZXh0TWVudUl0ZW1UYWdPdGhlcjoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVf
SVRFTV9UQUdfT1RIRVI7CisgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdTZWFy
Y2hJblNwb3RsaWdodDoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
U0VBUkNIX0lOX1NQT1RMSUdIVDsKKyAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRh
Z1NlYXJjaFdlYjoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0VB
UkNIX1dFQjsKKyAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0xvb2tVcEluRGlj
dGlvbmFyeToKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfTE9PS19V
UF9JTl9ESUNUSU9OQVJZOworICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnT3Bl
bldpdGhEZWZhdWx0QXBwbGljYXRpb246CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX09QRU5fV0lUSF9ERUZBVUxUX0FQUExJQ0FUSU9OOworICAgIGNhc2UgV2ViQ29y
ZTo6Q29udGV4dE1lbnVJdGVtUERGQWN0dWFsU2l6ZToKKyAgICAgICAgcmV0dXJuIEVXS19DT05U
RVhUX01FTlVfSVRFTV9QREZBQ1RVQUxfU0laRTsKKyAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRN
ZW51SXRlbVBERlpvb21JbjoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9Q
REZaT09NX0lOOworICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtUERGWm9vbU91dDoK
KyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9QREZaT09NX09VVDsKKyAgICBj
YXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVBERkF1dG9TaXplOgorICAgICAgICByZXR1cm4g
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERkFVVE9fU0laRTsKKyAgICBjYXNlIFdlYkNvcmU6OkNv
bnRleHRNZW51SXRlbVBERlNpbmdsZVBhZ2U6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9N
RU5VX0lURU1fUERGU0lOR0xFX1BBR0U7CisgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0
ZW1QREZGYWNpbmdQYWdlczoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9Q
REZGQUNJTkdfUEFHRVM7CisgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1QREZDb250
aW51b3VzOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1BERkNPTlRJTlVP
VVM7CisgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1QREZOZXh0UGFnZToKKyAgICAg
ICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9QREZORVhUX1BBR0U7CisgICAgY2FzZSBX
ZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1QREZQcmV2aW91c1BhZ2U6CisgICAgICAgIHJldHVybiBF
V0tfQ09OVEVYVF9NRU5VX0lURU1fUERGUFJFVklPVVNfUEFHRTsKKyAgICBjYXNlIFdlYkNvcmU6
OkNvbnRleHRNZW51SXRlbVRhZ09wZW5MaW5rOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19PUEVOX0xJTks7CisgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0
ZW1UYWdJZ25vcmVHcmFtbWFyOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19JR05PUkVfR1JBTU1BUjsKKyAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRh
Z1NwZWxsaW5nTWVudToKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
U1BFTExJTkdfTUVOVTsKKyAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1Nob3dT
cGVsbGluZ1BhbmVsOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19T
SE9XX1NQRUxMSU5HX1BBTkVMOworICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFn
Q2hlY2tTcGVsbGluZzoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
Q0hFQ0tfU1BFTExJTkc7CisgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdDaGVj
a1NwZWxsaW5nV2hpbGVUeXBpbmc6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX0NIRUNLX1NQRUxMSU5HX1dISUxFX1RZUElORzsKKyAgICBjYXNlIFdlYkNvcmU6OkNv
bnRleHRNZW51SXRlbVRhZ0NoZWNrR3JhbW1hcldpdGhTcGVsbGluZzoKKyAgICAgICAgcmV0dXJu
IEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfQ0hFQ0tfR1JBTU1BUl9XSVRIX1NQRUxMSU5HOwor
ICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnRm9udE1lbnU6CisgICAgICAgIHJl
dHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0ZPTlRfTUVOVTsKKyAgICBjYXNlIFdlYkNv
cmU6OkNvbnRleHRNZW51SXRlbVRhZ1Nob3dGb250czoKKyAgICAgICAgcmV0dXJuIEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfU0hPV19GT05UUzsKKyAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRN
ZW51SXRlbVRhZ0JvbGQ6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X0JPTEQ7CisgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdJdGFsaWM6CisgICAg
ICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0lUQUxJQzsKKyAgICBjYXNlIFdl
YkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1VuZGVybGluZToKKyAgICAgICAgcmV0dXJuIEVXS19D
T05URVhUX01FTlVfSVRFTV9UQUdfVU5ERVJMSU5FOworICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4
dE1lbnVJdGVtVGFnT3V0bGluZToKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfT1VUTElORTsKKyAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1N0eWxl
czoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU1RZTEVTOworICAg
IGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFnU2hvd0NvbG9yczoKKyAgICAgICAgcmV0
dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfU0hPV19DT0xPUlM7CisgICAgY2FzZSBXZWJD
b3JlOjpDb250ZXh0TWVudUl0ZW1UYWdTcGVlY2hNZW51OgorICAgICAgICByZXR1cm4gRVdLX0NP
TlRFWFRfTUVOVV9JVEVNX1RBR19TUEVFQ0hfTUVOVTsKKyAgICBjYXNlIFdlYkNvcmU6OkNvbnRl
eHRNZW51SXRlbVRhZ1N0YXJ0U3BlYWtpbmc6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9N
RU5VX0lURU1fVEFHX1NUQVJUX1NQRUFLSU5HOworICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1l
bnVJdGVtVGFnU3RvcFNwZWFraW5nOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9J
VEVNX1RBR19TVE9QX1NQRUFLSU5HOworICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVt
VGFnV3JpdGluZ0RpcmVjdGlvbk1lbnU6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX1dSSVRJTkdfRElSRUNUSU9OX01FTlU7CisgICAgY2FzZSBXZWJDb3JlOjpDb250
ZXh0TWVudUl0ZW1UYWdEZWZhdWx0RGlyZWN0aW9uOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRF
WFRfTUVOVV9JVEVNX1RBR19ERUZBVUxUX0RJUkVDVElPTjsKKyAgICBjYXNlIFdlYkNvcmU6OkNv
bnRleHRNZW51SXRlbVRhZ0xlZnRUb1JpZ2h0OgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX1RBR19MRUZUX1RPX1JJR0hUOworICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1l
bnVJdGVtVGFnUmlnaHRUb0xlZnQ6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX1JJR0hUX1RPX0xFRlQ7CisgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1U
YWdQREZTaW5nbGVQYWdlU2Nyb2xsaW5nOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVO
VV9JVEVNX1RBR19QREZTSU5HTEVfUEFHRV9TQ1JPTExJTkc7CisgICAgY2FzZSBXZWJDb3JlOjpD
b250ZXh0TWVudUl0ZW1UYWdQREZGYWNpbmdQYWdlc1Njcm9sbGluZzoKKyAgICAgICAgcmV0dXJu
IEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfUERGRkFDSU5HX1BBR0VTX1NDUk9MTElORzsKKyNp
ZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFn
SW5zcGVjdEVsZW1lbnQ6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X0lOU1BFQ1RfRUxFTUVOVDsKKyNlbmRpZgorICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJ
dGVtVGFnVGV4dERpcmVjdGlvbk1lbnU6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5V
X0lURU1fVEFHX1RFWFRfRElSRUNUSU9OX01FTlU7CisgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0
TWVudUl0ZW1UYWdUZXh0RGlyZWN0aW9uRGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIEVXS19DT05U
RVhUX01FTlVfSVRFTV9UQUdfVEVYVF9ESVJFQ1RJT05fREVGQVVMVDsKKyAgICBjYXNlIFdlYkNv
cmU6OkNvbnRleHRNZW51SXRlbVRhZ1RleHREaXJlY3Rpb25MZWZ0VG9SaWdodDoKKyAgICAgICAg
cmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVEVYVF9ESVJFQ1RJT05fTEVGVF9UT19S
SUdIVDsKKyAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ1RleHREaXJlY3Rpb25S
aWdodFRvTGVmdDoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVEVY
VF9ESVJFQ1RJT05fUklHSFRfVE9fTEVGVDsKKyAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51
SXRlbVRhZ09wZW5NZWRpYUluTmV3V2luZG93OgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRf
TUVOVV9JVEVNX09QRU5fTUVESUFfSU5fTkVXX1dJTkRPVzsKKyAgICBjYXNlIFdlYkNvcmU6OkNv
bnRleHRNZW51SXRlbVRhZ0Rvd25sb2FkTWVkaWFUb0Rpc2s6CisgICAgICAgIHJldHVybiBFV0tf
Q09OVEVYVF9NRU5VX0lURU1fVEFHX0RPV05MT0FEX01FRElBX1RPX0RJU0s7CisgICAgY2FzZSBX
ZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdDb3B5TWVkaWFMaW5rVG9DbGlwYm9hcmQ6CisgICAg
ICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX0NPUFlfTUVESUFfTElOS19UT19D
TElQQk9BUkQ7CisgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdUb2dnbGVNZWRp
YUNvbnRyb2xzOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dH
TEVfTUVESUFfQ09OVFJPTFM7CisgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1UYWdU
b2dnbGVNZWRpYUxvb3A6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFH
X1RPR0dMRV9NRURJQV9MT09QOworICAgIGNhc2UgV2ViQ29yZTo6Q29udGV4dE1lbnVJdGVtVGFn
RW50ZXJWaWRlb0Z1bGxzY3JlZW46CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVYVF9NRU5VX0lU
RU1fVEFHX0VOVEVSX1ZJREVPX0ZVTExTQ1JFRU47CisgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0
TWVudUl0ZW1UYWdNZWRpYVBsYXlQYXVzZToKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01F
TlVfSVRFTV9UQUdfTUVESUFfUExBWV9QQVVTRTsKKyAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRN
ZW51SXRlbVRhZ01lZGlhTXV0ZToKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhUX01FTlVfSVRF
TV9UQUdfTUVESUFfTVVURTsKKyAgICBjYXNlIFdlYkNvcmU6OkNvbnRleHRNZW51SXRlbVRhZ0Rp
Y3RhdGlvbkFsdGVybmF0aXZlOgorICAgICAgICByZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVN
X1RBR19ESUNUQVRJT05fQUxURVJOQVRJVkU7CisgICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVu
dUl0ZW1UYWdPcGVuTGlua0luVGhpc1dpbmRvdzoKKyAgICAgICAgcmV0dXJuIEVXS19DT05URVhU
X01FTlVfSVRFTV9UQUdfT1BFTl9MSU5LX0lOX1RISVNfV0lORE9XOworICAgIGNhc2UgV2ViQ29y
ZTo6Q29udGV4dE1lbnVJdGVtVGFnVG9nZ2xlVmlkZW9GdWxsc2NyZWVuOgorICAgICAgICByZXR1
cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19UT0dHTEVfVklERU9fRlVMTF9TQ1JFRU47Cisg
ICAgY2FzZSBXZWJDb3JlOjpDb250ZXh0TWVudUl0ZW1CYXNlQ3VzdG9tVGFnOgorICAgICAgICBy
ZXR1cm4gRVdLX0NPTlRFWFRfTUVOVV9JVEVNX0JBU0VfQ1VTVE9NX1RBRzsKKyAgICBjYXNlIFdl
YkNvcmU6OkNvbnRleHRNZW51SXRlbUN1c3RvbVRhZ05vQWN0aW9uOgorICAgICAgICByZXR1cm4g
RVdLX0NPTlRFWFRfTUVOVV9JVEVNX0NVU1RPTV9UQUdfTk9fQUNUSU9OOworICAgIGNhc2UgV2Vi
Q29yZTo6Q29udGV4dE1lbnVJdGVtTGFzdEN1c3RvbVRhZzoKKyAgICAgICAgcmV0dXJuIEVXS19D
T05URVhUX01FTlVfSVRFTV9MQVNUX0NVU1RPTV9UQUc7CisgICAgY2FzZSBXZWJDb3JlOjpDb250
ZXh0TWVudUl0ZW1CYXNlQXBwbGljYXRpb25UYWc6CisgICAgICAgIHJldHVybiBFV0tfQ09OVEVY
VF9NRU5VX0lURU1fQkFTRV9BUFBMSUNBVElPTl9UQUc7CisgICAgfQorfQorI2VuZGlmCisKIHZv
aWQgZXdrX2NvbnRleHRfbWVudV9yZWYoRXdrX0NvbnRleHRfTWVudSogbWVudSkKIHsKICAgICBF
SU5BX1NBRkVUWV9PTl9OVUxMX1JFVFVSTihtZW51KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvZWZsL2V3ay9ld2tfY29udGV4dG1lbnUuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tf
Y29udGV4dG1lbnUuaAppbmRleCBmMWRlMTA3NjQ1ZmJiN2QzNGUzNzhkYzIzODRmZGJkOTkyODNh
NDYyLi44MTA4YTE2YWI5ZWE1MTUyZGRlOGE4ZjJlMTI5MmYwZTNjZjg1ZjFlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2NvbnRleHRtZW51LmgKKysrIGIvU291cmNlL1dl
YktpdC9lZmwvZXdrL2V3a19jb250ZXh0bWVudS5oCkBAIC0xMjIsNiArMTIyLDkgQEAgZW51bSBf
RXdrX0NvbnRleHRfTWVudV9BY3Rpb24gewogICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdf
RU5URVJfVklERU9fRlVMTFNDUkVFTiwKICAgICBFV0tfQ09OVEVYVF9NRU5VX0lURU1fVEFHX01F
RElBX1BMQVlfUEFVU0UsCiAgICAgRVdLX0NPTlRFWFRfTUVOVV9JVEVNX1RBR19NRURJQV9NVVRF
LAorICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfRElDVEFUSU9OX0FMVEVSTkFUSVZFLAor
ICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfT1BFTl9MSU5LX0lOX1RISVNfV0lORE9XLAor
ICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9UQUdfVE9HR0xFX1ZJREVPX0ZVTExfU0NSRUVOLAog
ICAgIEVXS19DT05URVhUX01FTlVfSVRFTV9CQVNFX0NVU1RPTV9UQUcgPSA1MDAwLAogICAgIEVX
S19DT05URVhUX01FTlVfSVRFTV9DVVNUT01fVEFHX05PX0FDVElPTiA9IDU5OTgsCiAgICAgRVdL
X0NPTlRFWFRfTUVOVV9JVEVNX0xBU1RfQ1VTVE9NX1RBRyA9IDU5OTksCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX2ZyYW1lLmNwcCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3
ay9ld2tfZnJhbWUuY3BwCmluZGV4IDU4ZTY4ZTU1NWY5OWRiYjU3Y2FmODRmOTBmODA1ZGVhNTQx
YzNhMWMuLmNjZTFkNzdlYTM3MTNkMjAwMjQ2NDhlOTk0MzcxMjY2M2IwNDVhMWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvZWZsL2V3ay9ld2tfZnJhbWUuY3BwCkBAIC0xMDc1LDcgKzEwNzUsMTcgQEAgRXdrX1RleHRf
U2VsZWN0aW9uX1R5cGUgZXdrX2ZyYW1lX3RleHRfc2VsZWN0aW9uX3R5cGVfZ2V0KGNvbnN0IEV2
YXNfT2JqZWN0KiBld2sKIAogICAgIFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uJiBjb250cm9sbGVy
ID0gc21hcnREYXRhLT5mcmFtZS0+c2VsZWN0aW9uKCk7CiAKLSAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8RXdrX1RleHRfU2VsZWN0aW9uX1R5cGU+KGNvbnRyb2xsZXIuc2VsZWN0aW9uVHlwZSgpKTsK
KyAgICBzd2l0Y2ggKGNvbnRyb2xsZXIuc2VsZWN0aW9uVHlwZSgpKSB7CisgICAgY2FzZSBXZWJD
b3JlOjpWaXNpYmxlU2VsZWN0aW9uOjpOb1NlbGVjdGlvbjoKKyAgICAgICAgcmV0dXJuIEVXS19U
RVhUX1NFTEVDVElPTl9OT05FOworICAgIGNhc2UgV2ViQ29yZTo6VmlzaWJsZVNlbGVjdGlvbjo6
Q2FyZXRTZWxlY3Rpb246CisgICAgICAgIHJldHVybiBFV0tfVEVYVF9TRUxFQ1RJT05fQ0FSRVQ7
CisgICAgY2FzZSBXZWJDb3JlOjpWaXNpYmxlU2VsZWN0aW9uOjpSYW5nZVNlbGVjdGlvbjoKKyAg
ICAgICAgcmV0dXJuIEVXS19URVhUX1NFTEVDVElPTl9SQU5HRTsKKyAgICB9CisgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisKKyAgICByZXR1cm4gRVdLX1RFWFRfU0VMRUNUSU9OX05PTkU7CiB9
CiAKIC8qIGludGVybmFsIG1ldGhvZHMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKi8KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9l
d2tfdG91Y2hfZXZlbnQuY3BwIGIvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a190b3VjaF9ldmVu
dC5jcHAKaW5kZXggMjkwZmE1OGE3YmIzNWIxYmJmZmMxM2MyMjFjZmJhMDNiNjAxNjcwMC4uMjY2
ZDE3OTY5YTFkYzllOWY0ZWJlYTM0NzU4ZjZiODhiNGYzOTMxZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9lZmwvZXdrL2V3a190b3VjaF9ldmVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a190b3VjaF9ldmVudC5jcHAKQEAgLTQzLDYgKzQzLDI4IEBAIHB1YmxpYzoKICAg
ICB9CiB9OwogCitpbmxpbmUgc3RhdGljIFdlYkNvcmU6OlBsYXRmb3JtVG91Y2hQb2ludDo6U3Rh
dGUgdG9QbGF0Zm9ybVRvdWNoUG9pbnRTdGF0ZShFd2tfVG91Y2hfUG9pbnRfVHlwZSB0eXBlKQor
eworICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2UgRVdLX1RPVUNIX1BPSU5UX1JFTEVBU0VE
OgorICAgICAgICByZXR1cm4gV2ViQ29yZTo6UGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFJlbGVh
c2VkOworICAgIGNhc2UgRVdLX1RPVUNIX1BPSU5UX1BSRVNTRUQ6CisgICAgICAgIHJldHVybiBX
ZWJDb3JlOjpQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoUHJlc3NlZDsKKyAgICBjYXNlIEVXS19U
T1VDSF9QT0lOVF9NT1ZFRDoKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlBsYXRmb3JtVG91Y2hQ
b2ludDo6VG91Y2hNb3ZlZDsKKyAgICBjYXNlIEVXS19UT1VDSF9QT0lOVF9TVEFUSU9OQVJZOgor
ICAgICAgICByZXR1cm4gV2ViQ29yZTo6UGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFN0YXRpb25h
cnk7CisgICAgY2FzZSBFV0tfVE9VQ0hfUE9JTlRfQ0FOQ0VMTEVEOgorICAgICAgICByZXR1cm4g
V2ViQ29yZTo6UGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaENhbmNlbGxlZDsKKyAgICBjYXNlIEVX
S19UT1VDSF9QT0lOVF9FTkQ6CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpQbGF0Zm9ybVRvdWNo
UG9pbnQ6OlRvdWNoU3RhdGVFbmQ7CisgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisKKyAgICByZXR1cm4gV2ViQ29yZTo6UGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaENhbmNlbGxl
ZDsKK30KKwogY2xhc3MgV2ViS2l0UGxhdGZvcm1Ub3VjaEV2ZW50IDogcHVibGljIFdlYkNvcmU6
OlBsYXRmb3JtVG91Y2hFdmVudCB7CiBwdWJsaWM6CiAgICAgV2ViS2l0UGxhdGZvcm1Ub3VjaEV2
ZW50KGNvbnN0IEVpbmFfTGlzdCogcG9pbnRzLCBjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9z
LCBFd2tfVG91Y2hfRXZlbnRfVHlwZSBhY3Rpb24sIHVuc2lnbmVkIG1vZGlmaWVycykKQEAgLTgx
LDcgKzEwMyw3IEBAIHB1YmxpYzoKICAgICAgICAgRUlOQV9MSVNUX0ZPUkVBQ0gocG9pbnRzLCBs
aXN0LCBpdGVtKSB7CiAgICAgICAgICAgICBFd2tfVG91Y2hfUG9pbnQqIHBvaW50ID0gc3RhdGlj
X2Nhc3Q8RXdrX1RvdWNoX1BvaW50Kj4oaXRlbSk7CiAgICAgICAgICAgICBXZWJDb3JlOjpJbnRQ
b2ludCBwbnQgPSBXZWJDb3JlOjpJbnRQb2ludChwb2ludC0+eCAtIHBvcy54KCksIHBvaW50LT55
IC0gcG9zLnkoKSk7Ci0gICAgICAgICAgICBtX3RvdWNoUG9pbnRzLmFwcGVuZChXZWJLaXRQbGF0
Zm9ybVRvdWNoUG9pbnQocG9pbnQtPmlkLCBwbnQsIHN0YXRpY19jYXN0PFdlYkNvcmU6OlBsYXRm
b3JtVG91Y2hQb2ludDo6U3RhdGU+KHBvaW50LT5zdGF0ZSkpKTsKKyAgICAgICAgICAgIG1fdG91
Y2hQb2ludHMuYXBwZW5kKFdlYktpdFBsYXRmb3JtVG91Y2hQb2ludChwb2ludC0+aWQsIHBudCwg
dG9QbGF0Zm9ybVRvdWNoUG9pbnRTdGF0ZShwb2ludC0+c3RhdGUpKSk7CiAgICAgICAgIH0KICAg
ICB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNwcCBi
L1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlldy5jcHAKaW5kZXggNjFjNjFlMjVjNDg2MDY0
NTFjNWQ5NzQ2YWE5NzUwZjUzODJhNmZkMy4uOGExZmNlNzYzZjZhZDlkN2QwMDBiMTk2ZGRmYWM5
OTNjMDhiYThlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3LmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdrX3ZpZXcuY3BwCkBAIC00MTIzLDcgKzQx
MjMsMTYgQEAgdm9pZCBld2tfdmlld190ZXh0X2RpcmVjdGlvbl9zZXQoRXZhc19PYmplY3QqIGV3
a1ZpZXcsIEV3a19UZXh0X0RpcmVjdGlvbiBkaXJlY3QKICAgICBpZiAoIWVkaXRvci5jYW5FZGl0
KCkpCiAgICAgICAgIHJldHVybjsKIAotICAgIGVkaXRvci5zZXRCYXNlV3JpdGluZ0RpcmVjdGlv
bihzdGF0aWNfY2FzdDxXcml0aW5nRGlyZWN0aW9uPihkaXJlY3Rpb24pKTsKKyAgICBzd2l0Y2gg
KGRpcmVjdGlvbikgeworICAgIGNhc2UgRVdLX1RFWFRfRElSRUNUSU9OX0RFRkFVTFQ6CisgICAg
ICAgIGVkaXRvci5zZXRCYXNlV3JpdGluZ0RpcmVjdGlvbihOYXR1cmFsV3JpdGluZ0RpcmVjdGlv
bik7CisgICAgY2FzZSBFV0tfVEVYVF9ESVJFQ1RJT05fTEVGVF9UT19SSUdIVDoKKyAgICAgICAg
ZWRpdG9yLnNldEJhc2VXcml0aW5nRGlyZWN0aW9uKExlZnRUb1JpZ2h0V3JpdGluZ0RpcmVjdGlv
bik7CisgICAgY2FzZSBFV0tfVEVYVF9ESVJFQ1RJT05fUklHSFRfVE9fTEVGVDoKKyAgICAgICAg
ZWRpdG9yLnNldEJhc2VXcml0aW5nRGlyZWN0aW9uKFJpZ2h0VG9MZWZ0V3JpdGluZ0RpcmVjdGlv
bik7CisgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKIHZvaWQgZXdrX3Zp
ZXdfZGlkX2ZpcnN0X3Zpc3VhbGx5X25vbmVtcHR5X2xheW91dChFdmFzX09iamVjdCogZXdrVmll
dykKQEAgLTQxNzYsNyArNDE4NSw3IEBAIHZvaWQgZXdrX3ZpZXdfdHJhbnNpdGlvbl90b19jb21t
aXRlZF9mb3JfbmV3cGFnZShFdmFzX09iamVjdCogZXdrVmlldykKICAqIGNsaWVudCBkaWQgbm90
IG1ha2UgYSBkZWNpc2lvbiwgd2UgcmV0dXJuIHRydWUgYnkgZGVmYXVsdCBzaW5jZSB0aGUgZGVm
YXVsdCBwb2xpY3kKICAqIGlzIHRvIGFjY2VwdC4KICAqLwotYm9vbCBld2tfdmlld19uYXZpZ2F0
aW9uX3BvbGljeV9kZWNpc2lvbihFdmFzX09iamVjdCogZXdrVmlldywgRXdrX0ZyYW1lX1Jlc291
cmNlX1JlcXVlc3QqIHJlcXVlc3QsIEV3a19OYXZpZ2F0aW9uX1R5cGUgbmF2aWdhdGlvblR5cGUp
Citib29sIGV3a192aWV3X25hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uKEV2YXNfT2JqZWN0KiBl
d2tWaWV3LCBFd2tfRnJhbWVfUmVzb3VyY2VfUmVxdWVzdCogcmVxdWVzdCwgV2ViQ29yZTo6TmF2
aWdhdGlvblR5cGUgbmF2aWdhdGlvblR5cGUpCiB7CiAgICAgRVdLX1ZJRVdfU0RfR0VUX09SX1JF
VFVSTihld2tWaWV3LCBzbWFydERhdGEsIGZhbHNlKTsKICAgICBFSU5BX1NBRkVUWV9PTl9OVUxM
X1JFVFVSTl9WQUwoc21hcnREYXRhLT5hcGksIGZhbHNlKTsKQEAgLTQxODQsNyArNDE5MywyMyBA
QCBib29sIGV3a192aWV3X25hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uKEV2YXNfT2JqZWN0KiBl
d2tWaWV3LCBFd2tfRnJhbWVfUmVzb3VyYwogICAgIGlmICghc21hcnREYXRhLT5hcGktPm5hdmln
YXRpb25fcG9saWN5X2RlY2lzaW9uKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgIHJldHVy
biBzbWFydERhdGEtPmFwaS0+bmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb24oc21hcnREYXRhLCBy
ZXF1ZXN0LCBuYXZpZ2F0aW9uVHlwZSk7CisgICAgRXdrX05hdmlnYXRpb25fVHlwZSB0eXBlOwor
ICAgIHN3aXRjaCAobmF2aWdhdGlvblR5cGUpIHsKKyAgICBjYXNlIFdlYkNvcmU6Ok5hdmlnYXRp
b25UeXBlTGlua0NsaWNrZWQ6CisgICAgICAgIHR5cGUgPSBFV0tfTkFWSUdBVElPTl9UWVBFX0xJ
TktfQ0xJQ0tFRDsKKyAgICBjYXNlIFdlYkNvcmU6Ok5hdmlnYXRpb25UeXBlRm9ybVN1Ym1pdHRl
ZDoKKyAgICAgICAgdHlwZSA9IEVXS19OQVZJR0FUSU9OX1RZUEVfRk9STV9TVUJNSVRURUQ7Cisg
ICAgY2FzZSBXZWJDb3JlOjpOYXZpZ2F0aW9uVHlwZUJhY2tGb3J3YXJkOgorICAgICAgICB0eXBl
ID0gRVdLX05BVklHQVRJT05fVFlQRV9CQUNLX0ZPUldBUkQ7CisgICAgY2FzZSBXZWJDb3JlOjpO
YXZpZ2F0aW9uVHlwZVJlbG9hZDoKKyAgICAgICAgdHlwZSA9IEVXS19OQVZJR0FUSU9OX1RZUEVf
UkVMT0FEOworICAgIGNhc2UgV2ViQ29yZTo6TmF2aWdhdGlvblR5cGVGb3JtUmVzdWJtaXR0ZWQ6
CisgICAgICAgIHR5cGUgPSBFV0tfTkFWSUdBVElPTl9UWVBFX0ZPUk1fUkVTVUJNSVRURUQ7Cisg
ICAgY2FzZSBXZWJDb3JlOjpOYXZpZ2F0aW9uVHlwZU90aGVyOgorICAgICAgICB0eXBlID0gRVdL
X05BVklHQVRJT05fVFlQRV9PVEhFUjsKKyAgICB9CisKKyAgICByZXR1cm4gc21hcnREYXRhLT5h
cGktPm5hdmlnYXRpb25fcG9saWN5X2RlY2lzaW9uKHNtYXJ0RGF0YSwgcmVxdWVzdCwgdHlwZSk7
CiB9CiAKIEVpbmFfQm9vbCBld2tfdmlld19qc19vYmplY3RfYWRkKEV2YXNfT2JqZWN0KiBld2tW
aWV3LCBFd2tfSlNfT2JqZWN0KiBvYmplY3QsIGNvbnN0IGNoYXIqIG9iamVjdE5hbWUpCkBAIC00
Mjc1LDEzICs0MzAwLDU1IEBAIGJvb2wgZXdrX3ZpZXdfbmVlZF90b3VjaF9ldmVudHNfZ2V0KGNv
bnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3KQogfQogI2VuZGlmCiAKK2lubGluZSBzdGF0aWMgV2Vi
Q29yZTo6UGFnZTo6Vmlld01vZGUgdG9WaWV3TW9kZShFd2tfVmlld19Nb2RlIHZpZXdNb2RlKQor
eworICAgIHN3aXRjaCAodmlld01vZGUpIHsKKyAgICBjYXNlIEVXS19WSUVXX01PREVfSU5WQUxJ
RDoKKyAgICAgICAgcmV0dXJuIFdlYkNvcmU6OlBhZ2U6OlZpZXdNb2RlSW52YWxpZDsKKyAgICBj
YXNlIEVXS19WSUVXX01PREVfV0lORE9XRUQ6CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpQYWdl
OjpWaWV3TW9kZVdpbmRvd2VkOworICAgIGNhc2UgRVdLX1ZJRVdfTU9ERV9GTE9BVElORzoKKyAg
ICAgICAgcmV0dXJuIFdlYkNvcmU6OlBhZ2U6OlZpZXdNb2RlRmxvYXRpbmc7CisgICAgY2FzZSBF
V0tfVklFV19NT0RFX0ZVTExTQ1JFRU46CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpQYWdlOjpW
aWV3TW9kZUZ1bGxzY3JlZW47CisgICAgY2FzZSBFV0tfVklFV19NT0RFX01BWElNSVpFRDoKKyAg
ICAgICAgcmV0dXJuIFdlYkNvcmU6OlBhZ2U6OlZpZXdNb2RlTWF4aW1pemVkOworICAgIGNhc2Ug
RVdLX1ZJRVdfTU9ERV9NSU5JTUlaRUQ6CisgICAgICAgIHJldHVybiBXZWJDb3JlOjpQYWdlOjpW
aWV3TW9kZU1pbmltaXplZDsKKyAgICB9CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisKKyAg
ICByZXR1cm4gV2ViQ29yZTo6UGFnZTo6Vmlld01vZGVJbnZhbGlkOworfQorCitpbmxpbmUgc3Rh
dGljIEV3a19WaWV3X01vZGUgdG9Fd2tWaWV3TW9kZShXZWJDb3JlOjpQYWdlOjpWaWV3TW9kZSB2
aWV3TW9kZSkKK3sKKyAgICBzd2l0Y2ggKHZpZXdNb2RlKSB7CisgICAgY2FzZSBXZWJDb3JlOjpQ
YWdlOjpWaWV3TW9kZUludmFsaWQ6CisgICAgICAgIHJldHVybiBFV0tfVklFV19NT0RFX0lOVkFM
SUQ7CisgICAgY2FzZSBXZWJDb3JlOjpQYWdlOjpWaWV3TW9kZVdpbmRvd2VkOgorICAgICAgICBy
ZXR1cm4gRVdLX1ZJRVdfTU9ERV9XSU5ET1dFRDsKKyAgICBjYXNlIFdlYkNvcmU6OlBhZ2U6OlZp
ZXdNb2RlRmxvYXRpbmc6CisgICAgICAgIHJldHVybiBFV0tfVklFV19NT0RFX0ZMT0FUSU5HOwor
ICAgIGNhc2UgV2ViQ29yZTo6UGFnZTo6Vmlld01vZGVGdWxsc2NyZWVuOgorICAgICAgICByZXR1
cm4gRVdLX1ZJRVdfTU9ERV9GVUxMU0NSRUVOOworICAgIGNhc2UgV2ViQ29yZTo6UGFnZTo6Vmll
d01vZGVNYXhpbWl6ZWQ6CisgICAgICAgIHJldHVybiBFV0tfVklFV19NT0RFX01BWElNSVpFRDsK
KyAgICBjYXNlIFdlYkNvcmU6OlBhZ2U6OlZpZXdNb2RlTWluaW1pemVkOgorICAgICAgICByZXR1
cm4gRVdLX1ZJRVdfTU9ERV9NSU5JTUlaRUQ7CisgICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOworCisgICAgcmV0dXJuIEVXS19WSUVXX01PREVfSU5WQUxJRDsKK30KKwogRWluYV9Cb29s
IGV3a192aWV3X21vZGVfc2V0KEV2YXNfT2JqZWN0KiBld2tWaWV3LCBFd2tfVmlld19Nb2RlIHZp
ZXdNb2RlKQogewogI2lmIEVOQUJMRShWSUVXX01PREVfQ1NTX01FRElBKQogICAgIEVXS19WSUVX
X1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21hcnREYXRhLCBmYWxzZSk7CiAgICAgRVdLX1ZJ
RVdfUFJJVl9HRVRfT1JfUkVUVVJOKHNtYXJ0RGF0YSwgcHJpdiwgZmFsc2UpOwogCi0gICAgcHJp
di0+cGFnZS0+c2V0Vmlld01vZGUoc3RhdGljX2Nhc3Q8V2ViQ29yZTo6UGFnZTo6Vmlld01vZGU+
KHZpZXdNb2RlKSk7CisgICAgcHJpdi0+cGFnZS0+c2V0Vmlld01vZGUodG9WaWV3TW9kZSh2aWV3
TW9kZSkpOwogICAgIHJldHVybiB0cnVlOwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oZXdrVmll
dyk7CkBAIC00Mjk2LDcgKzQzNjMsNyBAQCBFd2tfVmlld19Nb2RlIGV3a192aWV3X21vZGVfZ2V0
KGNvbnN0IEV2YXNfT2JqZWN0KiBld2tWaWV3KQogICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRV
Uk4oZXdrVmlldywgc21hcnREYXRhLCBFV0tfVklFV19NT0RFX0lOVkFMSUQpOwogICAgIEVXS19W
SUVXX1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYsIEVXS19WSUVXX01PREVfSU5W
QUxJRCk7CiAKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8RXdrX1ZpZXdfTW9kZT4ocHJpdi0+cGFn
ZS0+dmlld01vZGUoKSk7CisgICAgcmV0dXJuIHRvRXdrVmlld01vZGUocHJpdi0+cGFnZS0+dmll
d01vZGUoKSk7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShld2tWaWV3KTsKICAgICByZXR1cm4g
RVdLX1ZJRVdfTU9ERV9JTlZBTElEOwpAQCAtNDQxOSwxMiArNDQ4NiwyMyBAQCBFd2tfUGFnZV9W
aXNpYmlsaXR5X1N0YXRlIGV3a192aWV3X3Zpc2liaWxpdHlfc3RhdGVfZ2V0KGNvbnN0IEV2YXNf
T2JqZWN0KiBld2tWaQogICAgIEVXS19WSUVXX1NEX0dFVF9PUl9SRVRVUk4oZXdrVmlldywgc21h
cnREYXRhLCBFV0tfUEFHRV9WSVNJQklMSVRZX1NUQVRFX1ZJU0lCTEUpOwogICAgIEVXS19WSUVX
X1BSSVZfR0VUX09SX1JFVFVSTihzbWFydERhdGEsIHByaXYsIEVXS19QQUdFX1ZJU0lCSUxJVFlf
U1RBVEVfVklTSUJMRSk7CiAKLSAgICByZXR1cm4gc3RhdGljX2Nhc3Q8RXdrX1BhZ2VfVmlzaWJp
bGl0eV9TdGF0ZT4ocHJpdi0+cGFnZS0+dmlzaWJpbGl0eVN0YXRlKCkpOworCisgICAgc3dpdGNo
IChwcml2LT5wYWdlLT52aXNpYmlsaXR5U3RhdGUoKSkgeworICAgIGNhc2UgV2ViQ29yZTo6UGFn
ZVZpc2liaWxpdHlTdGF0ZVZpc2libGU6CisgICAgICAgIHJldHVybiBFV0tfUEFHRV9WSVNJQklM
SVRZX1NUQVRFX1ZJU0lCTEU7CisgICAgY2FzZSBXZWJDb3JlOjpQYWdlVmlzaWJpbGl0eVN0YXRl
SGlkZGVuOgorICAgICAgICByZXR1cm4gRVdLX1BBR0VfVklTSUJJTElUWV9TVEFURV9ISURERU47
CisgICAgY2FzZSBXZWJDb3JlOjpQYWdlVmlzaWJpbGl0eVN0YXRlUHJlcmVuZGVyOgorICAgICAg
ICByZXR1cm4gRVdLX1BBR0VfVklTSUJJTElUWV9TVEFURV9QUkVSRU5ERVI7CisgICAgZGVmYXVs
dDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQogI2Vsc2UKICAgICBEQkco
IlBBR0VfVklTSUJJTElUWV9BUEkgaXMgZGlzYWJsZWQuIik7CiAgICAgVU5VU0VEX1BBUkFNKGV3
a1ZpZXcpOwotICAgIHJldHVybiBFV0tfUEFHRV9WSVNJQklMSVRZX1NUQVRFX1ZJU0lCTEU7CiAj
ZW5kaWYKKworICAgIHJldHVybiBFV0tfUEFHRV9WSVNJQklMSVRZX1NUQVRFX1ZJU0lCTEU7CiB9
CiAKIFNvdXBTZXNzaW9uKiBld2tfdmlld19zb3VwX3Nlc3Npb25fZ2V0KGNvbnN0IEV2YXNfT2Jq
ZWN0KiBld2tWaWV3KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9lZmwvZXdrL2V3a192aWV3
X3ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXQvZWZsL2V3ay9ld2tfdmlld19wcml2YXRlLmgKaW5k
ZXggZDBjMjhkMmFmOTY5NzcxOTEwYjI4MGFjMTQ1ZmMwOWZmY2YyMmFmNy4uN2UyMTNkMTJkODA3
ZDcyNGRiMzUwN2ZiMWFhNDZkYWZlNDUzYTc4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9l
ZmwvZXdrL2V3a192aWV3X3ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2VmbC9ld2svZXdr
X3ZpZXdfcHJpdmF0ZS5oCkBAIC0xNDIsNyArMTQyLDcgQEAgdm9pZCBld2tfdmlld19yZXBhaW50
X2FkZChFd2tfVmlld19Qcml2YXRlX0RhdGEqIHByaXYsIEV2YXNfQ29vcmQgeCwgRXZhc19Db29y
ZAogCiB2b2lkIGV3a192aWV3X2xheW91dF9pZl9uZWVkZWRfcmVjdXJzaXZlKEV3a19WaWV3X1By
aXZhdGVfRGF0YSogcHJpdik7CiAKLWJvb2wgZXdrX3ZpZXdfbmF2aWdhdGlvbl9wb2xpY3lfZGVj
aXNpb24oRXZhc19PYmplY3QqIGV3a1ZpZXcsIEV3a19GcmFtZV9SZXNvdXJjZV9SZXF1ZXN0KiBy
ZXF1ZXN0LCBFd2tfTmF2aWdhdGlvbl9UeXBlIG5hdmlnYXRpb25UeXBlKTsKK2Jvb2wgZXdrX3Zp
ZXdfbmF2aWdhdGlvbl9wb2xpY3lfZGVjaXNpb24oRXZhc19PYmplY3QqIGV3a1ZpZXcsIEV3a19G
cmFtZV9SZXNvdXJjZV9SZXF1ZXN0KiByZXF1ZXN0LCBXZWJDb3JlOjpOYXZpZ2F0aW9uVHlwZSk7
CiAKIHZvaWQgZXdrX3ZpZXdfY29udGVudHNfc2l6ZV9jaGFuZ2VkKEV2YXNfT2JqZWN0KiBld2tW
aWV3LCBFdmFzX0Nvb3JkIHdpZHRoLCBFdmFzX0Nvb3JkIGhlaWdodCk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>