<?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>137488</bug_id>
          
          <creation_ts>2014-10-07 07:50:15 -0700</creation_ts>
          <short_desc>[GTK] Add back the Win32 target</short_desc>
          <delta_ts>2020-11-19 08:13:27 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Windows 7</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></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>
          <dependson>137807</dependson>
    
    <dependson>137966</dependson>
    
    <dependson>137967</dependson>
    
    <dependson>137969</dependson>
    
    <dependson>137970</dependson>
    
    <dependson>137972</dependson>
    
    <dependson>137973</dependson>
    
    <dependson>137974</dependson>
    
    <dependson>138134</dependson>
    
    <dependson>143884</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Milan Crha">mcrha</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>clopez</cc>
    
    <cc>clord</cc>
    
    <cc>jbicha</cc>
    
    <cc>lantw44</cc>
    
    <cc>ossy</cc>
    
    <cc>tpopela</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1040023</commentid>
    <comment_count>0</comment_count>
    <who name="Milan Crha">mcrha</who>
    <bug_when>2014-10-07 07:50:15 -0700</bug_when>
    <thetext>Could the Win32 target be added back, please? I&apos;d like to help with that version to make it compile and run, using WebKit2 (I know WebKit1 is gone in 2.6.x, which is the reason for this bug report too). The cmake currently claims to me that either x11 or wayland target should be enabled, but I&apos;d like to build under the Win32, using msys/mingw. This could be done with fixes from bug #133028 (and its tree of dependencies) as a starter.

If I recall correctly, the only &quot;problem&quot; would be the interprocess communication, but for that can be used D-Bus, just like on Linux, especially when it is patched with https://bugs.freedesktop.org/show_bug.cgi?id=83539 .

Thus there might not be any major issues blocking the build, I guess.

If you&apos;d prefer to add here a patch for me for testing (and eventually to be extended by me), then I&apos;m all for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040028</commentid>
    <comment_count>1</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-10-07 08:53:06 -0700</bug_when>
    <thetext>It is a WebKitGTK+ specific bug, isn&apos;t it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040030</commentid>
    <comment_count>2</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2014-10-07 09:05:18 -0700</bug_when>
    <thetext>Supporting WebKit2 on Windows is much more complex task. As far as I know,
only Apple and Qt had working WebKit2 port on Windows, WebKitGTK+ hadn&apos;t
support WebKit2 on Windows ever. And Apple dropped their WK2 Windows port
21 months ago - http://trac.webkit.org/changeset/139003, QtWebKit was removed
from trunk circa a year ago. So there isn&apos;t any port in WebKit trunk which
supports WebKit2 on Windows now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040033</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-10-07 09:21:44 -0700</bug_when>
    <thetext>We don&apos;t use DBus for the IPC in WebKit, we use the internal IPC mechanism based on socketpair, stream sockets and shared memory mainly. Those are the things that would need to be implemented in Windows (among other things). See:

Source/WebKit2/Platform/IPC/unix/ConnectionUnix.cpp
Source/WebKit2/Platform/IPC/unix/AttachmentUnix.cpp
Source/WebKit2/Platform/unix/SharedMemoryUnix.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040223</commentid>
    <comment_count>4</comment_count>
    <who name="Milan Crha">mcrha</who>
    <bug_when>2014-10-07 23:24:29 -0700</bug_when>
    <thetext>Oh, I see. I thought WebKit is also using D-bus, but it might be just an implementation detail on the epiphany side when communicating between the web extension and the &quot;client&quot;.

I&apos;ll check those files, thanks for the pointers. It would be extremely helpful to have something similar as is the win32 target in 2.4.x. I&apos;m not quite sure how to do that in the cmake world, while the 2.4.x tarball releases had this all prebuilt with the autotools stuff. I could try to make WebKit2 work in 2.4.x, but it feels counter-productive due to all the changes in trunk and 2.6.x.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040224</commentid>
    <comment_count>5</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-10-07 23:34:12 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Oh, I see. I thought WebKit is also using D-bus, but it might be just an implementation detail on the epiphany side when communicating between the web extension and the &quot;client&quot;.

Yes, that&apos;s something done in the application side for the communication between web process extensions and the UI process.

&gt; I&apos;ll check those files, thanks for the pointers. 

You could take a look at the revision when the win port was removed from WebKit2, it had implementations for those files, see:

http://trac.webkit.org/changeset/139003

&gt; It would be extremely helpful to have something similar as is the win32 target in 2.4.x. I&apos;m not quite sure how to do that in the cmake world, while the 2.4.x tarball releases had this all prebuilt with the autotools stuff. I could try to make WebKit2 work in 2.4.x, but it feels counter-productive due to all the changes in trunk and 2.6.x.

I have no idea how to do that in cmake either, but I agree it would be better to work on that in trunk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1040506</commentid>
    <comment_count>6</comment_count>
    <who name="Milan Crha">mcrha</who>
    <bug_when>2014-10-09 00:24:20 -0700</bug_when>
    <thetext>Nice, thanks for the pointers. As this will be a long run, I do not expect this to be quick, if you wish, then feel free to close this bug report and I reopen it when/if I&apos;ll have anything workable. Thanks again for the guide where to look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1082607</commentid>
    <comment_count>7</comment_count>
      <attachid>250085</attachid>
    <who name="Paweł Forysiuk">p.forysiuk</who>
    <bug_when>2015-04-03 10:01:37 -0700</bug_when>
    <thetext>Created attachment 250085
Early attempt to re-add win32 target to GTK cmake

I started to add some checks for WIN32 in cmake, it is not finished yet</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1128943</commentid>
    <comment_count>8</comment_count>
      <attachid>261992</attachid>
    <who name="Bakhtiar Hasmanan">mr.tiar</who>
    <bug_when>2015-09-27 14:47:13 -0700</bug_when>
    <thetext>Created attachment 261992
cmake mingw for 2.10.0

Some updates for webkitgtk 2.10.0 (may need to see Pawel&apos;s patch too)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131147</commentid>
    <comment_count>9</comment_count>
      <attachid>262552</attachid>
    <who name="Bakhtiar Hasmanan">mr.tiar</who>
    <bug_when>2015-10-06 15:53:57 -0700</bug_when>
    <thetext>Created attachment 262552
Updated build patch

maybe useful to fix build issues, my binary segfaulted though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1131240</commentid>
    <comment_count>10</comment_count>
    <who name="Milan Crha">mcrha</who>
    <bug_when>2015-10-06 23:41:43 -0700</bug_when>
    <thetext>Hmm, I didn&apos;t try to build WebKit2 under Windows for a long time. Your patch seems quite short, with compare of the changes I have in my outdated checkout. I also see that some parts clash with the opened bug reports from the &quot;Depends on&quot; section, both of bug #137974 and bug #143884. The &quot;Prefer GTK+ over Windows&quot; patch is also outdated there, I made more such changes locally couple months ago. I guess it&apos;s due to using different configure (cmake) options.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250085</attachid>
            <date>2015-04-03 10:01:37 -0700</date>
            <delta_ts>2015-04-03 10:01:37 -0700</delta_ts>
            <desc>Early attempt to re-add win32 target to GTK cmake</desc>
            <filename>webkitgtk-win32-mingw.diff</filename>
            <type>text/plain</type>
            <size>5534</size>
            <attacher name="Paweł Forysiuk">p.forysiuk</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKaW5kZXggM2FjYjli
