]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkNt32Pkg/Nt32.fpd
Make NT32 SecMain not depend on ReportStatusCodeLib
[mirror_edk2.git] / EdkNt32Pkg / Nt32.fpd
index 255a1f6d487003065827844b4454f169b424094f..e321c43cde7403d3764cfd764eb7745f08062cc6 100644 (file)
@@ -5,21 +5,21 @@
     <GuidValue>eb216561-961f-47ee-9ef9-ca426ef547c2</GuidValue>\r
     <Version>0.3</Version>\r
     <Abstract>EFI/Framework Emulation Platform</Abstract>\r
-    <Description>The Emulation Platform can be used to debug individual modules, prior to creating\r
+    <Description>The Emulation Platform can be used to debug individual modules, prior to creating
       a real platform. This also provides an example for how an FPD is created.</Description>\r
     <Copyright>Copyright (c) 2006, Intel Corporation</Copyright>\r
-    <License>All rights reserved. This program and the accompanying materials\r
-      are licensed and made available under the terms and conditions of the BSD License\r
-      which accompanies this distribution.  The full text of the license may be found at\r
-      http://opensource.org/licenses/bsd-license.php\r
-\r
-      THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+    <License>All rights reserved. This program and the accompanying materials
+      are licensed and made available under the terms and conditions of the BSD License
+      which accompanies this distribution.  The full text of the license may be found at
+      http://opensource.org/licenses/bsd-license.php
+
+      THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
       WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.</License>\r
     <Specification>FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052</Specification>\r
   </PlatformHeader>\r
   <PlatformDefinitions>\r
     <SupportedArchitectures>IA32</SupportedArchitectures>\r
-    <BuildTargets>DEBUG</BuildTargets>\r
+    <BuildTargets>DEBUG RELEASE</BuildTargets>\r
     <IntermediateDirectories>UNIFIED</IntermediateDirectories>\r
     <OutputDirectory>Build/Nt32</OutputDirectory>\r
     <SkuInfo>\r
         <Instance ModuleGuid="fd44e603-002a-4b29-9f5f-529e815b6165" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
         <Instance ModuleGuid="556f5d10-7309-4af4-b80a-8196bd60946f" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
         <Instance ModuleGuid="a86fbfca-0183-4eeb-aa8a-762e3b7da1f3" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
-        <Instance ModuleGuid="55c61087-7367-4546-bc32-4937c5e6aff3" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
         <Instance ModuleGuid="9ba1d976-0624-41a3-8650-28165e8d9ae8" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
       </Libraries>\r
       <PcdBuildDefinition>\r
           <MaxDatumSize>4</MaxDatumSize>\r
           <Value>10000000</Value>\r
         </PcdData>\r
-        <PcdData ItemType="FIXED_AT_BUILD">\r
-          <C_Name>PcdReportStatusCodePropertyMask</C_Name>\r
-          <Token>0x00000007</Token>\r
-          <TokenSpaceGuidCName>gEfiMdePkgTokenSpaceGuid</TokenSpaceGuidCName>\r
-          <DatumType>UINT8</DatumType>\r
-          <MaxDatumSize>1</MaxDatumSize>\r
-          <Value>0x06</Value>\r
-        </PcdData>\r
         <PcdData ItemType="FIXED_AT_BUILD">\r
           <C_Name>PcdDebugPropertyMask</C_Name>\r
           <Token>0x00000005</Token>\r
         <Instance ModuleGuid="bda39d3a-451b-4350-8266-81ab10fa0523" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
         <Instance ModuleGuid="FC120ED3-40E1-46dc-8C9C-AAE3CA139ACF" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
         <Instance ModuleGuid="556f5d10-7309-4af4-b80a-8196bd60946f" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
+        <Instance ModuleGuid="b2585b69-fb63-4220-844a-8fbea8bf01af" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
+        <!--Pkg: EdkNt32Pkg Mod: Nt32TimerLib Path: EdkNt32Pkg\Library\Nt32TimerLibNull\Nt32TimerLib.msa-->\r
+        <Instance ModuleGuid="3813bb9b-808b-4dcb-b9a3-ea47bd9324c0" ModuleVersion="1.0" PackageGuid="0fb2aa2d-10d5-40a5-a9dc-060c12a4a3f3" PackageVersion="0.3"/>\r
       </Libraries>\r
       <PcdBuildDefinition>\r
         <PcdData ItemType="FIXED_AT_BUILD">\r
         <FvBinding>FV_RECOVERY</FvBinding>\r
         <FfsFormatKey>PE32_PEIM</FfsFormatKey>\r
         <Options>\r
