<?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>50604</bug_id>
          
          <creation_ts>2010-12-06 17:30:18 -0800</creation_ts>
          <short_desc>WebKit2: Need to set the location of the Databases directory when the WebProcess is initialized</short_desc>
          <delta_ts>2010-12-07 09:30:29 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Jessie Berlin">jberlin</reporter>
          <assigned_to name="Jessie Berlin">jberlin</assigned_to>
          <cc>beidson</cc>
    
    <cc>jberlin</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>317965</commentid>
    <comment_count>0</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2010-12-06 17:30:18 -0800</bug_when>
    <thetext>In WebKit1, this is done in WebKitInitializeDatabasesIfNecessary in WebDatabaseManager.cpp/WebDatabaseManager.mm which is called from WebView::initWithFrame/WebView::_commonInitializationWithFrameName.

Without this directory set, HTML5 Databases are effectively disabled.

In WebKit2, this should probably be done in a call from the constructor of the WebProcess to a WebKit2 version of the WebKit1 WebDatabasesManager so that it is set by the time the WebProcess has finished being created.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317981</commentid>
    <comment_count>1</comment_count>
      <attachid>75767</attachid>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2010-12-06 18:04:06 -0800</bug_when>
    <thetext>Created attachment 75767
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317990</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-06 18:12:03 -0800</bug_when>
    <thetext>Attachment 75767 did not pass style-queue:

Failed to run &quot;[u&apos;git&apos;, u&apos;reset&apos;, u&apos;--hard&apos;, u&apos;HEAD&apos;]&quot; exit_code: 128
error: Could not write new index file.
fatal: Could not reset index file to revision &apos;HEAD&apos;.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>317994</commentid>
    <comment_count>3</comment_count>
      <attachid>75767</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-12-06 18:17:04 -0800</bug_when>
    <thetext>Comment on attachment 75767
Patch

Seems OK. A bit inelegant that we have to call WebDatabaseManager::shared explicitly for its side effect, but it’s similar to our usual pattern for this sort of thing I suppose.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318189</commentid>
    <comment_count>4</comment_count>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2010-12-07 08:13:09 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 75767 [details])
&gt; Seems OK. A bit inelegant that we have to call WebDatabaseManager::shared explicitly for its side effect, but it’s similar to our usual pattern for this sort of thing I suppose.

I am not thrilled with it either, but decided at length that I like it better than the method used in WebKit1 (a standalone WebKitInitializeDatabasesIfNecessary function).

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318250</commentid>
    <comment_count>5</comment_count>
      <attachid>75767</attachid>
    <who name="Jessie Berlin">jberlin</who>
    <bug_when>2010-12-07 09:29:53 -0800</bug_when>
    <thetext>Comment on attachment 75767
Patch

