Commit Graph

87 Commits

Author SHA1 Message Date
Feng Tian d18f9699e7 MdePkg: Fix spec mismatch in string representation of EMMC dev node
Cc: Eric Jin <eric.jin@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
2016-11-14 11:08:41 +08:00
Eric Dong c3c9892c3b MdePkg UefiDevicePathLib: Validate before touch input buffer.
Current code not validate the input buffer before touch.
it may touch the buffer outside the validate scope. This
patch validate the input size big enough to touch the
first node.

Cc: Ruiyu NI <ruiyu.ni@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
2016-11-09 17:49:17 +08:00
Eric Dong fb9405f958 MdePkg UefiDevicePathLib: Rollback former change.
Former patch still has some bugs, so rollback it and
enhance the original code.

Cc: Ruiyu NI <ruiyu.ni@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
2016-11-09 17:49:16 +08:00
Eric Dong e9fb71b299 MdePkg UefiDevicePathLib: Validate buffer length before use buffer.
In IsDevicePathValid API, code should validate the device path
buffer not exceed the input MaxSize before reference the path
info.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
2016-10-19 10:20:04 +08:00
Star Zeng ca2ac9d521 MdePkg: Replace UnicodeStrToAsciiStr() with UnicodeStrToAsciiStrS()
It is the follow up of 3ab41b7a32
to replace UnicodeStrToAsciiStr/AsciiStrToUnicodeStr with
UnicodeStrToAsciiStrS/AsciiStrToUnicodeStrS.

Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2016-06-21 12:46:23 +08:00
Zenith432 b98993580e MdePkg: Reinitialize twice-iterated VA_LIST in variadic function UefiDevicePathLibCatPrint()
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Zenith432 <zenith432@users.sourceforge.net>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2016-05-18 09:50:43 +08:00
Feng Tian 5c67fb2f4c MdePkg/DevicePath: Add EMMC device path definition
This device path node is introduced in UEFI2.6 spec.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Hao Wu <hao.a.wu@intel.com>
2016-03-30 11:18:04 +08:00
Jordan Justen 1ffb3e011d MdePkg: Convert all .uni files to utf-8
To convert these files I ran:

$ python3 BaseTools/Scripts/ConvertUni.py MdePkg

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19256 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-15 04:53:50 +00:00
Hao Wu 0cd35d739e MdePkg UefiDevicePathLib: Fix possible memory read/write cross boundary
The SSID field of a Wi-Fi device path node may not contain a NULL
termination.

Additonal handle is added to make sure no cross-boundary memory read/write
will occur.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18355 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-28 07:41:38 +00:00
Hao Wu a5cb7c824e MdePkg: Modify string expression of Wi-Fi device path to follow UEFI spec
According to UEFI 2.5 spec, the string expression of a Wi-Fi device node
should be displayed as: Wi-Fi(SSID). However, current code displays it as:
WiFi(SSID).

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18354 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-28 07:41:08 +00:00
Hao Wu 678226f632 MdePkg: Modify string expression of BMC device path to follow UEFI spec
According to UEFI 2.5 spec, the string expression of a BMC device node
should be displayed as: BMC(Type,Address). However, current code displays
it as: Bmc(Type,Address).

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18353 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-28 07:36:55 +00:00
Qiu Shumin 6252f2715a MdePkg: Refine the device path text format for Bluetooth to follow spec.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18346 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-28 02:59:20 +00:00
Tapan Shah a3bc432af6 MdePkg/UefiDevicePathLib: Fix RAM Disk Device Path To Text Issue
Perform Left Shift 32 bits of a 32-bit StartAddr[1] and EndingAddr[1]
instead of Right Shift when displaying 64-bit Start and End Address Value.