-          <Option BuildTargets="DEBUG" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="DLINK">"/NODEFAULTLIB", "/LTCG", "/DLL", "/OPT:REF", "/EXPORT:InitializeDriver=_ModuleEntryPoint", "/IGNORE:4086", "/MAP", "/MACHINE:I386", "/NOLOGO", "/DEBUG", "/ENTRY:${ENTRYPOINT}", "/SUBSYSTEM:CONSOLE", "/MAP:${DEST_DIR_DEBUG}/${BASE_NAME}.map", "/PDB:${DEST_DIR_DEBUG}/${BASE_NAME}.pdb", "Kernel32.lib MSVCRTD.lib Gdi32.lib User32.lib Winmm.lib"</Option>\r
-          <Option BuildTargets="RELEASE" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="DLINK">"/NODEFAULTLIB", "/LTCG", "/DLL", "/OPT:REF", "/EXPORT:InitializeDriver=_ModuleEntryPoint", "/IGNORE:4086", "/MAP", "/MACHINE:I386", "/NOLOGO", "/DEBUG", "/ENTRY:${ENTRYPOINT}", "/SUBSYSTEM:${SUBSYSTEM}", "/MAP:${DEST_DIR_DEBUG}/${BASE_NAME}.map", "/PDB:${DEST_DIR_DEBUG}/${BASE_NAME}.pdb", "Kernel32.lib MSVCRTD.lib Gdi32.lib User32.lib Winmm.lib"</Option>\r
+          <Option BuildTargets="DEBUG" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="DLINK">Kernel32.lib MSVCRTD.lib Gdi32.lib User32.lib Winmm.lib</Option>\r
+          <Option BuildTargets="RELEASE" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="DLINK">Kernel32.lib MSVCRTD.lib Gdi32.lib User32.lib Winmm.lib</Option>\r
         </Options>\r
       </ModuleSaBuildOptions>\r
     </ModuleSA>\r
       <ModuleSaBuildOptions>\r
         <FvBinding>FV_RECOVERY</FvBinding>\r
         <FfsFormatKey>DXE_CORE</FfsFormatKey>\r
-        <Options>\r
-          <Option BuildTargets="RELEASE" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="CC">"/nologo", "/W4", "/WX", "/GX", "/Gy", "/c", "/D EFI_MONOSHELL", "/D UNICODE", "/D EFI_DEBUG", "/D EFI_PEI_REPORT_STATUS_CODE_ON", "/Zi", "/D EFI32", "/DEFI_NT_EMULATOR", "/DNEW_PEI_HOBS", "/Odiyb2", "/GL", "/G7", "/Gy", "/FI${DEST_DIR_DEBUG}/AutoGen.h", "/Ob0"</Option>\r
-          <Option BuildTargets="DEBUG" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="CC">"/nologo", "/W4", "/WX", "/GX", "/Gy", "/c", "/Od", "/D EFI_MONOSHELL", "/D UNICODE", "/D EFI_DEBUG", "/D EFI_PEI_REPORT_STATUS_CODE_ON", "/Zi", "/D EFI32", "/DEFI_NT_EMULATOR", "/DNEW_PEI_HOBS", "/GL", "/G7", "/Gy", "/FI${DEST_DIR_DEBUG}/AutoGen.h"</Option>\r
-        </Options>\r
       </ModuleSaBuildOptions>\r
     </ModuleSA>\r
     <ModuleSA SupArchList="IA32" PackageGuid="68169ab0-d41b-4009-9060-292c253ac43d" ModuleGuid="80CF7257-87AB-47f9-A3FE-D50B76D89541">\r
       <ModuleSaBuildOptions>\r
         <FvBinding>FV_RECOVERY</FvBinding>\r
         <FfsFormatKey>BS_DRIVER</FfsFormatKey>\r
