; Copyright (c) 2009, Microsoft

[version]
Signature   = "$Windows NT$"
Class       = Net
ClassGUID   = {4d36e972-e325-11ce-bfc1-08002be10318}
Provider    = %Msft%
DriverVer=03/26/2009,9.13.4.10

[Manufacturer]
%Intel%     = Intel, NTx86.6.0

[ControlFlags]
ExcludeFromSelect = *


[Intel.NTx86.6.0]
; DisplayName                   Section        DeviceID
; -----------                   -------        --------
%E105ENC.DeviceDesc%            = E105E,       PCI\VEN_8086&DEV_105E&SUBSYS_105E8086
%E105ESC.DeviceDesc%            = E105E,       PCI\VEN_8086&DEV_105E&SUBSYS_005E8086
%E105ESA.DeviceDesc%            = E105E,       PCI\VEN_8086&DEV_105E&SUBSYS_115E8086
%E105ESA.DeviceDesc%            = E105E,       PCI\VEN_8086&DEV_105E&SUBSYS_125E8086
%E105ESA.DeviceDesc%            = E105E,       PCI\VEN_8086&DEV_105E&SUBSYS_135E8086
%E105ESA.DeviceDesc%            = E105E,       PCI\VEN_8086&DEV_105E&SUBSYS_704E103C
%E105ENC.DeviceDesc%            = E105E,       PCI\VEN_8086&DEV_105E
%E105FSA.DeviceDesc%            = E105F,       PCI\VEN_8086&DEV_105F&SUBSYS_005F8086
%E105FSA.DeviceDesc%            = E105F,       PCI\VEN_8086&DEV_105F&SUBSYS_115F8086
%E105FSA.DeviceDesc%            = E105F,       PCI\VEN_8086&DEV_105F&SUBSYS_125F8086
%E105FSA.DeviceDesc%            = E105F,       PCI\VEN_8086&DEV_105F&SUBSYS_704F103C
%E105FSA.DeviceDesc%            = E105F,       PCI\VEN_8086&DEV_105F
%E1060SC.DeviceDesc%            = E105F,       PCI\VEN_8086&DEV_1060&SUBSYS_00608086
%E1060SC.DeviceDesc%            = E105F,       PCI\VEN_8086&DEV_1060

%E107DSA.DeviceDesc%            = E107D,       PCI\VEN_8086&DEV_107D&SUBSYS_10928086
%E107DSA.DeviceDesc%            = E107D,       PCI\VEN_8086&DEV_107D&SUBSYS_10828086
%E107DSA.DeviceDesc%            = E107D,       PCI\VEN_8086&DEV_107D&SUBSYS_10848086
%E107DNC.DeviceDesc%            = E107D,       PCI\VEN_8086&DEV_107D
%E107ESA.DeviceDesc%            = E107E,       PCI\VEN_8086&DEV_107E&SUBSYS_10948086
%E107ESA.DeviceDesc%            = E107E,       PCI\VEN_8086&DEV_107E&SUBSYS_10848086
%E107ESA.DeviceDesc%            = E107E,       PCI\VEN_8086&DEV_107E&SUBSYS_10858086
%E107ESC.DeviceDesc%            = E107E,       PCI\VEN_8086&DEV_107E
%E107FSC.DeviceDesc%            = E107E,       PCI\VEN_8086&DEV_107F

%E108BEC.DeviceDesc%            = E108B,       PCI\VEN_8086&DEV_108B
%E108BEC.DeviceDesc%            = E108B,       PCI\VEN_8086&DEV_108C&SUBSYS_02F61014
%E108BEC.DeviceDesc%            = E108B,       PCI\VEN_8086&DEV_108C&SUBSYS_02F91014
%E108BEC.DeviceDesc%            = E108B,       PCI\VEN_8086&DEV_108C&SUBSYS_030E1014
%E108BEC.DeviceDesc%            = E108B,       PCI\VEN_8086&DEV_108C&SUBSYS_00011179
%E108BEC.DeviceDesc%            = E108B,       PCI\VEN_8086&DEV_108C&SUBSYS_FF001179
%E108BEC.DeviceDesc%            = E108B,       PCI\VEN_8086&DEV_108C
%E109AEC.DeviceDesc%            = E109A,       PCI\VEN_8086&DEV_109A&SUBSYS_00011179
%E109AEC.DeviceDesc%            = E109A,       PCI\VEN_8086&DEV_109A&SUBSYS_FF001179
%E109AEC.DeviceDesc%            = E109A,       PCI\VEN_8086&DEV_109A&SUBSYS_207E17AA
%E109AEC.DeviceDesc%            = E109ADSPD,   PCI\VEN_8086&DEV_109A&SUBSYS_200117AA
%E109AEC.DeviceDesc%            = E109A,       PCI\VEN_8086&DEV_109A

%E1096NC.DeviceDesc%            = E1096,       PCI\VEN_8086&DEV_1096
%E1098BC.DeviceDesc%            = E1098,       PCI\VEN_8086&DEV_1098

%E1049NC.DeviceDesc%            = E1049,       PCI\VEN_8086&DEV_1049&SUBSYS_10498086
%E1049NC.DeviceDesc%            = E1049,       PCI\VEN_8086&DEV_1049&SUBSYS_00011179
%E1049NC.DeviceDesc%            = E1049,       PCI\VEN_8086&DEV_1049
%E104ANC.DeviceDesc%            = E104A,       PCI\VEN_8086&DEV_104A&SUBSYS_104A8086
%E104ANC.DeviceDesc%            = E104A,       PCI\VEN_8086&DEV_104A
%E104BNC.DeviceDesc%            = E104A,       PCI\VEN_8086&DEV_104B&SUBSYS_104B8086
%E104BNC.DeviceDesc%            = E104A,       PCI\VEN_8086&DEV_104B
%E104DNC.DeviceDesc%            = E1049,       PCI\VEN_8086&DEV_104D&SUBSYS_104D8086
%E104DNC.DeviceDesc%            = E1049,       PCI\VEN_8086&DEV_104D&SUBSYS_00011179
%E104DNC.DeviceDesc%            = E1049,       PCI\VEN_8086&DEV_104D