StartAddr[1] and EndingAddr[1] are already a 32-bit value and it should
perform left shift 32-bit to generate a complete 64-bit value along with
StartAddr[0] and EndingAddr[0] respectively.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Tapan Shah <tapandshah@hp.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18144 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-04 01:09:49 +00:00
Hao Wu 624f017e17 MdePkg: Add BMC device path definition and its node/text conversion
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17985 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-15 03:16:42 +00:00
Feng Tian 1f149f8ca6 MdePkg/UefiDevicePathLib:Fix link error due to missing RamDisk GUIDs
UefiDevicePathLibOptionalDevicePathProtocol.inf needs to be updated
to add RamDisk related GUIDs for passing compiler build.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Qiu Shumin <shumin.qiu@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17901 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-09 08:51:54 +00:00
Feng Tian 6a46c1a2a6 MdePkg: Add UEFI2.5 Ramdisk device path definition
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17878 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-08 05:49:07 +00:00
Hao Wu 750b4513b3 MdePkg UefiDevicePathLib: Remove unsafe string functions
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17741 6f19259b-4bc3-4df7-8a09-765794883524
2015-06-30 06:29:24 +00:00
Hao Wu 1d13077bed MdePkg: Resolve type mismatch in node/text conversion for Wifi device
Function DevPathFromTextWiFi() in use UINT8* and CHAR8* interchangeably,
which breaks the build on ARM. Pointer type conversion is added to
resolved this problem.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17488 6f19259b-4bc3-4df7-8a09-765794883524
2015-05-21 01:46:31 +00:00
Hao Wu 3bafd562b7 MdePkg: Add WiFi device path definition and its node/text conversion
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17476 6f19259b-4bc3-4df7-8a09-765794883524
2015-05-20 05:21:19 +00:00
Feng Tian ab8686b892 MdePkg: Add UEFI 2.5 SD (Secure Digital) Device Path Definitions
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17383 6f19259b-4bc3-4df7-8a09-765794883524
2015-05-08 14:18:42 +00:00
Ruiyu Ni c808ac7bee MdePkg: Add ToText/FromText support for URI device path node
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17370 6f19259b-4bc3-4df7-8a09-765794883524
2015-05-08 07:31:39 +00:00
Qiu Shumin 7795c8f942 MdePkg: Add bluetooth devicepath handling in device path library.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin.qiu@intel.com>
Reviewed-by: Yao Jiewen <jiewen.yao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17312 6f19259b-4bc3-4df7-8a09-765794883524
2015-05-06 02:41:37 +00:00
Feng Tian 5230616612 MdePkg: Add UFS (Universal Flash Storage) related definitions
These definitions are defined in UEFI2.5/PI1.4 spec.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Feng Tian <feng.tian@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17245 6f19259b-4bc3-4df7-8a09-765794883524
2015-04-29 02:37:30 +00:00
Gao, Liming f7ce802f6f MdePkg: Convert non DOS format files to DOS format
Module UNI and Package UNI files are not DOS format. Convert them to DOS format.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gao, Liming <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16042 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-03 08:33:28 +00:00
Gao, Liming 9b94012517 MdePkg: INF/DEC file updates to EDK II packages
2. Add MODULE_UNI_FILE file that contains the localized Abstract and Description of a module.
a. Addresses an information gap between INF files and the UEFI Distribution Packaging Specification XML schema
b. There will be an associated update to UPT in BaseTools to consume MODULE_UNI_FILE and associated UNI file during UDP creation that performs the INF -> XML conversion.
c. There will be an associated update to UPT in BaseTools to produce MODULE_UNI_FILE and associated UNI file during UDP installation that performs the XML -> INF conversion.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gao, Liming <liming.gao@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15918 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-27 09:37:07 +00:00
Gao, Liming c92c179040 MdePkg: INF/DEC file updates to EDK II packages
1. Usage information in INF file comment blocks are either incomplete or incorrect.  
This includes usage information for Protocols/PPIs/GUIDs/PCDs/HOBs/Events/BootModes.  
The syntax for usage information in comment blocks is defined in the EDK II Module Information (INF) Specification

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gao, Liming <liming.gao@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15917 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-27 09:33:09 +00:00
Ruiyu Ni ed2867debc Remove the assertion which may cause IsDevicePathValid() hang in DEBUG build.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15544 6f19259b-4bc3-4df7-8a09-765794883524
2014-05-22 07:34:35 +00:00
Ruiyu Ni a06ec3e2af Add device path node/text conversion for NVMe device path node.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Eric Jin <eric.jin@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15495 6f19259b-4bc3-4df7-8a09-765794883524
2014-05-05 07:33:21 +00:00
Ruiyu Ni 66a110d7c9 Optimize the code to not call StrToBuf when DataLength is 0.
Signed-off-by: Ruiyu Ni <ruyu.ni@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15143 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-21 07:34:41 +00:00
Ruiyu Ni 5d6a5aee0b Follow UEFI spec to convert unrecognized device path structure from/to hex dump text.
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15119 6f19259b-4bc3-4df7-8a09-765794883524
2014-01-15 07:51:22 +00:00
Ruiyu Ni 9da3888456 Fix several bugs in DevicePathLib implementation regarding the device path node and text conversion.
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14827 6f19259b-4bc3-4df7-8a09-765794883524
2013-11-07 02:30:13 +00:00
Laszlo Ersek eed8d6767c Supplement EFIAPI for UefiDevicePathLibCatPrint(), otherwise gcc-4.4
builds of edk2 format garbage text representations of device paths.

