|  | name setupapi | 
|  | type win32 | 
|  | rsrc setupapi.res | 
|  |  | 
|  | import user32.dll | 
|  | import advapi32.dll | 
|  | import kernel32.dll | 
|  | import ntdll.dll | 
|  |  | 
|  | debug_channels (setupapi) | 
|  |  | 
|  | # almost all functions are commented out for now. Ordinals are from setupapi.dll 4.0 | 
|  |  | 
|  | # 45 stdcall SetupAddInstallSectionToDiskSpaceListA()         SetupAddInstallSectionToDiskSpaceListA | 
|  | # 46 stdcall SetupAddInstallSectionToDiskSpaceListW()         SetupAddInstallSectionToDiskSpaceListW | 
|  | # 47 stdcall SetupAddSectionToDiskSpaceListA()                SetupAddSectionToDiskSpaceListA | 
|  | # 48 stdcall SetupAddSectionToDiskSpaceListW()                SetupAddSectionToDiskSpaceListW | 
|  | # 49 stdcall SetupAddToDiskSpaceListA()                       SetupAddToDiskSpaceListA | 
|  | # 50 stdcall SetupAddToDiskSpaceListW()                       SetupAddToDiskSpaceListW | 
|  | # 51 stdcall SetupAddToSourceListA()                          SetupAddToSourceListA | 
|  | # 52 stdcall SetupAddToSourceListW()                          SetupAddToSourceListW | 
|  | # 53 stdcall SetupAdjustDiskSpaceListA()                      SetupAdjustDiskSpaceListA | 
|  | # 54 stdcall SetupAdjustDiskSpaceListW()                      SetupAdjustDiskSpaceListW | 
|  | # 55 stdcall SetupCancelTemporarySourceList()                 SetupCancelTemporarySourceList | 
|  | 56 stdcall SetupCloseFileQueue(ptr)                           SetupCloseFileQueue | 
|  | 57 stdcall SetupCloseInfFile(long)                            SetupCloseInfFile | 
|  | # 58 stdcall SetupCommitFileQueue()                           SetupCommitFileQueue | 
|  | 59 stdcall SetupCommitFileQueueA(ptr ptr ptr ptr)             SetupCommitFileQueueA | 
|  | # 60 stdcall SetupCommitFileQueueW()                          SetupCommitFileQueueW | 
|  | # 61 stdcall SetupCopyErrorA()                                SetupCopyErrorA | 
|  | # 62 stdcall SetupCopyErrorW()                                SetupCopyErrorW | 
|  | # 63 stdcall SetupCreateDiskSpaceListA()                      SetupCreateDiskSpaceListA | 
|  | # 64 stdcall SetupCreateDiskSpaceListW()                      SetupCreateDiskSpaceListW | 
|  | # 65 stdcall SetupDecompressOrCopyFileA()                     SetupDecompressOrCopyFileA | 
|  | # 66 stdcall SetupDecompressOrCopyFileW()                     SetupDecompressOrCopyFileW | 
|  | # 67 stdcall SetupDefaultQueueCallback()                      SetupDefaultQueueCallback | 
|  | 68 stdcall SetupDefaultQueueCallbackA(ptr long long long)     SetupDefaultQueueCallbackA | 
|  | # 69 stdcall SetupDefaultQueueCallbackW()                     SetupDefaultQueueCallbackW | 
|  | # 70 stdcall SetupDeleteErrorA()                              SetupDeleteErrorA | 
|  | # 71 stdcall SetupDeleteErrorW()                              SetupDeleteErrorW | 
|  | # 72 stdcall SetupDestroyDiskSpaceList()                      SetupDestroyDiskSpaceList | 
|  | # 73 stdcall SetupDiAskForOEMDisk()                           SetupDiAskForOEMDisk | 
|  | # 74 stdcall SetupDiBuildClassInfoList()                      SetupDiBuildClassInfoList | 
|  | # 75 stdcall SetupDiBuildDriverInfoList()                     SetupDiBuildDriverInfoList | 
|  | # 76 stdcall SetupDiCallClassInstaller()                      SetupDiCallClassInstaller | 
|  | # 77 stdcall SetupDiCancelDriverInfoSearch()                  SetupDiCancelDriverInfoSearch | 
|  | # 78 stdcall SetupDiChangeState()                             SetupDiChangeState | 
|  | # 79 stdcall SetupDiClassGuidsFromNameA()                     SetupDiClassGuidsFromNameA | 
|  | # 80 stdcall SetupDiClassGuidsFromNameW()                     SetupDiClassGuidsFromNameW | 
|  | # 81 stdcall SetupDiClassNameFromGuidA()                      SetupDiClassNameFromGuidA | 
|  | # 82 stdcall SetupDiClassNameFromGuidW()                      SetupDiClassNameFromGuidW | 
|  | # 83 stdcall SetupDiCreateDevRegKeyA()                        SetupDiCreateDevRegKeyA | 
|  | # 84 stdcall SetupDiCreateDevRegKeyW()                        SetupDiCreateDevRegKeyW | 
|  | # 85 stdcall SetupDiCreateDeviceInfoA()                       SetupDiCreateDeviceInfoA | 
|  | # 86 stdcall SetupDiCreateDeviceInfoList()                    SetupDiCreateDeviceInfoList | 
|  | # 87 stdcall SetupDiCreateDeviceInfoW()                       SetupDiCreateDeviceInfoW | 
|  | # 88 stdcall SetupDiDeleteDevRegKey()                         SetupDiDeleteDevRegKey | 
|  | # 89 stdcall SetupDiDeleteDeviceInfo()                        SetupDiDeleteDeviceInfo | 
|  | # 90 stdcall SetupDiDestroyClassImageList()                   SetupDiDestroyClassImageList | 
|  | # 91 stdcall SetupDiDestroyDeviceInfoList()                   SetupDiDestroyDeviceInfoList | 
|  | # 92 stdcall SetupDiDestroyDriverInfoList()                   SetupDiDestroyDriverInfoList | 
|  | # 93 stdcall SetupDiDrawMiniIcon()                            SetupDiDrawMiniIcon | 
|  | # 94 stdcall SetupDiEnumDeviceInfo()                          SetupDiEnumDeviceInfo | 
|  | # 95 stdcall SetupDiEnumDriverInfoA()                         SetupDiEnumDriverInfoA | 
|  | # 96 stdcall SetupDiEnumDriverInfoW()                         SetupDiEnumDriverInfoW | 
|  | # 97 stdcall SetupDiGetActualSectionToInstallA()              SetupDiGetActualSectionToInstallA | 
|  | # 98 stdcall SetupDiGetActualSectionToInstallW()              SetupDiGetActualSectionToInstallW | 
|  | # 99 stdcall SetupDiGetClassBitmapIndex()                     SetupDiGetClassBitmapIndex | 
|  | #100 stdcall SetupDiGetClassDescriptionA()                    SetupDiGetClassDescriptionA | 
|  | #101 stdcall SetupDiGetClassDescriptionW()                    SetupDiGetClassDescriptionW | 
|  | #102 stdcall SetupDiGetClassDevPropertySheetsA()              SetupDiGetClassDevPropertySheetsA | 
|  | #103 stdcall SetupDiGetClassDevPropertySheetsW()              SetupDiGetClassDevPropertySheetsW | 
|  | #104 stdcall SetupDiGetClassDevsA()                           SetupDiGetClassDevsA | 
|  | #105 stdcall SetupDiGetClassDevsW()                           SetupDiGetClassDevsW | 
|  | #106 stdcall SetupDiGetClassImageIndex()                      SetupDiGetClassImageIndex | 
|  | #107 stdcall SetupDiGetClassImageList()                       SetupDiGetClassImageList | 
|  | #108 stdcall SetupDiGetClassInstallParamsA()                  SetupDiGetClassInstallParamsA | 
|  | #109 stdcall SetupDiGetClassInstallParamsW()                  SetupDiGetClassInstallParamsW | 
|  | #110 stdcall SetupDiGetDeviceInfoListClass()                  SetupDiGetDeviceInfoListClass | 
|  | #111 stdcall SetupDiGetDeviceInstallParamsA()                 SetupDiGetDeviceInstallParamsA | 
|  | #112 stdcall SetupDiGetDeviceInstallParamsW()                 SetupDiGetDeviceInstallParamsW | 
|  | #113 stdcall SetupDiGetDeviceInstanceIdA()                    SetupDiGetDeviceInstanceIdA | 
|  | #114 stdcall SetupDiGetDeviceInstanceIdW()                    SetupDiGetDeviceInstanceIdW | 
|  | #115 stdcall SetupDiGetDeviceRegistryPropertyA()              SetupDiGetDeviceRegistryPropertyA | 
|  | #116 stdcall SetupDiGetDeviceRegistryPropertyW()              SetupDiGetDeviceRegistryPropertyW | 
|  | #117 stdcall SetupDiGetDriverInfoDetailA()                    SetupDiGetDriverInfoDetailA | 
|  | #118 stdcall SetupDiGetDriverInfoDetailW()                    SetupDiGetDriverInfoDetailW | 
|  | #119 stdcall SetupDiGetDriverInstallParamsA()                 SetupDiGetDriverInstallParamsA | 
|  | #120 stdcall SetupDiGetDriverInstallParamsW()                 SetupDiGetDriverInstallParamsW | 
|  | #121 stdcall SetupDiGetHwProfileFriendlyNameA()               SetupDiGetHwProfileFriendlyNameA | 
|  | #122 stdcall SetupDiGetHwProfileFriendlyNameW()               SetupDiGetHwProfileFriendlyNameW | 
|  | #123 stdcall SetupDiGetHwProfileList()                        SetupDiGetHwProfileList | 
|  | #124 stdcall SetupDiGetINFClassA()                            SetupDiGetINFClassA | 
|  | #125 stdcall SetupDiGetINFClassW()                            SetupDiGetINFClassW | 
|  | #126 stdcall SetupDiGetSelectedDevice()                       SetupDiGetSelectedDevice | 
|  | #127 stdcall SetupDiGetSelectedDriverA()                      SetupDiGetSelectedDriverA | 
|  | #128 stdcall SetupDiGetSelectedDriverW()                      SetupDiGetSelectedDriverW | 
|  | #129 stdcall SetupDiGetWizardPage()                           SetupDiGetWizardPage | 
|  | #130 stdcall SetupDiInstallClassA()                           SetupDiInstallClassA | 
|  | #131 stdcall SetupDiInstallClassW()                           SetupDiInstallClassW | 
|  | #132 stdcall SetupDiInstallDevice()                           SetupDiInstallDevice | 
|  | #133 stdcall SetupDiInstallDriverFiles()                      SetupDiInstallDriverFiles | 
|  | #134 stdcall SetupDiLoadClassIcon()                           SetupDiLoadClassIcon | 
|  | #135 stdcall SetupDiMoveDuplicateDevice()                     SetupDiMoveDuplicateDevice | 
|  | #136 stdcall SetupDiOpenClassRegKey()                         SetupDiOpenClassRegKey | 
|  | #137 stdcall SetupDiOpenDevRegKey()                           SetupDiOpenDevRegKey | 
|  | #138 stdcall SetupDiOpenDeviceInfoA()                         SetupDiOpenDeviceInfoA | 
|  | #139 stdcall SetupDiOpenDeviceInfoW()                         SetupDiOpenDeviceInfoW | 
|  | #140 stdcall SetupDiRegisterDeviceInfo()                      SetupDiRegisterDeviceInfo | 
|  | #141 stdcall SetupDiRemoveDevice()                            SetupDiRemoveDevice | 
|  | #142 stdcall SetupDiSelectDevice()                            SetupDiSelectDevice | 
|  | #143 stdcall SetupDiSelectOEMDrv()                            SetupDiSelectOEMDrv | 
|  | #144 stdcall SetupDiSetClassInstallParamsA()                  SetupDiSetClassInstallParamsA | 
|  | #145 stdcall SetupDiSetClassInstallParamsW()                  SetupDiSetClassInstallParamsW | 
|  | #146 stdcall SetupDiSetDeviceInstallParamsA()                 SetupDiSetDeviceInstallParamsA | 
|  | #147 stdcall SetupDiSetDeviceInstallParamsW()                 SetupDiSetDeviceInstallParamsW | 
|  | #148 stdcall SetupDiSetDeviceRegistryPropertyA()              SetupDiSetDeviceRegistryPropertyA | 
|  | #149 stdcall SetupDiSetDeviceRegistryPropertyW()              SetupDiSetDeviceRegistryPropertyW | 
|  | #150 stdcall SetupDiSetDriverInstallParamsA()                 SetupDiSetDriverInstallParamsA | 
|  | #151 stdcall SetupDiSetDriverInstallParamsW()                 SetupDiSetDriverInstallParamsW | 
|  | #152 stdcall SetupDiSetSelectedDevice()                       SetupDiSetSelectedDevice | 
|  | #153 stdcall SetupDiSetSelectedDriverA()                      SetupDiSetSelectedDriverA | 
|  | #154 stdcall SetupDiSetSelectedDriverW()                      SetupDiSetSelectedDriverW | 
|  | #155 stdcall SetupDuplicateDiskSpaceListA()                   SetupDuplicateDiskSpaceListA | 
|  | #156 stdcall SetupDuplicateDiskSpaceListW()                   SetupDuplicateDiskSpaceListW | 
|  | 157 stdcall SetupFindFirstLineA(long str str ptr)             SetupFindFirstLineA | 
|  | #158 stdcall SetupFindFirstLineW()                            SetupFindFirstLineW | 
|  | 159 stdcall SetupFindNextLine(ptr ptr)                        SetupFindNextLine | 
|  | #160 stdcall SetupFindNextMatchLineA()                        SetupFindNextMatchLineA | 
|  | #161 stdcall SetupFindNextMatchLineW()                        SetupFindNextMatchLineW | 
|  | #162 stdcall SetupFreeSourceListA()                           SetupFreeSourceListA | 
|  | #163 stdcall SetupFreeSourceListW()                           SetupFreeSourceListW | 
|  | #164 stdcall SetupGetBinaryField()                            SetupGetBinaryField | 
|  | #165 stdcall SetupGetFieldCount()                             SetupGetFieldCount | 
|  | #166 stdcall SetupGetFileCompressionInfoA()                   SetupGetFileCompressionInfoA | 
|  | #167 stdcall SetupGetFileCompressionInfoW()                   SetupGetFileCompressionInfoW | 
|  | #168 stdcall SetupGetInfFileListA()                           SetupGetInfFileListA | 
|  | #169 stdcall SetupGetInfFileListW()                           SetupGetInfFileListW | 
|  | #170 stdcall SetupGetInfInformationA()                        SetupGetInfInformationA | 
|  | #171 stdcall SetupGetInfInformationW()                        SetupGetInfInformationW | 
|  | #172 stdcall SetupGetIntField()                               SetupGetIntField | 
|  | 173 stdcall SetupGetLineByIndexA(ptr str long ptr)            SetupGetLineByIndexA | 
|  | #174 stdcall SetupGetLineByIndexW()                           SetupGetLineByIndexW | 
|  | #175 stdcall SetupGetLineCountA()                             SetupGetLineCountA | 
|  | #176 stdcall SetupGetLineCountW()                             SetupGetLineCountW | 
|  | 177 stdcall SetupGetLineTextA(ptr long str str ptr long ptr)  SetupGetLineTextA | 
|  | #178 stdcall SetupGetLineTextW()                              SetupGetLineTextW | 
|  | #179 stdcall SetupGetMultiSzFieldA()                          SetupGetMultiSzFieldA | 
|  | #180 stdcall SetupGetMultiSzFieldW()                          SetupGetMultiSzFieldW | 
|  | #181 stdcall SetupGetSourceFileLocationA()                    SetupGetSourceFileLocationA | 
|  | #182 stdcall SetupGetSourceFileLocationW()                    SetupGetSourceFileLocationW | 
|  | #183 stdcall SetupGetSourceFileSizeA()                        SetupGetSourceFileSizeA | 
|  | #184 stdcall SetupGetSourceFileSizeW()                        SetupGetSourceFileSizeW | 
|  | #185 stdcall SetupGetSourceInfoA()                            SetupGetSourceInfoA | 
|  | #186 stdcall SetupGetSourceInfoW()                            SetupGetSourceInfoW | 
|  | 187 stdcall SetupGetStringFieldA(ptr long str long ptr)       SetupGetStringFieldA | 
|  | #188 stdcall SetupGetStringFieldW()                           SetupGetStringFieldW | 
|  | #189 stdcall SetupGetTargetPathA()                            SetupGetTargetPathA | 
|  | #190 stdcall SetupGetTargetPathW()                            SetupGetTargetPathW | 
|  | 191 stdcall SetupInitDefaultQueueCallback(long)               SetupInitDefaultQueueCallback | 
|  | 192 stdcall SetupInitDefaultQueueCallbackEx(long long long long ptr) SetupInitDefaultQueueCallbackEx | 
|  | #193 stdcall SetupInitializeFileLogA()                        SetupInitializeFileLogA | 
|  | #194 stdcall SetupInitializeFileLogW()                        SetupInitializeFileLogW | 
|  | #195 stdcall SetupInstallFileA()                              SetupInstallFileA | 
|  | #196 stdcall SetupInstallFileExA()                            SetupInstallFileExA | 
|  | #197 stdcall SetupInstallFileExW()                            SetupInstallFileExW | 
|  | #198 stdcall SetupInstallFileW()                              SetupInstallFileW | 
|  | #199 stdcall SetupInstallFilesFromInfSectionA()               SetupInstallFilesFromInfSectionA | 
|  | #200 stdcall SetupInstallFilesFromInfSectionW()               SetupInstallFilesFromInfSectionW | 
|  | 201 stdcall SetupInstallFromInfSectionA(long long str long long str long ptr ptr long ptr)    SetupInstallFromInfSectionA | 
|  | #202 stdcall SetupInstallFromInfSectionW()                    SetupInstallFromInfSectionW | 
|  | #203 stdcall SetupInstallServicesFromInfSectionA()            SetupInstallServicesFromInfSectionA | 
|  | #204 stdcall SetupInstallServicesFromInfSectionW()            SetupInstallServicesFromInfSectionW | 
|  | 205 stdcall SetupIterateCabinetA(str long ptr ptr) SetupIterateCabinetA | 
|  | 206 stdcall SetupIterateCabinetW(wstr long ptr ptr) SetupIterateCabinetW | 
|  | #207 stdcall SetupLogFileA()                                  SetupLogFileA | 
|  | #208 stdcall SetupLogFileW()                                  SetupLogFileW | 
|  | 209 stdcall SetupOpenAppendInfFileA(str ptr ptr)              SetupOpenAppendInfFileA | 
|  | #210 stdcall SetupOpenAppendInfFileW()                        SetupOpenAppendInfFileW | 
|  | 211 stdcall SetupOpenFileQueue()                              SetupOpenFileQueue | 
|  | 212 stdcall SetupOpenInfFileA(ptr ptr long ptr)               SetupOpenInfFileA | 
|  | #213 stdcall SetupOpenInfFileW()                              SetupOpenInfFileW | 
|  | #214 stdcall SetupOpenMasterInf()                             SetupOpenMasterInf | 
|  | #215 stdcall SetupPromptForDiskA()                            SetupPromptForDiskA | 
|  | #216 stdcall SetupPromptForDiskW()                            SetupPromptForDiskW | 
|  | #217 stdcall SetupPromptReboot()                              SetupPromptReboot | 
|  | #218 stdcall SetupQueryDrivesInDiskSpaceListA()               SetupQueryDrivesInDiskSpaceListA | 
|  | #219 stdcall SetupQueryDrivesInDiskSpaceListW()               SetupQueryDrivesInDiskSpaceListW | 
|  | #220 stdcall SetupQueryFileLogA()                             SetupQueryFileLogA | 
|  | #221 stdcall SetupQueryFileLogW()                             SetupQueryFileLogW | 
|  | #222 stdcall SetupQueryInfFileInformationA()                  SetupQueryInfFileInformationA | 
|  | #223 stdcall SetupQueryInfFileInformationW()                  SetupQueryInfFileInformationW | 
|  | #224 stdcall SetupQueryInfVersionInformationA()               SetupQueryInfVersionInformationA | 
|  | #225 stdcall SetupQueryInfVersionInformationW()               SetupQueryInfVersionInformationW | 
|  | #226 stdcall SetupQuerySourceListA()                          SetupQuerySourceListA | 
|  | #227 stdcall SetupQuerySourceListW()                          SetupQuerySourceListW | 
|  | #228 stdcall SetupQuerySpaceRequiredOnDriveA()                SetupQuerySpaceRequiredOnDriveA | 
|  | #229 stdcall SetupQuerySpaceRequiredOnDriveW()                SetupQuerySpaceRequiredOnDriveW | 
|  | 230 stdcall SetupQueueCopyA(ptr str str str str str str str long) SetupQueueCopyA | 
|  | #231 stdcall SetupQueueCopySectionA()                         SetupQueueCopySectionA | 
|  | #232 stdcall SetupQueueCopySectionW()                         SetupQueueCopySectionW | 
|  | #233 stdcall SetupQueueCopyW()                                SetupQueueCopyW | 
|  | #234 stdcall SetupQueueDefaultCopyA()                         SetupQueueDefaultCopyA | 
|  | #235 stdcall SetupQueueDefaultCopyW()                         SetupQueueDefaultCopyW | 
|  | #236 stdcall SetupQueueDeleteA()                              SetupQueueDeleteA | 
|  | #237 stdcall SetupQueueDeleteSectionA()                       SetupQueueDeleteSectionA | 
|  | #238 stdcall SetupQueueDeleteSectionW()                       SetupQueueDeleteSectionW | 
|  | #239 stdcall SetupQueueDeleteW()                              SetupQueueDeleteW | 
|  | #240 stdcall SetupQueueRenameA()                              SetupQueueRenameA | 
|  | #241 stdcall SetupQueueRenameSectionA()                       SetupQueueRenameSectionA | 
|  | #242 stdcall SetupQueueRenameSectionW()                       SetupQueueRenameSectionW | 
|  | #243 stdcall SetupQueueRenameW()                              SetupQueueRenameW | 
|  | #244 stdcall SetupRemoveFileLogEntryA()                       SetupRemoveFileLogEntryA | 
|  | #245 stdcall SetupRemoveFileLogEntryW()                       SetupRemoveFileLogEntryW | 
|  | #246 stdcall SetupRemoveFromDiskSpaceListA()                  SetupRemoveFromDiskSpaceListA | 
|  | #247 stdcall SetupRemoveFromDiskSpaceListW()                  SetupRemoveFromDiskSpaceListW | 
|  | #248 stdcall SetupRemoveFromSourceListA()                     SetupRemoveFromSourceListA | 
|  | #249 stdcall SetupRemoveFromSourceListW()                     SetupRemoveFromSourceListW | 
|  | #250 stdcall SetupRemoveInstallSectionFromDiskSpaceListA()    SetupRemoveInstallSectionFromDiskSpaceListA | 
|  | #251 stdcall SetupRemoveInstallSectionFromDiskSpaceListW()    SetupRemoveInstallSectionFromDiskSpaceListW | 
|  | #252 stdcall SetupRemoveSectionFromDiskSpaceListA()           SetupRemoveSectionFromDiskSpaceListA | 
|  | #253 stdcall SetupRemoveSectionFromDiskSpaceListW()           SetupRemoveSectionFromDiskSpaceListW | 
|  | #254 stdcall SetupRenameErrorA()                              SetupRenameErrorA | 
|  | #255 stdcall SetupRenameErrorW()                              SetupRenameErrorW | 
|  | #256 stdcall SetupScanFileQueue()                             SetupScanFileQueue | 
|  | #257 stdcall SetupScanFileQueueA()                            SetupScanFileQueueA | 
|  | #258 stdcall SetupScanFileQueueW()                            SetupScanFileQueueW | 
|  | 259 stdcall SetupSetDirectoryIdA(long long str)               SetupSetDirectoryIdA | 
|  | #260 stdcall SetupSetDirectoryIdExA(long long str long long ptr)  SetupSetDirectoryIdExA | 
|  | #261 stdcall SetupSetDirectoryIdExW(long long wstr long long ptr) SetupSetDirectoryIdExW | 
|  | #262 stdcall SetupSetDirectoryIdW(long long wstr)             SetupSetDirectoryIdW | 
|  | #263 stdcall SetupSetPlatformPathOverrideA(str)               SetupSetPlatformPathOverrideA | 
|  | #264 stdcall SetupSetPlatformPathOverrideW(wstr)              SetupSetPlatformPathOverrideW | 
|  | #265 stdcall SetupSetSourceListA(long str long)               SetupSetSourceListA | 
|  | #266 stdcall SetupSetSourceListW(long wstr long)              SetupSetSourceListW | 
|  | 267 stdcall SetupTermDefaultQueueCallback(ptr)               SetupTermDefaultQueueCallback | 
|  | #268 stdcall SetupTerminateFileLog(ptr)                       SetupTerminateFileLog |