%E104CNC.DeviceDesc%            = E104C,       PCI\VEN_8086&DEV_104C&SUBSYS_104C8086
%E104CNC.DeviceDesc%            = E104C,       PCI\VEN_8086&DEV_104C&SUBSYS_00011179
%E104CNC.DeviceDesc%            = E104C,       PCI\VEN_8086&DEV_104C
%E10C4NC.DeviceDesc%            = E104C,       PCI\VEN_8086&DEV_10C4&SUBSYS_10C48086
%E10C4NC.DeviceDesc%            = E104C,       PCI\VEN_8086&DEV_10C4
%E10C5NC.DeviceDesc%            = E104C,       PCI\VEN_8086&DEV_10C5&SUBSYS_10C58086
%E10C5NC.DeviceDesc%            = E104C,       PCI\VEN_8086&DEV_10C5

%E10B9DA.DeviceDesc%            = E107D,       PCI\VEN_8086&DEV_10B9&SUBSYS_10838086
%E10B9DA.DeviceDesc%            = E107D,       PCI\VEN_8086&DEV_10B9&SUBSYS_10938086
%E10B9DA.DeviceDesc%            = E107D,       PCI\VEN_8086&DEV_10B9

%E10BANC.DeviceDesc%            = E10BA,       PCI\VEN_8086&DEV_1096&SUBSYS_10A81734
%E10BANC.DeviceDesc%            = E10BA,       PCI\VEN_8086&DEV_1096&SUBSYS_269210F1
%E10BANC.DeviceDesc%            = E10BA,       PCI\VEN_8086&DEV_10BA
%E10BBNC.DeviceDesc%            = E10BB,       PCI\VEN_8086&DEV_10BB

%E294CNC.DeviceDesc%            = E294C,       PCI\VEN_8086&DEV_294C&SUBSYS_294C8086
%E294CNC.DeviceDesc%            = E294C,       PCI\VEN_8086&DEV_294C&SUBSYS_302E17AA
%E294CNC.DeviceDesc%            = E294C,       PCI\VEN_8086&DEV_294C
%E10BDNC.DeviceDesc%            = E10BD,       PCI\VEN_8086&DEV_10BD&SUBSYS_10BD8086
%E10BDNC.DeviceDesc%            = E10BD,       PCI\VEN_8086&DEV_10BD&SUBSYS_303117AA
%E10BDNC.DeviceDesc%            = E10BD,       PCI\VEN_8086&DEV_10BD&SUBSYS_303217AA
%E10BDNC.DeviceDesc%            = E10BD,       PCI\VEN_8086&DEV_10BD&SUBSYS_303317AA
%E10BDNC.DeviceDesc%            = E10BD,       PCI\VEN_8086&DEV_10BD&SUBSYS_303417AA
%E10BDNC.DeviceDesc%            = E10BD,       PCI\VEN_8086&DEV_10BD&SUBSYS_102017AA
%E10BDNC.DeviceDesc%            = E10BD,       PCI\VEN_8086&DEV_10BD

%E10C0NC.DeviceDesc%            = E104C,       PCI\VEN_8086&DEV_10C0&SUBSYS_10C08086
%E10C0NC.DeviceDesc%            = E104C,       PCI\VEN_8086&DEV_10C0
%E10C2NC.DeviceDesc%            = E104C,       PCI\VEN_8086&DEV_10C2&SUBSYS_10C28086
%E10C2NC.DeviceDesc%            = E104C,       PCI\VEN_8086&DEV_10C2
%E10C3NC.DeviceDesc%            = E104C,       PCI\VEN_8086&DEV_10C3&SUBSYS_10C38086
%E10C3NC.DeviceDesc%            = E104C,       PCI\VEN_8086&DEV_10C3

%E10A4SA.DeviceDesc%            = E10A4,       PCI\VEN_8086&DEV_10A4&SUBSYS_10A48086
%E10A4SA.DeviceDesc%            = E10A4,       PCI\VEN_8086&DEV_10A4&SUBSYS_11A48086
%E10A4SA.DeviceDesc%            = E10A4,       PCI\VEN_8086&DEV_10A4

%E10BCSA.DeviceDesc%            = E10A4,       PCI\VEN_8086&DEV_10BC&SUBSYS_10BC8086
%E10BCSA.DeviceDesc%            = E10A4,       PCI\VEN_8086&DEV_10BC&SUBSYS_11BC8086
%E10BCSA.DeviceDesc%            = E10A4,       PCI\VEN_8086&DEV_10BC

%E10A5SA.DeviceDesc%            = E10A5,       PCI\VEN_8086&DEV_10A5&SUBSYS_10A58086
%E10A5SA.DeviceDesc%            = E10A5,       PCI\VEN_8086&DEV_10A5&SUBSYS_10A68086
%E10A5SA.DeviceDesc%            = E10A5,       PCI\VEN_8086&DEV_10A5

;==========================================================================
;
;                              WINDOWS NDIS 6.0
;
;==========================================================================

;-------------------------------------------------------------------------------
; Intel PRO\1000 PT Dual Port Network Connection and Server Adapter
;
[E105E]
Characteristics = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType         = 5    ; PCI
Port1FunctionNumber = 0
AddReg          = e1e.reg, Copper.reg, Copper1000.reg, TcpSeg.reg, 82571EB.reg
AddReg          = JumboPacket.reg
CopyFiles       = win60.CopyFiles
*IfType         = 6         ; IF_TYPE_ETHERNET_CSMACD
*MediaType      = 0         ; NdisMedium802_3
*PhysicalMediaType = 14     ; NdisPhysicalMedium802_3

[E105E.Services]
AddService = e1express, 2, win60.Service, win60.EventLog

[E105E.HW]
Include = machine.inf
Needs = PciIoSpaceNotRequired
AddReg = MSI.reg

;-------------------------------------------------------------------------------
; Intel(R) PRO/1000 PF Dual Port Server Adapter
;
[E105F]
Characteristics = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType         = 5    ; PCI
Port1FunctionNumber = 0
AddReg          = e1e.reg, TcpSeg.reg, 82571EB.reg, JumboPacket.reg
CopyFiles       = win60.CopyFiles
*IfType         = 6         ; IF_TYPE_ETHERNET_CSMACD
*MediaType      = 0         ; NdisMedium802_3
*PhysicalMediaType = 14     ; NdisPhysicalMedium802_3