Contributed-under: TianoCore Contribution Agreement 1.0

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14550 6f19259b-4bc3-4df7-8a09-765794883524
2013-08-15 01:04:46 +00:00
Ruiyu Ni 4d0a30a494 Add 4 APIs to DevicePathLib: ConvertDeviceNodeToText, ConvertDevicePathToText, ConvertTextToDeviceNode and ConvertTextToDevicePath.
Add a new instance of DevicePathLib which tries to locate the protocol and if it's not found, it uses the internal functions.

Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14504 6f19259b-4bc3-4df7-8a09-765794883524
2013-07-26 03:00:21 +00:00
niruiyu 771729c77f Add new API IsDevicePathValid() to UefiDevicePathLib.
Signed-off-by: Ruiyu Ni<ruiyu.ni@intel.com>
Reviewed-by: Liming Gao<liming.gao@intel.com>
Reviewed-by: Kinney Michael D<michael.d.kinney@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13737 6f19259b-4bc3-4df7-8a09-765794883524
2012-09-24 03:20:35 +00:00
myronporter 58380e9c61 Minor grammatical work--mostly adding periods. Items with ONLY period added did not have the heading date changed, but Items with content changes had heading copyright dates updated. Sending separately a list of files missing Doxygen @param and @return information. (PENDING)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10615 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-30 00:13:25 +00:00
myronporter 2fc59a003e Minor grammatical work--mostly adding periods. Items with ONLY period added did not have the heading date changed, but Items with content changes had heading copyright dates updated. Sending separately a list of files missing Doxygen @param and @return information. (PENDING)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10604 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-25 21:56:02 +00:00
hhtian 19388d2960 Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10415 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23 16:37:43 +00:00
lgao4 6bfbb5f0e0 1. Correct File header to ## @file
2. Remove unnecessary .common] postfix on section.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10052 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-24 00:21:16 +00:00
davidhuang b7c5912af1 PI 1.1 SMM Feature Check-in
1. Add SmmServicesTableLib library class/instance.
2. Add SmmIoLibCpuIo/SmmPciLibPciRootBridgeIo library instance.
3. Update some library INF to support SMM_CORE module type.
4. Update dec/dsc to include new modules.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9590 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-23 06:44:33 +00:00
vanjeff 5cba121d30 add modifier EFIAPI for library interfaces.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9246 6f19259b-4bc3-4df7-8a09-765794883524
2009-09-08 07:29:48 +00:00
mdkinney 1e966f6375 Remove redundant #include statements
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8357 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-20 22:06:20 +00:00
qhuang8 a9b896f453 Remove the work-around in DevicePathLib to judge the end of device path node type.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7644 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-24 09:15:47 +00:00
jji4 8f0dd97eab Spec checked
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7521 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-13 06:28:15 +00:00
mdkinney 9bb407c643 Fix IN OUT specifiers
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7474 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-06 18:34:23 +00:00
qhuang8 5fc5555520 Fix ICC build break
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7472 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-06 09:31:40 +00:00
mdkinney 3dc728fb14 Convert macros in the DevicePathLib to functions.
Addresses coding convention issues in the DevicePathLib
Should not cause any compatibility issues with any existing modules.
Adds ASSERT() checks for NULL device path nodes passed into these functions.


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7445 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-06 01:46:55 +00:00
klu2 6a3f4ef96d DuplicateDevicePath() function use wrong comment same as AppendDevicePath() function.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7352 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-23 07:18:19 +00:00
jji4 0f46efecd5 INF extension reviewed
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7235 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-09 07:48:37 +00:00
qhuang8 373ade0eb6 Update copyright for files modified in this year
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7148 6f19259b-4bc3-4df7-8a09-765794883524
2008-12-29 14:07:07 +00:00
gikidy 3e5c323866 Synchronize function comment in
MdePkg\Library\CpuLib.h, DebugLib.h,DevicePathLib.h, DxeServicesLib.h, DxeServicesTableLib.h, ExtractGuidedSectionLib.h, HobLib.h
with the c file instance of  this functions in MdePkg.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6727 6f19259b-4bc3-4df7-8a09-765794883524
2008-11-26 03:26:37 +00:00