-        <Options>\r
-          <Option BuildTargets="DEBUG" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="CC">"/FAcs", "/Fa${DEST_DIR_OUTPUT}/", "/nologo", "/W4", "/WX", "/GX", "/Gy", "/c", "/O1", "/D EFI_MONOSHELL", "/D UNICODE", "/D EFI_DEBUG", "/D EFI_PEI_REPORT_STATUS_CODE_ON", "/Zi", "/D EFI32", "/DEFI_NT_EMULATOR", "/DNEW_PEI_HOBS", "/GL", "/G7", "/Gy", "/DSTRING_ARRAY_NAME=${BASE_NAME}Strings", "/FI${DEST_DIR_DEBUG}/AutoGen.h"</Option>\r
-        </Options>\r
       </ModuleSaBuildOptions>\r
     </ModuleSA>\r
     <ModuleSA SupArchList="IA32" PackageGuid="68169ab0-d41b-4009-9060-292c253ac43d" ModuleGuid="51C9F40C-5243-4473-B265-B3C8FFAFF9FA">\r
       <ModuleSaBuildOptions>\r
         <FvBinding>FV_RECOVERY</FvBinding>\r
         <FfsFormatKey>BS_DRIVER</FfsFormatKey>\r
-        <Options>\r
-          <Option BuildTargets="RELEASE" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="CC">"/nologo", "/W4", "/WX", "/GX", "/Gy", "/c", "/D EFI_MONOSHELL", "/D UNICODE", "/D EFI_DEBUG", "/D EFI_PEI_REPORT_STATUS_CODE_ON", "/Zi", "/D EFI32", "/DEFI_NT_EMULATOR", "/DNEW_PEI_HOBS", "/Odiyb2", "/GL", "/G7", "/Gy", "/DSTRING_ARRAY_NAME=${BASE_NAME}Strings", "/FI${DEST_DIR_DEBUG}/AutoGen.h"</Option>\r
-          <Option BuildTargets="DEBUG" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="CC">"/nologo", "/W4", "/WX", "/GX", "/Gy", "/c", "/Od", "/D EFI_MONOSHELL", "/D UNICODE", "/D EFI_DEBUG", "/D EFI_PEI_REPORT_STATUS_CODE_ON", "/Zi", "/D EFI32", "/DEFI_NT_EMULATOR", "/DNEW_PEI_HOBS", "/Odiyb2", "/GL", "/G7", "/Gy", "/DSTRING_ARRAY_NAME=${BASE_NAME}Strings", "/FI${DEST_DIR_DEBUG}/AutoGen.h"</Option>\r
-        </Options>\r
       </ModuleSaBuildOptions>\r
     </ModuleSA>\r
     <ModuleSA SupArchList="IA32" PackageGuid="0fb2aa2d-10d5-40a5-a9dc-060c12a4a3f3" ModuleGuid="154CAB4A-52B5-46CD-99C3-4368ABBACFFD">\r
     </ModuleSA>\r
     <ModuleSA SupArchList="IA32" PackageGuid="68169ab0-d41b-4009-9060-292c253ac43d" ModuleGuid="B601F8C4-43B7-4784-95B1-F4226CB40CEE">\r
       <Libraries>\r
+        <Instance ModuleGuid="123dd843-57c9-4158-8418-ce68b3944ce7" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
         <Instance ModuleGuid="19cbbb97-ff61-45ff-8c3f-dfa66dd118c8" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
         <Instance ModuleGuid="ff5c7a2c-ab7a-4366-8616-11c6e53247b6" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
         <Instance ModuleGuid="27d67720-ea68-48ae-93da-a3a074c90e30" PackageGuid="5e0e9358-46b6-4ae2-8218-4ab8b9bbdcec"/>\r
         <FvBinding>FV_RECOVERY</FvBinding>\r
         <FfsFormatKey>BS_DRIVER</FfsFormatKey>\r
         <Options>\r