OS4uOWExMjI4ZCAxMDA2NDQKLS0tIGEvQ01ha2VMaXN0cy50eHQKKysrIGIvQ01ha2VMaXN0cy50
eHQKQEAgLTcyLDYgKzcyLDEzIEBAIGZpbmRfcGFja2FnZShSdWJ5IDEuOC43KQogIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQogIyBEZXRlcm1pbmUgdGhlIHRhcmdldCBwcm9jZXNzb3IKICMgLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0KKworIyBXaXRoIG1pbmd3IGNtYWtlIHJldHVybnMgZW1wdHkgc3RyaW5n
IGZvciBDTUFLRV9TWVNURU1fUFJPQ0VTU09SLgorIyBTbyB3ZSBwcmUtcG91bGF0ZSBpdCBvdXJz
ZWx2ZXMKK2lmIChDTUFLRV9DWFhfQ09NUElMRVIgTUFUQ0hFUyAibWluZ3czMiIpCisgICAgc3Ry
aW5nKFRPTE9XRVIgJHtDTUFLRV9DWFhfQ09NUElMRVJ9IENNQUtFX1NZU1RFTV9QUk9DRVNTT1Ip
CitlbmRpZigpCisKICMgVXNlIE1TVkNfQ1hYX0FSQ0hJVEVDVFVSRV9JRCBpbnN0ZWFkIG9mIENN
QUtFX1NZU1RFTV9QUk9DRVNTT1Igd2hlbiBkZWZpbmVkLAogIyBzaW5jZSB0aGUgbGF0ZXIgb25l
IGp1c3QgcmVzb2x2ZXMgdG8gdGhlIGhvc3QgcHJvY2Vzc29yIG9uIFdpbmRvd3MuCiBpZiAoTVNW
Q19DWFhfQVJDSElURUNUVVJFX0lEKQpkaWZmIC0tZ2l0IGEvU291cmNlL0NNYWtlTGlzdHMudHh0
IGIvU291cmNlL0NNYWtlTGlzdHMudHh0CmluZGV4IGNlZGRmYjEuLjA3Yjc4ODYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvQ01ha2VMaXN0cy50eHQKQEAg
LTMxLDcgKzMxLDkgQEAgV0VCS0lUX0lOQ0xVREVfQ09ORklHX0ZJTEVTX0lGX0VYSVNUUygpCiAj
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAjIFNldCBjb21waWxlciBmbGFncyBmb3IgYWxsIHRhcmdl
dHMKICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLVdFQktJVF9TRVRfRVhUUkFfQ09NUElMRVJfRkxB
R1MoYm1hbGxvYyAke0FERElUSU9OQUxfQ09NUElMRVJfRkxBR1N9KQoraWYgKE5PVCBXSU4zMikK
KwlXRUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTKGJtYWxsb2MgJHtBRERJVElPTkFMX0NP
TVBJTEVSX0ZMQUdTfSkKK2VuZGlmICgpCiBXRUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdT
KFdURiAke0FERElUSU9OQUxfQ09NUElMRVJfRkxBR1N9KQogV0VCS0lUX1NFVF9FWFRSQV9DT01Q
SUxFUl9GTEFHUyhKYXZhU2NyaXB0Q29yZSAke0FERElUSU9OQUxfQ09NUElMRVJfRkxBR1N9KQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvRmluZEdUSzMuY21ha2UgYi9Tb3VyY2UvY21ha2Uv
RmluZEdUSzMuY21ha2UKaW5kZXggYzhlODc1MC4uZTljZTY5ZiAxMDA2NDQKLS0tIGEvU291cmNl
L2NtYWtlL0ZpbmRHVEszLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9GaW5kR1RLMy5jbWFrZQpA
QCAtNDUsNiArNDUsMTUgQEAgaWYgKEdUSzNfVkVSU0lPTikKICAgICBlbmRpZiAoKQogZW5kaWYg
KCkKIAoraWYgKEdUSzNfVkVSU0lPTiBBTkQgVkVSU0lPTl9PSyBBTkQgRU5BQkxFX1dJTjMyX1RB
UkdFVCkKKyAgICBzZXQoRU5BQkxFX1gxMV9UQVJHRVQgT0ZGKQorICAgIHNldChFTkFCTEVfV0FZ
TEFORF9UQVJHRVQgT0ZGKQorICAgIHBrZ19jaGVja19tb2R1bGVzKEdUSzNfV0lOMzIgZ3RrKy13
aW4zMi0zLjApCisgICAgaWYgKE5PVCgiJHtHVEszX1dJTjMyX1ZFUlNJT059IiBWRVJTSU9OX0VR
VUFMICIke0dUSzNfVkVSU0lPTn0iKSkKKyAgICAgICAgc2V0KEVOQUJMRV9XSU4zMl9UQVJHRVQg
T0ZGKQorICAgIGVuZGlmICgpCitlbmRpZiAoKQorCiBpZiAoR1RLM19WRVJTSU9OIEFORCBWRVJT
SU9OX09LIEFORCBFTkFCTEVfWDExX1RBUkdFVCkKICAgICBwa2dfY2hlY2tfbW9kdWxlcyhHVEsz
X1gxMSBndGsrLXgxMS0zLjApCiAgICAgaWYgKE5PVCgiJHtHVEszX1gxMV9WRVJTSU9OfSIgVkVS
U0lPTl9FUVVBTCAiJHtHVEszX1ZFUlNJT059IikpCkBAIC01OSw5ICs2OCw5IEBAIGlmIChHVEsz
X1ZFUlNJT04gQU5EIFZFUlNJT05fT0sgQU5EIEVOQUJMRV9XQVlMQU5EX1RBUkdFVCkKICAgICBl
bmRpZiAoKQogZW5kaWYgKCkKIAotaWYgKE5PVChFTkFCTEVfWDExX1RBUkdFVCBPUiBFTkFCTEVf
V0FZTEFORF9UQVJHRVQpKQoraWYgKE5PVChFTkFCTEVfWDExX1RBUkdFVCBPUiBFTkFCTEVfV0FZ
TEFORF9UQVJHRVQgT1IgRU5BQkxFX1dJTjMyX1RBUkdFVCkpCiAgICAgbWVzc2FnZShGQVRBTF9F
UlJPUiAiQXQgbGVhc3Qgb25lIG9mIHRoZSBmb2xsb3dpbmcgd2luZG93aW5nIHRhcmdldHMgbXVz
dCAiCi0gICAgICAgICJiZSBlbmFibGVkIGFuZCBhbHNvIHN1cHBvcnRlZCBieSB0aGUgR1RLKyBk
ZXBlbmRlbmN5OiBYMTEsIFdheWxhbmQiKQorICAgICAgICAiYmUgZW5hYmxlZCBhbmQgYWxzbyBz
dXBwb3J0ZWQgYnkgdGhlIEdUSysgZGVwZW5kZW5jeTogWDExLCBXYXlsYW5kLCBXaW4zMiIpCiBl
bmRpZiAoKQogCiBpZiAoR1RLM19WRVJTSU9OIEFORCBWRVJTSU9OX09LIEFORCBOT1QoIiR7R1RL
M19WRVJTSU9OfSIgVkVSU0lPTl9MRVNTICIzLjE0LjAiKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9j
bWFrZS9PcHRpb25zR1RLLmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UKaW5k
ZXggZGIyMDkxMC4uZmMwMjBiYSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09wdGlvbnNHVEsu
Y21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UKQEAgLTE1LDYgKzE1LDcg
QEAgc2V0KEVOQUJMRV9DUkVERU5USUFMX1NUT1JBR0UgT04gQ0FDSEUgQk9PTCAiV2hldGhlciBv
ciBub3QgdG8gZW5hYmxlIHN1cHBvcnQgZm8KIHNldChFTkFCTEVfR1RLRE9DIE9GRiBDQUNIRSBC
T09MICJXaGV0aGVyIG9yIG5vdCB0byB1c2UgZ2VuZXJhdGUgZ3RrZG9jLiIpCiBzZXQoRU5BQkxF
X1gxMV9UQVJHRVQgT04gQ0FDSEUgQk9PTCAiV2hldGhlciB0byBlbmFibGUgc3VwcG9ydCBmb3Ig
dGhlIFgxMSB3aW5kb3dpbmcgdGFyZ2V0LiIpCiBzZXQoRU5BQkxFX1dBWUxBTkRfVEFSR0VUIE9G
RiBDQUNIRSBCT09MICJXaGV0aGVyIHRvIGVuYWJsZSBzdXBwb3J0IGZvciB0aGUgV2F5bGFuZCB3
aW5kb3dpbmcgdGFyZ2V0LiIpCitzZXQoRU5BQkxFX1dJTjMyX1RBUkdFVCBPRkYgQ0FDSEUgQk9P
TCAiV2hldGhlciB0byBlbmFibGUgc3VwcG9ydCBmb3IgdGhlIFdpbjMyIHdpbmRvd2luZyB0YXJn
ZXQuIikKIHNldChFTkFCTEVfSU5UUk9TUEVDVElPTiBPTiBDQUNIRSBCT09MICJXaGV0aGVyIHRv
IGVuYWJsZSBHT2JqZWN0IGludHJvc3BlY3Rpb24uIikKIHNldChFTkFCTEVfR0xFUzIgT0ZGIENB
Q0hFIEJPT0wgIldoZXRoZXIgdG8gZW5hYmxlIE9wZW5HTCBFUyAyLjAuIikKIApAQCAtNDYsOCAr
NDcsMTAgQEAgZmluZF9wYWNrYWdlKFpMSUIgUkVRVUlSRUQpCiBmaW5kX3BhY2thZ2UoQVRLIFJF
UVVJUkVEKQogZmluZF9wYWNrYWdlKFdlYlAgUkVRVUlSRUQpCiBmaW5kX3BhY2thZ2UoQVRTUEkg
Mi41LjMpCi1maW5kX3BhY2thZ2UoR09iamVjdEludHJvc3BlY3Rpb24pCi1maW5kX3BhY2thZ2Uo
RUdMKQoraWYgKE5PVCBXSU4zMikKKyAgICBmaW5kX3BhY2thZ2UoR09iamVjdEludHJvc3BlY3Rp
b24pCisgICAgZmluZF9wYWNrYWdlKEVHTCkKK2VuZGlmKCkKIGZpbmRfcGFja2FnZShHZW9DbHVl
MiAyLjEuNSkKIGZpbmRfcGFja2FnZShHbnVUTFMgMy4wLjApCiBmaW5kX3BhY2thZ2UoTGliTm90
aWZ5KQpAQCAtNTYsNiArNTksMTIgQEAgaWYgKE5PVCBHRU9DTFVFMl9GT1VORCkKICAgICBmaW5k
X3BhY2thZ2UoR2VvQ2x1ZSkKIGVuZGlmICgpCiAKKworaWYgKEVOQUJMRV9XSU4zMl9UQVJHRVQp
CisgICAgc2V0IChFTkFCTEVfWDExX1RBUkdFVCBPRkYpCisgICAgc2V0IChFTkFCTEVfV0FZTEFO
RF9UQVJHRVQgT0ZGKQorZW5kaWYoKQorCiBpZiAoRU5BQkxFX0dMRVMyKQogICAgIGZpbmRfcGFj
a2FnZShPcGVuR0xFUzIgUkVRVUlSRUQpCiAgICAgaWYgKE9QRU5HTEVTMl9GT1VORCBBTkQgTk9U
KEVHTF9GT1VORCkpCkBAIC04MCw2ICs4OSw3IEBAIGlmIChFTkFCTEVfV0FZTEFORF9UQVJHRVQp
CiAgICAgZmluZF9wYWNrYWdlKFdheWxhbmQgUkVRVUlSRUQpCiBlbmRpZiAoKQogCisKIFdFQktJ
VF9PUFRJT05fQkVHSU4oKQogV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1BMVUdJTl9QUk9D
RVNTX0dUSzIgIldoZXRoZXIgdG8gYnVpbGQgV2ViS2l0UGx1Z2luUHJvY2VzczIgdG8gbG9hZCBH
VEsyIGJhc2VkIHBsdWdpbnMuIiBPTikKIFdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9SRURJUkVD
VEVEX1hDT01QT1NJVEVfV0lORE9XICJXaGV0aGVyIHRvIHVzZSBhIFJlZGlyZWN0ZWQgWENvbXBv
c2l0ZSBXaW5kb3cgZm9yIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nIGluIFgxMS4iIE9OKQpAQCAt
MTQyLDcgKzE1MiwxMSBAQCBpZiAoREVWRUxPUEVSX01PREUpCiBlbHNlICgpCiAgICAgV0VCS0lU
X09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX01JTklCUk9XU0VSIE9GRikKICAgICBX
RUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQVBJX1RFU1RTIE9GRikKLSAg
ICBzZXQoV2ViS2l0Ml9WRVJTSU9OX1NDUklQVCAiLVdsLC0tdmVyc2lvbi1zY3JpcHQsJHtDTUFL
RV9NT0RVTEVfUEFUSH0vZ3Rrc3ltYm9scy5maWx0ZXIiKQorICAgIGlmIChOT1QgV0lOMzIpCisg
ICAgCXNldChXZWJLaXQyX1ZFUlNJT05fU0NSSVBUICItV2wsLS12ZXJzaW9uLXNjcmlwdCwke0NN
QUtFX01PRFVMRV9QQVRIfS9ndGtzeW1ib2xzLmZpbHRlciIpCisgICAgZWxzZSgpCisgICAgCXNl
dChXZWJLaXQyX1ZFUlNJT05fU0NSSVBUICItZXhwb3J0LXN5bWJvbHMtcmVnZXggXCJeKHdlYmtp
dF98az9KUykuKlwiIikKKyAgICBlbmRpZigpCiBlbmRpZiAoKQogCiBpZiAoQ01BS0VfU1lTVEVN
X05BTUUgTUFUQ0hFUyAiTGludXgiKQpAQCAtMzE4LDkgKzMzMiwxMyBAQCBpZiAoRU5BQkxFX01F
RElBX1NUUkVBTSkKICAgICBlbmRpZiAoKQogZW5kaWYgKCkKIAotZmluZF9wYWNrYWdlKEdUS1Vu
aXhQcmludCkKLWlmIChHVEtfVU5JWF9QUklOVF9GT1VORCkKLSAgICBzZXQoSEFWRV9HVEtfVU5J
WF9QUklOVElORyAxKQoraWYgKE5PVCBXSU4zMikKKyAgICBmaW5kX3BhY2thZ2UoR1RLVW5peFBy
aW50KQorICAgIGlmIChHVEtfVU5JWF9QUklOVF9GT1VORCkKKyAgICAgICAgc2V0KEhBVkVfR1RL
X1VOSVhfUFJJTlRJTkcgMSkKKyAgICBlbmRpZiAoKQorZWxzZSgpCisgICAgc2V0KEhBVkVfR1RL
X1VOSVhfUFJJTlRJTkcgMCkKIGVuZGlmICgpCiAKIGlmIChFTkFCTEVfQ1JFREVOVElBTF9TVE9S
QUdFKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261992</attachid>
            <date>2015-09-27 14:47:13 -0700</date>
            <delta_ts>2015-10-06 15:53:57 -0700</delta_ts>
            <desc>cmake mingw for 2.10.0</desc>
            <filename>webkitgtk-2.10.0-cmake-mingw.patch</filename>
            <type>text/plain</type>
            <size>3871</size>
            <attacher name="Bakhtiar Hasmanan">mr.tiar</attacher>
            
              <data encoding="base64">LS0tIFNvdXJjZS9jbWFrZS9XZWJLaXRIZWxwZXJzLmNtYWtlCU1vbiBTZXAgMTQgMTQ6MDg6MTEg
