- play_arrow Event Collection from Third-party Devices
- play_arrow Introduction to Log Source Management
- Introduction to Log Source Management
- Adding a Log Source
- Adding a Log Source by using the Log Sources Icon
- Adding Bulk Log Sources
- Adding Bulk Log Source by using the Log Sources Icon
- Editing Bulk Log Sources
- Editing Bulk Log Sources by using the Log Sources icon
- Adding a Log Source Parsing Order
- Testing Log Sources
- Log Source Groups
- play_arrow Gateway Log Source
- play_arrow Log Source Extensions
- play_arrow Manage Log Source Extensions
- play_arrow Threat Use Cases by Log Source Type
- play_arrow Troubleshooting DSMs
- play_arrow Protocols
- play_arrow Universal Cloud REST API Protocol
- play_arrow Protocols that Support Certificate Management
- play_arrow 3Com Switch 8800
- play_arrow AhnLab Policy Center
- play_arrow Akamai KONA
- Akamai Kona
- Configure an Akamai Kona Log Source by using the HTTP Receiver Protocol
- Configure an Akamai Kona Log Source by using the Akamai Kona REST API Protocol
- Configuring Akamai Kona to Communicate with JSA
- Creating an Event Map for Akamai Kona Events
- Modifying the Event Map for Akamai Kona
- Akamai Kona Sample Event Messages
- play_arrow Amazon AWS Application Load Balancer Access Logs
- Amazon AWS Application Load Balancer Access Logs
- Amazon AWS Application Load Balancer Access Logs DSM Specifications
- Publishing Flow Logs to an S3 Bucket
- Create an SQS Queue and Configure S3 ObjectCreated Notifications
- Configuring Security Credentials for your AWS User Account
- Amazon AWS S3 REST API Log Source Parameters for Amazon AWS Application Load Balancer Access Logs
- Amazon AWS Application Load Balancer Access Logs Sample Event Message
- play_arrow Amazon AWS CloudTrail
- play_arrow Amazon AWS Elastic Kubernetes Service
- Amazon AWS Elastic Kubernetes Service
- Amazon AWS Elastic Kubernetes Service DSM Specifications
- Configuring Amazon Elastic Kubernetes Service to Communicate with JSA
- Configuring Security Credentials for your AWS User Account
- Amazon Web Services Log Source Parameters for Amazon AWS Elastic Kubernetes Service
- Amazon AWS Elastic Kubernetes Service Sample Event Messages
- play_arrow Amazon AWS Network Firewall
- Amazon AWS Network Firewall
- Amazon AWS Network Firewall DSM Specifications
- Create an SQS Queue and Configure S3 ObjectCreated Notifications
- Configuring Security Credentials for Your AWS User Account
- Amazon AWS S3 REST API Log Source Parameters for Amazon AWS Network Firewall
- AWS Network Firewall Sample Event Messages
- play_arrow Amazon AWS Route 53
- Amazon AWS Route 53
- Amazon AWS Route 53 DSM Specifications
- Configuring an Amazon AWS Route 53 Log Source by using the Amazon Web Services Protocol and CloudWatch Logs
- Configuring an Amazon AWS Route 53 Log Source by using an S3 Bucket with an SQS Queue
- Configuring an Amazon AWS Route 53 Log Source by using an S3 Bucket with a Directory Prefix
- Amazon AWS Route 53 Sample Event Messages
- play_arrow Amazon AWS Security Hub
- play_arrow Amazon AWS WAF
- play_arrow Amazon GuardDuty
- Amazon GuardDuty
- Configuring an Amazon GuardDuty Log Source by using the Amazon Web Services Protocol
- Creating an EventBridge Rule for Sending Events
- Creating an Identity and Access (IAM) User in the AWS Management Console
- Configuring an Amazon GuardDuty Log Source by using the Amazon AWS S3 REST API Protocol
- Configuring Amazon GuardDuty to Forward Events to an AWS S3 Bucket
- Amazon GuardDuty Sample Event Messages
- play_arrow Ambiron TrustWave IpAngel
- play_arrow Amazon VPC Flow Logs
- play_arrow APC UPS
- play_arrow Apache HTTP Server
- play_arrow Apple Mac OS X
- play_arrow Application Security DbProtect
- play_arrow Arbor Networks
- play_arrow Arpeggio SIFT-IT
- play_arrow Array Networks SSL VPN
- play_arrow Aruba Networks
- play_arrow Avaya VPN Gateway
- play_arrow BalaBit IT Security
- play_arrow Barracuda
- play_arrow BeyondTrust PowerBroker
- play_arrow BlueCat Networks Adonis
- play_arrow Blue Coat SG
- Blue Coat
- Blue Coat SG
- Creating a Custom Event Format for Blue Coat SG
- Creating a Log Facility
- Enabling Access Logging
- Configuring Blue Coat SG for FTP Uploads
- Syslog Log Source Parameters for Blue Coat SG
- Log File Log Source Parameters for Blue Coat SG
- Configuring Blue Coat SG for Syslog
- Creating Extra Custom Format Key-value Pairs
- Blue Coat SG Sample Event Messages
- play_arrow Blue Coat Web Security Service
- play_arrow Box
- play_arrow Bridgewater
- play_arrow Broadcom
- play_arrow Brocade Fabric OS
- play_arrow Carbon Black
- play_arrow Centrify
- Centrify
- Centrify Identity Platform
- Centrify Identity Platform DSM specifications
- Configuring Centrify Identity Platform to communicate with JSA
- Centrify Infrastructure Services
- Configuring WinCollect Agent to Collect Event Logs from Centrify Infrastructure Services
- Configuring Centrify Infrastructure Services on a UNIX or Linux Device to Communicate with JSA
- play_arrow Check Point
- play_arrow Cilasoft QJRN/400
- play_arrow Cisco
- Cisco
- Cisco ACE Firewall
- Configuring Cisco Aironet to Forward Events
- Cisco ACS
- Cisco ASA
- Cisco AMP
- Cisco CallManager
- Cisco CatOS for Catalyst Switches
- Cisco Cloud Web Security
- Cisco CSA
- Cisco Firepower Management Center
- Cisco Firepower Threat Defense
- Cisco FWSM
- Cisco Identity Services Engine
- Cisco IDS/IPS
- Cisco IOS
- Cisco IronPort
- Cisco Meraki
- Cisco NAC
- Cisco Nexus
- Cisco Pix
- Cisco Stealthwatch
- Cisco Umbrella
- Cisco VPN 3000 Concentrator
- Cisco Wireless LAN Controllers
- Cisco Wireless Services Module
- play_arrow Citrix
- play_arrow Cloudera Navigator
- play_arrow Cloudflare Logs
- Cloudflare Logs
- Cloudflare Logs DSM Specifications
- Configure Cloudflare to send Events to JSA when you use the HTTP Receiver Protocol
- Configuring Cloudflare Logs to Send Events to JSA when you use the Amazon S3 REST API Protocol
- Create an SQS Queue and Configure S3 ObjectCreated Notifications
- Configuring Security Credentials for Your AWS User Account
- HTTP Receiver Log Source Parameters for Cloudflare Logs
- Amazon AWS S3 REST API Log Source Parameters for Cloudflare Logs
- Cloudflare Logs Sample Event Messages
- play_arrow CloudPassage Halo
- play_arrow CloudLock Cloud Security Fabric
- play_arrow Correlog Agent for IBM Z/OS
- play_arrow CrowdStrike Falcon
- play_arrow CRYPTOCard CRYPTO-Shield
- play_arrow CyberArk
- play_arrow CyberGuard Firewall/VPN Appliance
- play_arrow Damballa Failsafe
- play_arrow DG Technology MEAS
- play_arrow Digital China Networks (DCN)
- play_arrow Enterprise-IT-Security.com SF-Sherlock
- play_arrow Epic SIEM
- play_arrow ESET Remote Administrator
- play_arrow Exabeam
- play_arrow Extreme
- Extreme
- Extreme 800-Series Switch
- Extreme Dragon
- Extreme HiGuard Wireless IPS
- Extreme HiPath Wireless Controller
- Extreme Matrix Router
- Extreme Matrix K/N/S Series Switch
- Extreme NetSight Automatic Security Manager
- Extreme NAC
- Configuring Extreme Stackable and Stand-alone Switches
- Extreme Networks ExtremeWare
- Extreme XSR Security Router
- play_arrow F5 Networks
- play_arrow Fair Warning
- play_arrow Fasoo Enterprise DRM
- play_arrow Fidelis XPS
- play_arrow FireEye
- play_arrow Forcepoint
- play_arrow ForeScout CounterACT
- play_arrow Fortinet FortiGate
- Fortinet FortiGate Security Gateway
- Configuring a Syslog Destination on Your Fortinet FortiGate Security Gateway Device
- Configuring a Syslog Destination on Your Fortinet FortiAnalyzer Device
- Fortinet FortiGate Security Gateway Sample Event Messages
- Configuring JSA to Categorize App Ctrl Events for Fortinet Fortigate Security Gateway
- play_arrow Foundry FastIron
- play_arrow FreeRADIUS
- play_arrow Generic
- play_arrow Google Cloud Audit Logs
- play_arrow Genua Genugate
- play_arrow Google Cloud Platform Firewall
- play_arrow Google G Suite Activity Reports
- Google G Suite Activity Reports
- Google G Suite Activity Reports DSM Specifications
- Configuring Google G Suite Activity Reports to Communicate with JSA
- Assigning a Role to a User
- Creating a Service Account with Viewer Access
- Granting API Client Access to a Service Account
- Google G Suite Activity Reports Log Source Parameters
- Google G Suite Activity Reports Sample Event Messages
- Troubleshooting Google G Suite Activity Reports
- play_arrow Great Bay Beacon
- play_arrow H3C Technologies
- play_arrow HBGary Active Defense
- play_arrow HCL BigFix (formerly known as IBM BigFix)
- play_arrow Honeycomb Lexicon File Integrity Monitor (FIM)
- play_arrow Hewlett Packard Enterprise
- play_arrow Huawei
- play_arrow HyTrust CloudControl
- play_arrow IBM
- IBM
- IBM AIX DSMs
- IBMi
- IBM DB2
- IBM BigFix Detect
- IBM Cloud Platform (formerly known as IBM Bluemix Platform)
- IBM CICS
- IBM DataPower
- IBM DLC Metrics
- IBM Federated Directory Server
- IBM MaaS360 Security
- IBM Guardium
- IBM IMS
- IBM Informix Audit
- IBM Lotus Domino
- IBM Privileged Session Recorder
- IBM Proventia
- IBM RACF
- IBM SAN Volume Controller
- IBM Security Directory Server
- IBM Security Identity Governance
- IBM Security Network IPS (GX)
- IBM Network Security (XGS)
- IBM Security Trusteer
- IBM Security Trusteer Apex Advanced Malware Protection
- IBM Security Trusteer Apex Local Event Aggregator
- IBM Sense
- IBM SmartCloud Orchestrator
- IBM Tivoli Access Manager for E-business
- IBM Web Sphere Application Server
- IBM WebSphere DataPower
- IBM Z/OS
- IBM zSecure Alert
- play_arrow ISC BIND
- play_arrow Illumio Adaptive Security Platform
- play_arrow Imperva Incapsula
- play_arrow Imperva SecureSphere
- play_arrow Infoblox NIOS
- play_arrow IT-CUBE AgileSI
- play_arrow Itron Smart Meter
- play_arrow Juniper Networks
- Juniper Networks
- Juniper Networks AVT
- Juniper Networks DDoS Secure
- Juniper Networks DX Application Acceleration Platform
- Juniper Networks EX Series Ethernet Switch
- Juniper Networks IDP
- Juniper Networks Infranet Controller
- Juniper Networks Firewall and VPN
- Juniper Networks Junos OS
- Juniper Networks Network and Security Manager
- Juniper Networks Secure Access
- Juniper Networks Security Binary Log Collector
- Juniper Networks Steel-Belted Radius
- Juniper Networks VGW Virtual Gateway
- Juniper Networks Junos OS WebApp Secure
- Juniper Networks WLC Series Wireless LAN Controller
- play_arrow Kaspersky
- play_arrow Kisco Information Systems SafeNet/i
- play_arrow Kubernetes Auditing
- play_arrow Lastline Enterprise
- play_arrow Lieberman Random Password Manager
- play_arrow LightCyber Magna
- play_arrow Linux
- play_arrow LOGbinder
- play_arrow McAfee
- play_arrow MetaInfo MetaIP
- play_arrow Motorola Symbol AP
- play_arrow Name Value Pair
- play_arrow NCC Group DDoS Secure
- play_arrow NetApp Data ONTAP
- play_arrow Netgate pfSense
- play_arrow Netskope Active
- play_arrow NGINX HTTP Server
- play_arrow Niksun
- play_arrow Nokia Firewall
- play_arrow Nominum Vantio
- play_arrow Nortel Networks
- Nortel Networks
- Nortel Multiprotocol Router
- Nortel Application Switch
- Nortel Contivity
- Nortel Ethernet Routing Switch 2500/4500/5500
- Nortel Ethernet Routing Switch 8300/8600
- Nortel Secure Router
- Nortel Secure Network Access Switch
- Nortel Switched Firewall 5100
- Nortel Switched Firewall 6000
- Nortel Threat Protection System (TPS)
- Nortel VPN Gateway
- play_arrow Novell EDirectory
- play_arrow Observe IT JDBC
- play_arrow Okta
- play_arrow Onapsis Security Platform
- play_arrow OpenBSD
- play_arrow Open LDAP
- play_arrow Open Source SNORT
- play_arrow OpenStack
- play_arrow Oracle
- play_arrow OSSEC
- play_arrow Palo Alto Networks
- play_arrow Pirean Access: One
- play_arrow PostFix Mail Transfer Agent
- play_arrow ProFTPd
- play_arrow Proofpoint Enterprise Protection and Enterprise Privacy
- play_arrow Pulse Secure
- play_arrow Pulse Secure Infranet Controller
- play_arrow Pulse Secure Pulse Connect Secure
- play_arrow Radware
- play_arrow Raz-Lee ISecurity
- play_arrow Redback ASE
- play_arrow Red Hat Advanced Cluster Security for Kubernetes
- Red Hat Advanced Cluster Security for Kubernetes
- Red Hat Advanced Cluster Security for Kubernetes DSM Specifications
- Configuring Red Hat Advanced Cluster Security for Kubernetes to Communicate with JSA
- HTTP Receiver Log Source Parameters for Red Hat Advanced Cluster Security for Kubernetes
- Red Hat Advanced Cluster Security for Kubernetes Sample Event Messages
- play_arrow Resolution1 CyberSecurity
- play_arrow Riverbed
- play_arrow RSA Authentication Manager
- play_arrow SafeNet DataSecure
- play_arrow Salesforce
- play_arrow Samhain Labs
- play_arrow SAP Enterprise Threat Detection
- SAP Enterprise Threat Detection
- SAP Enterprise Threat Detection DSM Specifications
- SAP Enterprise Threat Detection Alert API Log Source Parameters for SAP Enterprise Threat Detection
- Creating a Pattern Filter on the SAP Server
- Troubleshooting the SAP Enterprise Threat Detection Alert API
- SAP Enterprise Threat Detection Sample Event Message
- play_arrow Seculert
- play_arrow Sentrigo Hedgehog
- play_arrow SolarWinds Orion
- play_arrow SonicWALL
- play_arrow Sophos
- play_arrow Sourcefire Intrusion Sensor
- play_arrow Splunk
- play_arrow Squid Web Proxy
- play_arrow SSH CryptoAuditor
- play_arrow Starent Networks
- play_arrow STEALTHbits
- play_arrow Sun
- play_arrow Suricata
- play_arrow Sybase ASE
- play_arrow Symantec
- play_arrow SysFlow
- play_arrow ThreatGRID Malware Threat Intelligence Platform
- play_arrow TippingPoint
- play_arrow Top Layer IPS
- play_arrow Townsend Security LogAgent
- play_arrow Trend Micro
- play_arrow Tripwire
- play_arrow Tropos Control
- play_arrow Universal CEF
- play_arrow Universal LEEF
- play_arrow Vectra Networks Vectra
- play_arrow Venustech Venusense
- play_arrow Verdasys Digital Guardian
- play_arrow Vericept Content 360 DSM
- play_arrow VMware
- play_arrow Vormetric Data Security
- play_arrow WatchGuard Fireware OS
- play_arrow Websense
- play_arrow Zscaler Nanolog Streaming Service
- play_arrow Zscaler Private Access
- play_arrow JSA Supported DSMs
Microsoft Endpoint Protection
The Microsoft Endpoint Protection DSM for JSA can collect malware detection events.
Malware detection events are retrieved by JSA by configuring the JDBC protocol. Adding malware detection events to JSA gives the capability to monitor and detect malware infected computers in your deployment.
Malware detection events include the following event types:
Site name and the source from which the malware was detected.
Threat name, threat ID, and severity.
User ID associated with the threat.
Event type, time stamp, and the cleaning action that is taken on the malware.
Configuration Overview
The Microsoft Endpoint Protection DSM uses JDBC to poll an SQL database for malware detection event data. This DSM does not automatically discover. To integrate Microsoft EndPoint Protection with JSA, take the following steps:
If your database is not configured with Predefined Query, create an SQL database view for JSA with the malware detection event data.
Configure a JDBC log source to poll for events from the Microsoft EndPoint Protection database.
Ensure that no firewall rules are blocking communication between JSA and the database that is associated with Microsoft EndPoint Protection.
Creating a Database View
Microsoft EndPoint Protection uses SQL Server Management Studio (SSMS) to manage the EndPoint Protection SQL databases.
Log in to the system that hosts your Microsoft EndPoint Protection SQL database.
From the Start menu, select Run.
Type the following command:
ssmsClick OK.
Log in to your Microsoft Endpoint Protection database.
From the Object Explorer, select Databases.
Select your database and click Views.
From the navigation menu, click New Query.
In the Query pane, type the following Transact-SQL statement to create the database view:
content_copy zoom_out_mapcreate view dbo.MalwareView as select n.Type , n.RowID , n.Name , n.Description , n.Timestamp , n.SchemaVersion , n.ObserverHost , n.ObserverUser , n.ObserverProductName , n.ObserverProductversion , n.ObserverProtectionType , n.ObserverProtectionVersion , n.ObserverProtectionSignatureVersion , n.ObserverDetection , n.ObserverDetectionTime , n.ActorHost , n.ActorUser , n.ActorProcess , n.ActorResource , n.ActionType , n.TargetHost , n.TargetUser , n.TargetProcess , n.TargetResource , n.ClassificationID , n.ClassificationType , n.ClassificationSeverity , n.ClassificationCategory , n.RemediationType , n.RemediationResult , n.RemediationErrorCode , n.RemediationPendingAction , n.IsActiveMalware , i.IP_Addresses0 as 'SrcAddress'
content_copy zoom_out_mapfrom v_AM_NormalizedDetectionHistory n, System_IP_Address_ARR i, v_RA_System_ResourceNames s, Network_DATA d where n.ObserverHost = s.Resource_Names0 and s.ResourceID = d.MachineID and d.IPEnabled00 = 1 and d.MachineID = i.ItemKey and i.IP_Addresses0 like '%.%.%.%';
From the Query pane, right-click and select Execute.
If the view is created, the following message is displayed in the results pane:
Command(s) completed successfully.
You are now ready to configure a log source in JSA.
Microsoft Endpoint Protection JDBC Log Source Parameters for Predefined Database Queries
Administrators who do not have permission to create a database view because of policy restrictions can collect Microsoft Endpoint Protection events with a log source that uses predefined queries.
Predefined queries are customized statements that can join data from separate tables when the database is polled by the JDBC protocol. To successfully poll for audit data from the Microsoft Endpoint Protection database, create a new user or provide the log source with existing user credentials. For more information about creating a user account, see (https://www.microsoft.com).
If you use network segregation to separate networks, using a predefined query might cause duplicate events. Use your own query.
When using the JDBC protocol, there are specific parameters that you must use.
The following table describes the parameters that require specific values to collect JDBC events from Microsoft Endpoint Protection:
Parameter | Description |
---|---|
Log Source Name | Type a unique name for the log source. |
Log Source Description (Optional) | Type a description for the log source. |
Log Source Type | Microsoft Endpoint Protection |
Protocol Configuration | JDBC |
Log Source Identifier | Type a name for the log source. The name can't contain spaces and must be unique among all log sources of the log source type that is configured to use the JDBC protocol. If the log source collects events from a single appliance that has a static IP address or host name, use the IP address or host name of the appliance as all or part of the Log Source Identifier value; for example, 192.168.1.1 or JDBC192.168.1.1. If the log source doesn't collect events from a single appliance that has a static IP address or host name, you can use any unique name for the Log Source Identifier value; for example, JDBC1, JDBC2. |
Database Type | MSDE |
Database Name | The name of the database to which you want to connect. |
IP or Hostname | Type the IP address or host name of the Microsoft Endpoint Protection SQL Server. |
Port | Type the port number that is used by the database server. The default port for MSDE is 1433. The JDBC configuration port must match the listener port of the Microsoft Endpoint Protection database. The Microsoft Endpoint Protection database must have incoming TCP connections that are enabled to communicate with JSA. If you define a Database Instance when you use MSDE as the database type, you must leave the Port field blank in your configuration. |
Username | Type the user name the log source can use to access the Microsoft Endpoint Protection database. |
Password | Type the password the log source can use to access the Microsoft Endpoint Protection database. The password can be up to 255 characters in length. |
Confirm Password | Confirm the password that is used to access the database. The confirmation password must be identical to the password entered in the Password field. |
Authentication Domain | If you did not select Use Microsoft JDBC, Authentication Domain is displayed. If you select MSDE as the Database Type and the database is configured for Windows Authentication, you must populate the Authentication Domain field. Otherwise, leave this field blank. |
Database Instance | If you have multiple SQL server instances on your database server, type the database instance. If you use a non-standard port in your database configuration, or block access to port 1434 for SQL database resolution, you must leave the Database Instance parameter blank in your configuration. |
Predefined Query | From the list, select Microsoft Endpoint Protection. |
Table Name | The name of the table or view that includes the event records. The table name can include the following special characters: dollar sign ($), number sign (#), underscore (_), en dash (-), and period (.). |
Select List | The list of fields to include when the table is polled for events. You can use a comma-separated list or type an asterisk (*) to select all fields from the table or view. If a comma-separated list is defined, the list must contain the field that is defined in the Compare Field. |
Compare Field | A numeric value or time stamp field from the table or view that identifies new events that are added to the table between queries. Enables the protocol to identify events that were previously polled by the protocol to ensure that duplicate events are not created. |
Use Prepared Statements | Select the Use Prepared Statements check box. Prepared statements enable the JDBC protocol source to set up the SQL statement, and then run the SQL statement numerous times with different parameters. For security and performance reasons, most JDBC protocol configurations can use prepared statement. Clearing this check box requires you to use an alternative method of querying that does not use pre-compiled statements. |
Start Date and Time (Optional) | Type the start date and time for database polling. The Start Date and Time parameter must be formatted as yyyy-MM-dd HH: mm with HH specified by using a 24-hour clock. If the start date or time is clear, polling begins immediately and repeats at the specified polling interval. |
Polling Interval | Type the polling interval, which is the amount of time between queries to the view you created. The default polling interval is 10 seconds. You can define a longer polling interval by appending H for hours or M for minutes to the numeric value. The maximum polling interval is 1 week in any time format. Numeric values that are entered without an H or M poll in seconds. |
EPS Throttle | Type the number of Events Per Second (EPS) that you do not want this protocol to exceed. The valid range is 100 - 20000 EPS. |
Use Named Pipe Communication | If you did not select Use Microsoft JDBC, Use Named Pipe Communication is displayed. MSDE databases require the user name and password field to use a Windows authentication user name and password and not the database user name and password. The log source configuration must use the default that is named pipe on the MSDE database. |
Database Cluster Name | If you selected the Use Named Pipe Communication, the Database Cluster Name parameter is displayed. If you are running your SQL server in a cluster environment, define the cluster name to ensure Named Pipe communication functions properly. |
Use NTLMv2 | If you did not select Use Microsoft JDBC, Use NTLMv2 is displayed. Select the Use NTLMv2 check box. This option forces MSDE connections to use the NTLMv2 protocol when it communicates with SQL servers that require NTLMv2 authentication. The default value of the check box is selected. If the Use NTLMv2 check box is selected, it has no effect on MSDE connections to SQL servers that do not require NTLMv2 authentication. |
Use Microsoft JDBC | If you want to use the Microsoft JDBC driver, you must enable Use Microsoft JDBC. |
Use SSL | If your connection supports SSL communication, select Use SSL. This option requires extra configuration on your Endpoint Protection database and also requires administrators to configure certificates on both appliances. |
Microsoft SQL Server Hostname | If you selected Use Microsoft JDBC and Use SSL, the Microsoft SQL Server Hostname parameter is displayed. You must type the host name for the Microsoft SQL server. |