[E105F.Services]
AddService = e1express, 2, win60.Service, win60.EventLog

[E105F.HW]
Include = machine.inf
Needs = PciIoSpaceNotRequired
AddReg = MSI.reg

;-------------------------------------------------------------------------------
; Intel PRO\1000 PT Network Connection and Server Adapter
;
[E107D]
Characteristics = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType         = 5    ; PCI
AddReg          = e1e.reg, Copper.reg, Copper1000.reg, TcpSeg.reg, 82571EB.reg
AddReg          = JumboPacket.reg
CopyFiles       = win60.CopyFiles
*IfType         = 6         ; IF_TYPE_ETHERNET_CSMACD
*MediaType      = 0         ; NdisMedium802_3
*PhysicalMediaType = 14     ; NdisPhysicalMedium802_3

[E107D.Services]
AddService = e1express, 2, win60.Service, win60.EventLog

[E107D.HW]
Include = machine.inf
Needs = PciIoSpaceNotRequired
AddReg = MSI.reg

;-------------------------------------------------------------------------------
; Intel(R) PRO/1000 PF Server Adapter
;
[E107E]
Characteristics = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType         = 5    ; PCI
AddReg          = e1e.reg, TcpSeg.reg, 82571EB.reg, JumboPacket.reg
CopyFiles       = win60.CopyFiles
*IfType         = 6         ; IF_TYPE_ETHERNET_CSMACD
*MediaType      = 0         ; NdisMedium802_3
*PhysicalMediaType = 14     ; NdisPhysicalMedium802_3

[E107E.Services]
AddService = e1express, 2, win60.Service, win60.EventLog

[E107E.HW]
Include = machine.inf
Needs = PciIoSpaceNotRequired
AddReg = MSI.reg

;-------------------------------------------------------------------------------
; Intel(R) PRO/1000 PT Gigabit Ethernet Controller
;
[E108B]
Characteristics = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType         = 5    ; PCI
AddReg          = e1e.reg, TcpSeg.reg, Copper.reg, Copper1000.reg, Ert.reg
CopyFiles       = win60.CopyFiles
*IfType         = 6		    ; IF_TYPE_ETHERNET_CSMACD
*MediaType      = 0		    ; NdisMedium802_3
*PhysicalMediaType = 14	    ; NdisPhysicalMedium802_3

[E108B.Services]
AddService = e1express, 2, win60.Service, win60.EventLog

[E108B.HW]
Include = machine.inf
Needs = PciIoSpaceNotRequired
AddReg = MSI.reg

;-------------------------------------------------------------------------------
; Intel(R) PRO/1000 PL Gigabit Ethernet Controller
;
[E109A]
Characteristics = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType         = 5    ; PCI
AddReg          = e1e.reg, TcpSeg.reg, Copper.reg, Copper1000.reg, Ert.reg
AddReg          = JumboPacket.reg, 109A_RDTR.reg
CopyFiles       = win60.CopyFiles
*IfType         = 6	        ; IF_TYPE_ETHERNET_CSMACD
*MediaType      = 0		    ; NdisMedium802_3
*PhysicalMediaType = 14	    ; NdisPhysicalMedium802_3

[E109A.Services]
AddService = e1express, 2, win60.Service, win60.EventLog

[E109A.HW]
Include = machine.inf
Needs = PciIoSpaceNotRequired
AddReg = MSI.reg

;-------------------------------------------------------------------------------
; Intel(R) PRO/1000 PL Gigabit Ethernet Controller (with DSPD support)
;
[E109ADSPD]
Characteristics = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType         = 5    ; PCI
AddReg          = e1e.reg, TcpSeg.reg, Copper.reg, Copper1000.reg, Ert.reg
AddReg          = JumboPacket.reg, 109A_RDTR.reg
CopyFiles       = win60.CopyFiles
*IfType         = 6         ; IF_TYPE_ETHERNET_CSMACD
*MediaType      = 0         ; NdisMedium802_3
*PhysicalMediaType = 14	    ; NdisPhysicalMedium802_3

[E109ADSPD.Services]
AddService = e1express, 2, win60.Service, win60.EventLog

[E109ADSPD.HW]
Include = machine.inf
Needs = PciIoSpaceNotRequired
AddReg = MSI.reg


;-------------------------------------------------------------------------------
; Intel(R) PRO/1000 EB Network Connection
;
[E1096]
Characteristics = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType         = 5    ; PCI
Port1FunctionNumber = 0
AddReg          = e1e.reg, TcpSeg.reg, Copper.reg, Copper1000.reg, 82571EB.reg, JumboPacket.reg
CopyFiles       = win60.CopyFiles
*IfType         = 6		    ; IF_TYPE_ETHERNET_CSMACD
*MediaType      = 0		    ; NdisMedium802_3
*PhysicalMediaType = 14		; NdisPhysicalMedium802_3

[E1096.Services]
AddService = e1express, 2, win60.Service, win60.EventLog

[E1096.HW]
Include = machine.inf
Needs = PciIoSpaceNotRequired
AddReg = MSI.reg

;-------------------------------------------------------------------------------
; Intel(R) PRO/1000 EB Backplane Connection
;
[E1098]
Characteristics = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType         = 5    ; PCI
Port1FunctionNumber = 0
AddReg          = e1e.reg, 82571EB.reg, JumboPacket.reg
CopyFiles       = win60.CopyFiles
*IfType         = 6		    ; IF_TYPE_ETHERNET_CSMACD
*MediaType      = 0		    ; NdisMedium802_3
*PhysicalMediaType = 14		; NdisPhysicalMedium802_3

[E1098.Services]
AddService = e1express, 2, win60.Service, win60.EventLog

[E1098.HW]
Include = machine.inf
Needs = PciIoSpaceNotRequired
AddReg = MSI.reg

;-------------------------------------------------------------------------------
; Intel(R) 82566DM/DC Gigabit Network Connection
;
[E104A]
Characteristics = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType         = 5    ; PCI
AddReg          = e1e.reg, TcpSeg.reg, Copper.reg, Copper1000.reg
CopyFiles       = win60.CopyFiles
*IfType         = 6         ; IF_TYPE_ETHERNET_CSMACD
*MediaType      = 0         ; NdisMedium802_3
*PhysicalMediaType = 14     ; NdisPhysicalMedium802_3