MjAxNQ0KKysrIFNvdXJjZS9jbWFrZS9XZWJLaXRIZWxwZXJzLmNtYWtlCVN1biBTZXAgMjcgMDM6
MDY6MDggMjAxNQ0KQEAgLTEwLDkgKzEwLDExIEBADQogICAgICAgICAgICAgc2V0KE9MRF9DT01Q
SUxFX0ZMQUdTICIiKQ0KICAgICAgICAgZW5kaWYgKCkNCiANCisgICAgICAgIGlmIChOT1QgV0lO
MzIpDQogICAgICAgICBnZXRfdGFyZ2V0X3Byb3BlcnR5KFRBUkdFVF9UWVBFICR7X3RhcmdldH0g
VFlQRSkNCiAgICAgICAgIGlmICgke1RBUkdFVF9UWVBFfSBTVFJFUVVBTCAiU1RBVElDX0xJQlJB
UlkiKSAjIC1mUElDIGlzIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gc2hhcmVkIGxpYnJhcmllcw0K
ICAgICAgICAgICAgIHNldChPTERfQ09NUElMRV9GTEFHUyAiLWZQSUMgJHtPTERfQ09NUElMRV9G
TEFHU30iKQ0KKyAgICAgICAgICAgIGVuZGlmICgpDQogICAgICAgICBlbmRpZiAoKQ0KIA0KICAg
ICAgICAgIyBTdXBwcmVzcyAtV3BhcmVudGhlc2VzLWVxdWFsaXR5IHdhcm5pbmcgb2YgQ2xhbmcN
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvc2hlbGwvQ01ha2VMaXN0cy50eHQJTW9uIFNlcCAy
MSAxNDoyOTo0NiAyMDE1DQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3NoZWxsL0NNYWtlTGlz
dHMudHh0CVdlZCBTZXAgMjMgMTY6NDg6MzYgMjAxNQ0KQEAgLTE2LDYgKzE2LDcgQEANCiANCiBX
RUJLSVRfV1JBUF9TT1VSQ0VMSVNUKCR7SlNDX1NPVVJDRVN9KQ0KIGluY2x1ZGVfZGlyZWN0b3Jp
ZXMoLi8gJHtKYXZhU2NyaXB0Q29yZV9JTkNMVURFX0RJUkVDVE9SSUVTfSkNCitpbmNsdWRlX2Rp
cmVjdG9yaWVzKCR7SUNVX0lOQ0xVREVfRElSU30pDQogYWRkX2V4ZWN1dGFibGUoanNjICR7SlND
X1NPVVJDRVN9KQ0KIHRhcmdldF9saW5rX2xpYnJhcmllcyhqc2MgJHtKU0NfTElCUkFSSUVTfSkN
CiBzZXRfdGFyZ2V0X3Byb3BlcnRpZXMoanNjIFBST1BFUlRJRVMgRk9MREVSICJKYXZhU2NyaXB0
Q29yZSIpDQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJTW9uIFNlcCAyMSAxNDoy
OTo0NiAyMDE1DQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJRnJpIFNlcCAyNSAx
OTo1MDowOCAyMDE1DQpAQCAtMzUwNiw2ICszNTA2LDcgQEANCiBsaXN0KEFQUEVORCBXZWJDb3Jl
VGVzdFN1cHBvcnRfSURMX0ZJTEVTICR7REVSSVZFRF9TT1VSQ0VTX1dFQkNPUkVfRElSfS9JbnRl
cm5hbFNldHRpbmdzR2VuZXJhdGVkLmlkbCkNCiANCiBmaWxlKFdSSVRFICR7SURMX0ZJTEVTX1RN
UH0gJHtJRExfRklMRVNfTElTVH0pDQorY29uZmlndXJlX2ZpbGUoJHtJRExfRklMRVNfVE1QfSAk
e0lETF9GSUxFU19UTVB9IE5FV0xJTkVfU1RZTEUgVU5JWCkNCiANCiBhZGRfY3VzdG9tX2NvbW1h
bmQoDQogICAgIE9VVFBVVCAke1NVUFBMRU1FTlRBTF9ERVBFTkRFTkNZX0ZJTEV9ICR7V0lORE9X
X0NPTlNUUlVDVE9SU19GSUxFfSAke1dPUktFUkdMT0JBTFNDT1BFX0NPTlNUUlVDVE9SU19GSUxF
fSAke0RFRElDQVRFRFdPUktFUkdMT0JBTFNDT1BFX0NPTlNUUlVDVE9SU19GSUxFfQ0KLS0tIFNv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCU1vbiBTZXAgMjEgMTQ6Mjk6NDYgMjAxNQ0K
KysrIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtR1RLLmNtYWtlCVNhdCBTZXAgMjYgMjM6MTA6MDAg
MjAxNQ0KQEAgLTIwLDggKzIwLDkgQEANCiBhZGRfZGVmaW5pdGlvbnMoLURQS0dMSUJFWEVDRElS
PSIke0xJQkVYRUNfSU5TVEFMTF9ESVJ9IikNCiBhZGRfZGVmaW5pdGlvbnMoLURMT0NBTEVESVI9
IiR7Q01BS0VfSU5TVEFMTF9GVUxMX0xPQ0FMRURJUn0iKQ0KIGFkZF9kZWZpbml0aW9ucygtRExJ
QkRJUj0iJHtMSUJfSU5TVEFMTF9ESVJ9IikNCitpZiAoTk9UIFdJTjMyKQ0KIGFkZF9kZWZpbml0
aW9ucygtRERBVEFESVI9IiR7Q01BS0VfSU5TVEFMTF9GVUxMX0RBVEFESVJ9IikNCi0NCitlbmRp
ZiAoKQ0KIHNldChXZWJLaXQyX1VTRV9QUkVGSVhfSEVBREVSIE9OKQ0KIA0KIGxpc3QoQVBQRU5E
IFdlYktpdDJfU09VUkNFUw0KQEAgLTg2MCw3ICs4NjEsMTIgQEANCiApDQogDQogYWRkX2xpYnJh
cnkod2Via2l0Mmd0a2luamVjdGVkYnVuZGxlIE1PRFVMRSAiJHtXRUJLSVQyX0RJUn0vV2ViUHJv
Y2Vzcy9ndGsvV2ViR3RrSW5qZWN0ZWRCdW5kbGVNYWluLmNwcCIpDQoraWYgKFdJTjMyKQ0KK3Rh
cmdldF9saW5rX2xpYnJhcmllcyh3ZWJraXQyZ3RraW5qZWN0ZWRidW5kbGUgV2ViS2l0MikNCith
ZGRfZGVwZW5kZW5jaWVzKHdlYmtpdDJndGtpbmplY3RlZGJ1bmRsZSBXZWJLaXQyKQ0KK2Vsc2Ug
KCkNCiBhZGRfZGVwZW5kZW5jaWVzKHdlYmtpdDJndGtpbmplY3RlZGJ1bmRsZSBHT2JqZWN0RE9N
QmluZGluZ3MpDQorZW5kaWYgKCkNCiBhZGRfd2Via2l0Ml9wcmVmaXhfaGVhZGVyKHdlYmtpdDJn
dGtpbmplY3RlZGJ1bmRsZSkNCiANCiAjIEFkZCAke0NNQUtFX0xJQlJBUllfT1VUUFVUX0RJUkVD
VE9SWX0gdG8gTERfTElCUkFSWV9QQVRIDQotLS0gU291cmNlL1dURi93dGYvQ01ha2VMaXN0cy50
eHQJTW9uIFNlcCAyMSAxNDoyOTo0NiAyMDE1DQorKysgU291cmNlL1dURi93dGYvQ01ha2VMaXN0
cy50eHQJV2VkIFNlcCAyMyAxNToyMzoxOSAyMDE1DQpAQCAtMjMyLDYgKzIzMiw4IEBADQogIyBG
SVhNRTogUG9ydCBibWFsbG9jIHRvIFdpbmRvd3MuIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDMzMTANCiBpZiAoTk9UIFdJTjMyKQ0KICAgICBsaXN0KEFQUEVORCBX
VEZfTElCUkFSSUVTIGJtYWxsb2MpDQorZWxzZSAoKQ0KKyAgICBsaXN0KEFQUEVORCBXVEZfTElC
UkFSSUVTIHdpbm1tKQ0KIGVuZGlmICgpDQogDQogbGlzdChBUFBFTkQgV1RGX1NPVVJDRVMNCi0t
LSBTb3VyY2UvQ01ha2VMaXN0cy50eHQJTW9uIFNlcCAyMSAxNDoyOTo0NiAyMDE1DQorKysgU291
cmNlL0NNYWtlTGlzdHMudHh0CVdlZCBTZXAgMjMgMTE6NDI6MDYgMjAxNQ0KQEAgLTMzLDcgKzMz
LDkgQEANCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogIyBTZXQgY29tcGlsZXIgZmxhZ3MgZm9y
IGFsbCB0YXJnZXRzDQogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KK2lmIChOT1QgV0lOMzIpDQog
V0VCS0lUX1NFVF9FWFRSQV9DT01QSUxFUl9GTEFHUyhibWFsbG9jICR7QURESVRJT05BTF9DT01Q
SUxFUl9GTEFHU30pDQorZW5kaWYgKCkNCiBXRUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdT
KFdURiAke0FERElUSU9OQUxfQ09NUElMRVJfRkxBR1N9KQ0KIFdFQktJVF9TRVRfRVhUUkFfQ09N
UElMRVJfRkxBR1MoSmF2YVNjcmlwdENvcmUgJHtBRERJVElPTkFMX0NPTVBJTEVSX0ZMQUdTfSkN
CiBXRUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTKFdlYkNvcmVUZXN0U3VwcG9ydCAke0FE
RElUSU9OQUxfQ09NUElMRVJfRkxBR1N9KQ0KLS0tIFRvb2xzL0NNYWtlTGlzdHMudHh0CU1vbiBT
ZXAgMjEgMTQ6Mjk6NDYgMjAxNQ0KKysrIFRvb2xzL0NNYWtlTGlzdHMudHh0CVNhdCBTZXAgMjYg
MTE6MzE6MjIgMjAxNQ0KQEAgLTI3LDcgKzI3LDcgQEANCiAgICAgZW5kaWYgKCkNCiBlbmRpZiAo
KQ0KIA0KLWlmIChXSU4zMikNCitpZiAoV0lOMzIgQU5EIEVOQUJMRV9BUElfVEVTVFMpDQogICAg
IGFkZF9zdWJkaXJlY3RvcnkoRHVtcFJlbmRlclRyZWUpDQogICAgIGFkZF9zdWJkaXJlY3Rvcnko
VGVzdFdlYktpdEFQSSkNCiAgICAgYWRkX3N1YmRpcmVjdG9yeShXaW5MYXVuY2hlcikNCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262552</attachid>
            <date>2015-10-06 15:53:57 -0700</date>
            <delta_ts>2015-10-06 15:53:57 -0700</delta_ts>
            <desc>Updated build patch</desc>
            <filename>webkitgtk-2.10.x-no-implement.patch</filename>
            <type>text/plain</type>
            <size>22393</size>
            <attacher name="Bakhtiar Hasmanan">mr.tiar</attacher>
            
              <data encoding="base64">LS0tIFNvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCU1vbiBTZXAgMjEgMTU6Mzc6MjYgMjAx
