FluentFTP 40.0.0-beta4
Prefix Reserved
    
        
            .NET 5.0
        
        
            
                
                
                    This package targets .NET 5.0. The package is compatible with this framework or higher.
                
            
        
    
            
        
            .NET Standard 2.0
        
        
            
                
                
                    This package targets .NET Standard 2.0. The package is compatible with this framework or higher.
                
            
        
    
        
        
            .NET Framework 4.6.2
        
        
            
                
                
                    This package targets .NET Framework 4.6.2. The package is compatible with this framework or higher.
                
            
        
    
    
        
        
                                This is a prerelease version of FluentFTP.
                            
    
    
        
        
                                There is a newer version of this package available.
                                
See the version list below for details.
                    See the version list below for details.
dotnet add package FluentFTP --version 40.0.0-beta4
NuGet\Install-Package FluentFTP -Version 40.0.0-beta4
        
        
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
                    
    
    <PackageReference Include="FluentFTP" Version="40.0.0-beta4" />
        
        
For projects that support PackageReference, copy this XML node into the project file to reference the package.
                    
    
    <PackageVersion Include="FluentFTP" Version="40.0.0-beta4" />
<PackageReference Include="FluentFTP" />
        
        
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
                    
    
    paket add FluentFTP --version 40.0.0-beta4
        
        
 The NuGet Team does not provide support for this client. Please contact its maintainers for support.
                    
    
    #r "nuget: FluentFTP, 40.0.0-beta4"
        
        
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
                    
    
    #:package FluentFTP@40.0.0-beta4
        
        
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
                    
    
    #addin nuget:?package=FluentFTP&version=40.0.0-beta4&prerelease
#tool nuget:?package=FluentFTP&version=40.0.0-beta4&prerelease
        
        
 The NuGet Team does not provide support for this client. Please contact its maintainers for support.
                    
    
    - Please read the Migration Guide for help migrating to the new version!
- Special thanks to Robin Rodricks, Michael Stiemke and Jonas Nyrup for this release!
- Constructor API
- New: 4 new FTP client constructors that accept FTP host, credentials, config and logger
- Remove extraneous constructors because properties can be used instead
 
- Asynchronous API
- New: Split main FTP client classes into FtpClientandAsyncFtpClient
- New: Split main FTP client interfaces into IFtpClientandIAsyncFtpClient
- New: Split common FTP functionality into BaseFtpClient
- New: Drop Asyncsuffix for all async FTP methods inAsyncFtpClient
 
- New: Split main FTP client classes into 
- Config API
- New: Remove all config settings from FtpClient and move it into client.Configobject
- New: Dedicated class to hold config settings FtpConfigto cleanup client API
 
- New: Remove all config settings from FtpClient and move it into 
- Logging API
- New: Remove client.OnLogEventandFtpTracesystem
- New: Add logger system client.Loggerusing industry-standardILoggerinterface
- New: Add Nuget dependency Microsoft.Extensions.Logging.Abstractionsv2.1.0
- Renamed: Legacy logging callback OnLogEventis now renamed toLegacyLogger
- Renamed: Logging settings: LogPasswordandLogUserNamemerged intoLogCredentials
- Renamed: Logging settings: LogIPrenamed toLogHost
- Remove logging setting LogFunctionsas it is always enabled
 
- New: Remove 
- FTP Proxies
- New: Split FTP proxy classes into FtpClient*ProxyandAsyncFtpClient*Proxy
- New: FTP proxy classes moved into FluentFTP.Proxy.SyncProxyandFluentFTP.Proxy.AsyncProxyNS
- New: FTP proxy classes with fully async implementations
- Fix: Properly override HandshakeAsyncin async FTP proxies
 
- New: Split FTP proxy classes into 
- Organization
- Completely redesign the FTP client code organization and structure
- Update all tests and examples to use the new API and AsyncFtpClient
- Hide all internally-used functions behind the interface IInternalFtpClient
- Code style standardization and use new C# language constructs
- Add styling rules to .editorconfigto prevent using IDE defaults
 