[E104A.Services]
AddService = e1express, 2, win60.Service, win60.EventLog

[E104A.HW]
Include = machine.inf
Needs = PciIoSpaceNotRequired
AddReg = MSI.reg

;-------------------------------------------------------------------------------
; Intel(R) 82566MM/MC Gigabit Network Connection
;
[E1049]
Characteristics = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType         = 5    ; PCI
AddReg          = e1e.reg, TcpSeg.reg, Copper.reg, Copper1000.reg
CopyFiles       = win60.CopyFiles
*IfType         = 6             ; IF_TYPE_ETHERNET_CSMACD
*MediaType      = 0             ; NdisMedium802_3
*PhysicalMediaType = 14         ; NdisPhysicalMedium802_3

[E1049.Services]
AddService = e1express, 2, win60.Service, win60.EventLog

[E1049.HW]
Include = machine.inf
Needs = PciIoSpaceNotRequired
AddReg = MSI.reg

;-------------------------------------------------------------------------------
; Intel PRO\1000 PT Quad Port Server Adapter
;
[E10A4]
Characteristics = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType         = 5    ; PCI
Port1FunctionNumber = 0
AddReg          = e1e.reg, Copper.reg, Copper1000.reg, TcpSeg.reg, 82571EB.reg
AddReg          = JumboPacket.reg
CopyFiles       = win60.CopyFiles
*IfType         = 6         ; IF_TYPE_ETHERNET_CSMACD
*MediaType      = 0         ; NdisMedium802_3
*PhysicalMediaType = 14     ; NdisPhysicalMedium802_3

[E10A4.Services]
AddService = e1express, 2, win60.Service, win60.EventLog

[E10A4.HW]
Include = machine.inf
Needs = PciIoSpaceNotRequired
AddReg = MSI.reg

;-------------------------------------------------------------------------------
; Intel PRO\1000 MF Quad Port Server Adapter
;
[E10A5]
Characteristics = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType         = 5    ; PCI
Port1FunctionNumber = 0
AddReg          = e1e.reg, 82571EB.reg, JumboPacket.reg
CopyFiles       = win60.CopyFiles
*IfType         = 6		    ; IF_TYPE_ETHERNET_CSMACD
*MediaType      = 0		    ; NdisMedium802_3
*PhysicalMediaType = 14		; NdisPhysicalMedium802_3

[E10A5.Services]
AddService = e1express, 2, win60.Service, win60.EventLog

[E10A5.HW]
Include = machine.inf
Needs = PciIoSpaceNotRequired
AddReg = MSI.reg

;-------------------------------------------------------------------------------
; Intel(R) 82566-2 DM Gigabit Network Connection
;
[E10BD]
Characteristics = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType         = 5    ; PCI
AddReg          = e1e.reg, TcpSeg.reg, Copper.reg, Copper1000.reg, JumboPacket.reg
CopyFiles       = win60.CopyFiles
*IfType         = 6		    ; IF_TYPE_ETHERNET_CSMACD
*MediaType      = 0		    ; NdisMedium802_3
*PhysicalMediaType = 14		; NdisPhysicalMedium802_3

[E10BD.Services]
AddService = e1express, 2, win60.Service, win60.EventLog

[E10BD.HW]
Include = machine.inf
Needs = PciIoSpaceNotRequired
AddReg = MSI.reg

;-------------------------------------------------------------------------------
; Intel(R) 82566-2 DC Gigabit Network Connection
;
[E294C]
Characteristics = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType         = 5    ; PCI
AddReg          = e1e.reg, TcpSeg.reg, Copper.reg, Copper1000.reg
CopyFiles       = win60.CopyFiles
*IfType         = 6		    ; IF_TYPE_ETHERNET_CSMACD
*MediaType      = 0		    ; NdisMedium802_3
*PhysicalMediaType = 14		; NdisPhysicalMedium802_3

[E294C.Services]
AddService = e1express, 2, win60.Service, win60.EventLog

[E294C.HW]
Include = machine.inf
Needs = PciIoSpaceNotRequired
AddReg = MSI.reg

;-------------------------------------------------------------------------------
; Intel(R) 82562V 10/100 Platform LAN Connect
;
[E104C]
Characteristics = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType         = 5    ; PCI
AddReg          = e1e.reg, TcpSeg.reg, Copper.reg
CopyFiles       = win60.CopyFiles
*IfType         = 6		    ; IF_TYPE_ETHERNET_CSMACD
*MediaType      = 0		    ; NdisMedium802_3
*PhysicalMediaType = 14		; NdisPhysicalMedium802_3

[E104C.Services]
AddService = e1express, 2, win60.Service, win60.EventLog

[E104C.HW]
Include = machine.inf
Needs = PciIoSpaceNotRequired
AddReg = MSI.reg

;-------------------------------------------------------------------------------
; Intel(R) PRO/1000 EB1 Network Connection
;
[E10BA]
Characteristics = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType         = 5    ; PCI
AddReg          = e1e.reg, TcpSeg.reg, Copper.reg, Copper1000.reg, 82571EB.reg, JumboPacket.reg
CopyFiles       = win60.CopyFiles
*IfType         = 6         ; IF_TYPE_ETHERNET_CSMACD
*MediaType      = 0         ; NdisMedium802_3
*PhysicalMediaType = 14     ; NdisPhysicalMedium802_3

[E10BA.Services]
AddService = e1express, 2, win60.Service, win60.EventLog

[E10BA.HW]
Include = machine.inf
Needs = PciIoSpaceNotRequired
AddReg = MSI.reg

;-------------------------------------------------------------------------------
; Intel(R) PRO/1000 EB1 Backplane Connection
;
[E10BB]
Characteristics = 0x84 ; NCF_HAS_UI | NCF_PHYSICAL
BusType         = 5    ; PCI
AddReg          = e1e.reg, TcpSeg.reg, 82571EB.reg, JumboPacket.reg
CopyFiles       = win60.CopyFiles
*IfType         = 6         ; IF_TYPE_ETHERNET_CSMACD
*MediaType      = 0         ; NdisMedium802_3
*PhysicalMediaType = 14     ; NdisPhysicalMedium802_3