NQ0KKysrIFNvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCVdlZCBPY3QgMDcgMDU6MTY6MTUg
MjAxNQ0KQEAgLTc4LDcgKzc4LDEyIEBADQogDQogV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX0dT
VFJFQU1FUl9HTCAiV2hldGhlciB0byBlbmFibGUgc3VwcG9ydCBmb3IgR1N0cmVhbWVyIEdMIiBQ
UklWQVRFIE9GRikNCiBXRUJLSVRfT1BUSU9OX0RFRklORShVU0VfR1NUUkVBTUVSX01QRUdUUyAi
V2hldGhlciB0byBlbmFibGUgc3VwcG9ydCBmb3IgTVBFRy1UUyIgUFJJVkFURSBPRkYpDQorDQor
aWYgKE5PVCBXSU4zMikNCiBXRUJLSVRfT1BUSU9OX0RFRklORShVU0VfUkVESVJFQ1RFRF9YQ09N
UE9TSVRFX1dJTkRPVyAiV2hldGhlciB0byB1c2UgYSBSZWRpcmVjdGVkIFhDb21wb3NpdGUgV2lu
ZG93IGZvciBhY2NlbGVyYXRlZCBjb21wb3NpdGluZyBpbiBYMTEuIiBQUklWQVRFIE9OKQ0KK2Vs
c2UgKCkNCitXRUJLSVRfT1BUSU9OX0RFRklORShVU0VfUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJ
TkRPVyAiV2hldGhlciB0byB1c2UgYSBSZWRpcmVjdGVkIFhDb21wb3NpdGUgV2luZG93IGZvciBh
Y2NlbGVyYXRlZCBjb21wb3NpdGluZyBpbiBYMTEuIiBQUklWQVRFIE9GRikNCitlbmRpZiAoKQ0K
IA0KICMgRklYTUU6IENhbiB3ZSB1c2UgY2Fpcm8tZ2xlc3YyIHRvIGF2b2lkIHRoaXMgY29uZmxp
Y3Q/DQogV0VCS0lUX09QVElPTl9DT05GTElDVChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
IEVOQUJMRV9HTEVTMikNCkBAIC0yODQsOCArMjg5LDYgQEANCiAgICAgU0VUX0FORF9FWFBPU0Vf
VE9fQlVJTEQoVVNFX09QRU5XRUJSVEMgVFJVRSkNCiBlbmRpZiAoKQ0KIA0KLVNFVF9BTkRfRVhQ
T1NFX1RPX0JVSUxEKFVTRV9URVhUVVJFX01BUFBFUiBUUlVFKQ0KLQ0KIGlmIChFTkFCTEVfT1BF
TkdMKQ0KICAgICAjIEVOQUJMRV9PUEVOR0wgaXMgdHJ1ZSBpZiBlaXRoZXIgVVNFX09QRU5HTCBv
ciBFTkFCTEVfR0xFUzIgaXMgdHJ1ZS4NCiAgICAgIyBCdXQgVVNFX09QRU5HTCBpcyB0aGUgb3Bw
b3NpdGUgb2YgRU5BQkxFX0dMRVMyLg0KQEAgLTMwOCw2ICszMTEsOCBAQA0KICAgICBlbmRpZiAo
KQ0KIA0KICAgICBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChFTkFCTEVfR1JBUEhJQ1NfQ09OVEVY
VF8zRCBUUlVFKQ0KKw0KKyAgICBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChVU0VfVEVYVFVSRV9N
QVBQRVIgVFJVRSkNCiANCiAgICAgU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoVVNFX1RFWFRVUkVf
TUFQUEVSX0dMIFRSVUUpDQogDQotLS0gU291cmNlL2NtYWtlL1dlYktpdEhlbHBlcnMuY21ha2UJ
TW9uIFNlcCAxNCAxNDowODoxMSAyMDE1DQorKysgU291cmNlL2NtYWtlL1dlYktpdEhlbHBlcnMu
Y21ha2UJU3VuIFNlcCAyNyAwMzowNjowOCAyMDE1DQpAQCAtMTAsOSArMTAsMTEgQEANCiAgICAg
ICAgICAgICBzZXQoT0xEX0NPTVBJTEVfRkxBR1MgIiIpDQogICAgICAgICBlbmRpZiAoKQ0KIA0K
KyAgICAgICAgaWYgKFVOSVgpDQogICAgICAgICBnZXRfdGFyZ2V0X3Byb3BlcnR5KFRBUkdFVF9U
WVBFICR7X3RhcmdldH0gVFlQRSkNCiAgICAgICAgIGlmICgke1RBUkdFVF9UWVBFfSBTVFJFUVVB
TCAiU1RBVElDX0xJQlJBUlkiKSAjIC1mUElDIGlzIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gc2hh
cmVkIGxpYnJhcmllcw0KICAgICAgICAgICAgIHNldChPTERfQ09NUElMRV9GTEFHUyAiLWZQSUMg
JHtPTERfQ09NUElMRV9GTEFHU30iKQ0KKyAgICAgICAgICAgIGVuZGlmICgpDQogICAgICAgICBl
bmRpZiAoKQ0KIA0KICAgICAgICAgIyBTdXBwcmVzcyAtV3BhcmVudGhlc2VzLWVxdWFsaXR5IHdh
cm5pbmcgb2YgQ2xhbmcNCi0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQmFzZS5oCU1v
biBTZXAgMTQgMTQ6MDg6MTAgMjAxNQ0KKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNC
YXNlLmgJTW9uIFNlcCAyOCAyMToyNTo1OSAyMDE1DQpAQCAtNzIsNyArNzIsNyBAQA0KICN1bmRl
ZiBKU19FWFBPUlQNCiAjaWYgZGVmaW5lZChKU19OT19FWFBPUlQpDQogI2RlZmluZSBKU19FWFBP
UlQNCi0jZWxpZiBkZWZpbmVkKF9fR05VQ19fKSAmJiAhZGVmaW5lZChfX0NDX0FSTSkgJiYgIWRl
ZmluZWQoX19BUk1DQ19fKQ0KKyNlbGlmIGRlZmluZWQoX19HTlVDX18pICYmICFkZWZpbmVkKF9f
Q0NfQVJNKSAmJiAhZGVmaW5lZChfX0FSTUNDX18pICYmICFkZWZpbmVkKF9fTUlOR1czMl9fKQ0K
ICNkZWZpbmUgSlNfRVhQT1JUIF9fYXR0cmlidXRlX18oKHZpc2liaWxpdHkoImRlZmF1bHQiKSkp
DQogI2VsaWYgZGVmaW5lZChXSU4zMikgfHwgZGVmaW5lZChfV0lOMzIpIHx8IGRlZmluZWQoX1dJ
TjMyX1dDRSkgfHwgZGVmaW5lZChfX0NDX0FSTSkgfHwgZGVmaW5lZChfX0FSTUNDX18pDQogI2lm
IGRlZmluZWQoQlVJTERJTkdfSmF2YVNjcmlwdENvcmUpIHx8IGRlZmluZWQoU1RBVElDQUxMWV9M
SU5LRURfV0lUSF9KYXZhU2NyaXB0Q29yZSkNCi0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVi
dWdnZXIvRGVidWdnZXJDYWxsRnJhbWUuaAlNb24gU2VwIDE0IDE0OjA4OjEwIDIwMTUNCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXJDYWxsRnJhbWUuaAlUdWUgU2Vw
IDI5IDIwOjUzOjI3IDIwMTUNCkBAIC02MSw3ICs2MSw3IEBADQogICAgIC8vIGxpbmUgYW5kIGNv
bHVtbiBhcmUgaW4gYmFzZSAwIGUuZy4gdGhlIGZpcnN0IGxpbmUgaXMgbGluZSAwLg0KICAgICBp
bnQgbGluZSgpIGNvbnN0IHsgcmV0dXJuIG1fcG9zaXRpb24ubV9saW5lLnplcm9CYXNlZEludCgp
OyB9DQogICAgIGludCBjb2x1bW4oKSBjb25zdCB7IHJldHVybiBtX3Bvc2l0aW9uLm1fY29sdW1u
Lnplcm9CYXNlZEludCgpOyB9DQotICAgIEpTX0VYUE9SVF9QUklWQVRFIGNvbnN0IFRleHRQb3Np
dGlvbiYgcG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX3Bvc2l0aW9uOyB9DQorICAgIGNvbnN0
IFRleHRQb3NpdGlvbiYgcG9zaXRpb24oKSBjb25zdCB7IHJldHVybiBtX3Bvc2l0aW9uOyB9DQog
DQogICAgIEpTX0VYUE9SVF9QUklWQVRFIEpTR2xvYmFsT2JqZWN0KiB2bUVudHJ5R2xvYmFsT2Jq
ZWN0KCkgY29uc3Q7DQogICAgIEpTX0VYUE9SVF9QUklWQVRFIERlYnVnZ2VyU2NvcGUqIHNjb3Bl
KCk7DQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNFeHBvcnRNYWNyb3MuaAlN
b24gU2VwIDE0IDE0OjA4OjEwIDIwMTUNCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0V4cG9ydE1hY3Jvcy5oCVdlZCBPY3QgMDcgMDU6MzA6MjYgMjAxNQ0KQEAgLTQ3LDcgKzQ3
LDcgQEANCiANCiAjZWxzZSAvLyAhVVNFKEVYUE9SVF9NQUNST1MpDQogDQotI2lmIE9TKFdJTkRP
V1MpICYmICFDT01QSUxFUihHQ0NfT1JfQ0xBTkcpDQorI2lmIE9TKFdJTkRPV1MpICYmICghQ09N
UElMRVIoR0NDX09SX0NMQU5HKSB8fCBkZWZpbmVkKF9fTUlOR1czMl9fKSkNCiANCiAjaWYgZGVm
aW5lZChCVUlMRElOR19KYXZhU2NyaXB0Q29yZSkgfHwgZGVmaW5lZChTVEFUSUNBTExZX0xJTktF
RF9XSVRIX0phdmFTY3JpcHRDb3JlKQ0KICNkZWZpbmUgSlNfRVhQT1JUREFUQSBfX2RlY2xzcGVj
KGRsbGV4cG9ydCkNCi0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNw
cAlNb24gU2VwIDIxIDE0OjI5OjQ2IDIwMTUNCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9PcHRpb25zLmNwcAlTYXQgU2VwIDI2IDIzOjA2OjIyIDIwMTUNCkBAIC02MTAsNyArNjEw
LDcgQEANCiAgICAgY2FzZSBPcHRpb25zOjpUeXBlOjp1bnNpZ25lZFR5cGU6DQogICAgICAgICBy
ZXR1cm4gbV9lbnRyeS51bnNpZ25lZFZhbCA9PSBvdGhlci5tX2VudHJ5LnVuc2lnbmVkVmFsOw0K
ICAgICBjYXNlIE9wdGlvbnM6OlR5cGU6OmRvdWJsZVR5cGU6DQotICAgICAgICByZXR1cm4gKG1f
ZW50cnkuZG91YmxlVmFsID09IG90aGVyLm1fZW50cnkuZG91YmxlVmFsKSB8fCAoaXNuYW4obV9l
bnRyeS5kb3VibGVWYWwpICYmIGlzbmFuKG90aGVyLm1fZW50cnkuZG91YmxlVmFsKSk7DQorICAg
ICAgICByZXR1cm4gKG1fZW50cnkuZG91YmxlVmFsID09IG90aGVyLm1fZW50cnkuZG91YmxlVmFs
KSB8fCAoc3RkOjppc25hbihtX2VudHJ5LmRvdWJsZVZhbCkgJiYgc3RkOjppc25hbihvdGhlci5t
X2VudHJ5LmRvdWJsZVZhbCkpOw0KICAgICBjYXNlIE9wdGlvbnM6OlR5cGU6OmludDMyVHlwZToN
CiAgICAgICAgIHJldHVybiBtX2VudHJ5LmludDMyVmFsID09IG90aGVyLm1fZW50cnkuaW50MzJW
YWw7DQogICAgIGNhc2UgT3B0aW9uczo6VHlwZTo6b3B0aW9uUmFuZ2VUeXBlOg0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9zaGVsbC9DTWFrZUxpc3RzLnR4dAlNb24gU2VwIDIxIDE0OjI5OjQ2
IDIwMTUNCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvc2hlbGwvQ01ha2VMaXN0cy50eHQJV2Vk
IFNlcCAyMyAxNjo0ODozNiAyMDE1DQpAQCAtMTYsNiArMTYsNyBAQA0KIA0KIFdFQktJVF9XUkFQ
X1NPVVJDRUxJU1QoJHtKU0NfU09VUkNFU30pDQogaW5jbHVkZV9kaXJlY3RvcmllcyguLyAke0ph
dmFTY3JpcHRDb3JlX0lOQ0xVREVfRElSRUNUT1JJRVN9KQ0KK2luY2x1ZGVfZGlyZWN0b3JpZXMo
JHtJQ1VfSU5DTFVERV9ESVJTfSkNCiBhZGRfZXhlY3V0YWJsZShqc2MgJHtKU0NfU09VUkNFU30p
DQogdGFyZ2V0X2xpbmtfbGlicmFyaWVzKGpzYyAke0pTQ19MSUJSQVJJRVN9KQ0KIHNldF90YXJn
ZXRfcHJvcGVydGllcyhqc2MgUFJPUEVSVElFUyBGT0xERVIgIkphdmFTY3JpcHRDb3JlIikNCi0t
LSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0lETEF0dHJpYnV0ZXMudHh0CU1vbiBT
ZXAgMjEgMTQ6Mjk6NDYgMjAxNQ0KKysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
SURMQXR0cmlidXRlcy50eHQJVGh1IFNlcCAyNCAxMzo1MjowNiAyMDE1DQpAQCAtMTE3LDYgKzEx
Nyw3IEBADQogVHJlYXRVbmRlZmluZWRBcz1OdWxsU3RyaW5nDQogVHlwZWRBcnJheT0qDQogVVJM
DQorVW5zY29wZWFibGUNCiBXaW5kb3dFdmVudEhhbmRsZXINCiANCiAjIFBMQVRGT1JNKElPUykN
Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55LmluCU1vbiBTZXAgMjEgMTQ6Mjk6
NDYgMjAxNQ0KKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkuaW4JRnJpIFNlcCAy
NSAxNjowMTowMiAyMDE1DQpAQCAtNjcsNyArNjcsNyBAQA0KICAgICBjYXNlIERJUkZVTkNUSU9O
Og0KICAgICBjYXNlIFJPTEVGVU5DVElPTjoNCiAjZW5kaWYNCi0gICAgY2FzZSBVTklDT0RFUkFO
R0U6DQorICAgIGNhc2UgVU5JQ09ERV9SQU5HRToNCiAgICAgICAgIHJldHVybiB0cnVlOw0KICAg
ICBkZWZhdWx0Og0KICAgICAgICAgcmV0dXJuIGZhbHNlOw0KQEAgLTIyMyw3ICsyMjMsNyBAQA0K
ICV0b2tlbiA8c3RyaW5nPiBST0xFRlVOQ1RJT04NCiAjZW5kaWYNCiANCi0ldG9rZW4gPHN0cmlu
Zz4gVU5JQ09ERVJBTkdFDQorJXRva2VuIDxzdHJpbmc+IFVOSUNPREVfUkFOR0UNCiANCiAldW5p
b24geyBDU1NQYXJzZXJTZWxlY3RvckNvbWJpbmF0b3IgcmVsYXRpb247IH0NCiAldHlwZSA8cmVs
YXRpb24+IGNvbWJpbmF0b3INCkBAIC0xNjQxLDcgKzE2NDEsNyBAQA0KICAgfCBESU1FTiBtYXli
ZV9zcGFjZSB7ICQkLmlkID0gQ1NTVmFsdWVJbnZhbGlkOyAkJC5zdHJpbmcgPSAkMTsgJCQudW5p
dCA9IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfRElNRU5TSU9OOyB9DQogICB8IHVuYXJ5X29wZXJh
dG9yIERJTUVOIG1heWJlX3NwYWNlIHsgJCQuaWQgPSBDU1NWYWx1ZUludmFsaWQ7ICQkLnN0cmlu
ZyA9ICQyOyAkJC51bml0ID0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19ESU1FTlNJT047IH0NCiAg
IHwgVVJJIG1heWJlX3NwYWNlIHsgJCQuaWQgPSBDU1NWYWx1ZUludmFsaWQ7ICQkLnN0cmluZyA9
ICQxOyAkJC51bml0ID0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19VUkk7IH0NCi0gIHwgVU5JQ09E
RVJBTkdFIG1heWJlX3NwYWNlIHsgJCQuaWQgPSBDU1NWYWx1ZUludmFsaWQ7ICQkLnN0cmluZyA9
ICQxOyAkJC51bml0ID0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19VTklDT0RFX1JBTkdFOyB9DQor
ICB8IFVOSUNPREVfUkFOR0UgbWF5YmVfc3BhY2UgeyAkJC5pZCA9IENTU1ZhbHVlSW52YWxpZDsg
JCQuc3RyaW5nID0gJDE7ICQkLnVuaXQgPSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1VOSUNPREVf
UkFOR0U7IH0NCiAgIHwgSEVYIG1heWJlX3NwYWNlIHsgJCQuaWQgPSBDU1NWYWx1ZUludmFsaWQ7
ICQkLnN0cmluZyA9ICQxOyAkJC51bml0ID0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QQVJTRVJf
SEVYQ09MT1I7IH0NCiAgIHwgJyMnIG1heWJlX3NwYWNlIHsgJCQuaWQgPSBDU1NWYWx1ZUludmFs
aWQ7ICQkLnN0cmluZyA9IENTU1BhcnNlclN0cmluZygpOyAkJC51bml0ID0gQ1NTUHJpbWl0aXZl
VmFsdWU6OkNTU19QQVJTRVJfSEVYQ09MT1I7IH0gLyogSGFuZGxlIGVycm9yIGNhc2U6ICJjb2xv
cjogIzsiICovDQogICAvKiBGSVhNRTogYWNjb3JkaW5nIHRvIHRoZSBzcGVjcyBhIGZ1bmN0aW9u
IGNhbiBoYXZlIGEgdW5hcnlfb3BlcmF0b3IgaW4gZnJvbnQuIEkga25vdyBubyBjYXNlIHdoZXJl
IHRoaXMgbWFrZXMgc2Vuc2UgKi8NCi0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNw
cAlNb24gU2VwIDIxIDE0OjI5OjQ2IDIwMTUNCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyLmNwcAlGcmkgU2VwIDI1IDE2OjAxOjE0IDIwMTUNCkBAIC0xMTY2MSw3ICsxMTY2MSw3IEBA
DQogICAgIGNhc2UgQ2hhcmFjdGVyQ2FzZWxlc3NVOg0KICAgICAgICAgaWYgKFVOTElLRUxZKCpj
dXJyZW50Q2hhcmFjdGVyPFNyY0NoYXJhY3RlclR5cGU+KCkgPT0gJysnKSkgew0KICAgICAgICAg
ICAgIGlmIChwYXJzZVVuaWNvZGVSYW5nZTxTcmNDaGFyYWN0ZXJUeXBlPigpKSB7DQotICAgICAg
ICAgICAgICAgIG1fdG9rZW4gPSBVTklDT0RFUkFOR0U7DQorICAgICAgICAgICAgICAgIG1fdG9r
ZW4gPSBVTklDT0RFX1JBTkdFOw0KICAgICAgICAgICAgICAgICB5eWx2YWwtPnN0cmluZy5pbml0
KHRva2VuU3RhcnQ8U3JjQ2hhcmFjdGVyVHlwZT4oKSwgY3VycmVudENoYXJhY3RlcjxTcmNDaGFy
YWN0ZXJUeXBlPigpIC0gdG9rZW5TdGFydDxTcmNDaGFyYWN0ZXJUeXBlPigpKTsNCiAgICAgICAg
ICAgICAgICAgYnJlYWs7DQogICAgICAgICAgICAgfQ0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2F1ZGlvL2dzdHJlYW1lci9BdWRpb0ZpbGVSZWFkZXJHU3RyZWFtZXIuY3BwCU1vbiBTZXAg
MTQgMTQ6MDg6MTEgMjAxNQ0KKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL2dzdHJl
YW1lci9BdWRpb0ZpbGVSZWFkZXJHU3RyZWFtZXIuY3BwCVdlZCBTZXAgMzAgMTE6NTU6MjggMjAx
NQ0KQEAgLTI0LDEzICsyNCwxMiBAQA0KICNpbmNsdWRlICJBdWRpb0ZpbGVSZWFkZXIuaCINCiAN
CiAjaW5jbHVkZSAiQXVkaW9CdXMuaCINCi0NCisjaW5jbHVkZSAiR1JlZlB0ckdTdHJlYW1lci5o
Ig0KICNpbmNsdWRlIDxnaW8vZ2lvLmg+DQogI2luY2x1ZGUgPGdzdC9hcHAvZ3N0YXBwc2luay5o
Pg0KICNpbmNsdWRlIDxnc3QvYXVkaW8vYXVkaW8taW5mby5oPg0KICNpbmNsdWRlIDxnc3QvZ3N0
Lmg+DQogI2luY2x1ZGUgPHd0Zi9Ob25jb3B5YWJsZS5oPg0KLSNpbmNsdWRlIDx3dGYvZ2xpYi9H
UmVmUHRyLmg+DQogI2luY2x1ZGUgPHd0Zi9nbGliL0dUaHJlYWRTYWZlTWFpbkxvb3BTb3VyY2Uu
aD4NCiAjaW5jbHVkZSA8d3RmL2dsaWIvR1VuaXF1ZVB0ci5oPg0KIA0KLS0tIFNvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dMQ29udGV4dC5oCU1vbiBTZXAgMTQgMTQ6MDg6MTEgMjAx
NQ0KKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dMQ29udGV4dC5oCU1vbiBP
Y3QgMDUgMTI6MDk6MzQgMjAxNQ0KQEAgLTMxLDYgKzMxLDkgQEANCiAjaW5jbHVkZSA8d2F5bGFu
ZC1lZ2wuaD4NCiAjaW5jbHVkZSA8RUdML2VnbHBsYXRmb3JtLmg+DQogdHlwZWRlZiBFR0xOYXRp
dmVXaW5kb3dUeXBlIEdMTmF0aXZlV2luZG93VHlwZTsNCisjZWxpZiBQTEFURk9STShHVEspICYm
IE9TKFdJTkRPV1MpDQorI2luY2x1ZGUgPEVHTC9lZ2xwbGF0Zm9ybS5oPg0KK3R5cGVkZWYgRUdM
TmF0aXZlV2luZG93VHlwZSBHTE5hdGl2ZVdpbmRvd1R5cGU7DQogI2Vsc2UNCiB0eXBlZGVmIHVp
bnQ2NF90IEdMTmF0aXZlV2luZG93VHlwZTsNCiAjZW5kaWYNCi0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oCU1vbiBTZXAgMjEgMTQ6Mjk6NDYg
MjAxNQ0KKysrIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4
dDNELmgJRnJpIFNlcCAyNSAxNTo0MzoyMyAyMDE1DQpAQCAtNDMsNyArNDMsNyBAQA0KICNlbmRp
Zg0KIA0KIC8vIEZJWE1FOiBGaW5kIGEgYmV0dGVyIHdheSB0byBhdm9pZCB0aGUgbmFtZSBjb25m
bGljdGlvbiBmb3IgTk9fRVJST1IuDQotI2lmIFBMQVRGT1JNKFdJTikNCisjaWYgUExBVEZPUk0o
V0lOKSB8fCBPUyhXSU5ET1dTKQ0KICN1bmRlZiBOT19FUlJPUg0KICNlbGlmIFBMQVRGT1JNKEdU
SykNCiAvLyBUaGlzIGRlZmluZSBpcyBmcm9tIHRoZSBYMTEgaGVhZGVycywgYnV0IGl0J3MgdXNl
ZCBiZWxvdywgc28gd2UgbXVzdCB1bmRlZmluZSBpdC4NCkBAIC02NzYsNyArNjc2LDcgQEANCiAg
ICAgICAgIEFMUkVBRFlfU0lHTkFMRUQgPSAweDkxMUEsDQogICAgICAgICBUSU1FT1VUX0VYUElS
RUQgPSAweDkxMUIsDQogICAgICAgICBDT05ESVRJT05fU0FUSVNGSUVEID0gMHg5MTFDLA0KLSNp
ZiBQTEFURk9STShXSU4pDQorI2lmIFBMQVRGT1JNKFdJTikgfHwgT1MoV0lORE9XUykNCiAgICAg
ICAgIFdBSVRfRkFJTEVEX1dJTiA9IDB4OTExRCwNCiAjZWxzZQ0KICAgICAgICAgV0FJVF9GQUlM
RUQgPSAweDkxMUQsDQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvUGxhdGZv
cm1EaXNwbGF5LmNwcAlNb24gU2VwIDE0IDE0OjA4OjExIDIwMTUNCisrKyBTb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9QbGF0Zm9ybURpc3BsYXkuY3BwCUZyaSBTZXAgMjUgMTc6MjI6
MzUgMjAxNQ0KQEAgLTQyLDYgKzQyLDkgQEANCiAjZW5kaWYNCiANCiAjaWYgUExBVEZPUk0oR1RL
KQ0KKyNpZiBPUyhXSU5ET1dTKQ0KKyNpbmNsdWRlIDxnZGsvZ2Rrd2luMzIuaD4NCisjZW5kaWYN
CiAjaWYgUExBVEZPUk0oWDExKQ0KICNpbmNsdWRlIDxnZGsvZ2RreC5oPg0KICNlbmRpZg0KLS0t
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2d0ay9GaWxlU3lzdGVtR3RrLmNwcAlNb24gU2VwIDE0
IDE0OjA4OjExIDIwMTUNCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ndGsvRmlsZVN5c3Rl
bUd0ay5jcHAJU3VuIFNlcCAyNyAwMzowMTozNiAyMDE1DQpAQCAtMzUsNiArMzUsMTAgQEANCiAj
aW5jbHVkZSA8d3RmL3RleHQvQ1N0cmluZy5oPg0KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4NCiANCisjaWYgT1MoV0lORE9XUykNCisjaW5jbHVkZSA8d2luZG93cy5oPg0KKyNlbmRp
Zg0KKw0KIG5hbWVzcGFjZSBXZWJDb3JlIHsNCiANCiAvKiBPbiBsaW51eCBmaWxlIG5hbWVzIGFy
ZSBqdXN0IHJhdyBieXRlcywgc28gYWxzbyBzdHJpbmdzIHRoYXQgY2Fubm90IGJlIGVuY29kZWQg
aW4gYW55IHdheQ0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9icmVha19saW5lcy5jcHAJ
V2VkIEp1bCAyMiAxOTozNzo1NyAyMDE1DQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2Jy
ZWFrX2xpbmVzLmNwcAlXZWQgU2VwIDMwIDA4OjM1OjAzIDIwMTUNCkBAIC01MSw3ICs1MSw3IEBA
DQogLy8gLSBhZnRlciAnLScgYW5kICc/JyAoYmFja3dhcmQtY29tcGF0aWJsZSwgYW5kIGNvbXBh
dGlibGUgd2l0aCBJbnRlcm5ldCBFeHBsb3JlcikuDQogLy8gUGxlYXNlIHJlZmVyIHRvIDxodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzc2OTg+IGZvciBsaW5lIGJyZWFr
aW5nIG1hdHJpeGVzIG9mIGRpZmZlcmVudCBicm93c2Vycw0KIC8vIGFuZCB0aGUgSUNVIHN0YW5k
YXJkLg0KLVdFQkNPUkVfRVhQT1JUIGNvbnN0IHVuc2lnbmVkIGNoYXIgYXNjaWlMaW5lQnJlYWtU
YWJsZVtdW2FzY2lpTGluZUJyZWFrVGFibGVDb2x1bW5Db3VudF0gPSB7DQorV0VCQ09SRV9FWFBP
UlQgZXh0ZXJuIGNvbnN0IHVuc2lnbmVkIGNoYXIgYXNjaWlMaW5lQnJlYWtUYWJsZVtdW2FzY2lp
TGluZUJyZWFrVGFibGVDb2x1bW5Db3VudF0gPSB7DQogICAgIC8vICAhICAiICAjICAkICAlICAm
ICAnICAoICAgICApICAqICArICAsICAtICAuICAvICAwICAxLTggICA5ICA6ICA7ICA8ICA9ICA+
ICA/ICBAICAgICBBLVggICAgICBZICBaICBbICBcICBdICBeICBfICBgICAgICBhLXggICAgICB5
ICB6ICB7ICB8ICB9ICB+ICBERUwNCiAgICAgeyBCKDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEpLCBC
KDAsIDAsIDAsIDAsIDAsIDAsIDAsIDApLCAwLCBCKDAsIDAsIDAsIDEsIDAsIDAsIDAsIDApLCAw
LCAwLCAwLCBCKDAsIDAsIDEsIDAsIDAsIDAsIDAsIDApLCAwLCAwLCAwLCBCKDAsIDAsIDEsIDAs
IDAsIDAsIDAsIDApIH0sIC8vICENCiAgICAgeyBCKDAsIDAsIDAsIDAsIDAsIDAsIDAsIDEpLCBC
KDAsIDAsIDAsIDAsIDAsIDAsIDAsIDApLCAwLCBCKDAsIDAsIDAsIDEsIDAsIDAsIDAsIDApLCAw
LCAwLCAwLCBCKDAsIDAsIDEsIDAsIDAsIDAsIDAsIDApLCAwLCAwLCAwLCBCKDAsIDAsIDEsIDAs
IDAsIDAsIDAsIDApIH0sIC8vICINCi0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAlN
b24gU2VwIDIxIDE0OjI5OjQ2IDIwMTUNCisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAlGcmkgU2VwIDI1IDE5OjUwOjA4IDIwMTUNCkBAIC0zNTA2LDYgKzM1MDYsNyBAQA0KIGxpc3Qo
QVBQRU5EIFdlYkNvcmVUZXN0U3VwcG9ydF9JRExfRklMRVMgJHtERVJJVkVEX1NPVVJDRVNfV0VC
Q09SRV9ESVJ9L0ludGVybmFsU2V0dGluZ3NHZW5lcmF0ZWQuaWRsKQ0KIA0KIGZpbGUoV1JJVEUg
JHtJRExfRklMRVNfVE1QfSAke0lETF9GSUxFU19MSVNUfSkNCitjb25maWd1cmVfZmlsZSgke0lE
TF9GSUxFU19UTVB9ICR7SURMX0ZJTEVTX1RNUH0gTkVXTElORV9TVFlMRSBVTklYKQ0KIA0KIGFk
ZF9jdXN0b21fY29tbWFuZCgNCiAgICAgT1VUUFVUICR7U1VQUExFTUVOVEFMX0RFUEVOREVOQ1lf
RklMRX0gJHtXSU5ET1dfQ09OU1RSVUNUT1JTX0ZJTEV9ICR7V09SS0VSR0xPQkFMU0NPUEVfQ09O
U1RSVUNUT1JTX0ZJTEV9ICR7REVESUNBVEVEV09SS0VSR0xPQkFMU0NPUEVfQ09OU1RSVUNUT1JT
X0ZJTEV9DQotLS0gU291cmNlL1dlYktpdDIvRGF0YWJhc2VQcm9jZXNzL2d0ay9EYXRhYmFzZVBy
b2Nlc3NNYWluR3RrLmNwcAlNb24gU2VwIDE0IDE0OjA4OjExIDIwMTUNCisrKyBTb3VyY2UvV2Vi
S2l0Mi9EYXRhYmFzZVByb2Nlc3MvZ3RrL0RhdGFiYXNlUHJvY2Vzc01haW5HdGsuY3BwCVdlZCBT
ZXAgMzAgMTY6NDU6MTYgMjAxNQ0KQEAgLTQ1LDYgKzQ1LDExIEBADQogICAgIH0NCiB9Ow0KIA0K
KyNpZiBkZWZpbmVkKFdJTjMyKSB8fCBkZWZpbmVkKF9XSU4zMikNCitleHRlcm4gIkMiIF9fZGVj
bHNwZWMoZGxsZXhwb3J0KSANCisjZWxzZQ0KK2V4dGVybiAiQyINCisjZW5kaWYNCiBpbnQgRGF0
YWJhc2VQcm9jZXNzTWFpblVuaXgoaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQ0KIHsNCiAgICAgcmV0
dXJuIENoaWxkUHJvY2Vzc01haW48RGF0YWJhc2VQcm9jZXNzLCBEYXRhYmFzZVByb2Nlc3NNYWlu
PihhcmdjLCBhcmd2KTsNCi0tLSBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9FbnRyeVBv
aW50L3VuaXgvTmV0d29ya1Byb2Nlc3NNYWluLmNwcAlNb24gU2VwIDE0IDE0OjA4OjExIDIwMTUN
CisrKyBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9FbnRyeVBvaW50L3VuaXgvTmV0d29y
a1Byb2Nlc3NNYWluLmNwcAlXZWQgU2VwIDMwIDE0OjU4OjE3IDIwMTUNCkBAIC0yNiw2ICsyNiw5
IEBADQogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzTWFpblVuaXguaCINCiANCiAjaW5jbHVkZSA8
Y3N0ZGxpYj4NCisjaWYgT1MoV0lORE9XUykNCisjaW5jbHVkZSA8d2luZG93cy5oPg0KKyNlbmRp
Zg0KIA0KIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7DQogDQpAQCAtMzksNyArNDIsMTIgQEANCiAg
ICAgLy8gb3ZlcndyaXRlIHRoaXMgcHJpb3JpdHkgc3RyaW5nIGlmIGl0J3MgYWxyZWFkeSBzZXQg
YnkgdGhlIHVzZXIuDQogICAgIC8vIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVn
LmNnaT9pZD03Mzg2MzMNCiAgICAgLy8gV0FSTklORzogVGhpcyBuZWVkcyB0byBiZSBLRVBUIElO
IFNZTkMgd2l0aCBXZWJQcm9jZXNzTWFpbi5jcHAuDQorDQorI2lmIE9TKFdJTkRPV1MpDQorICAg
IFNldEVudmlyb25tZW50VmFyaWFibGUgKCJHX1RMU19HTlVUTFNfUFJJT1JJVFkiLCAiTk9STUFM
OiVDT01QQVQ6JUxBVEVTVF9SRUNPUkRfVkVSU0lPTjohVkVSUy1TU0wzLjA6IUFSQ0ZPVVItMTI4
Iik7DQorI2Vsc2UNCiAgICAgc2V0ZW52KCJHX1RMU19HTlVUTFNfUFJJT1JJVFkiLCAiTk9STUFM
OiVDT01QQVQ6JUxBVEVTVF9SRUNPUkRfVkVSU0lPTjohVkVSUy1TU0wzLjA6IUFSQ0ZPVVItMTI4
IiwgMCk7DQorI2VuZGlmDQogDQogICAgIHJldHVybiBOZXR3b3JrUHJvY2Vzc01haW5Vbml4KGFy
Z2MsIGFyZ3YpOw0KIH0NCi0tLSBTb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9ndGsvTmV0
d29ya1Byb2Nlc3NNYWluR3RrLmNwcAlNb24gU2VwIDE0IDE0OjA4OjExIDIwMTUNCisrKyBTb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9ndGsvTmV0d29ya1Byb2Nlc3NNYWluR3RrLmNwcAlX
ZWQgU2VwIDMwIDIxOjU4OjI1IDIwMTUNCkBAIC01Nyw2ICs1NywxMSBAQA0KICAgICB9DQogfTsN
CiANCisjaWYgZGVmaW5lZChXSU4zMikgfHwgZGVmaW5lZChfV0lOMzIpDQorZXh0ZXJuICJDIiBf
X2RlY2xzcGVjKGRsbGV4cG9ydCkgDQorI2Vsc2UNCitleHRlcm4gIkMiDQorI2VuZGlmDQogaW50
IE5ldHdvcmtQcm9jZXNzTWFpblVuaXgoaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQ0KIHsNCiAgICAg
cmV0dXJuIENoaWxkUHJvY2Vzc01haW48TmV0d29ya1Byb2Nlc3MsIE5ldHdvcmtQcm9jZXNzTWFp
bj4oYXJnYywgYXJndik7DQotLS0gU291cmNlL1dlYktpdDIvUGxhdGZvcm0vUGxhdGZvcm1Qcm9j
ZXNzSWRlbnRpZmllci5oCVdlZCBKdWwgMjIgMTk6Mzc6NTggMjAxNQ0KKysrIFNvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL1BsYXRmb3JtUHJvY2Vzc0lkZW50aWZpZXIuaAlTYXQgU2VwIDI2IDIxOjU2
OjE3IDIwMTUNCkBAIC0zNSw2ICszNSw4IEBADQogDQogI2lmIFBMQVRGT1JNKENPQ09BKQ0KIHR5
cGVkZWYgcGlkX3QgUGxhdGZvcm1Qcm9jZXNzSWRlbnRpZmllcjsNCisjZWxpZiBPUyhXSU5ET1dT
KSAgDQordHlwZWRlZiBIQU5ETEUgUGxhdGZvcm1Qcm9jZXNzSWRlbnRpZmllcjsgIA0KICNlbGlm
IFBMQVRGT1JNKEdUSykNCiB0eXBlZGVmIGludCBQbGF0Zm9ybVByb2Nlc3NJZGVudGlmaWVyOw0K
ICNlbGlmIFBMQVRGT1JNKEVGTCkNCi0tLSBTb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL3Vu
aXgvUGx1Z2luUHJvY2Vzc01haW5Vbml4LmNwcAlXZWQgSnVsIDIyIDE5OjM3OjU4IDIwMTUNCisr
KyBTb3VyY2UvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL3VuaXgvUGx1Z2luUHJvY2Vzc01haW5Vbml4
LmNwcAlXZWQgU2VwIDMwIDE0OjUzOjQyIDIwMTUNCkBAIC0xMDcsNiArMTA3LDExIEBADQogICAg
IH0NCiB9Ow0KIA0KKyNpZiBkZWZpbmVkKFdJTjMyKSB8fCBkZWZpbmVkKF9XSU4zMikNCitleHRl
cm4gIkMiIF9fZGVjbHNwZWMoZGxsZXhwb3J0KSANCisjZWxzZQ0KK2V4dGVybiAiQyINCisjZW5k
aWYNCiBpbnQgUGx1Z2luUHJvY2Vzc01haW5Vbml4KGludCBhcmdjLCBjaGFyKiogYXJndikNCiB7
DQogICAgIHJldHVybiBDaGlsZFByb2Nlc3NNYWluPFBsdWdpblByb2Nlc3MsIFBsdWdpblByb2Nl
c3NNYWluPihhcmdjLCBhcmd2KTsNCi0tLSBTb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0VudHJ5
UG9pbnQvdW5peC9XZWJQcm9jZXNzTWFpbi5jcHAJTW9uIFNlcCAxNCAxNDowODoxMSAyMDE1DQor
KysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9FbnRyeVBvaW50L3VuaXgvV2ViUHJvY2Vzc01h
aW4uY3BwCVdlZCBTZXAgMzAgMTQ6NTg6NTggMjAxNQ0KQEAgLTI2LDYgKzI2LDkgQEANCiAjaW5j
bHVkZSAiV2ViUHJvY2Vzc01haW5Vbml4LmgiDQogDQogI2luY2x1ZGUgPGNzdGRsaWI+DQorI2lm
IE9TKFdJTkRPV1MpDQorI2luY2x1ZGUgPHdpbmRvd3MuaD4NCisjZW5kaWYNCiANCiB1c2luZyBu
YW1lc3BhY2UgV2ViS2l0Ow0KIA0KQEAgLTM5LDcgKzQyLDEyIEBADQogICAgIC8vIG92ZXJ3cml0
ZSB0aGlzIHByaW9yaXR5IHN0cmluZyBpZiBpdCdzIGFscmVhZHkgc2V0IGJ5IHRoZSB1c2VyLg0K
ICAgICAvLyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NjMz
DQogICAgIC8vIFdBUk5JTkc6IFRoaXMgbmVlZHMgdG8gYmUgS0VQVCBJTiBTWU5DIHdpdGggV2Vi
UHJvY2Vzc01haW4uY3BwLg0KKw0KKyNpZiBPUyhXSU5ET1dTKQ0KKyAgICBTZXRFbnZpcm9ubWVu
dFZhcmlhYmxlKCJHX1RMU19HTlVUTFNfUFJJT1JJVFkiLCAiTk9STUFMOiVDT01QQVQ6JUxBVEVT
VF9SRUNPUkRfVkVSU0lPTjohVkVSUy1TU0wzLjA6IUFSQ0ZPVVItMTI4Iik7DQorI2Vsc2UNCiAg
ICAgc2V0ZW52KCJHX1RMU19HTlVUTFNfUFJJT1JJVFkiLCAiTk9STUFMOiVDT01QQVQ6JUxBVEVT
VF9SRUNPUkRfVkVSU0lPTjohVkVSUy1TU0wzLjA6IUFSQ0ZPVVItMTI4IiwgMCk7DQorI2VuZGlm
DQogDQogICAgIHJldHVybiBXZWJQcm9jZXNzTWFpblVuaXgoYXJnYywgYXJndik7DQogfQ0KLS0t
IFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvZ3RrL1dlYkd0a0V4dGVuc2lvbk1hbmFnZXIuY3Bw
CU1vbiBTZXAgMTQgMTQ6MDg6MTEgMjAxNQ0KKysrIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
Z3RrL1dlYkd0a0V4dGVuc2lvbk1hbmFnZXIuY3BwCVdlZCBTZXAgMzAgMTM6MTk6MjMgMjAxNQ0K
QEAgLTMyLDYgKzMyLDExIEBADQogDQogbmFtZXNwYWNlIFdlYktpdCB7DQogDQorI2lmIGRlZmlu
ZWQoV0lOMzIpIHx8IGRlZmluZWQoX1dJTjMyKQ0KK2V4dGVybiAiQyIgX19kZWNsc3BlYyhkbGxl
eHBvcnQpIA0KKyNlbHNlDQorZXh0ZXJuICJDIg0KKyNlbmRpZg0KIFdlYkd0a0V4dGVuc2lvbk1h
bmFnZXImIFdlYkd0a0V4dGVuc2lvbk1hbmFnZXI6OnNpbmdsZXRvbigpDQogew0KICAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8V2ViR3RrRXh0ZW5zaW9uTWFuYWdlcj4gZXh0ZW5zaW9uTWFuYWdl
cjsNCkBAIC05MCw2ICs5NSwxMSBAQA0KICAgICByZXR1cm4gZmFsc2U7DQogfQ0KIA0KKyNpZiBk
ZWZpbmVkKFdJTjMyKSB8fCBkZWZpbmVkKF9XSU4zMikNCitleHRlcm4gIkMiIF9fZGVjbHNwZWMo
ZGxsZXhwb3J0KSANCisjZWxzZQ0KK2V4dGVybiAiQyINCisjZW5kaWYNCiB2b2lkIFdlYkd0a0V4
dGVuc2lvbk1hbmFnZXI6OmluaXRpYWxpemUoV0tCdW5kbGVSZWYgYnVuZGxlLCBXS1R5cGVSZWYg
dXNlckRhdGFTdHJpbmcpDQogew0KICAgICBtX2V4dGVuc2lvbiA9IGFkb3B0R1JlZih3ZWJraXRX
ZWJFeHRlbnNpb25DcmVhdGUodG9JbXBsKGJ1bmRsZSkpKTsNCi0tLSBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5jcHAJTW9uIFNlcCAxNCAxNDowODoxMSAy
MDE1DQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9ndGsvV2ViUHJvY2Vzc01haW5HdGsu
Y3BwCVdlZCBPY3QgMDcgMDU6MjE6MTYgMjAxNQ0KQEAgLTM4LDYgKzM4LDEwIEBADQogI2luY2x1
ZGUgPFgxMS9YbGliLmg+DQogI2VuZGlmDQogDQorI2lmIE9TKFdJTkRPV1MpICANCisjZGVmaW5l
IHNsZWVwIF9zbGVlcCAgDQorI2VuZGlmICANCisNCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsN
CiANCiBuYW1lc3BhY2UgV2ViS2l0IHsNCkBAIC03Miw2ICs3NiwxMSBAQA0KICAgICB9DQogfTsN
CiANCisjaWYgZGVmaW5lZChXSU4zMikgfHwgZGVmaW5lZChfV0lOMzIpDQorZXh0ZXJuICJDIiBf
X2RlY2xzcGVjKGRsbGV4cG9ydCkgDQorI2Vsc2UNCitleHRlcm4gIkMiDQorI2VuZGlmDQogaW50
IFdlYlByb2Nlc3NNYWluVW5peChpbnQgYXJnYywgY2hhcioqIGFyZ3YpDQogew0KICAgICByZXR1
cm4gQ2hpbGRQcm9jZXNzTWFpbjxXZWJQcm9jZXNzLCBXZWJQcm9jZXNzTWFpbj4oYXJnYywgYXJn
dik7DQotLS0gU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQJTW9uIFNlcCAyMSAxNDoyOTo0
NiAyMDE1DQorKysgU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQJV2VkIE9jdCAwNyAwNToy
NjoyMyAyMDE1DQpAQCAtNzM1LDEwICs3MzUsMTkgQEANCiAgIFdlYktpdDINCiApDQogDQorIyBp
ZiB3aG9sZS1hcmNoaXZlIGFwcGxpZWQgdG8ganNjb3JlIGltcG9ydGxpYiB1bmRlciB3aW5kb3dz
DQorIyB0aGlzIGNhdXNlIHNldmVyYWwgdG9ucyBvZiBtdWx0aXBsZSBkZWZpbml0aW9uIGxpbmtl
ciBlcnJvcnMNCisjIGluZmFjdCBmaW5hbCB3ZWJraXQyIGxpbmsgYWxyZWFkeSBhZGQganNjb3Jl
IGRlcGVuZGVuY3kNCitpZiAoV0lOMzIpDQorc2V0KFdlYktpdDJfTElCUkFSSUVTDQorICAgIFdl
YkNvcmUNCispDQorZWxzZSAoKQ0KIHNldChXZWJLaXQyX0xJQlJBUklFUw0KICAgICBKYXZhU2Ny
aXB0Q29yZQ0KICAgICBXZWJDb3JlDQogKQ0KK2VuZGlmICgpDQogDQogc2V0KFBsdWdpblByb2Nl
c3NfTElCUkFSSUVTDQogICAgIFdlYktpdDINCi0tLSBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybUdU
Sy5jbWFrZQlNb24gU2VwIDIxIDE0OjI5OjQ2IDIwMTUNCisrKyBTb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybUdUSy5jbWFrZQlXZWQgT2N0IDA3IDA1OjM5OjE3IDIwMTUNCkBAIC0yMCw4ICsyMCw5IEBA
DQogYWRkX2RlZmluaXRpb25zKC1EUEtHTElCRVhFQ0RJUj0iJHtMSUJFWEVDX0lOU1RBTExfRElS
fSIpDQogYWRkX2RlZmluaXRpb25zKC1ETE9DQUxFRElSPSIke0NNQUtFX0lOU1RBTExfRlVMTF9M
T0NBTEVESVJ9IikNCiBhZGRfZGVmaW5pdGlvbnMoLURMSUJESVI9IiR7TElCX0lOU1RBTExfRElS
fSIpDQoraWYgKCR7V1RGX09TX1VOSVh9KQ0KIGFkZF9kZWZpbml0aW9ucygtRERBVEFESVI9IiR7
Q01BS0VfSU5TVEFMTF9GVUxMX0RBVEFESVJ9IikNCi0NCitlbmRpZiAoKQ0KIHNldChXZWJLaXQy
X1VTRV9QUkVGSVhfSEVBREVSIE9OKQ0KIA0KIGxpc3QoQVBQRU5EIFdlYktpdDJfU09VUkNFUw0K
QEAgLTg2MCw3ICs4NjEsMTIgQEANCiApDQogDQogYWRkX2xpYnJhcnkod2Via2l0Mmd0a2luamVj
dGVkYnVuZGxlIE1PRFVMRSAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9ndGsvV2ViR3RrSW5q
ZWN0ZWRCdW5kbGVNYWluLmNwcCIpDQoraWYgKFdJTjMyKQ0KK3RhcmdldF9saW5rX2xpYnJhcmll
cyh3ZWJraXQyZ3RraW5qZWN0ZWRidW5kbGUgV2ViS2l0MikNCithZGRfZGVwZW5kZW5jaWVzKHdl
YmtpdDJndGtpbmplY3RlZGJ1bmRsZSBXZWJLaXQyKQ0KK2Vsc2UgKCkNCiBhZGRfZGVwZW5kZW5j
aWVzKHdlYmtpdDJndGtpbmplY3RlZGJ1bmRsZSBHT2JqZWN0RE9NQmluZGluZ3MpDQorZW5kaWYg
KCkNCiBhZGRfd2Via2l0Ml9wcmVmaXhfaGVhZGVyKHdlYmtpdDJndGtpbmplY3RlZGJ1bmRsZSkN
CiANCiAjIEFkZCAke0NNQUtFX0xJQlJBUllfT1VUUFVUX0RJUkVDVE9SWX0gdG8gTERfTElCUkFS
WV9QQVRIDQotLS0gU291cmNlL1dURi93dGYvQXRvbWljcy5oCU1vbiBTZXAgMTQgMTQ6MDg6MTAg
MjAxNQ0KKysrIFNvdXJjZS9XVEYvd3RmL0F0b21pY3MuaAlGcmkgU2VwIDI1IDA2OjQyOjMxIDIw
MTUNCkBAIC0zMjUsNyArMzI1LDcgQEANCiBpbmxpbmUgYm9vbCB3ZWFrQ29tcGFyZUFuZFN3YXAo
dWludDhfdCogbG9jYXRpb24sIHVpbnQ4X3QgZXhwZWN0ZWQsIHVpbnQ4X3QgbmV3VmFsdWUpDQog
ew0KICNpZiBFTkFCTEUoQ09NUEFSRV9BTkRfU1dBUCkNCi0jaWYgIU9TKFdJTkRPV1MpICYmIChD
UFUoWDg2KSB8fCBDUFUoWDg2XzY0KSkNCisjaWYgKCFPUyhXSU5ET1dTKSB8fCAoX19NSU5HVzY0
X1ZFUlNJT05fTUFKT1IpKSAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkpDQogICAgIHVuc2ln
bmVkIGNoYXIgcmVzdWx0Ow0KICAgICBhc20gdm9sYXRpbGUoDQogICAgICAgICAibG9jazsgY21w
eGNoZ2IgJTMsICUyXG5cdCINCkBAIC0zMzYsNiArMzM2LDE3IEBADQogICAgICAgICApOw0KICAg
ICByZXR1cm4gcmVzdWx0Ow0KICNlbGlmIE9TKFdJTkRPV1MpICYmIENQVShYODYpDQorI2lmZGVm
IF9fTUlOR1czMl9fDQorICAgIHVuc2lnbmVkIGNoYXIgcmVzdWx0Ow0KKyAgICBhc20gdm9sYXRp
bGUoDQorICAgICAgICAibG9jazsgY21weGNoZ2IgJTMsICUyXG5cdCINCisgICAgICAgICJzZXRl
ICUxIg0KKyAgICAgICAgOiAiK2EiKGV4cGVjdGVkKSwgIj1xIihyZXN1bHQpLCAiK20iKCpsb2Nh
dGlvbikNCisgICAgICAgIDogInEiKG5ld1ZhbHVlKQ0KKyAgICAgICAgOiAibWVtb3J5Ig0KKyAg
ICAgICAgKTsNCisgICAgcmV0dXJuIHJlc3VsdDsNCisjZWxzZQ0KICAgICAvLyBGSVhNRTogV2Ug
bmVlZCBhIDY0LWJpdCBBU00gaW1wbGVtZW50YXRpb24sIGJ1dCB0aGlzIGNhbm5vdCBiZSBpbmxp
bmUgZHVlIHRvDQogICAgIC8vIE1pY3Jvc29mdCdzIGRlY2lzaW9uIHRvIGV4Y2x1ZGUgaXQgZnJv
bSB0aGUgY29tcGlsZXIuDQogICAgIGJvb2wgcmVzdWx0ID0gZmFsc2U7DQpAQCAtMzQ5LDYgKzM2
MCw3IEBADQogICAgIH0NCiANCiAgICAgcmV0dXJuIHJlc3VsdDsNCisjZW5kaWYNCiAjZWxzZQ0K
ICAgICB1aW50cHRyX3QgbG9jYXRpb25WYWx1ZSA9IGJpdHdpc2VfY2FzdDx1aW50cHRyX3Q+KGxv
Y2F0aW9uKTsNCiAgICAgdWludHB0cl90IGFsaWduZWRMb2NhdGlvblZhbHVlID0gbG9jYXRpb25W
YWx1ZSAmIH4oc2l6ZW9mKHVuc2lnbmVkKSAtIDEpOw0KLS0tIFNvdXJjZS9XVEYvd3RmL0NNYWtl
TGlzdHMudHh0CU1vbiBTZXAgMjEgMTQ6Mjk6NDYgMjAxNQ0KKysrIFNvdXJjZS9XVEYvd3RmL0NN
YWtlTGlzdHMudHh0CVdlZCBTZXAgMjMgMTU6MjM6MTkgMjAxNQ0KQEAgLTIzMiw2ICsyMzIsOCBA
QA0KICMgRklYTUU6IFBvcnQgYm1hbGxvYyB0byBXaW5kb3dzLiBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQzMzEwDQogaWYgKE5PVCBXSU4zMikNCiAgICAgbGlzdChB
UFBFTkQgV1RGX0xJQlJBUklFUyBibWFsbG9jKQ0KK2Vsc2UgKCkNCisgICAgbGlzdChBUFBFTkQg
V1RGX0xJQlJBUklFUyB3aW5tbSkNCiBlbmRpZiAoKQ0KIA0KIGxpc3QoQVBQRU5EIFdURl9TT1VS
Q0VTDQotLS0gU291cmNlL1dURi93dGYvRXhwb3J0TWFjcm9zLmgJTW9uIFNlcCAxNCAxNDowODox
MCAyMDE1DQorKysgU291cmNlL1dURi93dGYvRXhwb3J0TWFjcm9zLmgJV2VkIFNlcCAzMCAwNjow
MDo0NiAyMDE1DQpAQCAtMTA2LDExICsxMDYsMTQgQEANCiAjZGVmaW5lIFdURl9ISURERU4NCiAN
CiAjZW5kaWYgLy8gVVNFKEVYUE9SVF9NQUNST1MpDQotDQorI2lmIE9TKFdJTkRPV1MpDQorI2Rl
ZmluZSBXVEZfRVhQT1JUX1BSSVZBVEUgV1RGX0hJRERFTl9ERUNMQVJBVElPTg0KKyNlbHNlDQog
I2lmIGRlZmluZWQoV1RGX0lTX0xJTktFRF9JTl9TQU1FX0JJTkFSWSkNCiAjZGVmaW5lIFdURl9F
WFBPUlRfUFJJVkFURSBXVEZfRVhQT1JUDQogI2Vsc2UNCiAjZGVmaW5lIFdURl9FWFBPUlRfUFJJ
VkFURSBXVEZfSU1QT1JUDQorI2VuZGlmDQogI2VuZGlmDQogDQogI2RlZmluZSBXVEZfRVhQT1JU
X1NUUklOR19BUEkgV1RGX0VYUE9SVF9QUklWQVRFDQotLS0gU291cmNlL1dURi93dGYvUGxhdGZv
cm0uaAlNb24gU2VwIDIxIDE0OjI5OjQ2IDIwMTUNCisrKyBTb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bS5oCVdlZCBPY3QgMDcgMDU6NDE6NTAgMjAxNQ0KQEAgLTY0OCw3ICs2NDgsMTAgQEANCiAjZGVm
aW5lIEhBVkVfQUxJR05FRF9NQUxMT0MgMQ0KICNkZWZpbmUgSEFWRV9JU0RFQlVHR0VSUFJFU0VO
VCAxDQogDQorI2lmIDANCisvKiBtaXNzaW5nIGZpbGU/ICovDQogI2luY2x1ZGUgPFdURi9XVEZI
ZWFkZXJEZXRlY3Rpb24uaD4NCisjZW5kaWYNCiANCiAjZW5kaWYNCiANCkBAIC05NTksNyArOTYy
LDcgQEANCiAgICBzaW5jZSBtb3N0IHBvcnRzIHRyeSB0byBzdXBwb3J0IHN1Yi1wcm9qZWN0IGlu
ZGVwZW5kZW5jZSwgYWRkaW5nIG5ldyBoZWFkZXJzDQogICAgdG8gV1RGIGNhdXNlcyBtYW55IHBv
cnRzIHRvIGJyZWFrLCBhbmQgc28gdGhpcyB3YXkgd2UgY2FuIGFkZHJlc3MgdGhlIGJ1aWxkDQog
ICAgYnJlYWthZ2VzIG9uZSBwb3J0IGF0IGEgdGltZS4gKi8NCi0jaWYgIWRlZmluZWQoVVNFX0VY
UE9SVF9NQUNST1MpICYmIChQTEFURk9STShDT0NPQSkgfHwgUExBVEZPUk0oV0lOKSkNCisjaWYg
IWRlZmluZWQoVVNFX0VYUE9SVF9NQUNST1MpICYmIChQTEFURk9STShDT0NPQSkgfHwgT1MoV0lO
RE9XUykpDQogI2RlZmluZSBVU0VfRVhQT1JUX01BQ1JPUyAxDQogI2VuZGlmDQogDQotLS0gU291
cmNlL1dURi93dGYvV29ya1F1ZXVlLmgJTW9uIFNlcCAxNCAxNzo0MToyMCAyMDE1DQorKysgU291
cmNlL1dURi93dGYvV29ya1F1ZXVlLmgJV2VkIE9jdCAwNyAwNTo0MDoyNSAyMDE1DQpAQCAtOTcs
OCArOTcsMTAgQEANCiAgICAgYm9vbCB0cnlSZWdpc3RlckFzV29ya1RocmVhZCgpOw0KICAgICB2
b2lkIHVucmVnaXN0ZXJBc1dvcmtUaHJlYWQoKTsNCiAgICAgdm9pZCBwZXJmb3JtV29ya09uUmVn
aXN0ZXJlZFdvcmtUaHJlYWQoKTsNCi0NCisjaWYgUExBVEZPUk0oR1RLKQ0KKy8qIG5vdCBuZWVk
ZWQgYW55d2hlcmU/ICovDQogICAgIHN0YXRpYyB2b2lkIHVucmVnaXN0ZXJXYWl0QW5kRGVzdHJv
eUl0ZW1Tb29uKFBhc3NSZWZQdHI8SGFuZGxlV29ya0l0ZW0+KTsNCisjZW5kaWYNCiAgICAgc3Rh
dGljIERXT1JEIFdJTkFQSSB1bnJlZ2lzdGVyV2FpdEFuZERlc3Ryb3lJdGVtQ2FsbGJhY2sodm9p
ZCogY29udGV4dCk7DQogI2VuZGlmDQogDQotLS0gU291cmNlL0NNYWtlTGlzdHMudHh0CU1vbiBT
ZXAgMjEgMTQ6Mjk6NDYgMjAxNQ0KKysrIFNvdXJjZS9DTWFrZUxpc3RzLnR4dAlNb24gT2N0IDA1
IDA4OjUwOjA3IDIwMTUNCkBAIC0xMiw5ICsxMiw5IEBADQogDQogYWRkX3N1YmRpcmVjdG9yeShX
ZWJDb3JlKQ0KIA0KLWlmIChXSU4zMiBBTkQgRU5BQkxFX0dSQVBISUNTX0NPTlRFWFRfM0QpDQot
ICAgIGFkZF9zdWJkaXJlY3RvcnkoVGhpcmRQYXJ0eS9BTkdMRSkNCi1lbmRpZiAoKQ0KKyNpZiAo
V0lOMzIgQU5EIEVOQUJMRV9HUkFQSElDU19DT05URVhUXzNEKQ0KKyMgICAgYWRkX3N1YmRpcmVj
dG9yeShUaGlyZFBhcnR5L0FOR0xFKQ0KKyNlbmRpZiAoKQ0KIA0KIGlmIChFTkFCTEVfQVBJX1RF
U1RTKQ0KICAgICBhZGRfc3ViZGlyZWN0b3J5KFRoaXJkUGFydHkvZ3Rlc3QpDQpAQCAtMzMsNyAr
MzMsOSBAQA0KICMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAjIFNldCBjb21waWxlciBmbGFncyBm
b3IgYWxsIHRhcmdldHMNCiAjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoraWYgKFVOSVgpDQogV0VC
S0lUX1NFVF9FWFRSQV9DT01QSUxFUl9GTEFHUyhibWFsbG9jICR7QURESVRJT05BTF9DT01QSUxF
Ul9GTEFHU30pDQorZW5kaWYgKCkNCiBXRUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTKFdU
RiAke0FERElUSU9OQUxfQ09NUElMRVJfRkxBR1N9KQ0KIFdFQktJVF9TRVRfRVhUUkFfQ09NUElM
RVJfRkxBR1MoSmF2YVNjcmlwdENvcmUgJHtBRERJVElPTkFMX0NPTVBJTEVSX0ZMQUdTfSkNCiBX
RUJLSVRfU0VUX0VYVFJBX0NPTVBJTEVSX0ZMQUdTKFdlYkNvcmVUZXN0U3VwcG9ydCAke0FERElU
SU9OQUxfQ09NUElMRVJfRkxBR1N9KQ0KLS0tIFRvb2xzL0NNYWtlTGlzdHMudHh0CU1vbiBTZXAg
MjEgMTQ6Mjk6NDYgMjAxNQ0KKysrIFRvb2xzL0NNYWtlTGlzdHMudHh0CVNhdCBTZXAgMjYgMTE6
MzE6MjIgMjAxNQ0KQEAgLTI3LDcgKzI3LDcgQEANCiAgICAgZW5kaWYgKCkNCiBlbmRpZiAoKQ0K
IA0KLWlmIChXSU4zMikNCitpZiAoV0lOMzIgQU5EIEVOQUJMRV9BUElfVEVTVFMpDQogICAgIGFk
ZF9zdWJkaXJlY3RvcnkoRHVtcFJlbmRlclRyZWUpDQogICAgIGFkZF9zdWJkaXJlY3RvcnkoVGVz
dFdlYktpdEFQSSkNCiAgICAgYWRkX3N1YmRpcmVjdG9yeShXaW5MYXVuY2hlcikNCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>