- Modernization
- Drop support for .NET Standard 1.2, 1.4 and .NET 2.0, 3.5, 4.0 and 4.5
- Add support for .NET 4.6.2 and 4.7.2
- Remove conditional compilation statements for unsupported platforms
- Remove uncommon static methods FtpClient.ConnectandFtpClient.GetPublicIP
- Remove uncommon method DereferenceLinkandDereferenceLinkAsync
- Remove uncommon properties QuickTransferLimit,MaximumDereferenceCount,EnableThreadSafeDataConnections,PlainTextEncryption
- Remove uncommon feature FtpListOption.DerefLinks
- Remove obsolete hashing commands GetHashAlgorithm,SetHashAlgorithm,GetHash, etc
- Remove obsolete async pattern using IAsyncResult
- Fix: Forward cancellation token in UploadDirectory and Proxy HandshakeAsync
 
- Server support
- Move all IBM zOS logic into the IBMzOSFtpServerserver handler
- Move all OpenVMS logic into the OpenVmsServerserver handler
- Fix: z/OS: Handle z/OS GetListingsingle line outputs
 
- Move all IBM zOS logic into the 
| Product | Versions Compatible and additional computed target framework versions. | 
|---|---|
| .NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. | 
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. | 
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. | 
| .NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 is compatible. net48 was computed. net481 was computed. | 
| MonoAndroid | monoandroid was computed. | 
| MonoMac | monomac was computed. | 
| MonoTouch | monotouch was computed. | 
| Tizen | tizen40 was computed. tizen60 was computed. | 
| Xamarin.iOS | xamarinios was computed. | 
| Xamarin.Mac | xamarinmac was computed. | 
| Xamarin.TVOS | xamarintvos was computed. | 
| Xamarin.WatchOS | xamarinwatchos was computed. | 
        
        Compatible target framework(s)
    
    
        
        Included target framework(s) (in package)
    
    Learn more about Target Frameworks and .NET Standard.
- 
                                                    .NETFramework 4.6.2- Microsoft.Extensions.Logging.Abstractions (>= 2.1.0)
 
- 
                                                    .NETFramework 4.7.2- Microsoft.Extensions.Logging.Abstractions (>= 2.1.0)
 
- 
                                                    .NETStandard 2.0- Microsoft.Extensions.Logging.Abstractions (>= 2.1.0)
 
- 
                                                    .NETStandard 2.1- Microsoft.Extensions.Logging.Abstractions (>= 2.1.0)
 
- 
                                                    net5.0- Microsoft.Extensions.Logging.Abstractions (>= 2.1.0)
 
- 
                                                    net6.0- Microsoft.Extensions.Logging.Abstractions (>= 2.1.0)
 
NuGet packages (176)
Showing the top 5 NuGet packages that depend on FluentFTP:
| Package | Downloads | 
|---|---|
| Peachpie.Library Peachpie PHP language library functions. | |
| Zebra.Printer.SDK The Zebra Link-OS SDK provides a powerful set of APIs enabling creation of desktop and mobile apps that take full advantage of the printer's operating system features including connectivity, printing and management tasks. | |
| HIC.RDMP.Plugin Core package for plugin development | |
| FluentFTP.Logging Small connector library to integrate FluentFTP with MELA Loggers (Microsoft.Extensions.Logging.Abstractions). | |
| mmx.utils Package Description | 
GitHub repositories (42)
Showing the top 20 popular GitHub repositories that depend on FluentFTP:
| Repository | Stars | 
|---|---|
| files-community/Files 
                                                            A modern file manager that helps users organize their files and folders.
                                                         | |
| ShareX/ShareX 
                                                            ShareX is a free and open-source application that enables users to capture or record any area of their screen with a single keystroke. It also supports uploading images, text, and various file types to a wide range of destinations.
                                                         | |
| duplicati/duplicati 
                                                            Store securely encrypted backups in the cloud!
                                                         | |