[E10BB.Services]
AddService = e1express, 2, win60.Service, win60.EventLog

[E10BB.HW]
Include = machine.inf
Needs = PciIoSpaceNotRequired
AddReg = MSI.reg

;-----------------------------------------------------------------------------
; Registry Settings (decimal)
;
[e1e.reg]
HKR, Ndi\Interfaces,                                    UpperRange,             0, "ndis5"
HKR, Ndi\Interfaces,                                    LowerRange,             0, "ethernet"
HKR, Ndi,                                               Service,                0, "e1express"

; *FlowControl
HKR, Ndi\Params\*FlowControl,                           ParamDesc,              0, %FlowControl%
HKR, Ndi\Params\*FlowControl,                           default,                0, "3"
HKR, Ndi\Params\*FlowControl\Enum,                      "0",                    0, %Disabled%
HKR, Ndi\Params\*FlowControl\Enum,                      "1",                    0, %FlowControl_TxOnly%
HKR, Ndi\Params\*FlowControl\Enum,                      "2",                    0, %FlowControl_RxOnly%
HKR, Ndi\Params\*FlowControl\Enum,                      "3",                    0, %FlowControl_Full%
HKR, Ndi\Params\*FlowControl,                           type,                   0, "enum"

; *TransmitBuffers
HKR, Ndi\params\*TransmitBuffers,                       ParamDesc,              0, %TransmitBuffers%
HKR, Ndi\params\*TransmitBuffers,                       default,                0, "512"
HKR, Ndi\params\*TransmitBuffers,                       min,                    0, "80"
HKR, Ndi\params\*TransmitBuffers,                       max,                    0, "2048"
HKR, Ndi\params\*TransmitBuffers,                       step,                   0, "8"
HKR, Ndi\params\*TransmitBuffers,                       Base,                   0, "10"
HKR, Ndi\params\*TransmitBuffers,                       type,                   0, "int"

; *ReceiveBuffers
HKR, Ndi\params\*ReceiveBuffers,                        ParamDesc,              0, %ReceiveBuffers%
HKR, Ndi\params\*ReceiveBuffers,                        default,                0, "256"
HKR, Ndi\params\*ReceiveBuffers,                        min,                    0, "80"
HKR, Ndi\params\*ReceiveBuffers,                        max,                    0, "2048"
HKR, Ndi\params\*ReceiveBuffers,                        step,                   0, "8"
HKR, Ndi\params\*ReceiveBuffers,                        Base,                   0, "10"
HKR, Ndi\params\*ReceiveBuffers,                        type,                   0, "int"

; *TCPChecksumOffloadIPv4
HKR, Ndi\Params\*TCPChecksumOffloadIPv4,                ParamDesc,              0, %TCPChksumOffv4%
HKR, Ndi\Params\*TCPChecksumOffloadIPv4,                default,                0, "3"
HKR, Ndi\Params\*TCPChecksumOffloadIPv4\Enum,           "0",                    0, %Disabled%
HKR, Ndi\Params\*TCPChecksumOffloadIPv4\Enum,           "1",                    0, %ChksumOffTx%
HKR, Ndi\Params\*TCPChecksumOffloadIPv4\Enum,           "2",                    0, %ChksumOffRx%
HKR, Ndi\Params\*TCPChecksumOffloadIPv4\Enum,           "3",                    0, %ChksumOffTxRx%
HKR, Ndi\Params\*TCPChecksumOffloadIPv4,                type,                   0, "enum"

; *TCPChecksumOffloadIPv6
HKR, Ndi\Params\*TCPChecksumOffloadIPv6,                ParamDesc,              0, %TCPChksumOffv6%
HKR, Ndi\Params\*TCPChecksumOffloadIPv6,                default,                0, "3"
HKR, Ndi\Params\*TCPChecksumOffloadIPv6\Enum,           "0",                    0, %Disabled%
HKR, Ndi\Params\*TCPChecksumOffloadIPv6\Enum,           "1",                    0, %ChksumOffTx%
HKR, Ndi\Params\*TCPChecksumOffloadIPv6\Enum,           "2",                    0, %ChksumOffRx%
HKR, Ndi\Params\*TCPChecksumOffloadIPv6\Enum,           "3",                    0, %ChksumOffTxRx%
HKR, Ndi\Params\*TCPChecksumOffloadIPv6,                type,                   0, "enum"

; *UDPChecksumOffloadIPv4
HKR, Ndi\Params\*UDPChecksumOffloadIPv4,                ParamDesc,              0, %UDPChksumOffv4%
HKR, Ndi\Params\*UDPChecksumOffloadIPv4,                default,                0, "3"
HKR, Ndi\Params\*UDPChecksumOffloadIPv4\Enum,           "0",                    0, %Disabled%
HKR, Ndi\Params\*UDPChecksumOffloadIPv4\Enum,           "1",                    0, %ChksumOffTx%
HKR, Ndi\Params\*UDPChecksumOffloadIPv4\Enum,           "2",                    0, %ChksumOffRx%
HKR, Ndi\Params\*UDPChecksumOffloadIPv4\Enum,           "3",                    0, %ChksumOffTxRx%
HKR, Ndi\Params\*UDPChecksumOffloadIPv4,                type,                   0, "enum"

; *UDPChecksumOffloadIPv6
HKR, Ndi\Params\*UDPChecksumOffloadIPv6,                ParamDesc,              0, %UDPChksumOffv6%
HKR, Ndi\Params\*UDPChecksumOffloadIPv6,                default,                0, "3"
HKR, Ndi\Params\*UDPChecksumOffloadIPv6\Enum,           "0",                    0, %Disabled%
HKR, Ndi\Params\*UDPChecksumOffloadIPv6\Enum,           "1",                    0, %ChksumOffTx%
HKR, Ndi\Params\*UDPChecksumOffloadIPv6\Enum,           "2",                    0, %ChksumOffRx%
HKR, Ndi\Params\*UDPChecksumOffloadIPv6\Enum,           "3",                    0, %ChksumOffTxRx%
HKR, Ndi\Params\*UDPChecksumOffloadIPv6,                type,                   0, "enum"