-          <Option BuildTargets="DEBUG" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="DLINK">"/NODEFAULTLIB", "/LTCG", "/DLL", "/OPT:REF", "/EXPORT:InitializeDriver=_ModuleEntryPoint", "/IGNORE:4086", "/MAP", "/MACHINE:I386", "/NOLOGO", "/DEBUG", "/ENTRY:${ENTRYPOINT}", "/SUBSYSTEM:CONSOLE", "/MAP:${DEST_DIR_DEBUG}/${BASE_NAME}.map", "/PDB:${DEST_DIR_DEBUG}/${BASE_NAME}.pdb", "libc.lib Kernel32.lib MSVCRTD.lib Gdi32.lib User32.lib Winmm.lib"</Option>\r
-          <Option BuildTargets="RELEASE" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="DLINK">"/NODEFAULTLIB", "/LTCG", "/DLL", "/OPT:REF", "/EXPORT:InitializeDriver=_ModuleEntryPoint", "/IGNORE:4086", "/MAP", "/MACHINE:I386", "/NOLOGO", "/DEBUG", "/ENTRY:${ENTRYPOINT}", "/SUBSYSTEM:${SUBSYSTEM}", "/MAP:${DEST_DIR_DEBUG}/${BASE_NAME}.map", "/PDB:${DEST_DIR_DEBUG}/${BASE_NAME}.pdb", "libc.lib Kernel32.lib MSVCRTD.lib Gdi32.lib User32.lib Winmm.lib"</Option>\r
+          <Option BuildTargets="DEBUG" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="DLINK">Kernel32.lib MSVCRTD.lib Gdi32.lib User32.lib Winmm.lib</Option>\r
+          <Option BuildTargets="RELEASE" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="DLINK">Kernel32.lib MSVCRTD.lib Gdi32.lib User32.lib Winmm.lib</Option>\r
         </Options>\r
       </ModuleSaBuildOptions>\r
     </ModuleSA>\r
     <ModuleSA SupArchList="IA32" PackageGuid="0fb2aa2d-10d5-40a5-a9dc-060c12a4a3f3" ModuleGuid="7BB28B99-61BB-11D5-9A5D-0090273FC14D">\r
       <ModuleSaBuildOptions>\r
         <FvBinding>FV_RECOVERY</FvBinding>\r
-        <FfsFormatKey>CUSTOM_BUILD</FfsFormatKey>\r
+        <FfsFormatKey>Logo</FfsFormatKey>\r
       </ModuleSaBuildOptions>\r
     </ModuleSA>\r
     <ModuleSA SupArchList="IA32" PackageGuid="68169ab0-d41b-4009-9060-292c253ac43d" ModuleGuid="93B80004-9FB3-11d4-9A3A-0090273FC14D">\r
   </DynamicPcdBuildDefinitions>\r
   <BuildOptions>\r
     <Options>\r