| 1Remote/1Remote 
                                                            One Remote Access Manager to Rule Them All
                                                         | |
| PhilippC/keepass2android 
                                                            Password manager app for Android
                                                         | |
| win-acme/win-acme 
                                                            A simple ACME client for Windows (for use with Let's Encrypt et al.)
                                                         | |
| ravendb/ravendb 
                                                            ACID Document Database
                                                         | |
| peachpiecompiler/peachpie 
                                                            PeachPie - the PHP compiler and runtime for .NET and .NET Core
                                                         | |
| slskd/slskd 
                                                            A modern client-server application for the Soulseek file sharing network.
                                                         | |
| openbullet/OpenBullet2 
                                                            OpenBullet reinvented
                                                         | |
| ariacom/Seal-Report 
                                                            Database Reporting Tool and Tasks (.Net)
                                                         | |
| smartstore/Smartstore 
                                                            A modular, scalable and ultra-fast open-source all-in-one eCommerce platform built on ASP.NET Core 7
                                                         | |
| KoalaBear84/OpenDirectoryDownloader 
                                                            Indexes open directories
                                                         | |
| fiddyschmitt/File-Tunnel 
                                                            Tunnel TCP connections through a file
                                                         | |
| wabbajack-tools/wabbajack 
                                                            An automated Modlist installer for various games.
                                                         | |
| zhuxb711/RX-Explorer 
                                                            一款优雅的UWP文件管理器 | An elegant UWP Explorer
                                                         | |
| paillave/Etl.Net 
                                                            Mass processing data with a complete ETL for .net developers
                                                         | |
| aelassas/wexflow 
                                                            Workflow Automation Engine
                                                         | |
| reactiveui/Camelotia 
                                                            Cross-platform sample .NET GUI for cloud file management.
                                                         | |
| IllusionMods/KKManager 
                                                            Mod, plugin and card manager for games by Illusion that use BepInEx
                                                         | 
| Version | Downloads | Last Updated | 
|---|---|---|
| 53.0.2 | 77,728 | 10/3/2025 | 
| 53.0.1 | 472,414 | 7/17/2025 | 
| 53.0.0 | 2,247 | 7/17/2025 | 
| 52.1.0 | 1,147,835 | 3/9/2025 | 
| 52.0.0 | 1,265,006 | 11/30/2024 | 
| 51.2.0 | 27,093 | 11/30/2024 | 
| 51.1.0 | 1,427,090 | 9/13/2024 | 
| 51.0.0 | 604,819 | 8/5/2024 | 
| 50.1.0 | 592,773 | 6/21/2024 | 
| 50.0.1 | 973,254 | 4/16/2024 | 
| 50.0.0 | 31,736 | 4/13/2024 | 
| 49.0.2 | 1,602,889 | 1/27/2024 | 
| 49.0.1 | 310,816 | 12/27/2023 | 
| 49.0.0 | 22,127 | 12/25/2023 | 
| 48.0.3 | 1,152,640 | 10/28/2023 | 
| 48.0.2 | 2,491 | 10/28/2023 | 
| 48.0.1 | 181,244 | 10/11/2023 | 
| 48.0.0 | 241,609 | 9/19/2023 | 
| 47.1.0 | 781,825 | 7/26/2023 | 
| 47.0.0 | 137,363 | 7/14/2023 | 
| 46.0.2 | 1,649,279 | 3/13/2023 | 
| 46.0.1 | 47,677 | 3/9/2023 | 
| 46.0.0 | 9,517 | 3/8/2023 | 
| 45.2.0 | 116,384 | 2/24/2023 | 
| 45.1.0 | 300,289 | 2/19/2023 | 
| 45.0.4 | 9,063 | 2/17/2023 | 
| 45.0.3 | 13,364 | 2/16/2023 | 
| 45.0.2 | 3,655 | 2/16/2023 | 
| 45.0.1 | 11,849 | 2/16/2023 | 
| 45.0.0 | 5,127 | 2/16/2023 | 
| 44.0.1 | 572,261 | 1/13/2023 | 
| 44.0.0 | 3,361 | 1/13/2023 | 
| 43.0.1 | 384,973 | 12/25/2022 | 
| 43.0.0 | 3,391 | 12/25/2022 | 
| 42.2.0 | 26,863 | 12/22/2022 | 
| 42.1.0 | 308,134 | 12/1/2022 | 
| 42.0.2 | 92,978 | 11/19/2022 | 
| 42.0.1 | 211,252 | 11/7/2022 | 
| 42.0.0 | 215,199 | 10/23/2022 | 
| 41.0.0 | 187,419 | 10/2/2022 | 
| 40.0.0 | 373,819 | 9/7/2022 | 
| 40.0.0-beta5 | 4,006 | 9/4/2022 | 
| 40.0.0-beta4 | 1,874 | 9/3/2022 | 
| 40.0.0-beta3 | 1,958 | 9/3/2022 | 
| 40.0.0-beta2 | 2,084 | 8/31/2022 | 
| 40.0.0-beta1 | 1,939 | 8/29/2022 | 
| 39.4.0 | 554,401 | 8/23/2022 | 
| 39.3.0 | 152,617 | 8/15/2022 | 
| 39.2.1 | 423,965 | 8/9/2022 | 
| 39.2.0 | 10,131 | 8/9/2022 | 
| 39.1.0 | 22,471 | 8/5/2022 | 
| 39.0.1 | 114,985 | 8/1/2022 | 
| 39.0.0 | 21,889 | 7/28/2022 | 
| 38.0.0 | 51,036 | 7/23/2022 | 
| 37.1.2 | 133,216 | 7/22/2022 | 
| 37.1.1 | 65,602 | 7/17/2022 | 
| 37.1.0 | 89,697 | 7/12/2022 | 
| 37.0.6 | 15,659 | 7/11/2022 | 
| 37.0.5 | 71,570 | 7/2/2022 | 
| 37.0.4 | 57,865 | 6/28/2022 | 
| 37.0.3 | 253,820 | 6/5/2022 | 
| 37.0.2 | 4,750,582 | 2/27/2022 | 
| 37.0.1 | 193,763 | 2/13/2022 | 
| 37.0.0 | 161,133 | 2/6/2022 | 
| 36.1.0 | 345,645 | 1/16/2022 | 
| 36.0.0 | 42,532 | 1/12/2022 | 
| 35.2.3 | 417,785 | 1/1/2022 | 
| 35.2.2 | 775,635 | 12/12/2021 | 
| 35.2.1 | 136,715 | 11/28/2021 | 
| 35.2.0 | 276,481 | 11/21/2021 | 
| 35.1.0 | 85,348 | 11/16/2021 | 
| 35.0.5 | 384,868 | 10/3/2021 | 
| 35.0.4 | 407,600 | 9/5/2021 | 
| 35.0.3 | 2,978 | 9/4/2021 | 
| 35.0.2 | 34,326 | 8/29/2021 | 
| 35.0.1 | 2,857 | 8/29/2021 | 
| 35.0.0 | 4,721 | 8/29/2021 | 
| 34.0.2 | 370,988 | 7/31/2021 | 
| 34.0.1 | 182,891 | 7/16/2021 | 
| 34.0.0 | 1,156,443 | 5/5/2021 | 
| 33.2.0 | 148,496 | 4/29/2021 | 
| 33.1.8 | 51,728 | 4/27/2021 | 
| 33.1.7 | 28,508 | 4/24/2021 | 
| 33.1.6 | 134,790 | 4/13/2021 | 
| 33.1.5 | 63,300 | 4/7/2021 | 
| 33.1.4 | 16,929 | 3/31/2021 | 
| 33.1.3 | 15,317 | 3/27/2021 | 
| 33.1.2 | 5,299 | 3/26/2021 | 
| 33.1.1 | 5,642 | 3/25/2021 | 
| 33.1.0 | 4,119 | 3/25/2021 | 
| 33.0.3 | 1,688,686 | 11/28/2020 | 
| 33.0.2 | 326,125 | 10/22/2020 | 
| 33.0.1 | 21,419 | 10/20/2020 | 
| 33.0.0 | 90,999 | 10/15/2020 | 
| 32.4.7 | 70,391 | 10/12/2020 | 
| 32.4.6 | 5,720 | 10/9/2020 | 
| 32.4.5 | 371,006 | 9/18/2020 | 
| 32.4.4 | 303,555 | 8/22/2020 | 
| 32.4.3 | 1,345,626 | 5/25/2020 | 
| 32.4.2 | 2,971 | 5/25/2020 | 
| 32.4.1 | 107,607 | 5/14/2020 | 
| 32.4.0 | 94,917 | 4/25/2020 | 
| 32.3.3 | 231,623 | 4/11/2020 | 
| 32.3.2 | 27,090 | 4/8/2020 | 
| 32.3.1 | 109,714 | 4/2/2020 | 
| 32.3.0 | 26,385 | 3/27/2020 | 
| 32.2.2 | 236,073 | 3/17/2020 | 
| 32.2.1 | 40,846 | 3/7/2020 | 
| 32.2.0 | 11,136 | 3/6/2020 | 
| 32.1.1 | 46,402 | 3/5/2020 | 
| 32.1.0 | 8,068 | 3/5/2020 | 
| 32.0.0 | 3,779 | 3/4/2020 | 
| 31.3.2 | 59,066 | 3/3/2020 | 
| 31.3.1 | 128,073 | 2/21/2020 | 
| 31.3.0 | 5,067 | 2/20/2020 | 
| 31.2.0 | 34,940 | 2/18/2020 | 
| 31.1.0 | 16,062 | 2/15/2020 | 
| 31.0.0 | 8,488 | 2/13/2020 | 
| 30.2.0 | 39,809 | 2/10/2020 | 
| 30.1.1 | 4,029 | 2/8/2020 | 
| 30.1.0 | 2,866 | 2/8/2020 | 
| 30.0.0 | 125,256 | 2/1/2020 | 
| 29.0.4 | 144,072 | 1/28/2020 | 
| 29.0.3 | 53,582 | 1/21/2020 | 
| 29.0.2 | 26,603 | 1/17/2020 | 
| 29.0.1 | 49,747 | 1/11/2020 | 
| 29.0.0 | 52,624 | 1/6/2020 | 
| 28.0.5 | 221,105 | 12/11/2019 | 
| 28.0.4 | 13,126 | 12/10/2019 | 
| 28.0.3 | 6,822 | 12/7/2019 | 
| 28.0.2 | 322,267 | 11/22/2019 | 
| 28.0.1 | 198,512 | 10/31/2019 | 
| 28.0.0 | 137,030 | 10/15/2019 | 
| 27.1.4 | 37,989 | 10/8/2019 | 
| 27.1.3 | 10,593 | 10/4/2019 | 
| 27.1.2 | 204,275 | 9/20/2019 | 
| 27.1.1 | 48,757 | 9/13/2019 | 
| 27.1.0 | 52,933 | 9/9/2019 | 
| 27.0.3 | 187,349 | 8/22/2019 | 
| 27.0.2 | 79,292 | 8/6/2019 | 
| 27.0.1 | 25,159 | 7/31/2019 | 
| 27.0.0 | 59,250 | 7/24/2019 | 
| 26.0.2 | 36,502 | 7/18/2019 | 
| 26.0.1 | 14,070 | 7/17/2019 | 
| 26.0.0 | 39,833 | 7/15/2019 | 
| 25.0.6 | 56,929 | 7/11/2019 | 
| 25.0.5 | 42,385 | 7/2/2019 | 
| 25.0.4 | 67,456 | 6/25/2019 | 
| 25.0.3 | 38,804 | 6/17/2019 | 
| 25.0.2 | 4,810 | 6/17/2019 | 
| 25.0.1 | 28,900 | 6/11/2019 | 
| 25.0.0 | 16,434 | 6/8/2019 | 
| 24.0.0 | 353,415 | 4/17/2019 | 
| 23.1.0 | 301,222 | 3/5/2019 | 
| 23.0.0 | 18,356 | 2/27/2019 | 
| 22.0.0 | 6,457 | 2/26/2019 | 
| 21.0.0 | 275,773 | 2/6/2019 | 
| 20.0.0 | 99,912 | 2/4/2019 | 
| 19.2.4 | 60,372 | 1/28/2019 | 
| 19.2.3 | 49,211 | 1/17/2019 | 
| 19.2.2 | 2,220,975 | 5/2/2018 | 
| 19.2.1 | 4,972 | 5/2/2018 | 
| 19.2.0 | 5,390 | 5/2/2018 | 
| 19.1.4 | 8,883 | 5/2/2018 | 
| 19.1.3 | 131,101 | 3/24/2018 | 
| 19.1.2 | 769,976 | 11/9/2017 | 
| 19.1.1 | 107,531 | 10/11/2017 | 
| 19.1.0 | 78,210 | 9/29/2017 | 
| 19.0.0 | 45,645 | 9/27/2017 | 
| 18.0.2 | 170,909 | 8/26/2017 | 
| 18.0.1 | 6,292 | 8/24/2017 | 
| 18.0.0 | 11,999 | 8/11/2017 | 
| 17.6.1 | 164,432 | 7/30/2017 | 
| 17.6.0 | 10,426 | 7/25/2017 | 
| 17.5.10 | 4,936 | 7/25/2017 | 
| 17.5.9 | 14,077 | 7/18/2017 | 
| 17.5.8 | 25,196 | 7/13/2017 | 
| 17.5.7 | 5,275 | 7/12/2017 | 
| 17.5.6 | 20,245 | 6/28/2017 | 
| 17.5.5 | 57,689 | 6/27/2017 | 
| 17.5.4 | 5,278 | 6/26/2017 | 
| 17.5.2 | 9,640 | 6/22/2017 | 
| 17.5.1 | 6,080 | 6/22/2017 | 
| 17.5.0 | 5,998 | 6/17/2017 | 
| 17.4.4 | 28,478 | 6/8/2017 | 
| 17.4.3 | 4,710 | 6/8/2017 | 
| 17.4.2 | 11,109 | 5/26/2017 | 
| 17.4.1 | 10,356 | 5/24/2017 | 
| 17.4.0 | 15,228 | 5/21/2017 | 
| 17.3.0 | 5,807 | 5/19/2017 | 
| 17.2.0 | 11,492 | 5/12/2017 | 
| 17.1.0 | 4,831 | 5/11/2017 | 
| 17.0.0 | 4,919 | 5/11/2017 | 
| 16.5.0 | 7,541 | 5/6/2017 | 
| 16.4.1 | 8,959 | 4/29/2017 | 
| 16.4.0 | 28,380 | 4/9/2017 | 
| 16.3.0 | 63,934 | 3/14/2017 | 
| 16.2.5 | 6,990 | 3/10/2017 | 
| 16.2.4 | 13,646 | 2/25/2017 | 
| 16.2.3 | 6,878 | 2/22/2017 | 
| 16.2.2 | 12,620 | 2/18/2017 | 
| 16.2.1 | 55,113 | 2/1/2017 | 
| 16.2.0 | 5,284 | 1/30/2017 | 
| 16.1.0 | 4,987 | 1/29/2017 | 
| 16.0.19 | 5,581 | 1/26/2017 | 
| 16.0.18 | 5,764 | 1/18/2017 | 
| 16.0.17 | 63,539 | 1/5/2017 | 
| 16.0.16 | 6,164 | 12/16/2016 | 
| 16.0.15 | 7,887 | 12/3/2016 | 
| 16.0.14 | 6,405 | 11/25/2016 | 
| 16.0.13 | 44,732 | 11/2/2016 |