; *IPChecksumOffloadIPv4
HKR, Ndi\Params\*IPChecksumOffloadIPv4,                 ParamDesc,              0, %IPChksumOffv4%
HKR, Ndi\Params\*IPChecksumOffloadIPv4,                 default,                0, "3"
HKR, Ndi\Params\*IPChecksumOffloadIPv4\Enum,            "0",                    0, %Disabled%
HKR, Ndi\Params\*IPChecksumOffloadIPv4\Enum,            "1",                    0, %ChksumOffTx%
HKR, Ndi\Params\*IPChecksumOffloadIPv4\Enum,            "2",                    0, %ChksumOffRx%
HKR, Ndi\Params\*IPChecksumOffloadIPv4\Enum,            "3",                    0, %ChksumOffTxRx%
HKR, Ndi\Params\*IPChecksumOffloadIPv4,                 type,                   0, "enum"

; Network Address
HKR, Ndi\params\NetworkAddress,                         ParamDesc,              0, %LAA%
HKR, Ndi\params\NetworkAddress,                         Default,                0, ""
HKR, Ndi\params\NetworkAddress,                         type,                   0, "edit"
HKR, NDI\params\NetworkAddress,                         LimitText,              0, "12"
HKR, NDI\params\NetworkAddress,                         UpperCase,              0, "1"
HKR, NDI\params\NetworkAddress,                         optional,               0, "1"

;Log Link State Event
HKR,Ndi\Params\LogLinkStateEvent,                       ParamDesc,              0, %LogLinkState%
HKR,Ndi\Params\LogLinkStateEvent,                       Type,                   0, "enum"
HKR,Ndi\Params\LogLinkStateEvent,                       Default,                0, "19"
HKR,Ndi\Params\LogLinkStateEvent\Enum,                  "19",                   0, %Enabled%
HKR,Ndi\Params\LogLinkStateEvent\Enum,                  "16",                   0, %Disabled%
HKR,,                                                   LogLinkStateEvent,      0, "19"

; Wait for Link
HKR, Ndi\Params\WaitAutoNegComplete,                    ParamDesc,              0, %WaitAutoNegComplete%
HKR, Ndi\Params\WaitAutoNegComplete,                    default,                0, "2"
HKR, Ndi\Params\WaitAutoNegComplete\Enum,               "0",                    0, %Off%
HKR, Ndi\Params\WaitAutoNegComplete\Enum,               "1",                    0, %On%
HKR, Ndi\Params\WaitAutoNegComplete\Enum,               "2",                    0, %AutoDetect%
HKR, Ndi\Params\WaitAutoNegComplete,                    type,                   0, "enum"

;  Interrupt Throttle Rate
HKR, Ndi\Params\ITR,                                    ParamDesc,              0, %InterruptThrottleRate%
HKR, Ndi\Params\ITR,                                    default,                0, "65535"
HKR, Ndi\Params\ITR\Enum,                               "65535",                0, %Adaptive%
HKR, Ndi\Params\ITR\Enum,                               "3600",                 0, %Extreme%
HKR, Ndi\Params\ITR\Enum,                               "2000",                 0, %High%
HKR, Ndi\Params\ITR\Enum,                               "950",                  0, %Medium%
HKR, Ndi\Params\ITR\Enum,                               "400",                  0, %Low%
HKR, Ndi\Params\ITR\Enum,                               "200",                  0, %Minimal%
HKR, Ndi\Params\ITR\Enum,                               "0",                    0, %Off%
HKR, Ndi\Params\ITR,                                    type,                   0, "enum"

; *InterruptModeration
HKR, Ndi\Params\*InterruptModeration,                   ParamDesc,              0, %InterruptModeration%
HKR, Ndi\Params\*InterruptModeration,                   default,                0, "1"
HKR, Ndi\Params\*InterruptModeration\Enum,              "0",                    0, %Disabled%
HKR, Ndi\Params\*InterruptModeration\Enum,              "1",                    0, %Enabled%
HKR, Ndi\Params\*InterruptModeration,                   type,                   0, "enum"

; *PriorityVLANTag
HKR, Ndi\Params\*PriorityVLANTag,                       ParamDesc,              0, %PriorityVLANTag%
HKR, Ndi\Params\*PriorityVLANTag,                       default,                0, "3"
HKR, Ndi\Params\*PriorityVLANTag\Enum,                  "0",                    0, %PriorityVlanDisabled%
HKR, Ndi\Params\*PriorityVLANTag\Enum,                  "1",                    0, %PriorityEnabled%
HKR, Ndi\Params\*PriorityVLANTag\Enum,                  "2",                    0, %VlanEnabled%
HKR, Ndi\Params\*PriorityVLANTag\Enum,                  "3",                    0, %PriorityVlanEnabled%
HKR, Ndi\Params\*PriorityVLANTag,                       type,                   0, "enum"

; *RSS
HKR, Ndi\Params\*RSS,                                   ParamDesc,              0, %RSS%
HKR, Ndi\Params\*RSS,                                   default,                0, "1"
HKR, Ndi\Params\*RSS,                                   type,                   0, "enum"
HKR, Ndi\Params\*RSS\Enum,                              "0",                    0, %Disabled%
HKR, Ndi\Params\*RSS\Enum,                              "1",                    0, %Enabled%

; Hardwired defaults
HKR,,                                                   CustomMessages,         0, "1"
HKR,,                                                   ManyCoreScaling,        0, "1"

; temporary workaround for MSI. NDIS blocks registration
HKR,,                                                   EnableMSI,              0x00010001, "1"

[TcpSeg.reg]
; *LsoV2IPv4 / *LsoV2IPv6
HKR, Ndi\Params\*LsoV2IPv4,                             ParamDesc,              0, %LsoV2IPv4%
HKR, Ndi\Params\*LsoV2IPv4,                             default,                0, "1"
HKR, Ndi\Params\*LsoV2IPv4\Enum,                        "0",                    0, %Disabled%
HKR, Ndi\Params\*LsoV2IPv4\Enum,                        "1",                    0, %Enabled%
HKR, Ndi\Params\*LsoV2IPv4,                             type,                   0, "enum"