-      <!--MSFT tool chain options definition : IA32-->\r
-      <Option BuildTargets="RELEASE" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="CC">"/nologo", "/W4", "/WX", "/GX", "/Gy", "/c", "/D EFI_MONOSHELL", "/D UNICODE", "/D EFI_DEBUG", "/D EFI_PEI_REPORT_STATUS_CODE_ON", "/Zi", "/D EFI32", "/DEFI_NT_EMULATOR", "/DNEW_PEI_HOBS", "/Odiyb2", "/GL", "/G7", "/Gy", "/DSTRING_ARRAY_NAME=${BASE_NAME}Strings", "/FI${DEST_DIR_DEBUG}/AutoGen.h"</Option>\r
-      <Option BuildTargets="RELEASE" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="SLINK">"/NOLOGO", "/LTCG"</Option>\r
-      <Option BuildTargets="RELEASE" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="DLINK">"/NODEFAULTLIB", "/LTCG", "/DLL", "/OPT:REF", "/EXPORT:InitializeDriver=_ModuleEntryPoint", "/IGNORE:4086", "/MAP", "/MACHINE:I386", "/NOLOGO", "/DEBUG", "/ENTRY:${ENTRYPOINT}", "/SUBSYSTEM:${SUBSYSTEM}", "/MAP:${DEST_DIR_DEBUG}/${BASE_NAME}.map", "/PDB:${DEST_DIR_DEBUG}/${BASE_NAME}.pdb"</Option>\r
-      <Option BuildTargets="RELEASE" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="ASM">"/nologo", "/W3", "/WX", "/c", "/coff", "/DEFI32", "/DDEBUG", "/Cx", "/Zd", "/Zi", "/DEFI_NT_EMULATOR", "/Fl${DEST_DIR_OUTPUT}/${FILE_PATH}/${FILE_BASENAME}.lst"</Option>\r
-      <Option BuildTargets="RELEASE" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="ASMLINK"/>\r
-      <Option BuildTargets="RELEASE" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="PP">"/nologo", "/P", "/TC", "/FI${DEST_DIR_DEBUG}/AutoGen.h"</Option>\r
-      <Option BuildTargets="RELEASE" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="ASL">"/nologo"</Option>\r
-      <!--MSFT tool chain options definition : IA32-->\r
-      <Option BuildTargets="DEBUG" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="CC">"/nologo", "/W4", "/WX", "/GX", "/Gy", "/c", "/Od", "/D EFI_MONOSHELL", "/D UNICODE", "/D EFI_DEBUG", "/D EFI_PEI_REPORT_STATUS_CODE_ON", "/Zi", "/D EFI32", "/DEFI_NT_EMULATOR", "/DNEW_PEI_HOBS", "/GL", "/G7", "/Gy", "/DSTRING_ARRAY_NAME=${BASE_NAME}Strings", "/FI${DEST_DIR_DEBUG}/AutoGen.h"</Option>\r
-      <Option BuildTargets="DEBUG" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="SLINK">"/NOLOGO", "/LTCG"</Option>\r
-      <Option BuildTargets="DEBUG" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="DLINK">"/NODEFAULTLIB", "/LTCG", "/DLL", "/OPT:REF", "/EXPORT:InitializeDriver=_ModuleEntryPoint", "/IGNORE:4086", "/MAP", "/MACHINE:I386", "/NOLOGO", "/DEBUG", "/ENTRY:${ENTRYPOINT}", "/SUBSYSTEM:CONSOLE", "/MAP:${DEST_DIR_DEBUG}/${BASE_NAME}.map", "/PDB:${DEST_DIR_DEBUG}/${BASE_NAME}.pdb"</Option>\r
-      <Option BuildTargets="DEBUG" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="ASM">"/nologo", "/W3", "/WX", "/c", "/coff", "/DEFI32", "/DDEBUG", "/Cx", "/Zd", "/Zi", "/DEFI_NT_EMULATOR", "/Fl${DEST_DIR_OUTPUT}/${FILE_PATH}/${FILE_BASENAME}.lst"</Option>\r
-      <Option BuildTargets="DEBUG" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="ASMLINK"/>\r
-      <Option BuildTargets="DEBUG" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="PP">"/nologo", "/P", "/TC", "/FI${DEST_DIR_DEBUG}/AutoGen.h"</Option>\r
-      <Option BuildTargets="DEBUG" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="ASL">"/nologo"</Option>\r
+      <Option BuildTargets="DEBUG" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="DLINK">/EXPORT:InitializeDriver=_ModuleEntryPoint /ALIGN:4096</Option>\r
+      <Option BuildTargets="RELEASE" ToolChainFamily="MSFT" SupArchList="IA32" ToolCode="DLINK">/ALIGN:4096</Option>\r
     </Options>\r
     <Ffs FfsKey="APPLICATION">\r
       <Attribute Name="FFS_FILETYPE" Value="EFI_FV_FILETYPE_APPLICATION"/>\r
     <pathconvert property="SecMainPath" targetos="windows">\r
       <path path="${TARGET_DIR}/IA32"/>\r
     </pathconvert>\r
-    <echo file="${BUILD_DIR}/run.cmd">@REM\r
-      @REM Copyright (c) 2006, Intel Corporation\r
-      @REM All rights reserved. This program and the accompanying materials\r
-      @REM are licensed and made available under the terms and conditions of the BSD License\r
-      @REM which accompanies this distribution.  The full text of the license may be found at\r
-      @REM http://opensource.org/licenses/bsd-license.php\r
-      @REM \r
-      @REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-      @REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-      @REM \r
-      \r
-      @echo off \r
-      pushd . \r
-      cd ${SecMainPath}\r
-      SecMain.exe\r
-      popd\r
+    <echo file="${BUILD_DIR}/run.cmd">@REM
+      @REM Copyright (c) 2006, Intel Corporation
+      @REM All rights reserved. This program and the accompanying materials
+      @REM are licensed and made available under the terms and conditions of the BSD License
+      @REM which accompanies this distribution.  The full text of the license may be found at
+      @REM http://opensource.org/licenses/bsd-license.php
+      @REM 
+      @REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+      @REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+      @REM 
+      
+      @echo off 
+      pushd . 
+      cd ${SecMainPath}
+      SecMain.exe
+      popd
       @echo on</echo>\r
   </UserExtensions>\r
 </PlatformSurfaceArea>
\ No newline at end of file