Committed in r73449
http://trac.webkit.org/changeset/73449</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75767</attachid>
            <date>2010-12-06 18:04:06 -0800</date>
            <delta_ts>2010-12-07 09:29:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>wK2SetTheDatabaseDirectoryLocation.patch</filename>
            <type>text/plain</type>
            <size>16404</size>
            <attacher name="Jessie Berlin">jberlin</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MzQyMCkKKysrIFdlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzEgQEAKKzIwMTAtMTItMDYgIEplc3NpZSBCZXJsaW4gIDxqYmVybGluQGFwcGxl
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBX
ZWJLaXQyOiBOZWVkIHRvIHNldCB0aGUgbG9jYXRpb24gb2YgdGhlIERhdGFiYXNlcyBkaXJlY3Rv
cnkgd2hlbiB0aGUgV2ViUHJvY2VzcyBpcyBpbml0aWFsaXplZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTA2MDQKKworICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcDogQWRkZWQuCisgICAgICAg
IChXZWJLaXQ6OldlYkRhdGFiYXNlTWFuYWdlcjo6c2hhcmVkKToKKyAgICAgICAgKFdlYktpdDo6
V2ViRGF0YWJhc2VNYW5hZ2VyOjpXZWJEYXRhYmFzZU1hbmFnZXIpOgorICAgICAgICBJbml0aWFs
aXplIHRoZSBEYXRhYmFzZVRyYWNrZXIgd2l0aCB0aGUgRGF0YWJhc2UgZGlyZWN0b3J5LgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGF0YWJhc2VNYW5hZ2VyLmg6IEFk
ZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvbWFjL1dlYkRhdGFiYXNl
TWFuYWdlck1hYy5tbTogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkRhdGFiYXNlTWFuYWdl
cjo6ZGF0YWJhc2VEaXJlY3RvcnkpOgorICAgICAgICBDb3BpZWQgZnJvbSBXZWJLaXRJbml0aWFs
aXplRGF0YWJhc2VzSWZOZWNlc3NhcnkgaW4gV2ViS2l0L21hYy9TdG9yYWdlL1dlYkRhdGFiYXNl
TWFuYWdlci5tbS4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L3dpbi9XZWJE
YXRhYmFzZU1hbmFnZXJXaW4uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViRGF0YWJh
c2VNYW5hZ2VyOjpkYXRhYmFzZURpcmVjdG9yeSk6CisgICAgICAgIENvcGllZCBmcm9tIFdlYktp
dEluaXRpYWxpemVXZWJEYXRhYmFzZXNJZk5lY2Vzc2FyeSBpbiBXZWJLaXQvd2luL1dlYkRhdGFi
YXNlTWFuYWdlci5jcHAuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpXZWJQcm9jZXNzKToKKyAgICAgICAgTWFrZSBz
dXJlIHRoYXQgdGhlIERhdGFiYXNlcyBkaXJlY3RvcnkgaGFzIGJlZW4gc2V0IGJ5IGNhbGxpbmcg
V2ViRGF0YWJhc2VNYW5hZ2VyOjpzaGFyZWQoKS4KKworICAgICAgICAqIFdlYktpdDIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgQWRkIFdlYkRhdGFiYXNlTWFuYWdlci5jcHAv
LmgvTWFjLmNwcAorICAgICAgICAqIHdpbi9XZWJLaXQyLnZjcHJvajoKKyAgICAgICAgQWRkIFdl
YkRhdGFiYXNlTWFuYWdlci5jcHAvLmgvV2luLmNwcAorCiAyMDEwLTEyLTA2ICBBbmRlcnMgQ2Fy
bHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdl
aW5pZy4KSW5kZXg6IFdlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShy
ZXZpc2lvbiA3MzM2OSkKKysrIFdlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCSh3b3JraW5nIGNvcHkpCkBAIC01ODIsNiArNTgyLDkgQEAKIAkJRjYzNDQ0NUMxMkE4ODVF
OTAwMDYxMkQ4IC8qIFdLU2VjdXJpdHlPcmlnaW4uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjYzNDQ0NUExMkE4ODVFOTAwMDYxMkQ4IC8qIFdLU2Vj
dXJpdHlPcmlnaW4uY3BwICovOyB9OwogCQlGNjM0NDQ1RDEyQTg4NUU5MDAwNjEyRDggLyogV0tT
ZWN1cml0eU9yaWdpbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRjYzNDQ0NUIxMkE4ODVFOTAwMDYxMkQ4IC8qIFdLU2VjdXJpdHlPcmlnaW4uaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQdWJsaWMsICk7IH07IH07CiAJCUY2N0REN0JBMTI1
RTQwRDkwMDdCRENCOCAvKiBXS1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZVByaXZhdGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY2N0REN0I5MTI1RTQwRDkw
MDdCRENCOCAvKiBXS1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZVByaXZhdGUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlGNkEyNUZEOTEyQURDNkJEMDBE
QzQwQ0MgLyogV2ViRGF0YWJhc2VNYW5hZ2VyTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjZBMjVGRDgxMkFEQzZCRDAwREM0MENDIC8qIFdlYkRh
dGFiYXNlTWFuYWdlck1hYy5tbSAqLzsgfTsKKwkJRjZBMjVGREMxMkFEQzZDQzAwREM0MENDIC8q
IFdlYkRhdGFiYXNlTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGNkEyNUZEQTEyQURDNkNDMDBEQzQwQ0MgLyogV2ViRGF0YWJhc2VNYW5h
Z2VyLmNwcCAqLzsgfTsKKwkJRjZBMjVGREQxMkFEQzZDQzAwREM0MENDIC8qIFdlYkRhdGFiYXNl
TWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RjZBMjVGREIxMkFEQzZDQzAwREM0MENDIC8qIFdlYkRhdGFiYXNlTWFuYWdlci5oICovOyB9Owog
LyogRW5kIFBCWEJ1aWxkRmlsZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWENvbnRhaW5lckl0
ZW1Qcm94eSBzZWN0aW9uICovCkBAIC0xMjI2LDYgKzEyMjksOSBAQAogCQlGNjM0NDQ1QTEyQTg4
NUU5MDAwNjEyRDggLyogV0tTZWN1cml0eU9yaWdpbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXS1NlY3VyaXR5T3JpZ2luLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRjYzNDQ0NUIxMkE4ODVFOTAwMDYxMkQ4IC8qIFdLU2VjdXJpdHlPcmlnaW4u
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tTZWN1cml0eU9yaWdpbi5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNjdERDdCOTEyNUU0MEQ5MDA3QkRDQjggLyog
V0tTZXJpYWxpemVkU2NyaXB0VmFsdWVQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdLU2VyaWFsaXplZFNjcmlwdFZhbHVlUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlGNkEyNUZEODEyQURDNkJEMDBEQzQwQ0MgLyogV2ViRGF0YWJhc2VN
YW5hZ2VyTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2Vi
RGF0YWJhc2VNYW5hZ2VyTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGNkEy
NUZEQTEyQURDNkNDMDBEQzQwQ0MgLyogV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkRhdGFiYXNlTWFuYWdlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY2QTI1RkRCMTJBREM2Q0MwMERDNDBDQyAvKiBXZWJE
YXRhYmFzZU1hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViRGF0
YWJhc2VNYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAvKiBFbmQgUEJYRmls
ZVJlZmVyZW5jZSBzZWN0aW9uICovCiAKIC8qIEJlZ2luIFBCWEZyYW1ld29ya3NCdWlsZFBoYXNl
IHNlY3Rpb24gKi8KQEAgLTE3MTksNiArMTcyNSw4IEBACiAJCQkJQkMwMzJENjAxMEY0Mzc4RDAw
NThDMTVBIC8qIFdlYkNocm9tZUNsaWVudC5oICovLAogCQkJCUJDMTExQTU0MTEyRjRGQkIwMDMz
N0JBQiAvKiBXZWJDb250ZXh0TWVudUNsaWVudC5jcHAgKi8sCiAJCQkJQkMwMzJENjIxMEY0Mzc4
RDAwNThDMTVBIC8qIFdlYkNvbnRleHRNZW51Q2xpZW50LmggKi8sCisJCQkJRjZBMjVGREExMkFE
QzZDQzAwREM0MENDIC8qIFdlYkRhdGFiYXNlTWFuYWdlci5jcHAgKi8sCisJCQkJRjZBMjVGREIx
MkFEQzZDQzAwREM0MENDIC8qIFdlYkRhdGFiYXNlTWFuYWdlci5oICovLAogCQkJCUJDMTExQTU2
MTEyRjRGQkIwMDMzN0JBQiAvKiBXZWJEcmFnQ2xpZW50LmNwcCAqLywKIAkJCQlCQzAzMkQ2NjEw
RjQzNzhEMDA1OEMxNUEgLyogV2ViRHJhZ0NsaWVudC5oICovLAogCQkJCUJDMTExQTU3MTEyRjRG
QkIwMDMzN0JBQiAvKiBXZWJFZGl0b3JDbGllbnQuY3BwICovLApAQCAtMTkyMyw2ICsxOTMxLDcg
QEAKIAkJQkMxMTFBREUxMTJGNUI5QTAwMzM3QkFCIC8qIG1hYyAqLyA9IHsKIAkJCWlzYSA9IFBC
WEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJRjZBMjVGRDgxMkFEQzZCRDAwREM0MENDIC8q
IFdlYkRhdGFiYXNlTWFuYWdlck1hYy5tbSAqLywKIAkJCQlDNTIzN0Y1RjEyNDQxQ0EzMDA3ODA0
NzIgLyogV2ViRWRpdG9yQ2xpZW50TWFjLm1tICovLAogCQkJCUJDMTExQURGMTEyRjVCQzIwMDMz
N0JBQiAvKiBXZWJFcnJvcnNNYWMubW0gKi8sCiAJCQkJOTM5MUYyODMxMjFCMzhGNTAwRUJGN0U4
IC8qIFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQuaCAqLywKQEAgLTI2MTksNiArMjYyOCw3IEBA
CiAJCQkJNTEyRjU4RkMxMkE4OEE1NDAwNjI5NTMwIC8qIFdLUHJvdGVjdGlvblNwYWNlLmggaW4g
SGVhZGVycyAqLywKIAkJCQlGNjM0NDQ1NjEyQTg4NUM4MDAwNjEyRDggLyogV2ViU2VjdXJpdHlP
cmlnaW4uaCBpbiBIZWFkZXJzICovLAogCQkJCUY2MzQ0NDVEMTJBODg1RTkwMDA2MTJEOCAvKiBX
S1NlY3VyaXR5T3JpZ2luLmggaW4gSGVhZGVycyAqLywKKwkJCQlGNkEyNUZERDEyQURDNkNDMDBE
QzQwQ0MgLyogV2ViRGF0YWJhc2VNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQly
dW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTMwMjYsNiAr
MzAzNiw4IEBACiAJCQkJNTEyRjU4RjkxMkE4OEE1NDAwNjI5NTMwIC8qIFdLQ3JlZGVudGlhbC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTJGNThGQjEyQTg4QTU0MDA2Mjk1MzAgLyogV0tQcm90
ZWN0aW9uU3BhY2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRjYzNDQ0NUMxMkE4ODVFOTAwMDYx
MkQ4IC8qIFdLU2VjdXJpdHlPcmlnaW4uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRjZBMjVGRDkx
MkFEQzZCRDAwREM0MENDIC8qIFdlYkRhdGFiYXNlTWFuYWdlck1hYy5tbSBpbiBTb3VyY2VzICov
LAorCQkJCUY2QTI1RkRDMTJBREM2Q0MwMERDNDBDQyAvKiBXZWJEYXRhYmFzZU1hbmFnZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCX07CkluZGV4OiBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCShyZXZpc2lv
biA3MzM2OSkKKysrIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIlJ1bkxvb3AuaCIKICNpbmNsdWRlICJX
ZWJDb250ZXh0TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIK
KyNpbmNsdWRlICJXZWJEYXRhYmFzZU1hbmFnZXIuaCIKICNpbmNsdWRlICJXZWJGcmFtZS5oIgog
I2luY2x1ZGUgIldlYlBhZ2UuaCIKICNpbmNsdWRlICJXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJz
LmgiCkBAIC0xMDUsNiArMTA2LDExIEBAIFdlYlByb2Nlc3M6OldlYlByb2Nlc3MoKQogICAgIC8v
IEluaXRpYWxpemUgb3VyIHBsYXRmb3JtIHN0cmF0ZWdpZXMuCiAgICAgV2ViUGxhdGZvcm1TdHJh
dGVnaWVzOjppbml0aWFsaXplKCk7CiAjZW5kaWYgLy8gVVNFKFBMQVRGT1JNX1NUUkFURUdJRVMp
CisKKyNpZiBFTkFCTEUoREFUQUJBU0UpCisgICAgLy8gTWFrZSBzdXJlIHRoZSBXZWJEYXRhYmFz
ZU1hbmFnZXIgaXMgaW5pdGlhbGl6ZWQgc28gdGhhdCB0aGUgRGF0YWJhc2UgZGlyZWN0b3J5IGlz
IHNldC4KKyAgICBXZWJEYXRhYmFzZU1hbmFnZXI6OnNoYXJlZCgpOworI2VuZGlmCiB9CiAKIHZv
aWQgV2ViUHJvY2Vzczo6aW5pdGlhbGl6ZShDb3JlSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVy
IHNlcnZlcklkZW50aWZpZXIsIFJ1bkxvb3AqIHJ1bkxvb3ApCkluZGV4OiBXZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGF0YWJhc2VNYW5hZ2VyLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGF0YWJhc2VNYW5hZ2VyLmNw
cAkocmV2aXNpb24gMCkKKysrIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJE
YXRhYmFzZU1hbmFnZXIuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ5IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgIldlYkRhdGFiYXNlTWFuYWdlci5oIgorCisjaW5jbHVkZSAiV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmgiCisjaW5jbHVkZSAiV2ViRnJhbWUuaCIKKyNpbmNsdWRlICJXZWJQ
YWdlUHJveHlNZXNzYWdlcy5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlIDxX
ZWJDb3JlL0RhdGFiYXNlVHJhY2tlci5oPgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKwor
bmFtZXNwYWNlIFdlYktpdCB7CisKK1dlYkRhdGFiYXNlTWFuYWdlciYgV2ViRGF0YWJhc2VNYW5h
Z2VyOjpzaGFyZWQoKQoreworICAgIHN0YXRpYyBXZWJEYXRhYmFzZU1hbmFnZXImIHNoYXJlZCA9
ICpuZXcgV2ViRGF0YWJhc2VNYW5hZ2VyOworICAgIHJldHVybiBzaGFyZWQ7Cit9CisKK1dlYkRh
dGFiYXNlTWFuYWdlcjo6V2ViRGF0YWJhc2VNYW5hZ2VyKCkKK3sKKyAgICBEYXRhYmFzZVRyYWNr
ZXI6OmluaXRpYWxpemVUcmFja2VyKGRhdGFiYXNlRGlyZWN0b3J5KCkpOworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKSW5kZXg6IFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJEYXRhYmFzZU1hbmFnZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViRGF0YWJhc2VNYW5hZ2VyLmgJKHJldmlzaW9uIDApCisrKyBXZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRGF0YWJhc2VNYW5hZ2VyLmgJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYkRhdGFiYXNlTWFu
YWdlcl9oCisjZGVmaW5lIFdlYkRhdGFiYXNlTWFuYWdlcl9oCisKKyNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNl
IFdlYktpdCB7CisKK2NsYXNzIFdlYkRhdGFiYXNlTWFuYWdlciA6IHB1YmxpYyBOb25jb3B5YWJs
ZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFdlYkRhdGFiYXNlTWFuYWdlciYgc2hhcmVkKCk7CisK
KyAgICAvLyBGSVhNRTogQWRkIG1ldGhvZHMgdG8gZ2V0IHRoZSBvcmlnaW5zIGZvciB3aGljaCB0
aGVyZSBhcmUgZGF0YWJhc2VzLCBkZWxldGUgdGhlIGRhdGFiYXNlcworICAgIC8vIGZvciBhbiBv
cmlnaW4sIGFuZCBkZWxldGUgYWxsIHRoZSBkYXRhYmFzZXMuCisgICAgLy8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUwNjA2CisKK3ByaXZhdGU6CisgICAgV2ViRGF0
YWJhc2VNYW5hZ2VyKCk7CisKKyAgICBTdHJpbmcgZGF0YWJhc2VEaXJlY3RvcnkoKSBjb25zdDsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gV2ViRGF0YWJhc2VNYW5h
Z2VyX2gKSW5kZXg6IFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9tYWMvV2ViRGF0
YWJhc2VNYW5hZ2VyTWFjLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9tYWMvV2ViRGF0YWJhc2VNYW5hZ2VyTWFjLm1tCShyZXZpc2lvbiAwKQorKysg
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L21hYy9XZWJEYXRhYmFzZU1hbmFnZXJN
YWMubW0JKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiV2ViRGF0YWJhc2VNYW5hZ2VyLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitOU1N0cmlu
ZyAqV2ViRGF0YWJhc2VEaXJlY3RvcnlEZWZhdWx0c0tleSA9IEAiV2ViRGF0YWJhc2VEaXJlY3Rv
cnkiOworCitTdHJpbmcgV2ViRGF0YWJhc2VNYW5hZ2VyOjpkYXRhYmFzZURpcmVjdG9yeSgpIGNv
bnN0Cit7CisgICAgTlNVc2VyRGVmYXVsdHMgKmRlZmF1bHRzID0gW05TVXNlckRlZmF1bHRzIHN0
YW5kYXJkVXNlckRlZmF1bHRzXTsKKyAgICBOU1N0cmluZyAqZGF0YWJhc2VzRGlyZWN0b3J5ID0g
W2RlZmF1bHRzIG9iamVjdEZvcktleTpXZWJEYXRhYmFzZURpcmVjdG9yeURlZmF1bHRzS2V5XTsK
KyAgICBpZiAoIWRhdGFiYXNlc0RpcmVjdG9yeSB8fCAhW2RhdGFiYXNlc0RpcmVjdG9yeSBpc0tp
bmRPZkNsYXNzOltOU1N0cmluZyBjbGFzc11dKQorICAgICAgICBkYXRhYmFzZXNEaXJlY3Rvcnkg
PSBAIn4vTGlicmFyeS9XZWJLaXQvRGF0YWJhc2VzIjsKKworICAgIHJldHVybiBbZGF0YWJhc2Vz
RGlyZWN0b3J5IHN0cmluZ0J5U3RhbmRhcmRpemluZ1BhdGhdOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKSW5kZXg6IFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC93aW4vV2Vi
RGF0YWJhc2VNYW5hZ2VyV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvd2luL1dlYkRhdGFiYXNlTWFuYWdlcldpbi5jcHAJKHJldmlzaW9uIDAp
CisrKyBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvd2luL1dlYkRhdGFiYXNlTWFu
YWdlcldpbi5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiV2ViRGF0YWJhc2VNYW5hZ2VyLmgiCisKKyNpbmNsdWRlIDxXZWJDb3JlL0ZpbGVT
eXN0ZW0uaD4KKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQg
eworCitTdHJpbmcgV2ViRGF0YWJhc2VNYW5hZ2VyOjpkYXRhYmFzZURpcmVjdG9yeSgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIFdlYkNvcmU6OnBhdGhCeUFwcGVuZGluZ0NvbXBvbmVudChXZWJDb3Jl
Ojpsb2NhbFVzZXJTcGVjaWZpY1N0b3JhZ2VEaXJlY3RvcnkoKSwgIkRhdGFiYXNlcyIpOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFdlYktpdDIvd2luL1dlYktpdDIudmNwcm9q
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCShyZXZpc2lvbiA3MzM2
OSkKKysrIFdlYktpdDIvd2luL1dlYktpdDIudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMTM0
LDYgKzExMzQsMTQgQEAKIAkJCQkJPgogCQkJCTwvRmlsZT4KIAkJCQk8RmlsZQorCQkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXFdlYlByb2Nlc3NcV2ViQ29yZVN1cHBvcnRcV2ViRGF0YWJhc2VNYW5hZ2Vy
LmNwcCIKKwkJCQkJPgorCQkJCTwvRmlsZT4KKwkJCQk8RmlsZQorCQkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXFdlYlByb2Nlc3NcV2ViQ29yZVN1cHBvcnRcV2ViRGF0YWJhc2VNYW5hZ2VyLmgiCisJCQkJ
CT4KKwkJCQk8L0ZpbGU+CisJCQkJPEZpbGUKIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxXZWJQcm9j
ZXNzXFdlYkNvcmVTdXBwb3J0XFdlYkRyYWdDbGllbnQuY3BwIgogCQkJCQk+CiAJCQkJPC9GaWxl
PgpAQCAtMTIwNSw2ICsxMjEzLDEwIEBACiAJCQkJCU5hbWU9IndpbiIKIAkJCQkJPgogCQkJCQk8
RmlsZQorCQkJCQkJUmVsYXRpdmVQYXRoPSIuLlxXZWJQcm9jZXNzXFdlYkNvcmVTdXBwb3J0XHdp
blxXZWJEYXRhYmFzZU1hbmFnZXJXaW4uY3BwIgorCQkJCQkJPgorCQkJCQk8L0ZpbGU+CisJCQkJ
CTxGaWxlCiAJCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXFdlYlByb2Nlc3NcV2ViQ29yZVN1cHBvcnRc
d2luXFdlYkVycm9yc1dpbi5jcHAiCiAJCQkJCQk+CiAJCQkJCTwvRmlsZT4K
</data>

          </attachment>
      

    </bug>

</bugzilla>