HKR, Ndi\Params\*LsoV2IPv6,                             ParamDesc,              0, %LsoV2IPv6%
HKR, Ndi\Params\*LsoV2IPv6,                             default,                0, "1"
HKR, Ndi\Params\*LsoV2IPv6\Enum,                        "0",                    0, %Disabled%
HKR, Ndi\Params\*LsoV2IPv6\Enum,                        "1",                    0, %Enabled%
HKR, Ndi\Params\*LsoV2IPv6,                             type,                   0, "enum"

[82571EB.reg]
HKR,,                                                   InterruptsAutoMask,     0, "1"
HKR,,                                                   InterruptAsserted,      0, "1"

[Copper.reg]
HKR, Ndi\params\*SpeedDuplex,                           ParamDesc,              0, %SpeedDuplex%
HKR, Ndi\params\*SpeedDuplex,                           default,                0, "0"
HKR, Ndi\params\*SpeedDuplex,                           type,                   0, "enum"
HKR, Ndi\params\*SpeedDuplex\enum,                      "0",                    0, %AutoNegotiation%
HKR, Ndi\params\*SpeedDuplex\enum,                      "1",                    0, %10Mb_Half_Duplex%
HKR, Ndi\params\*SpeedDuplex\enum,                      "2",                    0, %10Mb_Full_Duplex%
HKR, Ndi\params\*SpeedDuplex\enum,                      "3",                    0, %100Mb_Half_Duplex%
HKR, Ndi\params\*SpeedDuplex\enum,                      "4",                    0, %100Mb_Full_Duplex%

; Adaptive IFS
HKR, Ndi\Params\AdaptiveIFS,                            ParamDesc,              0, %AdaptiveIFS%
HKR, Ndi\Params\AdaptiveIFS,                            default,                0, "0"
HKR, Ndi\Params\AdaptiveIFS,                            type,                   0, "enum"
HKR, Ndi\Params\AdaptiveIFS\Enum,                       "0",                    0, %Disabled%
HKR, Ndi\Params\AdaptiveIFS\Enum,                       "1",                    0, %Enabled%

[Copper1000.reg]
HKR, Ndi\params\*SpeedDuplex\enum,                      "6",                    0, %1000Mb_Full_Duplex%

; Gigabit Master Slave Mode
HKR,Ndi\Params\MasterSlave,                             ParamDesc,              0, %MasterSlaveMode%
HKR,Ndi\Params\MasterSlave,                             Type,                   0, "enum"
HKR,Ndi\Params\MasterSlave,                             Default,                0, "0"
HKR,Ndi\Params\MasterSlave\Enum,                        "0",                    0, %AutoDetect%
HKR,Ndi\Params\MasterSlave\Enum,                        "1",                    0, %GigabitMasterMode%
HKR,Ndi\Params\MasterSlave\Enum,                        "2",                    0, %GigabitSlaveMode%

;----------------------------------------------------------------------------
; Packet specifics
;
[Ert.reg]
HKR,,                                                   ERT,                    0, "0"

; *JumboPacket
[JumboPacket.reg]
HKR, Ndi\Params\*JumboPacket,                           ParamDesc,              0, %JumboPacket%
HKR, Ndi\Params\*JumboPacket,                           default,                0, "1514"
HKR, Ndi\Params\*JumboPacket\Enum,                      "1514",                 0, %Disabled%
HKR, Ndi\Params\*JumboPacket\Enum,                      "4088",                 0, %Bytes4088%
HKR, Ndi\Params\*JumboPacket\Enum,                      "9014",                 0, %Bytes9014%
HKR, Ndi\Params\*JumboPacket,                           type,                   0, "enum"

;----------------------------------------------------------------------------
; Receive Interrupt Delay
;
[109A_RDTR.reg]
HKR,,                                                   RxPacketDelayTimer,     0, "32"

[MSI.reg]
HKR, "Interrupt Management", 0x00000010
HKR, "Interrupt Management\MessageSignaledInterruptProperties", 0x00000010
HKR, "Interrupt Management\MessageSignaledInterruptProperties", MSISupported, 0x00010001, 1
HKR, "Interrupt Management\MessageSignaledInterruptProperties", MessageNumberLimit, 0x00010001, 1

;-----------------------------------------------------------------------------
;-----------------------------------------------------------------------------
; win60 copy files
;
[win60.CopyFiles]
e1e6032.sys,,,2

[SourceDisksNames]
;
; diskid = description[, [tagfile] [, <unused>, subdir]]
;
1 = %DISKNAME%,e1e6032.sys,,


[SourceDisksFiles]
;
; filename_on_source = diskID[, [subdir][, size]]
;
e1e6032.sys = 1,, ; on distribution disk 1

[win60.Service]
DisplayName     = %E1Express.Service.DispName%
ServiceType     = 1 ;%SERVICE_KERNEL_DRIVER%
StartType       = 3 ;%SERVICE_DEMAND_START%
ErrorControl    = 1 ;%SERVICE_ERROR_NORMAL%
ServiceBinary   = %12%\e1e6032.sys
LoadOrderGroup  = NDIS

;-----------------------------------------------------------------------------
; Common base for all drivers for Eventlog and TextModeFlags
;
[win60.EventLog]
AddReg = win60.AddEventLog.reg

[win60.AddEventLog.reg]
HKR, , EventMessageFile, 0x00020000, %EventLogMessageDllPath_win60%
HKR, , TypesSupported,   0x00010001, 7

;-----------------------------------------------------------------------------
; DestinationDirs
;
[DestinationDirs]
DefaultDestDir                = 11
win60.CopyFiles               = 12

;-----------------------------------------------------------------------------
; Localizable Strings
;
[Strings]
MSFT		= "Microsoft"
DISKNAME	= "Intel(R) PRO/1000 Driver Disk"

;---------------------------------------------------------------------------------------------------
EventLogMessageDllPath_win60 = "%SystemRoot%\System32\netevent.dll;%SystemRoot%\System32\drivers\e1e6032.sys"

;---------------------------------------------------------------------------------------------------
AutoDetect                      = "Auto Detect"
AutoNegotiation                 = "Auto Negotiation"

SpeedDuplex                     = "Link Speed & Duplex"
10Mb_Half_Duplex                = "10 Mbps Half Duplex"
10Mb_Full_Duplex                = "10 Mbps Full Duplex"
100Mb_Half_Duplex               = "100 Mbps Half Duplex"
100Mb_Full_Duplex               = "100 Mbps Full Duplex"
1000Mb_Full_Duplex              = "1.0 Gbps Full Duplex"

IPChksumOffv4                   = "IPv4 Checksum Offload"
TCPChksumOffv4                  = "TCP Checksum Offload (IPv4)"
TCPChksumOffv6                  = "TCP Checksum Offload (IPv6)"
UDPChksumOffv4                  = "UDP Checksum Offload (IPv4)"
UDPChksumOffv6                  = "UDP Checksum Offload (IPv6)"
LsoV2IPv4                       = "Large Send Offload v2 (IPv4)"
LsoV2IPv6                       = "Large Send Offload v2 (IPv6)"

ChksumOffTxRx                   = "Rx & Tx Enabled"
ChksumOffTx                     = "Tx Enabled"
ChksumOffRx                     = "Rx Enabled"

FlowControl                     = "Flow Control"
FlowControl_TxOnly              = "Tx Enabled"
FlowControl_RxOnly              = "Rx Enabled"
FlowControl_Full                = "Rx & Tx Enabled"

PriorityVlanDisabled            = "Priority & VLAN Disabled"
PriorityEnabled                 = "Priority Enabled"
VlanEnabled                     = "VLAN Enabled"
PriorityVlanEnabled             = "Priority & VLAN Enabled"

TransmitBuffers                 = "Transmit Buffers"
ReceiveBuffers                  = "Receive Buffers"
PriorityVLANTag                 = "Priority & VLAN"
RSS                             = "Receive Side Scaling"

On                              = "On"
Off                             = "Off"
Enabled                         = "Enabled"
Disabled                        = "Disabled"
Bytes4088                       = "4088 Bytes"
Bytes9014                       = "9014 Bytes"

LAA                             = "Locally Administered Address"
JumboPacket                     = "Jumbo Packet"

AdaptiveIFS                     = "Adaptive Inter-Frame Spacing"

LogLinkState                    = "Log Link State Event"
InterruptModeration             = "Interrupt Moderation"
InterruptThrottleRate           = "Interrupt Moderation Rate"
Adaptive		                = "Adaptive"
Extreme                         = "Extreme"
Minimal                         = "Minimal"
High                            = "High"
Medium                          = "Medium"
Low                             = "Low"
GigabitMasterMode               = "Force Master Mode"
GigabitSlaveMode                = "Force Slave Mode"
MasterSlaveMode                 = "Gigabit Master Slave Mode"
WaitAutoNegComplete             = "Wait for Link"

Intel                           = "Intel"

E1Express.Service.DispName      = "Intel(R) PRO/1000 PCI Express Network Connection Driver"

;; Brandnames.str
;---------------------------------------------------------------------------------------------------
E108BEC.DeviceDesc         = "Intel(R) PRO/1000 PM Network Connection"
E109AEC.DeviceDesc         = "Intel(R) PRO/1000 PL Network Connection"
E1096NC.DeviceDesc         = "Intel(R) PRO/1000 EB Network Connection with I/O Acceleration"
E1098BC.DeviceDesc         = "Intel(R) PRO/1000 EB Backplane Connection with I/O Acceleration"

E105ENC.DeviceDesc         = "Intel(R) PRO/1000 PT Dual Port Network Connection"
E105ESC.DeviceDesc         = "Intel(R) PRO/1000 PT Dual Port Server Connection"
E105ESA.DeviceDesc         = "Intel(R) PRO/1000 PT Dual Port Server Adapter"
E105FSA.DeviceDesc         = "Intel(R) PRO/1000 PF Dual Port Server Adapter"
E1060SC.DeviceDesc         = "Intel(R) PRO/1000 PB Dual Port Server Connection"

E107DSA.DeviceDesc         = "Intel(R) PRO/1000 PT Server Adapter"
E107DNC.DeviceDesc         = "Intel(R) PRO/1000 PT Network Connection"
E107ESA.DeviceDesc         = "Intel(R) PRO/1000 PF Server Adapter"
E107ESC.DeviceDesc         = "Intel(R) PRO/1000 PF Network Connection"
E107FSC.DeviceDesc         = "Intel(R) PRO/1000 PB Server Connection"
E10B9DA.DeviceDesc         = "Intel(R) PRO/1000 PT Desktop Adapter"

E1049NC.DeviceDesc         = "Intel(R) 82566MM Gigabit Network Connection"
E104ANC.DeviceDesc         = "Intel(R) 82566DM Gigabit Network Connection"
E104BNC.DeviceDesc         = "Intel(R) 82566DC Gigabit Network Connection"
E104DNC.DeviceDesc         = "Intel(R) 82566MC Gigabit Network Connection"

E104CNC.DeviceDesc         = "Intel(R) 82562V 10/100 Network Connection"
E10C4NC.DeviceDesc         = "Intel(R) 82562GT 10/100 Network Connection"
E10C5NC.DeviceDesc         = "Intel(R) 82562G 10/100 Network Connection"

E10BDNC.DeviceDesc         = "Intel(R) 82566DM-2 Gigabit Network Connection"
E294CNC.DeviceDesc         = "Intel(R) 82566DC-2 Gigabit Network Connection"

E10A4SA.DeviceDesc         = "Intel(R) PRO/1000 PT Quad Port Server Adapter"
E10BCSA.DeviceDesc         = "Intel(R) PRO/1000 PT Quad Port LP Server Adapter"
E10A5SA.DeviceDesc         = "Intel(R) PRO/1000 PF Quad Port Server Adapter"

E10C0NC.DeviceDesc         = "Intel(R) 82562V-2 10/100 Network Connection"
E10C2NC.DeviceDesc         = "Intel(R) 82562G-2 10/100 Network Connection"
E10C3NC.DeviceDesc         = "Intel(R) 82562GT-2 10/100 Network Connection"

E10BANC.DeviceDesc         = "Intel(R) PRO/1000 EB1 Network Connection with I/O Acceleration"
E10BBNC.DeviceDesc         = "Intel(R) PRO/1000 EB1 Backplane Connection with I/O Acceleration"


;---------------------------------------------------------------------------------------------------
;---------------------------------------------------------------------------------------------------
;---------------------------------------------------------------------------------------------------
;---------------------------------------------------------------------------------------------------
;---------------------------------------------------------------------------------------------------

