tdf#137543 - Add new LET function to Calc
Add new LET function to Calc which assigns names to calculation results.
TODO: oasis proposal
Change-Id: Ia0d56a30751a44a72e364a28b64fd8f617e997dc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168349
Tested-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
Tested-by: Jenkins
Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
diff --git a/formula/inc/core_resource.hrc b/formula/inc/core_resource.hrc
index 081f71b..45e0aa6 100644
--- a/formula/inc/core_resource.hrc
+++ b/formula/inc/core_resource.hrc
@@ -282,6 +282,8 @@ const std::pair<const char *, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_ODFF[] =
{ "COM.MICROSOFT.SORT" , SC_OPCODE_SORT },
{ "COM.MICROSOFT.SORTBY" , SC_OPCODE_SORTBY },
{ "COM.MICROSOFT.UNIQUE" , SC_OPCODE_UNIQUE },
{ "COM.MICROSOFT.LET" , SC_OPCODE_LET },
{ "_xlpm." , SC_OPCODE_STRINGNAME },
{ "ORG.OPENOFFICE.MULTIRANGE" , SC_OPCODE_MULTI_AREA }, // legacy for range list (union)
{ "OFFSET" , SC_OPCODE_OFFSET },
{ "INDEX" , SC_OPCODE_INDEX },
@@ -737,6 +739,8 @@ const std::pair<const char *, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_OOXML[] =
{ "_xlfn._xlws.SORT" , SC_OPCODE_SORT },
{ "_xlfn.SORTBY" , SC_OPCODE_SORTBY },
{ "_xlfn.UNIQUE" , SC_OPCODE_UNIQUE },
{ "_xlfn.LET" , SC_OPCODE_LET },
{ "_xlpm." , SC_OPCODE_STRINGNAME },
{ "_xlfn.ORG.OPENOFFICE.MULTIRANGE" , SC_OPCODE_MULTI_AREA }, // legacy for range list (union)
{ "OFFSET" , SC_OPCODE_OFFSET },
{ "INDEX" , SC_OPCODE_INDEX },
@@ -1195,6 +1199,7 @@ const std::pair<const char *, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_PODF[] =
{ "SORT" , SC_OPCODE_SORT },
{ "SORTBY" , SC_OPCODE_SORTBY },
{ "UNIQUE" , SC_OPCODE_UNIQUE },
{ "LET" , SC_OPCODE_LET },
{ "MULTIRANGE" , SC_OPCODE_MULTI_AREA }, // legacy for range list (union)
{ "OFFSET" , SC_OPCODE_OFFSET },
{ "INDEX" , SC_OPCODE_INDEX },
@@ -1654,6 +1659,7 @@ const std::pair<const char *, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH_API[] =
{ "SORT" , SC_OPCODE_SORT },
{ "SORTBY" , SC_OPCODE_SORTBY },
{ "UNIQUE" , SC_OPCODE_UNIQUE },
{ "LET" , SC_OPCODE_LET },
{ "MULTIRANGE" , SC_OPCODE_MULTI_AREA }, // legacy for range list (union)
{ "OFFSET" , SC_OPCODE_OFFSET },
{ "INDEX" , SC_OPCODE_INDEX }, // ?? first character = I ??
@@ -2111,6 +2117,7 @@ const std::pair<const char *, int> RID_STRLIST_FUNCTION_NAMES_ENGLISH[] =
{ "SORT" , SC_OPCODE_SORT },
{ "SORTBY" , SC_OPCODE_SORTBY },
{ "UNIQUE" , SC_OPCODE_UNIQUE },
{ "LET" , SC_OPCODE_LET },
{ "MULTIRANGE" , SC_OPCODE_MULTI_AREA },
{ "OFFSET" , SC_OPCODE_OFFSET },
{ "INDEX" , SC_OPCODE_INDEX },
@@ -2549,6 +2556,7 @@ const std::pair<TranslateId, int> RID_STRLIST_FUNCTION_NAMES[] =
{ NC_("RID_STRLIST_FUNCTION_NAMES", "SORT") , SC_OPCODE_SORT },
{ NC_("RID_STRLIST_FUNCTION_NAMES", "SORTBY") , SC_OPCODE_SORTBY },
{ NC_("RID_STRLIST_FUNCTION_NAMES", "UNIQUE") , SC_OPCODE_UNIQUE },
{ NC_("RID_STRLIST_FUNCTION_NAMES", "LET") , SC_OPCODE_LET },
{ NC_("RID_STRLIST_FUNCTION_NAMES", "MULTIRANGE") , SC_OPCODE_MULTI_AREA }, // legacy for range list (union)
{ NC_("RID_STRLIST_FUNCTION_NAMES", "OFFSET") , SC_OPCODE_OFFSET },
{ NC_("RID_STRLIST_FUNCTION_NAMES", "INDEX") , SC_OPCODE_INDEX }, // ?? first character = I ??
diff --git a/formula/source/core/api/FormulaCompiler.cxx b/formula/source/core/api/FormulaCompiler.cxx
index 71ca0e8..453c730 100644
--- a/formula/source/core/api/FormulaCompiler.cxx
+++ b/formula/source/core/api/FormulaCompiler.cxx
@@ -626,6 +626,7 @@ uno::Sequence< sheet::FormulaOpCodeMapEntry > FormulaCompiler::OpCodeMap::create
SC_OPCODE_IF_ERROR,
SC_OPCODE_IF_NA,
SC_OPCODE_CHOOSE,
SC_OPCODE_LET,
SC_OPCODE_AND,
SC_OPCODE_OR
};
@@ -1221,6 +1222,7 @@ bool FormulaCompiler::IsOpCodeJumpCommand( OpCode eOp )
case ocIfError:
case ocIfNA:
case ocChoose:
case ocLet:
return true;
default:
;
@@ -1269,6 +1271,7 @@ bool FormulaCompiler::IsMatrixFunction( OpCode eOpCode )
case ocSortBy :
case ocRandArray :
case ocUnique :
case ocLet :
return true;
default:
{
@@ -1565,6 +1568,11 @@ bool FormulaCompiler::GetToken()
case ocAggregate:
glSubTotal = true;
break;
case ocStringName:
if( HandleStringName())
return true;
else
return false;
case ocName:
if( HandleRange())
{
@@ -1946,6 +1954,9 @@ void FormulaCompiler::Factor()
case ocChoose:
pFacToken->GetJump()[ 0 ] = FORMULA_MAXJUMPCOUNT + 1;
break;
case ocLet:
pFacToken->GetJump()[0] = SAL_MAX_UINT8 + 1;
break;
case ocIfError:
case ocIfNA:
pFacToken->GetJump()[ 0 ] = 2; // if, behind
@@ -1978,6 +1989,9 @@ void FormulaCompiler::Factor()
case ocChoose:
nJumpMax = FORMULA_MAXJUMPCOUNT;
break;
case ocLet:
nJumpMax = SAL_MAX_UINT8;
break;
case ocIfError:
case ocIfNA:
nJumpMax = 2;
@@ -1993,7 +2007,7 @@ void FormulaCompiler::Factor()
assert(!"FormulaCompiler::Factor: someone forgot to add a jump max case");
}
short nJumpCount = 0;
while ( (nJumpCount < (FORMULA_MAXJUMPCOUNT - 1)) && (eOp == ocSep)
while ( (nJumpCount < (SAL_MAX_UINT8 - 1)) && (eOp == ocSep)
&& (pArr->GetCodeError() == FormulaError::NONE || !mbStopOnError))
{
if ( ++nJumpCount <= nJumpMax )
@@ -2022,6 +2036,9 @@ void FormulaCompiler::Factor()
case ocChoose:
bLimitOk = (nJumpCount < FORMULA_MAXJUMPCOUNT);
break;
case ocLet:
bLimitOk = (nJumpCount < SAL_MAX_UINT8);
break;
case ocIfError:
case ocIfNA:
bLimitOk = (nJumpCount <= 2);
@@ -2598,7 +2615,7 @@ const FormulaToken* FormulaCompiler::CreateStringFromToken( OUStringBuffer& rBuf
break;
case svString:
if( eOp == ocBad || eOp == ocStringXML )
if( eOp == ocBad || eOp == ocStringXML || eOp == ocStringName )
rBuffer.append( t->GetString().getString());
else
AppendString( rBuffer, t->GetString().getString() );
@@ -2920,6 +2937,11 @@ bool FormulaCompiler::HandleExternalReference( const FormulaToken& /*_aToken*/)
return true;
}
bool FormulaCompiler::HandleStringName()
{
return true;
}
bool FormulaCompiler::HandleRange()
{
return true;
diff --git a/formula/source/core/api/token.cxx b/formula/source/core/api/token.cxx
index a7fc6a0..d722d76 100644
--- a/formula/source/core/api/token.cxx
+++ b/formula/source/core/api/token.cxx
@@ -435,6 +435,8 @@ bool FormulaTokenArray::AddFormulaToken(
AddBad( aStrVal );
else if ( eOpCode == ocStringXML )
AddStringXML( aStrVal );
else if ( eOpCode == ocStringName )
AddStringName( aStrVal );
else if ( eOpCode == ocExternal || eOpCode == ocMacro )
Add( new formula::FormulaExternalToken( eOpCode, aStrVal ) );
else if ( eOpCode == ocWhitespace )
@@ -914,6 +916,10 @@ FormulaToken* FormulaTokenArray::AddStringXML( const OUString& rStr )
return Add( new FormulaStringOpToken( ocStringXML, svl::SharedString( rStr ) ) ); // string not interned
}
FormulaToken* FormulaTokenArray::AddStringName( const OUString& rStr )
{
return Add( new FormulaStringOpToken( ocStringName, svl::SharedString( rStr ) ) ); // string not interned
}
void FormulaTokenArray::AddRecalcMode( ScRecalcMode nBits )
{
@@ -1576,12 +1582,15 @@ FormulaToken* FormulaTokenArray::AddOpCode( OpCode eOp )
case ocIfError:
case ocIfNA:
case ocChoose:
case ocLet:
{
short nJump[FORMULA_MAXJUMPCOUNT + 1];
short nJump[SAL_MAX_UINT8 + 1];
if ( eOp == ocIf )
nJump[ 0 ] = 3;
else if ( eOp == ocChoose )
nJump[ 0 ] = FORMULA_MAXJUMPCOUNT + 1;
else if ( eOp == ocLet )
nJump[0] = SAL_MAX_UINT8 + 1;
else
nJump[ 0 ] = 2;
pRet = new FormulaJumpToken( eOp, nJump );
@@ -1660,6 +1669,20 @@ FormulaToken* FormulaTokenArrayPlainIterator::GetNextName()
return nullptr;
}
FormulaToken* FormulaTokenArrayPlainIterator::GetNextStringName()
{
if (mpFTA->GetArray())
{
while (mnIndex < mpFTA->GetLen())
{
FormulaToken* t = mpFTA->GetArray()[mnIndex++];
if (t->GetType() == svString && t->GetOpCode() == ocStringName)
return t;
}
}
return nullptr;
}
const FormulaToken* FormulaTokenIterator::Next()
{
const FormulaToken* t = GetNonEndOfPathToken( ++maStack.back().nPC );
diff --git a/formula/source/ui/dlg/parawin.cxx b/formula/source/ui/dlg/parawin.cxx
index 9791258..3c6d333 100644
--- a/formula/source/ui/dlg/parawin.cxx
+++ b/formula/source/ui/dlg/parawin.cxx
@@ -27,6 +27,7 @@
#include <strings.hrc>
#include <bitmaps.hlst>
#include <core_resource.hxx>
#include <rtl/math.hxx>
namespace formula
{
@@ -150,7 +151,10 @@ void ParaWin::UpdateArgDesc( sal_uInt16 nArg )
aArgName = pFuncDesc->getParameterName(nRealArg);
sal_uInt16 nVarArgsStart = pFuncDesc->getVarArgsStart();
if ( nArg >= nVarArgsStart )
aArgName += OUString::number( (nArg-nVarArgsStart)/2 + 1 );
{
sal_Int16 nShifted = pFuncDesc->getFunctionName().equalsIgnoreAsciiCase(u"LET") ? nPos / 2 : 0;
aArgName += OUString::number( (nArg-nVarArgsStart)/2 + 1 + nShifted );
}
aArgName += " " + ((nArg > (nFix+1) || pFuncDesc->isParameterOptional(nRealArg)) ? m_sOptional : m_sRequired) ;
}
@@ -209,8 +213,9 @@ void ParaWin::UpdateArgInput( sal_uInt16 nOffset, sal_uInt16 i )
sal_uInt16 nVarArgsStart = pFuncDesc->getVarArgsStart();
if ( nArg >= nVarArgsStart )
{
sal_Int16 nShifted = pFuncDesc->getFunctionName().equalsIgnoreAsciiCase(u"LET") ? nPos / 2 : 0;
OUString aArgName = pFuncDesc->getParameterName(nRealArg) +
OUString::number( (nArg-nVarArgsStart)/2 + 1 );
OUString::number( (nArg-nVarArgsStart)/2 + 1 + nShifted);
SetArgName( i, aArgName );
}
else
diff --git a/include/formula/FormulaCompiler.hxx b/include/formula/FormulaCompiler.hxx
index 08710f5..d70dcb4 100644
--- a/include/formula/FormulaCompiler.hxx
+++ b/include/formula/FormulaCompiler.hxx
@@ -344,6 +344,7 @@ protected:
virtual void SetError(FormulaError nError);
virtual FormulaTokenRef ExtendRangeReference( FormulaToken & rTok1, FormulaToken & rTok2 );
virtual bool HandleExternalReference(const FormulaToken& _aToken);
virtual bool HandleStringName();
virtual bool HandleRange();
virtual bool HandleColRowName();
virtual bool HandleDbData();
@@ -419,6 +420,12 @@ protected:
bool mbComputeII; // whether to attempt computing implicit intersection ranges while building the RPN array.
bool mbMatrixFlag; // whether the formula is a matrix formula (needed for II computation)
struct LambdaFunc
{
bool bInLambdaFunction = false;
short nBracketPos = 0;
} mLambda;
public:
enum InitSymbols
{
diff --git a/include/formula/compiler.hxx b/include/formula/compiler.hxx
index 1815760..c9e2e53 100644
--- a/include/formula/compiler.hxx
+++ b/include/formula/compiler.hxx
@@ -61,6 +61,8 @@
#define SC_OPCODE_TABLE_REF_ITEM_THIS_ROW 35
#define SC_OPCODE_STOP_DIV 36
#define SC_OPCODE_SKIP 37 /* used to skip raw tokens during string compilation */
#define SC_OPCODE_STRINGNAME 38 /* special OpCode for lambda function names */
#define SC_OPCODE_LET 39
/*** error constants #... ***/
#define SC_OPCODE_START_ERRORS 40
diff --git a/include/formula/opcode.hxx b/include/formula/opcode.hxx
index 89f6f95..8681e95 100644
--- a/include/formula/opcode.hxx
+++ b/include/formula/opcode.hxx
@@ -38,6 +38,7 @@ enum OpCode : sal_uInt16
ocIfError = SC_OPCODE_IF_ERROR,
ocIfNA = SC_OPCODE_IF_NA,
ocChoose = SC_OPCODE_CHOOSE,
ocLet = SC_OPCODE_LET,
// Parentheses and separators
ocOpen = SC_OPCODE_OPEN,
ocClose = SC_OPCODE_CLOSE,
@@ -61,6 +62,7 @@ enum OpCode : sal_uInt16
ocTableRefItemTotals = SC_OPCODE_TABLE_REF_ITEM_TOTALS,
ocTableRefItemThisRow = SC_OPCODE_TABLE_REF_ITEM_THIS_ROW,
ocSkip = SC_OPCODE_SKIP,
ocStringName = SC_OPCODE_STRINGNAME,
// Access commands
ocDBArea = SC_OPCODE_DB_AREA,
ocTableRef = SC_OPCODE_TABLE_REF,
@@ -553,6 +555,7 @@ inline std::string OpCodeEnumToString(OpCode eCode)
case ocMissing: return "Missing";
case ocBad: return "Bad";
case ocStringXML: return "StringXML";
case ocStringName: return "StringName";
case ocSpaces: return "Spaces";
case ocWhitespace: return "Whitespace";
case ocMatRef: return "MatRef";
@@ -996,6 +999,7 @@ inline std::string OpCodeEnumToString(OpCode eCode)
case ocSort: return "Sort";
case ocSortBy: return "SortBy";
case ocUnique: return "Unique";
case ocLet: return "Let";
case ocTTT: return "TTT";
case ocDebugVar: return "DebugVar";
case ocDataToken1: return "DataToken1";
diff --git a/include/formula/tokenarray.hxx b/include/formula/tokenarray.hxx
index fbf2c18..4e59ca8 100644
--- a/include/formula/tokenarray.hxx
+++ b/include/formula/tokenarray.hxx
@@ -487,6 +487,7 @@ public:
FormulaToken* AddExternal( const OUString& rStr, OpCode eOp = ocExternal );
FormulaToken* AddBad( const OUString& rStr ); /// ocBad with OUString
FormulaToken* AddStringXML( const OUString& rStr ); /// ocStringXML with OUString, temporary during import
FormulaToken* AddStringName( const OUString& rStr ); /// ocStringName with OUString - Lambda functions
virtual FormulaToken* MergeArray( );
@@ -578,6 +579,7 @@ public:
private:
SAL_DLLPRIVATE const FormulaToken* GetNonEndOfPathToken( short nIdx ) const;
SAL_DLLPRIVATE const FormulaToken* GetNonEndOfPathToken2( short nIdx ) const;
};
// For use in SAL_INFO, SAL_WARN etc
@@ -639,6 +641,7 @@ public:
FormulaToken* Next();
FormulaToken* NextNoSpaces();
FormulaToken* GetNextName();
FormulaToken* GetNextStringName();
FormulaToken* GetNextReference();
FormulaToken* GetNextReferenceRPN();
FormulaToken* GetNextReferenceOrName();
diff --git a/sc/README.md b/sc/README.md
index a66cb54..8445749 100644
--- a/sc/README.md
+++ b/sc/README.md
@@ -70,6 +70,8 @@ https://docs.oasis-open.org/office/OpenDocument/v1.3/os/part4-formula/OpenDocume
* Information Functions
* COUNTIF
* COUNTIFS
* Lambda Functions
* LET
* Lookup Functions
* HLOOKUP
* LOOKUP
diff --git a/sc/inc/compiler.hxx b/sc/inc/compiler.hxx
index af37910..e95e5ee 100644
--- a/sc/inc/compiler.hxx
+++ b/sc/inc/compiler.hxx
@@ -155,6 +155,7 @@ public:
// since the reference count is cleared!
void SetOpCode( OpCode eCode );
void SetString( rtl_uString* pData, rtl_uString* pDataIgnoreCase );
void SetStringName( rtl_uString* pData, rtl_uString* pDataIgnoreCase );
void SetSingleReference( const ScSingleRefData& rRef );
void SetDoubleReference( const ScComplexRefData& rRef );
void SetDouble( double fVal );
@@ -358,6 +359,7 @@ private:
bool ParsePredetectedErrRefReference( const OUString& rName, const OUString* pErrRef );
bool ParseMacro( const OUString& );
bool ParseNamedRange( const OUString&, bool onlyCheck = false );
bool ParseLambdaFuncName( const OUString&, bool bLambdaFunction = false );
bool ParseExternalNamedRange( const OUString& rSymbol, bool& rbInvalidExternalNameRange );
bool ParseDBRange( const OUString& );
bool ParseColRowName( const OUString& );
@@ -516,6 +518,7 @@ private:
virtual void fillAddInToken(::std::vector< css::sheet::FormulaOpCodeMapEntry >& _rVec,bool _bIsEnglish) const override;
virtual bool HandleExternalReference(const formula::FormulaToken& _aToken) override;
virtual bool HandleStringName() override;
virtual bool HandleRange() override;
virtual bool HandleColRowName() override;
virtual bool HandleDbData() override;
diff --git a/sc/inc/helpids.h b/sc/inc/helpids.h
index e02235b..7e02891 100644
--- a/sc/inc/helpids.h
+++ b/sc/inc/helpids.h
@@ -601,5 +601,6 @@ inline constexpr OUString HID_FUNC_FILTER_MS = u"SC_HID_FUNC_FILTER_MS"_ustr;
inline constexpr OUString HID_FUNC_SORT_MS = u"SC_HID_FUNC_SORT_MS"_ustr;
inline constexpr OUString HID_FUNC_SORTBY_MS = u"SC_HID_FUNC_SORTBY_MS"_ustr;
inline constexpr OUString HID_FUNC_UNIQUE_MS = u"SC_HID_FUNC_UNIQUE_MS"_ustr;
inline constexpr OUString HID_FUNC_LET_MS = u"SC_HID_FUNC_LET_MS"_ustr;
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/inc/scfuncs.hrc b/sc/inc/scfuncs.hrc
index 7a129a0..9ce5e23 100644
--- a/sc/inc/scfuncs.hrc
+++ b/sc/inc/scfuncs.hrc
@@ -4263,4 +4263,16 @@ const TranslateId SC_OPCODE_UNIQUE_ARY[] =
NC_("SC_OPCODE_UNIQUE", "Logical value that defines what values are considered unique: TRUE - returns values that occur only once. FALSE or omitted (default) - returns all distinct (different) values in the range or array.")
};
// -=*# Resource for function LET #*=-
const TranslateId SC_OPCODE_LET_ARY[] =
{
NC_("SC_OPCODE_LET", "The LET function assigns names to calculation results. This allows storing intermediate calculations, values, or defining names inside a formula. These names only apply within the scope of the LET function."),
NC_("SC_OPCODE_LET", "Name 1"),
NC_("SC_OPCODE_LET", "The first name to assign. Must start with a letter. Cannot be the output of a formula or conflict with range syntax."),
NC_("SC_OPCODE_LET", "Name value "),
NC_("SC_OPCODE_LET", "Name value 1, Name value 2,... The value or calculation to assign to Name."),
NC_("SC_OPCODE_LET", "Calculation or Name "),
NC_("SC_OPCODE_LET", "A calculation that uses all names within the LET function. This must be the last argument in the LET function. Or a second Name to assign to a second Name value. If a second Name is specified, Name value 2 and Calculation or Name 3 become required.")
};
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/qa/extras/scfunctionlistobj.cxx b/sc/qa/extras/scfunctionlistobj.cxx
index 8706018..431e63b 100644
--- a/sc/qa/extras/scfunctionlistobj.cxx
+++ b/sc/qa/extras/scfunctionlistobj.cxx
@@ -77,7 +77,7 @@ public:
ScFunctionListObj::ScFunctionListObj()
: UnoApiTest(u"/sc/qa/extras/testdocuments"_ustr)
, XElementAccess(cppu::UnoType<uno::Sequence<beans::PropertyValue>>::get())
, XIndexAccess(403)
, XIndexAccess(404)
, XNameAccess("IF")
, XServiceInfo("stardiv.StarCalc.ScFunctionListObj", "com.sun.star.sheet.FunctionDescriptions")
{
diff --git a/sc/qa/unit/data/functions/spreadsheet/fods/let.fods b/sc/qa/unit/data/functions/spreadsheet/fods/let.fods
new file mode 100644
index 0000000..97ad8c2
--- /dev/null
+++ b/sc/qa/unit/data/functions/spreadsheet/fods/let.fods
@@ -0,0 +1,4308 @@
<?xml version="1.0" encoding="UTF-8"?>
<office:document xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:config="urn:oasis:names:tc:opendocument:xmlns:config:1.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:rpt="http://openoffice.org/2005/report" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:of="urn:oasis:names:tc:opendocument:xmlns:of:1.2" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:tableooo="http://openoffice.org/2009/table" xmlns:calcext="urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0" xmlns:drawooo="http://openoffice.org/2010/draw" xmlns:loext="urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0" xmlns:field="urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:formx="urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0" xmlns:dom="http://www.w3.org/2001/xml-events" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:grddl="http://www.w3.org/2003/g/data-view#" xmlns:css3t="http://www.w3.org/TR/css3-text/" xmlns:presentation="urn:oasis:names:tc:opendocument:xmlns:presentation:1.0" office:version="1.3" office:mimetype="application/vnd.oasis.opendocument.spreadsheet">
<office:meta><meta:creation-date>2024-01-16T18:30:06.278000000</meta:creation-date><meta:editing-duration>PT7H19M5S</meta:editing-duration><meta:editing-cycles>109</meta:editing-cycles><meta:generator>LibreOfficeDev/24.8.0.0.alpha1$Windows_X86_64 LibreOffice_project/9daa119fe104c852a42f00e9c8349687ccd104d2</meta:generator><dc:date>2024-06-02T09:11:26.793000000</dc:date><meta:document-statistic meta:table-count="2" meta:cell-count="232" meta:object-count="0"/></office:meta>
<office:settings>
<config:config-item-set config:name="ooo:view-settings">
<config:config-item config:name="VisibleAreaTop" config:type="int">0</config:config-item>
<config:config-item config:name="VisibleAreaLeft" config:type="int">0</config:config-item>
<config:config-item config:name="VisibleAreaWidth" config:type="int">50916</config:config-item>
<config:config-item config:name="VisibleAreaHeight" config:type="int">21544</config:config-item>
<config:config-item-map-indexed config:name="Views">
<config:config-item-map-entry>
<config:config-item config:name="ViewId" config:type="string">view1</config:config-item>
<config:config-item-map-named config:name="Tables">
<config:config-item-map-entry config:name="Sheet1">
<config:config-item config:name="CursorPositionX" config:type="int">2</config:config-item>
<config:config-item config:name="CursorPositionY" config:type="int">3</config:config-item>
<config:config-item config:name="ActiveSplitRange" config:type="short">2</config:config-item>
<config:config-item config:name="PositionLeft" config:type="int">0</config:config-item>
<config:config-item config:name="PositionRight" config:type="int">0</config:config-item>
<config:config-item config:name="PositionTop" config:type="int">0</config:config-item>
<config:config-item config:name="PositionBottom" config:type="int">0</config:config-item>
<config:config-item config:name="ZoomType" config:type="short">0</config:config-item>
<config:config-item config:name="ZoomValue" config:type="int">75</config:config-item>
<config:config-item config:name="PageViewZoomValue" config:type="int">60</config:config-item>
<config:config-item config:name="ShowGrid" config:type="boolean">true</config:config-item>
<config:config-item config:name="AnchoredTextOverflowLegacy" config:type="boolean">false</config:config-item>
<config:config-item config:name="LegacySingleLineFontwork" config:type="boolean">false</config:config-item>
<config:config-item config:name="ConnectorUseSnapRect" config:type="boolean">false</config:config-item>
<config:config-item config:name="IgnoreBreakAfterMultilineField" config:type="boolean">false</config:config-item>
</config:config-item-map-entry>
<config:config-item-map-entry config:name="Sheet2">
<config:config-item config:name="CursorPositionX" config:type="int">9</config:config-item>
<config:config-item config:name="CursorPositionY" config:type="int">38</config:config-item>
<config:config-item config:name="ActiveSplitRange" config:type="short">2</config:config-item>
<config:config-item config:name="PositionLeft" config:type="int">0</config:config-item>
<config:config-item config:name="PositionRight" config:type="int">0</config:config-item>
<config:config-item config:name="PositionTop" config:type="int">0</config:config-item>
<config:config-item config:name="PositionBottom" config:type="int">0</config:config-item>
<config:config-item config:name="ZoomType" config:type="short">0</config:config-item>
<config:config-item config:name="ZoomValue" config:type="int">75</config:config-item>
<config:config-item config:name="PageViewZoomValue" config:type="int">60</config:config-item>
<config:config-item config:name="ShowGrid" config:type="boolean">true</config:config-item>
<config:config-item config:name="AnchoredTextOverflowLegacy" config:type="boolean">false</config:config-item>
<config:config-item config:name="LegacySingleLineFontwork" config:type="boolean">false</config:config-item>
<config:config-item config:name="ConnectorUseSnapRect" config:type="boolean">false</config:config-item>
<config:config-item config:name="IgnoreBreakAfterMultilineField" config:type="boolean">false</config:config-item>
</config:config-item-map-entry>
</config:config-item-map-named>
<config:config-item config:name="ActiveTable" config:type="string">Sheet1</config:config-item>
<config:config-item config:name="HorizontalScrollbarWidth" config:type="int">1851</config:config-item>
<config:config-item config:name="ZoomType" config:type="short">0</config:config-item>
<config:config-item config:name="ZoomValue" config:type="int">75</config:config-item>
<config:config-item config:name="PageViewZoomValue" config:type="int">60</config:config-item>
<config:config-item config:name="ShowPageBreakPreview" config:type="boolean">false</config:config-item>
<config:config-item config:name="ShowZeroValues" config:type="boolean">true</config:config-item>
<config:config-item config:name="ShowNotes" config:type="boolean">true</config:config-item>
<config:config-item config:name="ShowNoteAuthor" config:type="boolean">true</config:config-item>
<config:config-item config:name="ShowFormulasMarks" config:type="boolean">false</config:config-item>
<config:config-item config:name="ShowGrid" config:type="boolean">true</config:config-item>
<config:config-item config:name="GridColor" config:type="int">12632256</config:config-item>
<config:config-item config:name="FormulaBarHeight" config:type="short">1</config:config-item>
<config:config-item config:name="HasColumnRowHeaders" config:type="boolean">true</config:config-item>
<config:config-item config:name="HasSheetTabs" config:type="boolean">true</config:config-item>
<config:config-item config:name="IsOutlineSymbolsSet" config:type="boolean">true</config:config-item>
<config:config-item config:name="IsValueHighlightingEnabled" config:type="boolean">false</config:config-item>
<config:config-item config:name="IsSnapToRaster" config:type="boolean">false</config:config-item>
<config:config-item config:name="RasterIsVisible" config:type="boolean">false</config:config-item>
<config:config-item config:name="RasterResolutionX" config:type="int">1270</config:config-item>
<config:config-item config:name="RasterResolutionY" config:type="int">1270</config:config-item>
<config:config-item config:name="RasterSubdivisionX" config:type="int">1</config:config-item>
<config:config-item config:name="RasterSubdivisionY" config:type="int">1</config:config-item>
<config:config-item config:name="IsRasterAxisSynchronized" config:type="boolean">true</config:config-item>
<config:config-item config:name="AnchoredTextOverflowLegacy" config:type="boolean">false</config:config-item>
<config:config-item config:name="LegacySingleLineFontwork" config:type="boolean">false</config:config-item>
<config:config-item config:name="ConnectorUseSnapRect" config:type="boolean">false</config:config-item>
<config:config-item config:name="IgnoreBreakAfterMultilineField" config:type="boolean">false</config:config-item>
</config:config-item-map-entry>
</config:config-item-map-indexed>
</config:config-item-set>
<config:config-item-set config:name="ooo:configuration-settings">
<config:config-item config:name="AllowPrintJobCancel" config:type="boolean">true</config:config-item>
<config:config-item config:name="ApplyUserData" config:type="boolean">true</config:config-item>
<config:config-item config:name="AutoCalculate" config:type="boolean">true</config:config-item>
<config:config-item config:name="CharacterCompressionType" config:type="short">0</config:config-item>
<config:config-item config:name="EmbedAsianScriptFonts" config:type="boolean">true</config:config-item>
<config:config-item config:name="EmbedComplexScriptFonts" config:type="boolean">true</config:config-item>
<config:config-item config:name="EmbedFonts" config:type="boolean">false</config:config-item>
<config:config-item config:name="EmbedLatinScriptFonts" config:type="boolean">true</config:config-item>
<config:config-item config:name="EmbedOnlyUsedFonts" config:type="boolean">false</config:config-item>
<config:config-item-map-indexed config:name="ForbiddenCharacters">
<config:config-item-map-entry>
<config:config-item config:name="Language" config:type="string">en</config:config-item>
<config:config-item config:name="Country" config:type="string">US</config:config-item>
<config:config-item config:name="Variant" config:type="string"/>
<config:config-item config:name="BeginLine" config:type="string"/>
<config:config-item config:name="EndLine" config:type="string"/>
</config:config-item-map-entry>
</config:config-item-map-indexed>
<config:config-item config:name="GridColor" config:type="int">12632256</config:config-item>
<config:config-item config:name="HasColumnRowHeaders" config:type="boolean">true</config:config-item>
<config:config-item config:name="HasSheetTabs" config:type="boolean">true</config:config-item>
<config:config-item config:name="ImagePreferredDPI" config:type="int">0</config:config-item>
<config:config-item config:name="IsDocumentShared" config:type="boolean">false</config:config-item>
<config:config-item config:name="IsKernAsianPunctuation" config:type="boolean">false</config:config-item>
<config:config-item config:name="IsOutlineSymbolsSet" config:type="boolean">true</config:config-item>
<config:config-item config:name="IsRasterAxisSynchronized" config:type="boolean">true</config:config-item>
<config:config-item config:name="IsSnapToRaster" config:type="boolean">false</config:config-item>
<config:config-item config:name="LinkUpdateMode" config:type="short">3</config:config-item>
<config:config-item config:name="LoadReadonly" config:type="boolean">false</config:config-item>
<config:config-item config:name="PrinterName" config:type="string">Microsoft Print to PDF</config:config-item>
<config:config-item config:name="PrinterPaperFromSetup" config:type="boolean">false</config:config-item>
<config:config-item config:name="PrinterSetup" config:type="base64Binary">ZBb+/01pY3Jvc29mdCBQcmludCB0byBQREYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATWljcm9zb2Z0IFByaW50IFRvIFBERgAAAAAAAAAAAAAWAAEANhUAAAAAAAAEAAhSAAAEdAAAM1ROVwAAAAAKAE0AaQBjAHIAbwBzAG8AZgB0ACAAUAByAGkAbgB0ACAAdABvACAAUABEAEYAAAAAAAAAAAAAAAAAAAAAAAAAAAABBAMG3ABQFAMvAQABAAkAmgs0CGQAAQAPAFgCAgABAFgCAwABAEEANAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAIAAAABAAAA/////0dJUzQAAAAAAAAAAAAAAABESU5VIgDIACQDLBE/XXt+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAUAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyAAAAFNNVEoAAAAAEAC4AHsAMAA4ADQARgAwADEARgBBAC0ARQA2ADMANAAtADQARAA3ADcALQA4ADMARQBFAC0AMAA3ADQAOAAxADcAQwAwADMANQA4ADEAfQAAAFJFU0RMTABVbmlyZXNETEwAUGFwZXJTaXplAEE0AE9yaWVudGF0aW9uAFBPUlRSQUlUAFJlc29sdXRpb24AUmVzT3B0aW9uMQBDb2xvck1vZGUAQ29sb3IAAAAAAAAAAAAAAAAAAAAAAAAsEQAAVjRETQEAAAAAAAAAnApwIhwAAADsAAAAAwAAAPoBTwg05ndNg+4HSBfANYHQAAAATAAAAAMAAAAACAAAAAAAAAAAAAADAAAAAAgAACoAAAAACAAAAwAAAEAAAABWAAAAABAAAEQAbwBjAHUAbQBlAG4AdABVAHMAZQByAFAAYQBzAHMAdwBvAHIAZAAAAEQAbwBjAHUAbQBlAG4AdABPAHcAbgBlAHIAUABhAHMAcwB3AG8AcgBkAAAARABvAGMAdQBtAGUAbgB0AEMAcgB5AHAAdABTAGUAYwB1AHIAaQB0AHkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgBDT01QQVRfRFVQTEVYX01PREUTAER1cGxleE1vZGU6OlVua25vd24MAFBSSU5URVJfTkFNRRYATWljcm9zb2Z0IFByaW50IHRvIFBERgsARFJJVkVSX05BTUUWAE1pY3Jvc29mdCBQcmludCBUbyBQREY=</config:config-item>
<config:config-item config:name="RasterIsVisible" config:type="boolean">false</config:config-item>
<config:config-item config:name="RasterResolutionX" config:type="int">1270</config:config-item>
<config:config-item config:name="RasterResolutionY" config:type="int">1270</config:config-item>
<config:config-item config:name="RasterSubdivisionX" config:type="int">1</config:config-item>
<config:config-item config:name="RasterSubdivisionY" config:type="int">1</config:config-item>
<config:config-item config:name="SaveThumbnail" config:type="boolean">true</config:config-item>
<config:config-item config:name="SaveVersionOnClose" config:type="boolean">false</config:config-item>
<config:config-item config:name="ShowFormulasMarks" config:type="boolean">false</config:config-item>
<config:config-item config:name="ShowGrid" config:type="boolean">true</config:config-item>
<config:config-item config:name="ShowNoteAuthor" config:type="boolean">true</config:config-item>
<config:config-item config:name="ShowNotes" config:type="boolean">true</config:config-item>
<config:config-item config:name="ShowPageBreaks" config:type="boolean">true</config:config-item>
<config:config-item config:name="ShowZeroValues" config:type="boolean">true</config:config-item>
<config:config-item config:name="SyntaxStringRef" config:type="short">7</config:config-item>
<config:config-item config:name="UpdateFromTemplate" config:type="boolean">true</config:config-item>
<config:config-item-map-named config:name="ScriptConfiguration">
<config:config-item-map-entry config:name="Sheet1">
<config:config-item config:name="CodeName" config:type="string">Sheet1</config:config-item>
</config:config-item-map-entry>
<config:config-item-map-entry config:name="Sheet2">
<config:config-item config:name="CodeName" config:type="string">Sheet2</config:config-item>
</config:config-item-map-entry>
</config:config-item-map-named>
</config:config-item-set>
</office:settings>
<office:scripts>
<office:script script:language="ooo:Basic">
<ooo:libraries xmlns:ooo="http://openoffice.org/2004/office" xmlns:xlink="http://www.w3.org/1999/xlink">
<ooo:library-embedded ooo:name="Standard"/>
</ooo:libraries>
</office:script>
</office:scripts>
<office:font-face-decls>
<style:font-face style:name="Calibri" svg:font-family="Calibri" style:font-family-generic="swiss"/>
<style:font-face style:name="FreeSans" svg:font-family="FreeSans" style:font-family-generic="system" style:font-pitch="variable"/>
<style:font-face style:name="Liberation Sans" svg:font-family="'Liberation Sans'" style:font-family-generic="swiss" style:font-pitch="variable"/>
<style:font-face style:name="Lucida Sans" svg:font-family="'Lucida Sans'" style:font-family-generic="system" style:font-pitch="variable"/>
<style:font-face style:name="Microsoft YaHei" svg:font-family="'Microsoft YaHei'" style:font-family-generic="system" style:font-pitch="variable"/>
<style:font-face style:name="WenQuanYi Micro Hei" svg:font-family="'WenQuanYi Micro Hei'" style:font-family-generic="system" style:font-pitch="variable"/>
</office:font-face-decls>
<office:styles>
<style:default-style style:family="table-cell">
<style:paragraph-properties style:tab-stop-distance="1.27cm"/>
<style:text-properties style:font-name="Liberation Sans" fo:font-size="10pt" fo:language="en" fo:country="US" style:font-name-asian="WenQuanYi Micro Hei" style:font-size-asian="10pt" style:language-asian="zh" style:country-asian="CN" style:font-name-complex="FreeSans" style:font-size-complex="10pt" style:language-complex="hi" style:country-complex="IN"/>
</style:default-style>
<style:default-style style:family="graphic">
<style:graphic-properties svg:stroke-color="#3465a4" draw:fill-color="#729fcf" fo:wrap-option="no-wrap" draw:shadow-offset-x="0.3cm" draw:shadow-offset-y="0.3cm" style:writing-mode="page"/>
<style:paragraph-properties style:text-autospace="ideograph-alpha" style:punctuation-wrap="simple" style:line-break="strict" loext:tab-stop-distance="0cm" style:writing-mode="page" style:font-independent-line-spacing="false">
<style:tab-stops/>
</style:paragraph-properties>
<style:text-properties style:use-window-font-color="true" loext:opacity="0%" fo:font-family="'Liberation Serif'" style:font-family-generic="roman" style:font-pitch="variable" fo:font-size="12pt" fo:language="en" fo:country="US" style:letter-kerning="true" style:font-family-asian="'Segoe UI'" style:font-family-generic-asian="system" style:font-pitch-asian="variable" style:font-size-asian="12pt" style:language-asian="zh" style:country-asian="CN" style:font-family-complex="Tahoma" style:font-family-generic-complex="system" style:font-pitch-complex="variable" style:font-size-complex="12pt" style:language-complex="hi" style:country-complex="IN"/>
</style:default-style>
<style:style style:name="Default" style:family="graphic"/>
<style:style style:name="Note" style:family="graphic" style:parent-style-name="Default">
<style:graphic-properties draw:stroke="solid" draw:marker-start="Arrowheads_20_1" draw:marker-start-width="0.2cm" draw:marker-start-center="false" draw:fill="solid" draw:fill-color="#ffffc0" draw:auto-grow-height="true" draw:auto-grow-width="false" fo:padding-top="0.1cm" fo:padding-bottom="0.1cm" fo:padding-left="0.1cm" fo:padding-right="0.1cm" draw:shadow="visible" draw:shadow-offset-x="0.1cm" draw:shadow-offset-y="0.1cm"/>
<style:text-properties style:font-name="Liberation Sans" fo:font-family="'Liberation Sans'" style:font-family-generic="swiss" style:font-pitch="variable" fo:font-size="10pt" style:font-name-asian="WenQuanYi Micro Hei" style:font-family-asian="'WenQuanYi Micro Hei'" style:font-family-generic-asian="system" style:font-pitch-asian="variable" style:font-size-asian="10pt" style:font-name-complex="FreeSans" style:font-family-complex="FreeSans" style:font-family-generic-complex="system" style:font-pitch-complex="variable" style:font-size-complex="10pt"/>
</style:style>
<number:number-style style:name="N0">
<number:number number:min-integer-digits="1"/>
</number:number-style>
<number:currency-style style:name="N149P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="cs" number:country="CZ">Kč</number:currency-symbol>
</number:currency-style>
<number:currency-style style:name="N149">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="cs" number:country="CZ">Kč</number:currency-symbol>
<style:map style:condition="value()>=0" style:apply-style-name="N149P0"/>
</number:currency-style>
<number:number-style style:name="N151P0" style:volatile="true">
<number:text>\</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
</number:number-style>
<number:number-style style:name="N151">
<style:text-properties fo:color="#ff0000"/>
<number:text>\-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<style:map style:condition="value()>=0" style:apply-style-name="N151P0"/>
</number:number-style>
<number:percentage-style style:name="N152">
<number:number number:decimal-places="1" number:min-decimal-places="1" number:min-integer-digits="1"/>
<number:text>%</number:text>
</number:percentage-style>
<number:number-style style:name="N156P0" style:volatile="true">
<number:text> \</number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N156P1" style:volatile="true">
<number:text> \</number:text>
<number:fill-character> </number:fill-character>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N156P2" style:volatile="true">
<number:text> \</number:text>
<number:fill-character> </number:fill-character>
<number:text>- </number:text>
</number:number-style>
<number:text-style style:name="N156">
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N156P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N156P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N156P2"/>
</number:text-style>
<number:currency-style style:name="N158P0" style:volatile="true">
<number:currency-symbol number:language="en" number:country="GB">£</number:currency-symbol>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
</number:currency-style>
<number:currency-style style:name="N158">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:currency-symbol number:language="en" number:country="GB">£</number:currency-symbol>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<style:map style:condition="value()>=0" style:apply-style-name="N158P0"/>
</number:currency-style>
<number:number-style style:name="N159">
<number:number number:decimal-places="3" number:min-decimal-places="3" number:min-integer-digits="1"/>
</number:number-style>
<number:number-style style:name="N163P0" style:volatile="true">
<number:text> $</number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N163P1" style:volatile="true">
<number:text> $</number:text>
<number:fill-character> </number:fill-character>
<number:text>(</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
</number:number-style>
<number:number-style style:name="N163P2" style:volatile="true">
<number:text> $</number:text>
<number:fill-character> </number:fill-character>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="0"/>
<number:text> </number:text>
</number:number-style>
<number:text-style style:name="N163">
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N163P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N163P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N163P2"/>
</number:text-style>
<number:date-style style:name="N164">
<number:day number:style="long"/>
<number:text>.</number:text>
<number:month number:style="long"/>
<number:text>.</number:text>
<number:year number:style="long"/>
</number:date-style>
<number:number-style style:name="N165">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N166P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N166">
<number:text>(</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N166P0"/>
</number:number-style>
<number:currency-style style:name="N168P0" style:volatile="true">
<number:currency-symbol number:language="nl" number:country="NL">€</number:currency-symbol>
<number:text> </number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
</number:currency-style>
<number:currency-style style:name="N168">
<number:currency-symbol number:language="nl" number:country="NL">€</number:currency-symbol>
<number:text> -</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<style:map style:condition="value()>=0" style:apply-style-name="N168P0"/>
</number:currency-style>
<number:number-style style:name="N170P0" style:volatile="true">
<number:text>$</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N170">
<number:text>($</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N170P0"/>
</number:number-style>
<number:number-style style:name="N171">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N174P0" style:volatile="true">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N174P1" style:volatile="true">
<number:text> (</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
</number:number-style>
<number:number-style style:name="N174P2" style:volatile="true">
<number:text> - </number:text>
</number:number-style>
<number:text-style style:name="N174">
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N174P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N174P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N174P2"/>
</number:text-style>
<number:date-style style:name="N175">
<number:text>⌀ </number:text>
<number:year number:style="long"/>
</number:date-style>
<number:number-style style:name="N179P0" style:volatile="true">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> € </number:text>
</number:number-style>
<number:number-style style:name="N179P1" style:volatile="true">
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> € </number:text>
</number:number-style>
<number:number-style style:name="N179P2" style:volatile="true">
<number:text> - € </number:text>
</number:number-style>
<number:text-style style:name="N179">
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N179P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N179P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N179P2"/>
</number:text-style>
<number:number-style style:name="N180">
<number:number number:decimal-places="17" number:min-decimal-places="17" number:min-integer-digits="1"/>
</number:number-style>
<number:number-style style:name="N181">
<number:scientific-number number:decimal-places="14" number:min-decimal-places="14" number:min-integer-digits="1" number:min-exponent-digits="3" number:exponent-interval="1" number:forced-exponent-sign="true"/>
</number:number-style>
<number:currency-style style:name="N182P0" style:volatile="true">
<number:currency-symbol number:language="nl" number:country="NL">€</number:currency-symbol>
<number:text> </number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
</number:currency-style>
<number:currency-style style:name="N182">
<style:text-properties fo:color="#ff0000"/>
<number:currency-symbol number:language="nl" number:country="NL">€</number:currency-symbol>
<number:text> </number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text>-</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N182P0"/>
</number:currency-style>
<number:date-style style:name="N183">
<number:month number:style="long"/>
<number:text>-</number:text>
<number:day number:style="long"/>
<number:text>-</number:text>
<number:year number:style="long"/>
</number:date-style>
<number:currency-style style:name="N185P0" style:volatile="true">
<number:currency-symbol number:language="en" number:country="GB">£</number:currency-symbol>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
</number:currency-style>
<number:currency-style style:name="N185">
<number:text>-</number:text>
<number:currency-symbol number:language="en" number:country="GB">£</number:currency-symbol>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<style:map style:condition="value()>=0" style:apply-style-name="N185P0"/>
</number:currency-style>
<number:date-style style:name="N186">
<number:day number:style="long"/>
<number:text>-</number:text>
<number:month number:style="long"/>
</number:date-style>
<number:number-style style:name="N187">
<number:number number:decimal-places="9" number:min-decimal-places="9" number:min-integer-digits="1"/>
</number:number-style>
<number:number-style style:name="N188">
<number:number number:decimal-places="15" number:min-decimal-places="15" number:min-integer-digits="1"/>
</number:number-style>
<number:number-style style:name="N192P0" style:volatile="true">
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N192P1" style:volatile="true">
<number:fill-character> </number:fill-character>
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N192P2" style:volatile="true">
<number:fill-character> </number:fill-character>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="0"/>
<number:text> </number:text>
</number:number-style>
<number:text-style style:name="N192">
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N192P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N192P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N192P2"/>
</number:text-style>
<number:currency-style style:name="N194P0" style:volatile="true">
<number:currency-symbol>€</number:currency-symbol>
<number:text> </number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:currency-style>
<number:currency-style style:name="N194">
<style:text-properties fo:color="#ff0000"/>
<number:text>(</number:text>
<number:currency-symbol>€</number:currency-symbol>
<number:text> </number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N194P0"/>
</number:currency-style>
<number:number-style style:name="N195">
<number:number number:decimal-places="1" number:min-decimal-places="1" number:min-integer-digits="1"/>
</number:number-style>
<number:number-style style:name="N196">
<number:number number:decimal-places="5" number:min-decimal-places="5" number:min-integer-digits="1"/>
</number:number-style>
<number:number-style style:name="N197">
<number:text>$</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
</number:number-style>
<number:number-style style:name="N198P0" style:volatile="true">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N198">
<number:text>(</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N198P0"/>
</number:number-style>
<number:currency-style style:name="N200P0" style:volatile="true">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="cs" number:country="CZ">Kč</number:currency-symbol>
</number:currency-style>
<number:currency-style style:name="N200">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="cs" number:country="CZ">Kč</number:currency-symbol>
<style:map style:condition="value()>=0" style:apply-style-name="N200P0"/>
</number:currency-style>
<number:currency-style style:name="N202P0" style:volatile="true">
<number:currency-symbol number:language="es" number:country="MX">$</number:currency-symbol>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
</number:currency-style>
<number:currency-style style:name="N202">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:currency-symbol number:language="es" number:country="MX">$</number:currency-symbol>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<style:map style:condition="value()>=0" style:apply-style-name="N202P0"/>
</number:currency-style>
<number:number-style style:name="N206P0" style:volatile="true">
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N206P1" style:volatile="true">
<number:fill-character> </number:fill-character>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N206P2" style:volatile="true">
<number:fill-character> </number:fill-character>
<number:text>- </number:text>
</number:number-style>
<number:text-style style:name="N206">
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N206P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N206P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N206P2"/>
</number:text-style>
<number:currency-style style:name="N208P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="0" number:decimal-replacement="--" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="cs" number:country="CZ">Kč</number:currency-symbol>
</number:currency-style>
<number:currency-style style:name="N208">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="0" number:decimal-replacement="--" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="cs" number:country="CZ">Kč</number:currency-symbol>
<style:map style:condition="value()>=0" style:apply-style-name="N208P0"/>
</number:currency-style>
<number:number-style style:name="N210P0" style:volatile="true">
<number:text>Yes</number:text>
</number:number-style>
<number:number-style style:name="N210P1" style:volatile="true">
<number:text>Yes</number:text>
</number:number-style>
<number:number-style style:name="N210">
<number:text>No</number:text>
<style:map style:condition="value()>0" style:apply-style-name="N210P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N210P1"/>
</number:number-style>
<number:number-style style:name="N211">
<number:number number:decimal-places="12" number:min-decimal-places="12" number:min-integer-digits="1"/>
</number:number-style>
<number:number-style style:name="N212">
<number:number number:decimal-places="6" number:min-decimal-places="6" number:min-integer-digits="1"/>
</number:number-style>
<number:currency-style style:name="N214P0" style:volatile="true">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol>EUR</number:currency-symbol>
</number:currency-style>
<number:currency-style style:name="N214">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol>EUR</number:currency-symbol>
<style:map style:condition="value()>=0" style:apply-style-name="N214P0"/>
</number:currency-style>
<number:number-style style:name="N216P0" style:volatile="true">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> €</number:text>
</number:number-style>
<number:number-style style:name="N216">
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> €</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N216P0"/>
</number:number-style>
<number:number-style style:name="N218P0" style:volatile="true">
<number:text>\</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
</number:number-style>
<number:number-style style:name="N218">
<number:text>\-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<style:map style:condition="value()>=0" style:apply-style-name="N218P0"/>
</number:number-style>
<number:number-style style:name="N222P0" style:volatile="true">
<number:text> \</number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N222P1" style:volatile="true">
<number:text> \</number:text>
<number:fill-character> </number:fill-character>
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N222P2" style:volatile="true">
<number:text> \</number:text>
<number:fill-character> </number:fill-character>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="0"/>
<number:text> </number:text>
</number:number-style>
<number:text-style style:name="N222">
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N222P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N222P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N222P2"/>
</number:text-style>
<number:number-style style:name="N223">
<number:number number:decimal-places="18" number:min-decimal-places="18" number:min-integer-digits="1"/>
</number:number-style>
<number:number-style style:name="N224">
<number:number number:decimal-places="4" number:min-decimal-places="4" number:min-integer-digits="1"/>
</number:number-style>
<number:number-style style:name="N225">
<number:scientific-number number:decimal-places="1" number:min-decimal-places="1" number:min-integer-digits="3" number:min-exponent-digits="1" number:exponent-interval="3" number:forced-exponent-sign="true"/>
</number:number-style>
<number:number-style style:name="N227P0" style:volatile="true">
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N227P1" style:volatile="true">
<number:fill-character> </number:fill-character>
<number:text>(</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
</number:number-style>
<number:number-style style:name="N227P2" style:volatile="true">
<number:fill-character> </number:fill-character>
<number:text>- </number:text>
</number:number-style>
<number:text-style style:name="N227">
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N227P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N227P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N227P2"/>
</number:text-style>
<number:currency-style style:name="N228P0" style:volatile="true">
<number:currency-symbol number:language="en" number:country="GB">£</number:currency-symbol>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
</number:currency-style>
<number:currency-style style:name="N228">
<number:text>-</number:text>
<number:currency-symbol number:language="en" number:country="GB">£</number:currency-symbol>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<style:map style:condition="value()>=0" style:apply-style-name="N228P0"/>
</number:currency-style>
<number:number-style style:name="N229">
<number:scientific-number number:decimal-places="1" number:min-decimal-places="1" number:min-integer-digits="1" number:min-exponent-digits="1" number:exponent-interval="1" number:forced-exponent-sign="true"/>
</number:number-style>
<number:number-style style:name="N230">
<number:scientific-number number:decimal-places="1" number:min-decimal-places="1" number:min-integer-digits="1" number:min-exponent-digits="1" number:exponent-interval="3" number:forced-exponent-sign="true"/>
</number:number-style>
<number:currency-style style:name="N232P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol>EUR</number:currency-symbol>
</number:currency-style>
<number:currency-style style:name="N232">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol>EUR</number:currency-symbol>
<style:map style:condition="value()>=0" style:apply-style-name="N232P0"/>
</number:currency-style>
<number:number-style style:name="N233P0" style:volatile="true">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> €</number:text>
</number:number-style>
<number:number-style style:name="N233">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> €</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N233P0"/>
</number:number-style>
<number:date-style style:name="N234">
<number:month number:style="long"/>
<number:text>-</number:text>
<number:day/>
<number:text>-</number:text>
<number:year/>
</number:date-style>
<number:number-style style:name="N238P0" style:volatile="true">
<number:text> $</number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N238P1" style:volatile="true">
<number:text> $</number:text>
<number:fill-character> </number:fill-character>
<number:text>(</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
</number:number-style>
<number:number-style style:name="N238P2" style:volatile="true">
<number:text> $</number:text>
<number:fill-character> </number:fill-character>
<number:text>- </number:text>
</number:number-style>
<number:text-style style:name="N238">
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N238P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N238P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N238P2"/>
</number:text-style>
<number:number-style style:name="N242P0" style:volatile="true">
<number:text> $</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N242P1" style:volatile="true">
<number:text> $(</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
</number:number-style>
<number:number-style style:name="N242P2" style:volatile="true">
<number:text> $- </number:text>
</number:number-style>
<number:text-style style:name="N242">
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N242P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N242P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N242P2"/>
</number:text-style>
<number:date-style style:name="N243">
<number:year number:style="long"/>
</number:date-style>
<number:number-style style:name="N244">
<number:number number:decimal-places="20" number:min-decimal-places="20" number:min-integer-digits="1"/>
</number:number-style>
<number:currency-style style:name="N246P0" style:volatile="true">
<number:currency-symbol number:language="en" number:country="GB">£</number:currency-symbol>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
</number:currency-style>
<number:currency-style style:name="N246">
<number:text>-</number:text>
<number:currency-symbol number:language="en" number:country="GB">£</number:currency-symbol>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<style:map style:condition="value()>=0" style:apply-style-name="N246P0"/>
</number:currency-style>
<number:number-style style:name="N248P0" style:volatile="true">
<number:text>On</number:text>
</number:number-style>
<number:number-style style:name="N248P1" style:volatile="true">
<number:text>On</number:text>
</number:number-style>
<number:number-style style:name="N248">
<number:text>Off</number:text>
<style:map style:condition="value()>0" style:apply-style-name="N248P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N248P1"/>
</number:number-style>
<number:number-style style:name="N250P0" style:volatile="true">
<number:text>$</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N250">
<style:text-properties fo:color="#ff0000"/>
<number:text>($</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N250P0"/>
</number:number-style>
<number:number-style style:name="N252P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> €</number:text>
</number:number-style>
<number:number-style style:name="N252">
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> €</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N252P0"/>
</number:number-style>
<number:number-style style:name="N253">
<number:number number:decimal-places="14" number:min-decimal-places="14" number:min-integer-digits="1"/>
</number:number-style>
<number:number-style style:name="N254P0" style:volatile="true">
<number:text>$</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N254">
<number:text>($</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N254P0"/>
</number:number-style>
<number:number-style style:name="N255P0" style:volatile="true">
<number:text>$</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N255">
<style:text-properties fo:color="#ff0000"/>
<number:text>($</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N255P0"/>
</number:number-style>
<number:number-style style:name="N256">
<number:number number:decimal-places="8" number:min-decimal-places="8" number:min-integer-digits="1"/>
</number:number-style>
<number:number-style style:name="N258P0" style:volatile="true">
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N258P1" style:volatile="true">
<number:fill-character> </number:fill-character>
<number:text>(</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
</number:number-style>
<number:number-style style:name="N258P2" style:volatile="true">
<number:fill-character> </number:fill-character>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="0"/>
<number:text> </number:text>
</number:number-style>
<number:text-style style:name="N258">
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N258P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N258P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N258P2"/>
</number:text-style>
<number:currency-style style:name="N259P0" style:volatile="true">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="cs" number:country="CZ">Kč</number:currency-symbol>
</number:currency-style>
<number:currency-style style:name="N259">
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="cs" number:country="CZ">Kč</number:currency-symbol>
<style:map style:condition="value()>=0" style:apply-style-name="N259P0"/>
</number:currency-style>
<number:number-style style:name="N260">
<number:number number:decimal-places="11" number:min-decimal-places="11" number:min-integer-digits="1"/>
</number:number-style>
<number:number-style style:name="N262P0" style:volatile="true">
<number:text>True</number:text>
</number:number-style>
<number:number-style style:name="N262P1" style:volatile="true">
<number:text>True</number:text>
</number:number-style>
<number:number-style style:name="N262">
<number:text>False</number:text>
<style:map style:condition="value()>0" style:apply-style-name="N262P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N262P1"/>
</number:number-style>
<number:number-style style:name="N266P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> € </number:text>
</number:number-style>
<number:number-style style:name="N266P1" style:volatile="true">
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> € </number:text>
</number:number-style>
<number:number-style style:name="N266P2" style:volatile="true">
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="0"/>
<number:text> € </number:text>
</number:number-style>
<number:text-style style:name="N266">
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N266P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N266P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N266P2"/>
</number:text-style>
<number:number-style style:name="N267">
<number:number number:decimal-places="7" number:min-decimal-places="7" number:min-integer-digits="1"/>
</number:number-style>
<number:number-style style:name="N271P0" style:volatile="true">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N271P1" style:volatile="true">
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N271P2" style:volatile="true">
<number:text> - </number:text>
</number:number-style>
<number:text-style style:name="N271">
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N271P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N271P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N271P2"/>
</number:text-style>
<number:date-style style:name="N272">
<number:month number:style="long"/>
<number:text>/</number:text>
<number:year number:style="long"/>
</number:date-style>
<number:currency-style style:name="N273P0" style:volatile="true">
<number:currency-symbol number:language="en" number:country="GB">£</number:currency-symbol>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
</number:currency-style>
<number:currency-style style:name="N273">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:currency-symbol number:language="en" number:country="GB">£</number:currency-symbol>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<style:map style:condition="value()>=0" style:apply-style-name="N273P0"/>
</number:currency-style>
<number:currency-style style:name="N275P0" style:volatile="true">
<number:currency-symbol number:language="en" number:country="GB">£</number:currency-symbol>
<number:number number:decimal-places="2" number:min-decimal-places="0" number:decimal-replacement="--" number:min-integer-digits="1" number:grouping="true"/>
</number:currency-style>
<number:currency-style style:name="N275">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:currency-symbol number:language="en" number:country="GB">£</number:currency-symbol>
<number:number number:decimal-places="2" number:min-decimal-places="0" number:decimal-replacement="--" number:min-integer-digits="1" number:grouping="true"/>
<style:map style:condition="value()>=0" style:apply-style-name="N275P0"/>
</number:currency-style>
<number:number-style style:name="N279P0" style:volatile="true">
<number:text> $</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N279P1" style:volatile="true">
<number:text> $(</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
</number:number-style>
<number:number-style style:name="N279P2" style:volatile="true">
<number:text> $-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="0"/>
<number:text> </number:text>
</number:number-style>
<number:text-style style:name="N279">
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N279P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N279P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N279P2"/>
</number:text-style>
<number:number-style style:name="N283P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N283P1" style:volatile="true">
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N283P2" style:volatile="true">
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="0"/>
<number:text> </number:text>
</number:number-style>
<number:text-style style:name="N283">
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N283P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N283P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N283P2"/>
</number:text-style>
<number:number-style style:name="N285P0" style:volatile="true">
<number:text>WAHR</number:text>
</number:number-style>
<number:number-style style:name="N285P1" style:volatile="true">
<number:text>WAHR</number:text>
</number:number-style>
<number:number-style style:name="N285">
<number:text>FALSCH</number:text>
<style:map style:condition="value()>0" style:apply-style-name="N285P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N285P1"/>
</number:number-style>
<number:date-style style:name="N286">
<number:month number:style="long"/>
<number:text>.</number:text>
<number:year number:style="long"/>
</number:date-style>
<number:currency-style style:name="N288P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="fr" number:country="FR">€</number:currency-symbol>
</number:currency-style>
<number:currency-style style:name="N288">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="fr" number:country="FR">€</number:currency-symbol>
<style:map style:condition="value()>=0" style:apply-style-name="N288P0"/>
</number:currency-style>
<number:currency-style style:name="N290P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
</number:currency-style>
<number:currency-style style:name="N290">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
<style:map style:condition="value()>=0" style:apply-style-name="N290P0"/>
</number:currency-style>
<number:number-style style:name="N291">
<number:number number:decimal-places="16" number:min-decimal-places="16" number:min-integer-digits="1"/>
</number:number-style>
<number:number-style style:name="N294P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N294P1" style:volatile="true">
<number:text> (</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
</number:number-style>
<number:number-style style:name="N294P2" style:volatile="true">
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="0"/>
<number:text> </number:text>
</number:number-style>
<number:text-style style:name="N294">
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N294P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N294P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N294P2"/>
</number:text-style>
<number:time-style style:name="N295">
<number:minutes number:style="long"/>
<number:text>:</number:text>
<number:seconds number:style="long" number:decimal-places="1"/>
</number:time-style>
<number:time-style style:name="N296">
<number:minutes number:style="long"/>
<number:text>:</number:text>
<number:seconds number:style="long"/>
</number:time-style>
<number:currency-style style:name="N298P0" style:volatile="true">
<number:currency-symbol number:language="en" number:country="GB">£</number:currency-symbol>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
</number:currency-style>
<number:currency-style style:name="N298">
<number:text>-</number:text>
<number:currency-symbol number:language="en" number:country="GB">£</number:currency-symbol>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<style:map style:condition="value()>=0" style:apply-style-name="N298P0"/>
</number:currency-style>
<number:number-style style:name="N299P0" style:volatile="true">
<number:text>\</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
</number:number-style>
<number:number-style style:name="N299">
<style:text-properties fo:color="#ff0000"/>
<number:text>\-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<style:map style:condition="value()>=0" style:apply-style-name="N299P0"/>
</number:number-style>
<number:currency-style style:name="N301P0" style:volatile="true">
<number:currency-symbol number:language="nl" number:country="NL">€</number:currency-symbol>
<number:text> </number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
</number:currency-style>
<number:currency-style style:name="N301">
<number:currency-symbol number:language="nl" number:country="NL">€</number:currency-symbol>
<number:text> -</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<style:map style:condition="value()>=0" style:apply-style-name="N301P0"/>
</number:currency-style>
<number:currency-style style:name="N303P0" style:volatile="true">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
</number:currency-style>
<number:currency-style style:name="N303">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
<style:map style:condition="value()>=0" style:apply-style-name="N303P0"/>
</number:currency-style>
<number:number-style style:name="N304">
<number:number number:decimal-places="10" number:min-decimal-places="10" number:min-integer-digits="1"/>
</number:number-style>
<number:number-style style:name="N305">
<number:number number:decimal-places="13" number:min-decimal-places="13" number:min-integer-digits="1"/>
</number:number-style>
<number:number-style style:name="N306P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> €</number:text>
</number:number-style>
<number:number-style style:name="N306">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> €</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N306P0"/>
</number:number-style>
<number:currency-style style:name="N307P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="cs" number:country="CZ">Kč</number:currency-symbol>
</number:currency-style>
<number:currency-style style:name="N307">
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="cs" number:country="CZ">Kč</number:currency-symbol>
<style:map style:condition="value()>=0" style:apply-style-name="N307P0"/>
</number:currency-style>
<number:time-style style:name="N308" number:truncate-on-overflow="false">
<number:hours/>
<number:text>:</number:text>
<number:minutes number:style="long"/>
<number:text>:</number:text>
<number:seconds number:style="long"/>
</number:time-style>
<number:number-style style:name="N309P0" style:volatile="true">
<number:text>\</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
</number:number-style>
<number:number-style style:name="N309">
<number:text>\-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<style:map style:condition="value()>=0" style:apply-style-name="N309P0"/>
</number:number-style>
<number:number-style style:name="N311P0" style:volatile="true">
<number:text/>
</number:number-style>
<number:currency-style style:name="N311">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="fr" number:country="FR">€</number:currency-symbol>
<style:map style:condition="value()>=0" style:apply-style-name="N311P0"/>
</number:currency-style>
<number:date-style style:name="N312">
<number:day-of-week/>
<number:text> </number:text>
<number:day number:style="long"/>
<number:text>/</number:text>
<number:month number:style="long"/>
<number:text>/</number:text>
<number:year/>
</number:date-style>
<number:date-style style:name="N313">
<number:day-of-week number:style="long"/>
<number:text> </number:text>
<number:day number:style="long"/>
<number:text>/</number:text>
<number:month number:style="long"/>
<number:text>/</number:text>
<number:year/>
</number:date-style>
<number:currency-style style:name="N315P0" style:volatile="true">
<number:currency-symbol number:language="de" number:country="AT">€</number:currency-symbol>
<number:text> </number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
</number:currency-style>
<number:currency-style style:name="N315">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:currency-symbol number:language="de" number:country="AT">€</number:currency-symbol>
<number:text> </number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<style:map style:condition="value()>=0" style:apply-style-name="N315P0"/>
</number:currency-style>
<number:number-style style:name="N317P0" style:volatile="true">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> Kč</number:text>
</number:number-style>
<number:number-style style:name="N317">
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> Kč</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N317P0"/>
</number:number-style>
<number:number-style style:name="N318P0" style:volatile="true">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> Kč</number:text>
</number:number-style>
<number:number-style style:name="N318">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> Kč</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N318P0"/>
</number:number-style>
<number:number-style style:name="N320P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> Kč</number:text>
</number:number-style>
<number:number-style style:name="N320">
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> Kč</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N320P0"/>
</number:number-style>
<number:number-style style:name="N321P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> Kč</number:text>
</number:number-style>
<number:number-style style:name="N321">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> Kč</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N321P0"/>
</number:number-style>
<number:number-style style:name="N322P0" style:volatile="true">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
</number:number-style>
<number:number-style style:name="N322">
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<style:map style:condition="value()>=0" style:apply-style-name="N322P0"/>
</number:number-style>
<number:number-style style:name="N323P0" style:volatile="true">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
</number:number-style>
<number:number-style style:name="N323">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<style:map style:condition="value()>=0" style:apply-style-name="N323P0"/>
</number:number-style>
<number:number-style style:name="N324P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
</number:number-style>
<number:number-style style:name="N324">
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<style:map style:condition="value()>=0" style:apply-style-name="N324P0"/>
</number:number-style>
<number:number-style style:name="N325P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
</number:number-style>
<number:number-style style:name="N325">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<style:map style:condition="value()>=0" style:apply-style-name="N325P0"/>
</number:number-style>
<number:number-style style:name="N329P0" style:volatile="true">
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N329P1" style:volatile="true">
<number:text>-</number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N329P2" style:volatile="true">
<number:fill-character> </number:fill-character>
<number:text>- </number:text>
</number:number-style>
<number:text-style style:name="N329">
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N329P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N329P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N329P2"/>
</number:text-style>
<number:number-style style:name="N333P0" style:volatile="true">
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> Kč </number:text>
</number:number-style>
<number:number-style style:name="N333P1" style:volatile="true">
<number:text>-</number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> Kč </number:text>
</number:number-style>
<number:number-style style:name="N333P2" style:volatile="true">
<number:fill-character> </number:fill-character>
<number:text>- Kč </number:text>
</number:number-style>
<number:text-style style:name="N333">
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N333P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N333P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N333P2"/>
</number:text-style>
<number:number-style style:name="N337P0" style:volatile="true">
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N337P1" style:volatile="true">
<number:text>-</number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N337P2" style:volatile="true">
<number:fill-character> </number:fill-character>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="0"/>
<number:text> </number:text>
</number:number-style>
<number:text-style style:name="N337">
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N337P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N337P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N337P2"/>
</number:text-style>
<number:number-style style:name="N341P0" style:volatile="true">
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> Kč </number:text>
</number:number-style>
<number:number-style style:name="N341P1" style:volatile="true">
<number:text>-</number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> Kč </number:text>
</number:number-style>
<number:number-style style:name="N341P2" style:volatile="true">
<number:fill-character> </number:fill-character>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="0"/>
<number:text> Kč </number:text>
</number:number-style>
<number:text-style style:name="N341">
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N341P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N341P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N341P2"/>
</number:text-style>
<number:currency-style style:name="N343P0" style:volatile="true">
<number:currency-symbol number:language="cs" number:country="CZ">¥€</number:currency-symbol>
<number:text> </number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="3">
<number:embedded-text number:position="5"> </number:embedded-text>
</number:number>
<number:text> </number:text>
</number:currency-style>
<number:currency-style style:name="N343">
<style:text-properties fo:color="#ff0000"/>
<number:text>(</number:text>
<number:currency-symbol number:language="cs" number:country="CZ">€</number:currency-symbol>
<number:text> </number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="3">
<number:embedded-text number:position="5"> </number:embedded-text>
</number:number>
<number:text>)</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N343P0"/>
</number:currency-style>
<number:number-style style:name="N345P0" style:volatile="true">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N345">
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N345P0"/>
</number:number-style>
<number:number-style style:name="N346P0" style:volatile="true">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N346">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N346P0"/>
</number:number-style>
<number:number-style style:name="N348P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N348">
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N348P0"/>
</number:number-style>
<number:number-style style:name="N349P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N349">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N349P0"/>
</number:number-style>
<number:percentage-style style:name="N350">
<number:number number:decimal-places="14" number:min-decimal-places="14" number:min-integer-digits="1"/>
<number:text>%</number:text>
</number:percentage-style>
<number:percentage-style style:name="N351">
<number:number number:decimal-places="3" number:min-decimal-places="3" number:min-integer-digits="1"/>
<number:text>%</number:text>
</number:percentage-style>
<number:percentage-style style:name="N352">
<number:number number:decimal-places="4" number:min-decimal-places="4" number:min-integer-digits="1"/>
<number:text>%</number:text>
</number:percentage-style>
<number:percentage-style style:name="N353">
<number:number number:decimal-places="5" number:min-decimal-places="5" number:min-integer-digits="1"/>
<number:text>%</number:text>
</number:percentage-style>
<number:percentage-style style:name="N354">
<number:number number:decimal-places="6" number:min-decimal-places="6" number:min-integer-digits="1"/>
<number:text>%</number:text>
</number:percentage-style>
<number:percentage-style style:name="N355">
<number:number number:decimal-places="7" number:min-decimal-places="7" number:min-integer-digits="1"/>
<number:text>%</number:text>
</number:percentage-style>
<number:percentage-style style:name="N356">
<number:number number:decimal-places="8" number:min-decimal-places="8" number:min-integer-digits="1"/>
<number:text>%</number:text>
</number:percentage-style>
<number:percentage-style style:name="N357">
<number:number number:decimal-places="9" number:min-decimal-places="9" number:min-integer-digits="1"/>
<number:text>%</number:text>
</number:percentage-style>
<number:percentage-style style:name="N358">
<number:number number:decimal-places="10" number:min-decimal-places="10" number:min-integer-digits="1"/>
<number:text>%</number:text>
</number:percentage-style>
<number:currency-style style:name="N360P0" style:volatile="true">
<number:number number:decimal-places="3" number:min-decimal-places="3" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
</number:currency-style>
<number:currency-style style:name="N360">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="3" number:min-decimal-places="3" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
<style:map style:condition="value()>=0" style:apply-style-name="N360P0"/>
</number:currency-style>
<number:currency-style style:name="N362P0" style:volatile="true">
<number:number number:decimal-places="4" number:min-decimal-places="4" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
</number:currency-style>
<number:currency-style style:name="N362">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="4" number:min-decimal-places="4" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
<style:map style:condition="value()>=0" style:apply-style-name="N362P0"/>
</number:currency-style>
<number:currency-style style:name="N364P0" style:volatile="true">
<number:number number:decimal-places="5" number:min-decimal-places="5" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
</number:currency-style>
<number:currency-style style:name="N364">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="5" number:min-decimal-places="5" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
<style:map style:condition="value()>=0" style:apply-style-name="N364P0"/>
</number:currency-style>
<number:currency-style style:name="N366P0" style:volatile="true">
<number:number number:decimal-places="6" number:min-decimal-places="6" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
</number:currency-style>
<number:currency-style style:name="N366">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="6" number:min-decimal-places="6" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
<style:map style:condition="value()>=0" style:apply-style-name="N366P0"/>
</number:currency-style>
<number:currency-style style:name="N368P0" style:volatile="true">
<number:number number:decimal-places="7" number:min-decimal-places="7" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
</number:currency-style>
<number:currency-style style:name="N368">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="7" number:min-decimal-places="7" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
<style:map style:condition="value()>=0" style:apply-style-name="N368P0"/>
</number:currency-style>
<number:currency-style style:name="N370P0" style:volatile="true">
<number:number number:decimal-places="8" number:min-decimal-places="8" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
</number:currency-style>
<number:currency-style style:name="N370">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="8" number:min-decimal-places="8" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
<style:map style:condition="value()>=0" style:apply-style-name="N370P0"/>
</number:currency-style>
<number:currency-style style:name="N372P0" style:volatile="true">
<number:number number:decimal-places="9" number:min-decimal-places="9" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
</number:currency-style>
<number:currency-style style:name="N372">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="9" number:min-decimal-places="9" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
<style:map style:condition="value()>=0" style:apply-style-name="N372P0"/>
</number:currency-style>
<number:currency-style style:name="N374P0" style:volatile="true">
<number:number number:decimal-places="10" number:min-decimal-places="10" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
</number:currency-style>
<number:currency-style style:name="N374">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="10" number:min-decimal-places="10" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
<style:map style:condition="value()>=0" style:apply-style-name="N374P0"/>
</number:currency-style>
<number:currency-style style:name="N376P0" style:volatile="true">
<number:number number:decimal-places="11" number:min-decimal-places="11" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
</number:currency-style>
<number:currency-style style:name="N376">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="11" number:min-decimal-places="11" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
<style:map style:condition="value()>=0" style:apply-style-name="N376P0"/>
</number:currency-style>
<number:currency-style style:name="N378P0" style:volatile="true">
<number:number number:decimal-places="12" number:min-decimal-places="12" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
</number:currency-style>
<number:currency-style style:name="N378">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="12" number:min-decimal-places="12" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
<style:map style:condition="value()>=0" style:apply-style-name="N378P0"/>
</number:currency-style>
<number:currency-style style:name="N380P0" style:volatile="true">
<number:number number:decimal-places="13" number:min-decimal-places="13" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
</number:currency-style>
<number:currency-style style:name="N380">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="13" number:min-decimal-places="13" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
<style:map style:condition="value()>=0" style:apply-style-name="N380P0"/>
</number:currency-style>
<number:currency-style style:name="N382P0" style:volatile="true">
<number:number number:decimal-places="14" number:min-decimal-places="14" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
</number:currency-style>
<number:currency-style style:name="N382">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="14" number:min-decimal-places="14" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
<style:map style:condition="value()>=0" style:apply-style-name="N382P0"/>
</number:currency-style>
<number:currency-style style:name="N384P0" style:volatile="true">
<number:number number:decimal-places="15" number:min-decimal-places="15" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
</number:currency-style>
<number:currency-style style:name="N384">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="15" number:min-decimal-places="15" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
<style:map style:condition="value()>=0" style:apply-style-name="N384P0"/>
</number:currency-style>
<number:currency-style style:name="N386P0" style:volatile="true">
<number:number number:decimal-places="16" number:min-decimal-places="16" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
</number:currency-style>
<number:currency-style style:name="N386">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="16" number:min-decimal-places="16" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
<style:map style:condition="value()>=0" style:apply-style-name="N386P0"/>
</number:currency-style>
<number:currency-style style:name="N388P0" style:volatile="true">
<number:number number:decimal-places="17" number:min-decimal-places="17" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
</number:currency-style>
<number:currency-style style:name="N388">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="17" number:min-decimal-places="17" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="de" number:country="DE">€</number:currency-symbol>
<style:map style:condition="value()>=0" style:apply-style-name="N388P0"/>
</number:currency-style>
<number:percentage-style style:name="N389">
<number:number number:decimal-places="15" number:min-decimal-places="15" number:min-integer-digits="1"/>
<number:text>%</number:text>
</number:percentage-style>
<number:percentage-style style:name="N390">
<number:number number:decimal-places="16" number:min-decimal-places="16" number:min-integer-digits="1"/>
<number:text>%</number:text>
</number:percentage-style>
<number:percentage-style style:name="N391">
<number:number number:decimal-places="17" number:min-decimal-places="17" number:min-integer-digits="1"/>
<number:text>%</number:text>
</number:percentage-style>
<number:percentage-style style:name="N392">
<number:number number:decimal-places="18" number:min-decimal-places="18" number:min-integer-digits="1"/>
<number:text>%</number:text>
</number:percentage-style>
<number:percentage-style style:name="N393">
<number:number number:decimal-places="19" number:min-decimal-places="19" number:min-integer-digits="1"/>
<number:text>%</number:text>
</number:percentage-style>
<number:percentage-style style:name="N394">
<number:number number:decimal-places="20" number:min-decimal-places="20" number:min-integer-digits="1"/>
<number:text>%</number:text>
</number:percentage-style>
<number:number-style style:name="N395">
<number:number number:decimal-places="19" number:min-decimal-places="19" number:min-integer-digits="1"/>
</number:number-style>
<number:currency-style style:name="N397P0" style:volatile="true">
<number:currency-symbol number:language="en" number:country="US">$</number:currency-symbol>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
</number:currency-style>
<number:currency-style style:name="N397">
<style:text-properties fo:color="#ff0000"/>
<number:text>(</number:text>
<number:currency-symbol number:language="en" number:country="US">$</number:currency-symbol>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N397P0"/>
</number:currency-style>
<number:percentage-style style:name="N398" number:title="User-defined">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="0"/>
<number:text>%</number:text>
</number:percentage-style>
<number:percentage-style style:name="N400P0" style:volatile="true">
<number:number number:decimal-places="1" number:min-decimal-places="1" number:min-integer-digits="1" number:grouping="true"/>
<number:text>%</number:text>
</number:percentage-style>
<number:percentage-style style:name="N400">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="1" number:min-decimal-places="1" number:min-integer-digits="1" number:grouping="true"/>
<number:text>%</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N400P0"/>
</number:percentage-style>
<number:number-style style:name="N401P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="0" number:grouping="true"/>
</number:number-style>
<number:number-style style:name="N401">
<style:text-properties fo:color="#000000"/>
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="0" number:grouping="true"/>
<style:map style:condition="value()>=0" style:apply-style-name="N401P0"/>
</number:number-style>
<number:date-style style:name="N402">
<number:day/>
<number:text>-</number:text>
<number:month number:textual="true"/>
<number:text>-</number:text>
<number:year/>
</number:date-style>
<number:currency-style style:name="N404P0" style:volatile="true">
<number:currency-symbol number:language="en" number:country="GB">£</number:currency-symbol>
<number:number number:decimal-places="3" number:min-decimal-places="3" number:min-integer-digits="1" number:grouping="true"/>
</number:currency-style>
<number:currency-style style:name="N404">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:currency-symbol number:language="en" number:country="GB">£</number:currency-symbol>
<number:number number:decimal-places="3" number:min-decimal-places="3" number:min-integer-digits="1" number:grouping="true"/>
<style:map style:condition="value()>=0" style:apply-style-name="N404P0"/>
</number:currency-style>
<number:currency-style style:name="N406P0" style:volatile="true">
<number:currency-symbol number:language="en" number:country="GB">£</number:currency-symbol>
<number:number number:decimal-places="4" number:min-decimal-places="4" number:min-integer-digits="1" number:grouping="true"/>
</number:currency-style>
<number:currency-style style:name="N406">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:currency-symbol number:language="en" number:country="GB">£</number:currency-symbol>
<number:number number:decimal-places="4" number:min-decimal-places="4" number:min-integer-digits="1" number:grouping="true"/>
<style:map style:condition="value()>=0" style:apply-style-name="N406P0"/>
</number:currency-style>
<number:percentage-style style:name="N407P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1"/>
<number:text>%</number:text>
</number:percentage-style>
<number:percentage-style style:name="N407">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1"/>
<number:text>%</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N407P0"/>
</number:percentage-style>
<number:number-style style:name="N409P0" style:volatile="true">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> DM</number:text>
</number:number-style>
<number:number-style style:name="N409">
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> DM</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N409P0"/>
</number:number-style>
<number:number-style style:name="N410P0" style:volatile="true">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> DM</number:text>
</number:number-style>
<number:number-style style:name="N410">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> DM</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N410P0"/>
</number:number-style>
<number:number-style style:name="N412P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> DM</number:text>
</number:number-style>
<number:number-style style:name="N412">
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> DM</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N412P0"/>
</number:number-style>
<number:number-style style:name="N413P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> DM</number:text>
</number:number-style>
<number:number-style style:name="N413">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> DM</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N413P0"/>
</number:number-style>
<number:number-style style:name="N417P0" style:volatile="true">
<number:text> </number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N417P1" style:volatile="true">
<number:text>-</number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N417P2" style:volatile="true">
<number:text> </number:text>
<number:fill-character> </number:fill-character>
<number:text>- </number:text>
</number:number-style>
<number:text-style style:name="N417">
<number:text> </number:text>
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N417P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N417P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N417P2"/>
</number:text-style>
<number:number-style style:name="N421P0" style:volatile="true">
<number:text> </number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> DM </number:text>
</number:number-style>
<number:number-style style:name="N421P1" style:volatile="true">
<number:text>-</number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> DM </number:text>
</number:number-style>
<number:number-style style:name="N421P2" style:volatile="true">
<number:text> </number:text>
<number:fill-character> </number:fill-character>
<number:text>- DM </number:text>
</number:number-style>
<number:text-style style:name="N421">
<number:text> </number:text>
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N421P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N421P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N421P2"/>
</number:text-style>
<number:number-style style:name="N425P0" style:volatile="true">
<number:text> </number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N425P1" style:volatile="true">
<number:text>-</number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N425P2" style:volatile="true">
<number:text> </number:text>
<number:fill-character> </number:fill-character>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="0"/>
<number:text> </number:text>
</number:number-style>
<number:text-style style:name="N425">
<number:text> </number:text>
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N425P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N425P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N425P2"/>
</number:text-style>
<number:number-style style:name="N429P0" style:volatile="true">
<number:text> </number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> DM </number:text>
</number:number-style>
<number:number-style style:name="N429P1" style:volatile="true">
<number:text>-</number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> DM </number:text>
</number:number-style>
<number:number-style style:name="N429P2" style:volatile="true">
<number:text> </number:text>
<number:fill-character> </number:fill-character>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="0"/>
<number:text> DM </number:text>
</number:number-style>
<number:text-style style:name="N429">
<number:text> </number:text>
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N429P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N429P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N429P2"/>
</number:text-style>
<number:text-style style:name="N430">
<number:text>Ouch! - </number:text>
<number:text-content/>
<number:text> - Error detected!</number:text>
</number:text-style>
<number:text-style style:name="N431">
<number:text-content/>
<number:text> - Result=0 - No Errordetection</number:text>
</number:text-style>
<number:date-style style:name="N432">
<number:day number:style="long"/>
<number:text>/</number:text>
<number:month number:style="long"/>
<number:text>/</number:text>
<number:year/>
</number:date-style>
<number:date-style style:name="N433">
<number:day/>
<number:text>/</number:text>
<number:month/>
<number:text>/</number:text>
<number:year/>
</number:date-style>
<number:currency-style style:name="N435P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="es" number:country="ES">€</number:currency-symbol>
</number:currency-style>
<number:currency-style style:name="N435">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<number:currency-symbol number:language="es" number:country="ES">€</number:currency-symbol>
<style:map style:condition="value()>=0" style:apply-style-name="N435P0"/>
</number:currency-style>
<number:date-style style:name="N436">
<number:day/>
<number:text>. </number:text>
<number:month/>
<number:text>. </number:text>
<number:year number:style="long"/>
</number:date-style>
<number:number-style style:name="N440P0" style:volatile="true">
<number:text> </number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N440P1" style:volatile="true">
<number:text>-</number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N440P2" style:volatile="true">
<number:text> </number:text>
<number:fill-character> </number:fill-character>
<number:text>- </number:text>
</number:number-style>
<number:text-style style:name="N440">
<number:text> </number:text>
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N440P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N440P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N440P2"/>
</number:text-style>
<number:number-style style:name="N444P0" style:volatile="true">
<number:text> </number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> € </number:text>
</number:number-style>
<number:number-style style:name="N444P1" style:volatile="true">
<number:text>-</number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> € </number:text>
</number:number-style>
<number:number-style style:name="N444P2" style:volatile="true">
<number:text> </number:text>
<number:fill-character> </number:fill-character>
<number:text>- € </number:text>
</number:number-style>
<number:text-style style:name="N444">
<number:text> </number:text>
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N444P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N444P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N444P2"/>
</number:text-style>
<number:number-style style:name="N448P0" style:volatile="true">
<number:text> </number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N448P1" style:volatile="true">
<number:text>-</number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N448P2" style:volatile="true">
<number:text> </number:text>
<number:fill-character> </number:fill-character>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="0"/>
<number:text> </number:text>
</number:number-style>
<number:text-style style:name="N448">
<number:text> </number:text>
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N448P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N448P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N448P2"/>
</number:text-style>
<number:number-style style:name="N452P0" style:volatile="true">
<number:text> </number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> € </number:text>
</number:number-style>
<number:number-style style:name="N452P1" style:volatile="true">
<number:text>-</number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> € </number:text>
</number:number-style>
<number:number-style style:name="N452P2" style:volatile="true">
<number:text> </number:text>
<number:fill-character> </number:fill-character>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="0"/>
<number:text> € </number:text>
</number:number-style>
<number:text-style style:name="N452">
<number:text> </number:text>
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N452P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N452P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N452P2"/>
</number:text-style>
<number:currency-style style:name="N453">
<number:currency-symbol number:language="en" number:country="AU">$</number:currency-symbol>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
</number:currency-style>
<number:currency-style style:name="N454P0" style:volatile="true">
<number:currency-symbol number:language="en" number:country="AU">$</number:currency-symbol>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
</number:currency-style>
<number:currency-style style:name="N454">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:currency-symbol number:language="en" number:country="AU">$</number:currency-symbol>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<style:map style:condition="value()>=0" style:apply-style-name="N454P0"/>
</number:currency-style>
<number:date-style style:name="N455">
<number:day number:style="long"/>
<number:text>.</number:text>
<number:month number:style="long"/>
<number:text>.</number:text>
<number:year/>
</number:date-style>
<number:date-style style:name="N456">
<number:day number:style="long"/>
<number:text>. </number:text>
<number:month number:textual="true"/>
<number:text> </number:text>
<number:year/>
</number:date-style>
<number:date-style style:name="N457">
<number:day number:style="long"/>
<number:text>. </number:text>
<number:month number:textual="true"/>
</number:date-style>
<number:date-style style:name="N458">
<number:month number:textual="true"/>
<number:text> </number:text>
<number:year/>
</number:date-style>
<number:time-style style:name="N459">
<number:hours/>
<number:text>:</number:text>
<number:minutes number:style="long"/>
<number:text> </number:text>
<number:am-pm/>
</number:time-style>
<number:time-style style:name="N460">
<number:hours/>
<number:text>:</number:text>
<number:minutes number:style="long"/>
<number:text>:</number:text>
<number:seconds number:style="long"/>
<number:text> </number:text>
<number:am-pm/>
</number:time-style>
<number:date-style style:name="N461">
<number:day number:style="long"/>
<number:text>.</number:text>
<number:month number:style="long"/>
<number:text>.</number:text>
<number:year number:style="long"/>
<number:text> </number:text>
<number:hours number:style="long"/>
<number:text>:</number:text>
<number:minutes number:style="long"/>
</number:date-style>
<number:number-style style:name="N462P0" style:volatile="true">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N462">
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N462P0"/>
</number:number-style>
<number:number-style style:name="N463P0" style:volatile="true">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N463">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N463P0"/>
</number:number-style>
<number:number-style style:name="N464P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N464">
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N464P0"/>
</number:number-style>
<number:number-style style:name="N465P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N465">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N465P0"/>
</number:number-style>
<number:number-style style:name="N466">
<number:text>$</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
</number:number-style>
<number:number-style style:name="N467P0" style:volatile="true">
<number:text>$</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
</number:number-style>
<number:number-style style:name="N467">
<number:text>-$</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<style:map style:condition="value()>=0" style:apply-style-name="N467P0"/>
</number:number-style>
<number:number-style style:name="N468P0" style:volatile="true">
<number:text>$</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
</number:number-style>
<number:number-style style:name="N468">
<style:text-properties fo:color="#ff0000"/>
<number:text>-$</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<style:map style:condition="value()>=0" style:apply-style-name="N468P0"/>
</number:number-style>
<number:number-style style:name="N469P0" style:volatile="true">
<number:text>$</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
</number:number-style>
<number:number-style style:name="N469">
<number:text>-$</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<style:map style:condition="value()>=0" style:apply-style-name="N469P0"/>
</number:number-style>
<number:number-style style:name="N470P0" style:volatile="true">
<number:text>$</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
</number:number-style>
<number:number-style style:name="N470">
<style:text-properties fo:color="#ff0000"/>
<number:text>-$</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<style:map style:condition="value()>=0" style:apply-style-name="N470P0"/>
</number:number-style>
<number:number-style style:name="N471">
<number:text>-$</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
</number:number-style>
<number:number-style style:name="N472P0" style:volatile="true">
<number:text>$</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
</number:number-style>
<number:number-style style:name="N472P1" style:volatile="true">
<number:text>-$</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
</number:number-style>
<number:number-style style:name="N472">
<number:text>$-</number:text>
<style:map style:condition="value()>0" style:apply-style-name="N472P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N472P1"/>
</number:number-style>
<number:number-style style:name="N473">
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
</number:number-style>
<number:number-style style:name="N474P0" style:volatile="true">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
</number:number-style>
<number:number-style style:name="N474P1" style:volatile="true">
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
</number:number-style>
<number:number-style style:name="N474">
<number:text>-</number:text>
<style:map style:condition="value()>0" style:apply-style-name="N474P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N474P1"/>
</number:number-style>
<number:number-style style:name="N475">
<number:text>-$</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
</number:number-style>
<number:number-style style:name="N476P0" style:volatile="true">
<number:text>$</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
</number:number-style>
<number:number-style style:name="N476P1" style:volatile="true">
<number:text>-$</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
</number:number-style>
<number:number-style style:name="N476">
<number:text>$-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="0"/>
<style:map style:condition="value()>0" style:apply-style-name="N476P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N476P1"/>
</number:number-style>
<number:number-style style:name="N477">
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
</number:number-style>
<number:number-style style:name="N478P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
</number:number-style>
<number:number-style style:name="N478P1" style:volatile="true">
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
</number:number-style>
<number:number-style style:name="N478">
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="0"/>
<style:map style:condition="value()>0" style:apply-style-name="N478P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N478P1"/>
</number:number-style>
<number:number-style style:name="N480P0" style:volatile="true">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> Ft</number:text>
</number:number-style>
<number:number-style style:name="N480">
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> Ft</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N480P0"/>
</number:number-style>
<number:number-style style:name="N481P0" style:volatile="true">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> Ft</number:text>
</number:number-style>
<number:number-style style:name="N481">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> Ft</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N481P0"/>
</number:number-style>
<number:number-style style:name="N483P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> Ft</number:text>
</number:number-style>
<number:number-style style:name="N483">
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> Ft</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N483P0"/>
</number:number-style>
<number:number-style style:name="N484P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> Ft</number:text>
</number:number-style>
<number:number-style style:name="N484">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> Ft</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N484P0"/>
</number:number-style>
<number:date-style style:name="N485">
<number:year number:style="long"/>
<number:text>.</number:text>
<number:month number:style="long"/>
<number:text>.</number:text>
<number:day number:style="long"/>
</number:date-style>
<number:date-style style:name="N486">
<number:day number:style="long"/>
<number:text>.</number:text>
<number:month number:textual="true"/>
<number:text>.</number:text>
<number:year/>
</number:date-style>
<number:date-style style:name="N487">
<number:day number:style="long"/>
<number:text>.</number:text>
<number:month number:textual="true"/>
</number:date-style>
<number:date-style style:name="N488">
<number:month number:textual="true"/>
<number:text>.</number:text>
<number:year/>
</number:date-style>
<number:date-style style:name="N489">
<number:year number:style="long"/>
<number:text>.</number:text>
<number:month number:style="long"/>
<number:text>.</number:text>
<number:day number:style="long"/>
<number:text> </number:text>
<number:hours/>
<number:text>:</number:text>
<number:minutes number:style="long"/>
</number:date-style>
<number:number-style style:name="N491P0" style:volatile="true">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text loext:blank-width-char="F1_t3"> </number:text>
</number:number-style>
<number:number-style style:name="N491">
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text loext:blank-width-char="F1_t3"> </number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N491P0"/>
</number:number-style>
<number:number-style style:name="N492P0" style:volatile="true">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text loext:blank-width-char="F1_t3"> </number:text>
</number:number-style>
<number:number-style style:name="N492">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text loext:blank-width-char="F1_t3"> </number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N492P0"/>
</number:number-style>
<number:number-style style:name="N494P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text loext:blank-width-char="F1_t3"> </number:text>
</number:number-style>
<number:number-style style:name="N494">
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text loext:blank-width-char="F1_t3"> </number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N494P0"/>
</number:number-style>
<number:number-style style:name="N495P0" style:volatile="true">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text loext:blank-width-char="F1_t3"> </number:text>
</number:number-style>
<number:number-style style:name="N495">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text loext:blank-width-char="F1_t3"> </number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N495P0"/>
</number:number-style>
<number:number-style style:name="N499P0" style:volatile="true">
<number:text loext:blank-width-char="-"> </number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text loext:blank-width-char="F1_t3_-4"> </number:text>
</number:number-style>
<number:number-style style:name="N499P1" style:volatile="true">
<number:text>-</number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text loext:blank-width-char="F1_t3_-4"> </number:text>
</number:number-style>
<number:number-style style:name="N499P2" style:volatile="true">
<number:text loext:blank-width-char="-"> </number:text>
<number:fill-character> </number:fill-character>
<number:text loext:blank-width-char="F2_t4_-5">- </number:text>
</number:number-style>
<number:text-style style:name="N499">
<number:text loext:blank-width-char="-"> </number:text>
<number:text-content/>
<number:text loext:blank-width-char="-"> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N499P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N499P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N499P2"/>
</number:text-style>
<number:number-style style:name="N503P0" style:volatile="true">
<number:text loext:blank-width-char="-"> </number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text loext:blank-width-char="-3"> Ft </number:text>
</number:number-style>
<number:number-style style:name="N503P1" style:volatile="true">
<number:text>-</number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text loext:blank-width-char="-3"> Ft </number:text>
</number:number-style>
<number:number-style style:name="N503P2" style:volatile="true">
<number:text loext:blank-width-char="-"> </number:text>
<number:fill-character> </number:fill-character>
<number:text loext:blank-width-char="-4">- Ft </number:text>
</number:number-style>
<number:text-style style:name="N503">
<number:text loext:blank-width-char="-"> </number:text>
<number:text-content/>
<number:text loext:blank-width-char="-"> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N503P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N503P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N503P2"/>
</number:text-style>
<number:number-style style:name="N507P0" style:volatile="true">
<number:text loext:blank-width-char="-"> </number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text loext:blank-width-char="F1_t3_-4"> </number:text>
</number:number-style>
<number:number-style style:name="N507P1" style:volatile="true">
<number:text>-</number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text loext:blank-width-char="F1_t3_-4"> </number:text>
</number:number-style>
<number:number-style style:name="N507P2" style:volatile="true">
<number:text loext:blank-width-char="-"> </number:text>
<number:fill-character> </number:fill-character>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="2" loext:max-blank-integer-digits="2"/>
<number:text loext:blank-width-char="F1_t3_-4"> </number:text>
</number:number-style>
<number:text-style style:name="N507">
<number:text loext:blank-width-char="-"> </number:text>
<number:text-content/>
<number:text loext:blank-width-char="-"> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N507P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N507P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N507P2"/>
</number:text-style>
<number:number-style style:name="N511P0" style:volatile="true">
<number:text loext:blank-width-char="-"> </number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text loext:blank-width-char="-3"> Ft </number:text>
</number:number-style>
<number:number-style style:name="N511P1" style:volatile="true">
<number:text>-</number:text>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text loext:blank-width-char="-3"> Ft </number:text>
</number:number-style>
<number:number-style style:name="N511P2" style:volatile="true">
<number:text loext:blank-width-char="-"> </number:text>
<number:fill-character> </number:fill-character>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="2" loext:max-blank-integer-digits="2"/>
<number:text loext:blank-width-char="-3"> Ft </number:text>
</number:number-style>
<number:text-style style:name="N511">
<number:text loext:blank-width-char="-"> </number:text>
<number:text-content/>
<number:text loext:blank-width-char="-"> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N511P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N511P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N511P2"/>
</number:text-style>
<number:date-style style:name="N10129" number:language="en" number:country="US">
<number:month/>
<number:text>/</number:text>
<number:day/>
<number:text>/</number:text>
<number:year number:style="long"/>
</number:date-style>
<number:date-style style:name="N10130" number:language="en" number:country="US">
<number:day/>
<number:text>-</number:text>
<number:month number:textual="true"/>
<number:text>-</number:text>
<number:year/>
</number:date-style>
<number:date-style style:name="N10131" number:language="en" number:country="US">
<number:day/>
<number:text>-</number:text>
<number:month number:textual="true"/>
</number:date-style>
<number:date-style style:name="N10132" number:language="en" number:country="US">
<number:month number:textual="true"/>
<number:text>-</number:text>
<number:year/>
</number:date-style>
<number:time-style style:name="N10133" number:language="en" number:country="US">
<number:hours/>
<number:text>:</number:text>
<number:minutes number:style="long"/>
<number:text> </number:text>
<number:am-pm/>
</number:time-style>
<number:time-style style:name="N10134" number:language="en" number:country="US">
<number:hours/>
<number:text>:</number:text>
<number:minutes number:style="long"/>
<number:text>:</number:text>
<number:seconds number:style="long"/>
<number:text> </number:text>
<number:am-pm/>
</number:time-style>
<number:time-style style:name="N10135" number:language="en" number:country="US">
<number:hours/>
<number:text>:</number:text>
<number:minutes number:style="long"/>
</number:time-style>
<number:time-style style:name="N10136" number:language="en" number:country="US">
<number:hours/>
<number:text>:</number:text>
<number:minutes number:style="long"/>
<number:text>:</number:text>
<number:seconds number:style="long"/>
</number:time-style>
<number:date-style style:name="N10137" number:language="en" number:country="US">
<number:month/>
<number:text>/</number:text>
<number:day/>
<number:text>/</number:text>
<number:year number:style="long"/>
<number:text> </number:text>
<number:hours/>
<number:text>:</number:text>
<number:minutes number:style="long"/>
</number:date-style>
<number:number-style style:name="N10139P0" style:volatile="true" number:language="en" number:country="US">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N10139" number:language="en" number:country="US">
<style:text-properties fo:color="#ff0000"/>
<number:text>(</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N10139P0"/>
</number:number-style>
<number:number-style style:name="N10141P0" style:volatile="true" number:language="en" number:country="US">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N10141" number:language="en" number:country="US">
<style:text-properties fo:color="#ff0000"/>
<number:text>(</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N10141P0"/>
</number:number-style>
<number:currency-style style:name="N10143P0" style:volatile="true" number:language="en" number:country="US">
<number:currency-symbol/>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:currency-style>
<number:currency-style style:name="N10143" number:language="en" number:country="US">
<number:text>(</number:text>
<number:currency-symbol/>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N10143P0"/>
</number:currency-style>
<number:currency-style style:name="N10144P0" style:volatile="true" number:language="en" number:country="US">
<number:currency-symbol/>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:currency-style>
<number:currency-style style:name="N10144" number:language="en" number:country="US">
<style:text-properties fo:color="#ff0000"/>
<number:text>(</number:text>
<number:currency-symbol/>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N10144P0"/>
</number:currency-style>
<number:currency-style style:name="N10146P0" style:volatile="true" number:language="en" number:country="US">
<number:currency-symbol/>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:currency-style>
<number:currency-style style:name="N10146" number:language="en" number:country="US">
<number:text>(</number:text>
<number:currency-symbol/>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N10146P0"/>
</number:currency-style>
<number:currency-style style:name="N10147P0" style:volatile="true" number:language="en" number:country="US">
<number:currency-symbol/>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:currency-style>
<number:currency-style style:name="N10147" number:language="en" number:country="US">
<style:text-properties fo:color="#ff0000"/>
<number:text>(</number:text>
<number:currency-symbol/>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N10147P0"/>
</number:currency-style>
<number:number-style style:name="N10148P0" style:volatile="true" number:language="en" number:country="US">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N10148" number:language="en" number:country="US">
<number:text>(</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N10148P0"/>
</number:number-style>
<number:number-style style:name="N10149P0" style:volatile="true" number:language="en" number:country="US">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N10149" number:language="en" number:country="US">
<number:text>(</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N10149P0"/>
</number:number-style>
<number:number-style style:name="N10153P0" style:volatile="true" number:language="en" number:country="US">
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N10153P1" style:volatile="true" number:language="en" number:country="US">
<number:fill-character> </number:fill-character>
<number:text>(</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
</number:number-style>
<number:number-style style:name="N10153P2" style:volatile="true" number:language="en" number:country="US">
<number:fill-character> </number:fill-character>
<number:text>- </number:text>
</number:number-style>
<number:text-style style:name="N10153" number:language="en" number:country="US">
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N10153P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N10153P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N10153P2"/>
</number:text-style>
<number:currency-style style:name="N10157P0" style:volatile="true" number:language="en" number:country="US">
<number:currency-symbol/>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:currency-style>
<number:currency-style style:name="N10157P1" style:volatile="true" number:language="en" number:country="US">
<number:currency-symbol/>
<number:fill-character> </number:fill-character>
<number:text>(</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
</number:currency-style>
<number:currency-style style:name="N10157P2" style:volatile="true" number:language="en" number:country="US">
<number:currency-symbol/>
<number:fill-character> </number:fill-character>
<number:text>- </number:text>
</number:currency-style>
<number:text-style style:name="N10157" number:language="en" number:country="US">
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N10157P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N10157P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N10157P2"/>
</number:text-style>
<number:number-style style:name="N10161P0" style:volatile="true" number:language="en" number:country="US">
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N10161P1" style:volatile="true" number:language="en" number:country="US">
<number:fill-character> </number:fill-character>
<number:text>(</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
</number:number-style>
<number:number-style style:name="N10161P2" style:volatile="true" number:language="en" number:country="US">
<number:fill-character> </number:fill-character>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="0"/>
<number:text> </number:text>
</number:number-style>
<number:text-style style:name="N10161" number:language="en" number:country="US">
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N10161P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N10161P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N10161P2"/>
</number:text-style>
<number:currency-style style:name="N10165P0" style:volatile="true" number:language="en" number:country="US">
<number:currency-symbol/>
<number:fill-character> </number:fill-character>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:currency-style>
<number:currency-style style:name="N10165P1" style:volatile="true" number:language="en" number:country="US">
<number:currency-symbol/>
<number:fill-character> </number:fill-character>
<number:text>(</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text>)</number:text>
</number:currency-style>
<number:currency-style style:name="N10165P2" style:volatile="true" number:language="en" number:country="US">
<number:currency-symbol/>
<number:fill-character> </number:fill-character>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="0"/>
<number:text> </number:text>
</number:currency-style>
<number:text-style style:name="N10165" number:language="en" number:country="US">
<number:text-content/>
<number:text> </number:text>
<style:map style:condition="value()>0" style:apply-style-name="N10165P0"/>
<style:map style:condition="value()<0" style:apply-style-name="N10165P1"/>
<style:map style:condition="value()=0" style:apply-style-name="N10165P2"/>
</number:text-style>
<number:number-style style:name="N10166" number:language="en" number:country="US">
<number:scientific-number number:decimal-places="14" number:min-decimal-places="14" number:min-integer-digits="1" number:min-exponent-digits="3" number:exponent-interval="1" number:forced-exponent-sign="true"/>
</number:number-style>
<number:number-style style:name="N10167" number:language="en" number:country="US">
<number:scientific-number number:decimal-places="15" number:min-decimal-places="15" number:min-integer-digits="1" number:min-exponent-digits="3" number:exponent-interval="1" number:forced-exponent-sign="true"/>
</number:number-style>
<number:date-style style:name="N10168" number:language="en" number:country="US">
<number:day number:style="long"/>
<number:text>-</number:text>
<number:month number:textual="true"/>
</number:date-style>
<number:time-style style:name="N10169" number:language="en" number:country="US" number:truncate-on-overflow="false">
<number:hours/>
<number:text>:</number:text>
<number:minutes number:style="long"/>
<number:text>:</number:text>
<number:seconds number:style="long"/>
</number:time-style>
<number:time-style style:name="N10170" number:language="en" number:country="US">
<number:minutes number:style="long"/>
<number:text>:</number:text>
<number:seconds number:style="long" number:decimal-places="1"/>
</number:time-style>
<number:number-style style:name="N10171" number:language="en" number:country="US">
<number:number number:decimal-places="6" number:min-decimal-places="6" number:min-integer-digits="1"/>
</number:number-style>
<number:percentage-style style:name="N10172" number:language="en" number:country="US">
<number:number number:decimal-places="1" number:min-decimal-places="1" number:min-integer-digits="1"/>
<number:text>%</number:text>
</number:percentage-style>
<number:number-style style:name="N10173" number:language="en" number:country="US">
<number:number number:decimal-places="3" number:min-decimal-places="3" number:min-integer-digits="1" number:grouping="true"/>
</number:number-style>
<number:date-style style:name="N10174P0" style:volatile="true" number:language="en" number:country="US">
<number:day/>
<number:text>-</number:text>
<number:month number:textual="true"/>
<number:text>-</number:text>
<number:year/>
</number:date-style>
<number:text-style style:name="N10174" number:language="en" number:country="US">
<number:text-content/>
<style:map style:condition="value()<=1.7976931348623157E+308" style:apply-style-name="N10174P0"/>
</number:text-style>
<number:date-style style:name="N10175P0" style:volatile="true" number:language="en" number:country="US">
<number:day/>
<number:text>-</number:text>
<number:month number:textual="true"/>
</number:date-style>
<number:text-style style:name="N10175" number:language="en" number:country="US">
<number:text-content/>
<style:map style:condition="value()<=1.7976931348623157E+308" style:apply-style-name="N10175P0"/>
</number:text-style>
<number:date-style style:name="N20114" number:language="de" number:country="DE">
<number:day number:style="long"/>
<number:text>. </number:text>
<number:month number:textual="true"/>
<number:text> </number:text>
<number:year/>
</number:date-style>
<number:date-style style:name="N20115" number:language="de" number:country="DE">
<number:day number:style="long"/>
<number:text>. </number:text>
<number:month number:textual="true"/>
</number:date-style>
<number:date-style style:name="N20116" number:language="de" number:country="DE">
<number:month number:textual="true"/>
<number:text> </number:text>
<number:year/>
</number:date-style>
<number:time-style style:name="N20117" number:language="de" number:country="DE">
<number:hours/>
<number:text>:</number:text>
<number:minutes number:style="long"/>
<number:text> </number:text>
<number:am-pm/>
</number:time-style>
<number:time-style style:name="N20118" number:language="de" number:country="DE">
<number:hours/>
<number:text>:</number:text>
<number:minutes number:style="long"/>
<number:text>:</number:text>
<number:seconds number:style="long"/>
<number:text> </number:text>
<number:am-pm/>
</number:time-style>
<number:number-style style:name="N20120P0" style:volatile="true" number:language="de" number:country="DE">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N20120" number:language="de" number:country="DE">
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N20120P0"/>
</number:number-style>
<number:number-style style:name="N20121P0" style:volatile="true" number:language="de" number:country="DE">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N20121" number:language="de" number:country="DE">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N20121P0"/>
</number:number-style>
<number:number-style style:name="N20123P0" style:volatile="true" number:language="de" number:country="DE">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N20123" number:language="de" number:country="DE">
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N20123P0"/>
</number:number-style>
<number:number-style style:name="N20124P0" style:volatile="true" number:language="de" number:country="DE">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
</number:number-style>
<number:number-style style:name="N20124" number:language="de" number:country="DE">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> </number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N20124P0"/>
</number:number-style>
<number:number-style style:name="N20126P0" style:volatile="true" number:language="de" number:country="DE">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> €</number:text>
</number:number-style>
<number:number-style style:name="N20126" number:language="de" number:country="DE">
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> €</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N20126P0"/>
</number:number-style>
<number:number-style style:name="N20127P0" style:volatile="true" number:language="de" number:country="DE">
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> €</number:text>
</number:number-style>
<number:number-style style:name="N20127" number:language="de" number:country="DE">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="0" number:min-decimal-places="0" number:min-integer-digits="1" number:grouping="true"/>
<number:text> €</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N20127P0"/>
</number:number-style>
<number:number-style style:name="N20129P0" style:volatile="true" number:language="de" number:country="DE">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> €</number:text>
</number:number-style>
<number:number-style style:name="N20129" number:language="de" number:country="DE">
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> €</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N20129P0"/>
</number:number-style>
<number:number-style style:name="N20130P0" style:volatile="true" number:language="de" number:country="DE">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> €</number:text>
</number:number-style>
<number:number-style style:name="N20130" number:language="de" number:country="DE">
<style:text-properties fo:color="#ff0000"/>
<number:text>-</number:text>
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1" number:grouping="true"/>
<number:text> €</number:text>
<style:map style:condition="value()>=0" style:apply-style-name="N20130P0"/>
</number:number-style>
<style:style style:name="Default" style:family="table-cell"/>
<style:style style:name="Heading" style:family="table-cell" style:parent-style-name="Default">
<style:text-properties fo:color="#000000" fo:font-size="24pt" fo:font-style="normal" fo:font-weight="bold" style:font-size-asian="24pt" style:font-style-asian="normal" style:font-weight-asian="bold" style:font-size-complex="24pt" style:font-style-complex="normal" style:font-weight-complex="bold"/>
</style:style>
<style:style style:name="Heading_20_1" style:display-name="Heading 1" style:family="table-cell" style:parent-style-name="Heading">
<style:text-properties fo:font-size="18pt" style:font-size-asian="18pt" style:font-size-complex="18pt"/>
</style:style>
<style:style style:name="Heading_20_2" style:display-name="Heading 2" style:family="table-cell" style:parent-style-name="Heading">
<style:text-properties fo:font-size="12pt" style:font-size-asian="12pt" style:font-size-complex="12pt"/>
</style:style>
<style:style style:name="Text" style:family="table-cell" style:parent-style-name="Default"/>
<style:style style:name="Note" style:family="table-cell" style:parent-style-name="Text">
<style:table-cell-properties fo:background-color="#ffffcc" style:diagonal-bl-tr="none" style:diagonal-tl-br="none" fo:border="0.74pt solid #808080"/>
<style:text-properties fo:color="#333333"/>
</style:style>
<style:style style:name="Footnote" style:family="table-cell" style:parent-style-name="Text">
<style:text-properties fo:color="#808080" fo:font-style="italic" style:font-style-asian="italic" style:font-style-complex="italic"/>
</style:style>
<style:style style:name="Hyperlink" style:family="table-cell" style:parent-style-name="Text">
<style:text-properties fo:color="#0000ee" style:text-underline-style="solid" style:text-underline-width="auto" style:text-underline-color="#0000ee"/>
</style:style>
<style:style style:name="Status" style:family="table-cell" style:parent-style-name="Default"/>
<style:style style:name="Good" style:family="table-cell" style:parent-style-name="Status">
<style:table-cell-properties fo:background-color="#ccffcc"/>
<style:text-properties fo:color="#006600"/>
</style:style>
<style:style style:name="Neutral" style:family="table-cell" style:parent-style-name="Status">
<style:table-cell-properties fo:background-color="#ffffcc"/>
<style:text-properties fo:color="#996600"/>
</style:style>
<style:style style:name="Bad" style:family="table-cell" style:parent-style-name="Status">
<style:table-cell-properties fo:background-color="#ffcccc"/>
<style:text-properties fo:color="#cc0000"/>
</style:style>
<style:style style:name="Warning" style:family="table-cell" style:parent-style-name="Status">
<style:text-properties fo:color="#cc0000"/>
</style:style>
<style:style style:name="Error" style:family="table-cell" style:parent-style-name="Status">
<style:table-cell-properties fo:background-color="#cc0000"/>
<style:text-properties fo:color="#ffffff" fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold"/>
</style:style>
<style:style style:name="Accent" style:family="table-cell" style:parent-style-name="Default">
<style:text-properties fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold"/>
</style:style>
<style:style style:name="Accent_20_1" style:display-name="Accent 1" style:family="table-cell" style:parent-style-name="Accent">
<style:table-cell-properties fo:background-color="#000000"/>
<style:text-properties fo:color="#ffffff"/>
</style:style>
<style:style style:name="Accent_20_2" style:display-name="Accent 2" style:family="table-cell" style:parent-style-name="Accent">
<style:table-cell-properties fo:background-color="#808080"/>
<style:text-properties fo:color="#ffffff"/>
</style:style>
<style:style style:name="Accent_20_3" style:display-name="Accent 3" style:family="table-cell" style:parent-style-name="Accent">
<style:table-cell-properties fo:background-color="#dddddd"/>
</style:style>
<style:style style:name="Result" style:family="table-cell" style:parent-style-name="Default">
<style:text-properties fo:font-style="italic" style:text-underline-style="solid" style:text-underline-width="auto" style:text-underline-color="font-color" fo:font-weight="bold" style:font-style-asian="italic" style:font-weight-asian="bold" style:font-style-complex="italic" style:font-weight-complex="bold"/>
</style:style>
<style:style style:name="false" style:family="table-cell" style:parent-style-name="Default">
<style:table-cell-properties fo:background-color="#ff3333"/>
</style:style>
<style:style style:name="true" style:family="table-cell" style:parent-style-name="Default">
<style:table-cell-properties fo:background-color="#99ff66"/>
</style:style>
<draw:marker draw:name="Arrowheads_20_1" draw:display-name="Arrowheads 1" svg:viewBox="0 0 20 30" svg:d="M10 0l-10 30h20z"/>
<loext:theme loext:name="Office">
<loext:theme-colors loext:name="LibreOffice">
<loext:color loext:name="dark1" loext:color="#000000"/>
<loext:color loext:name="light1" loext:color="#ffffff"/>
<loext:color loext:name="dark2" loext:color="#000000"/>
<loext:color loext:name="light2" loext:color="#ffffff"/>
<loext:color loext:name="accent1" loext:color="#18a303"/>
<loext:color loext:name="accent2" loext:color="#0369a3"/>
<loext:color loext:name="accent3" loext:color="#a33e03"/>
<loext:color loext:name="accent4" loext:color="#8e03a3"/>
<loext:color loext:name="accent5" loext:color="#c99c00"/>
<loext:color loext:name="accent6" loext:color="#c9211e"/>
<loext:color loext:name="hyperlink" loext:color="#0000ee"/>
<loext:color loext:name="followed-hyperlink" loext:color="#551a8b"/>
</loext:theme-colors>
</loext:theme>
</office:styles>
<office:automatic-styles>
<style:style style:name="co1" style:family="table-column">
<style:table-column-properties fo:break-before="auto" style:column-width="4.979cm"/>
</style:style>
<style:style style:name="co2" style:family="table-column">
<style:table-column-properties fo:break-before="auto" style:column-width="1.794cm"/>
</style:style>
<style:style style:name="co3" style:family="table-column">
<style:table-column-properties fo:break-before="auto" style:column-width="10.633cm"/>
</style:style>
<style:style style:name="co4" style:family="table-column">
<style:table-column-properties fo:break-before="auto" style:column-width="2.258cm"/>
</style:style>
<style:style style:name="co5" style:family="table-column">
<style:table-column-properties fo:break-before="auto" style:column-width="2.256cm"/>
</style:style>
<style:style style:name="co6" style:family="table-column">
<style:table-column-properties fo:break-before="auto" style:column-width="1.473cm"/>
</style:style>
<style:style style:name="co7" style:family="table-column">
<style:table-column-properties fo:break-before="auto" style:column-width="1.808cm"/>
</style:style>
<style:style style:name="co8" style:family="table-column">
<style:table-column-properties fo:break-before="auto" style:column-width="13.19cm"/>
</style:style>
<style:style style:name="co9" style:family="table-column">
<style:table-column-properties fo:break-before="auto" style:column-width="1.857cm"/>
</style:style>
<style:style style:name="co10" style:family="table-column">
<style:table-column-properties fo:break-before="auto" style:column-width="3.244cm"/>
</style:style>
<style:style style:name="co11" style:family="table-column">
<style:table-column-properties fo:break-before="auto" style:column-width="3.814cm"/>
</style:style>
<style:style style:name="co12" style:family="table-column">
<style:table-column-properties fo:break-before="auto" style:column-width="1.875cm"/>
</style:style>
<style:style style:name="ro1" style:family="table-row">
<style:table-row-properties style:row-height="0.863cm" fo:break-before="auto" style:use-optimal-row-height="true"/>
</style:style>
<style:style style:name="ro2" style:family="table-row">
<style:table-row-properties style:row-height="0.452cm" fo:break-before="auto" style:use-optimal-row-height="true"/>
</style:style>
<style:style style:name="ro3" style:family="table-row">
<style:table-row-properties style:row-height="0.612cm" fo:break-before="auto" style:use-optimal-row-height="true"/>
</style:style>
<style:style style:name="ro4" style:family="table-row">
<style:table-row-properties style:row-height="0.529cm" fo:break-before="auto" style:use-optimal-row-height="true"/>
</style:style>
<style:style style:name="ro5" style:family="table-row">
<style:table-row-properties style:row-height="0.487cm" fo:break-before="auto" style:use-optimal-row-height="true"/>
</style:style>
<style:style style:name="ro6" style:family="table-row">
<style:table-row-properties style:row-height="0.482cm" fo:break-before="auto" style:use-optimal-row-height="true"/>
</style:style>
<style:style style:name="ta1" style:family="table" style:master-page-name="Default">
<style:table-properties table:display="true" style:writing-mode="lr-tb"/>
</style:style>
<number:number-style style:name="N2">
<number:number number:decimal-places="2" number:min-decimal-places="2" number:min-integer-digits="1"/>
</number:number-style>
<number:date-style style:name="N49">
<number:year number:style="long"/>
<number:text>-</number:text>
<number:month number:style="long"/>
<number:text>-</number:text>
<number:day number:style="long"/>
</number:date-style>
<number:boolean-style style:name="N99">
<number:boolean/>
</number:boolean-style>
<style:style style:name="ce1" style:family="table-cell" style:parent-style-name="Default">
<style:table-cell-properties fo:wrap-option="no-wrap"/>
<style:text-properties fo:font-size="20pt" fo:font-weight="bold" style:font-size-asian="20pt" style:font-weight-asian="bold" style:font-size-complex="20pt" style:font-weight-complex="bold"/>
</style:style>
<style:style style:name="ce11" style:family="table-cell" style:parent-style-name="Default">
<style:table-cell-properties style:text-align-source="fix" style:repeat-content="false"/>
<style:paragraph-properties fo:text-align="center" fo:margin-left="0cm"/>
<style:text-properties fo:font-size="14pt" fo:font-weight="bold" style:font-size-asian="14pt" style:font-weight-asian="bold" style:font-size-complex="14pt" style:font-weight-complex="bold"/>
</style:style>
<style:style style:name="ce12" style:family="table-cell" style:parent-style-name="Default">
<style:table-cell-properties style:text-align-source="fix" style:repeat-content="false"/>
<style:paragraph-properties fo:text-align="center" fo:margin-left="0cm"/>
<style:text-properties fo:font-size="12pt" fo:font-weight="bold" style:font-size-asian="12pt" style:font-weight-asian="bold" style:font-size-complex="12pt" style:font-weight-complex="bold"/>
</style:style>
<style:style style:name="ce14" style:family="table-cell" style:parent-style-name="Default" style:data-style-name="N99">
<style:table-cell-properties style:text-align-source="fix" style:repeat-content="false"/>
<style:paragraph-properties fo:text-align="center" fo:margin-left="0cm"/>
<style:map style:condition="cell-content()=""" style:apply-style-name="Default" style:base-cell-address="Sheet1.B3"/>
<style:map style:condition="cell-content()=1" style:apply-style-name="true" style:base-cell-address="Sheet1.B3"/>
<style:map style:condition="cell-content()=0" style:apply-style-name="false" style:base-cell-address="Sheet1.B3"/>
</style:style>
<style:style style:name="ce6" style:family="table-cell" style:parent-style-name="Default">
<style:map style:condition="cell-content()=""" style:apply-style-name="Default" style:base-cell-address="Sheet1.B3"/>
<style:map style:condition="cell-content()=1" style:apply-style-name="true" style:base-cell-address="Sheet1.B3"/>
<style:map style:condition="cell-content()=0" style:apply-style-name="false" style:base-cell-address="Sheet1.B3"/>
</style:style>
<style:style style:name="ce21" style:family="table-cell" style:parent-style-name="Default">
<style:table-cell-properties style:text-align-source="fix" style:repeat-content="false"/>
<style:paragraph-properties fo:text-align="center" fo:margin-left="0cm"/>
<style:text-properties fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold"/>
<style:map style:condition="cell-content()=""" style:apply-style-name="Default" style:base-cell-address="Sheet1.B3"/>
<style:map style:condition="cell-content()=1" style:apply-style-name="true" style:base-cell-address="Sheet1.B3"/>
<style:map style:condition="cell-content()=0" style:apply-style-name="false" style:base-cell-address="Sheet1.B3"/>
</style:style>
<style:style style:name="ce25" style:family="table-cell" style:parent-style-name="Default" style:data-style-name="N99">
<style:map style:condition="cell-content()=""" style:apply-style-name="Default" style:base-cell-address="Sheet1.B3"/>
<style:map style:condition="cell-content()=1" style:apply-style-name="true" style:base-cell-address="Sheet1.B3"/>
<style:map style:condition="cell-content()=0" style:apply-style-name="false" style:base-cell-address="Sheet1.B3"/>
</style:style>
<style:style style:name="ce26" style:family="table-cell" style:parent-style-name="Default">
<style:table-cell-properties style:text-align-source="fix" style:repeat-content="false"/>
<style:paragraph-properties fo:text-align="center" fo:margin-left="0cm"/>
</style:style>
<style:style style:name="ce9" style:family="table-cell" style:parent-style-name="Default" style:data-style-name="N0">
<style:table-cell-properties style:cell-protect="protected" style:print-content="true" style:text-align-source="value-type" style:repeat-content="false" fo:wrap-option="no-wrap" style:direction="ltr" style:rotation-angle="0" style:rotation-align="none" style:shrink-to-fit="false" style:vertical-align="bottom" loext:vertical-justify="auto"/>
<style:paragraph-properties css3t:text-justify="auto" fo:margin-left="0cm" style:writing-mode="page"/>
<style:text-properties fo:color="#000000" style:text-outline="false" style:text-line-through-style="none" style:text-line-through-type="none" style:font-name="Calibri" fo:font-size="11pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:font-size-asian="11pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-name-complex="Calibri" style:font-size-complex="11pt" style:font-style-complex="normal" style:font-weight-complex="normal">
<loext:char-complex-color loext:theme-type="dark1" loext:color-type="theme"/>
</style:text-properties>
</style:style>
<style:style style:name="ce19" style:family="table-cell" style:parent-style-name="Default" style:data-style-name="N49">
<style:table-cell-properties style:cell-protect="protected" style:print-content="true" style:text-align-source="value-type" style:repeat-content="false" fo:wrap-option="no-wrap" style:direction="ltr" style:rotation-angle="0" style:rotation-align="none" style:shrink-to-fit="false" style:vertical-align="bottom" loext:vertical-justify="auto"/>
<style:paragraph-properties css3t:text-justify="auto" fo:margin-left="0cm" style:writing-mode="page"/>
<style:text-properties fo:color="#000000" style:text-outline="false" style:text-line-through-style="none" style:text-line-through-type="none" style:font-name="Calibri" fo:font-size="11pt" fo:font-style="normal" fo:text-shadow="none" style:text-underline-style="none" fo:font-weight="normal" style:font-size-asian="11pt" style:font-style-asian="normal" style:font-weight-asian="normal" style:font-name-complex="Calibri" style:font-size-complex="11pt" style:font-style-complex="normal" style:font-weight-complex="normal">
<loext:char-complex-color loext:theme-type="dark1" loext:color-type="theme"/>
</style:text-properties>
</style:style>
<style:style style:name="ce18" style:family="table-cell" style:parent-style-name="Default" style:data-style-name="N49"/>
<style:style style:name="ce17" style:family="table-cell" style:parent-style-name="Default" style:data-style-name="N0"/>
<style:style style:name="ce31" style:family="table-cell" style:parent-style-name="Default" style:data-style-name="N99"/>
<style:style style:name="ce24" style:family="table-cell" style:parent-style-name="Default" style:data-style-name="N99">
<style:map style:condition="cell-content()=""" style:apply-style-name="Default" style:base-cell-address="Sheet2.I2"/>
<style:map style:condition="cell-content()=1" style:apply-style-name="true" style:base-cell-address="Sheet2.I2"/>
<style:map style:condition="cell-content()=0" style:apply-style-name="false" style:base-cell-address="Sheet2.I2"/>
</style:style>
<style:style style:name="ce33" style:family="table-cell" style:parent-style-name="Default">
<style:table-cell-properties fo:wrap-option="wrap"/>
</style:style>
<style:style style:name="ce15" style:family="table-cell" style:parent-style-name="Default" style:data-style-name="N0">
<style:table-cell-properties style:cell-protect="protected" style:print-content="true" style:text-align-source="value-type" style:repeat-content="false" fo:wrap-option="no-wrap" style:direction="ltr" style:rotation-angle="0" style:rotation-align="none" style:shrink-to-fit="false" style:vertical-align="bottom" loext:vertical-justify="auto"/>
<style:paragraph-properties css3t:text-justify="auto" fo:margin-left="0cm" style:writing-mode="page"/>
</style:style>
<style:page-layout style:name="pm1">
<style:page-layout-properties style:writing-mode="lr-tb"/>
<style:header-style>
<style:header-footer-properties fo:min-height="0.75cm" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-bottom="0.25cm"/>
</style:header-style>
<style:footer-style>
<style:header-footer-properties fo:min-height="0.75cm" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0.25cm"/>
</style:footer-style>
</style:page-layout>
<style:page-layout style:name="pm2">
<style:page-layout-properties style:writing-mode="lr-tb"/>
<style:header-style>
<style:header-footer-properties fo:min-height="0.75cm" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-bottom="0.25cm" fo:border="1.5pt solid #000000" fo:padding="0.018cm" fo:background-color="#c0c0c0">
<style:background-image/>
</style:header-footer-properties>
</style:header-style>
<style:footer-style>
<style:header-footer-properties fo:min-height="0.75cm" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0.25cm" fo:border="1.5pt solid #000000" fo:padding="0.018cm" fo:background-color="#c0c0c0">
<style:background-image/>
</style:header-footer-properties>
</style:footer-style>
</style:page-layout>
</office:automatic-styles>
<office:master-styles>
<style:master-page style:name="Default" style:page-layout-name="pm1">
<style:header>
<text:p><text:sheet-name>???</text:sheet-name></text:p>
</style:header>
<style:header-left style:display="false"/>
<style:header-first style:display="false"/>
<style:footer>
<text:p>Page <text:page-number>1</text:page-number></text:p>
</style:footer>
<style:footer-left style:display="false"/>
<style:footer-first style:display="false"/>
</style:master-page>
<style:master-page style:name="Report" style:page-layout-name="pm2">
<style:header>
<style:region-left>
<text:p><text:sheet-name>???</text:sheet-name><text:s/>(<text:title>???</text:title>)</text:p>
</style:region-left>
<style:region-right>
<text:p><text:date style:data-style-name="N2" text:date-value="2024-06-02">0000.00.00</text:date>, <text:time style:data-style-name="N2" text:time-value="09:02:26.487000000">00:00:00</text:time></text:p>
</style:region-right>
</style:header>
<style:header-left style:display="false"/>
<style:header-first style:display="false"/>
<style:footer>
<text:p>Page <text:page-number>1</text:page-number><text:s/>/ <text:page-count>99</text:page-count></text:p>
</style:footer>
<style:footer-left style:display="false"/>
<style:footer-first style:display="false"/>
</style:master-page>
</office:master-styles>
<office:body>
<office:spreadsheet>
<table:calculation-settings table:automatic-find-labels="false" table:use-regular-expressions="false" table:use-wildcards="true"/>
<table:table table:name="Sheet1" table:style-name="ta1">
<table:table-column table:style-name="co1" table:default-cell-style-name="Default"/>
<table:table-column table:style-name="co2" table:default-cell-style-name="ce6"/>
<table:table-column table:style-name="co3" table:default-cell-style-name="Default"/>
<table:table-row table:style-name="ro1">
<table:table-cell table:style-name="ce1" office:value-type="string" calcext:value-type="string">
<text:p>LET Function</text:p>
</table:table-cell>
<table:table-cell table:style-name="Default"/>
<table:table-cell/>
</table:table-row>
<table:table-row table:style-name="ro2">
<table:table-cell/>
<table:table-cell table:style-name="Default"/>
<table:table-cell/>
</table:table-row>
<table:table-row table:style-name="ro3">
<table:table-cell table:style-name="ce11" office:value-type="string" calcext:value-type="string">
<text:p>Result</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce14" table:formula="of:=AND([.B8:.B95])" office:value-type="boolean" office:boolean-value="true" calcext:value-type="boolean">
<text:p>IGAZ</text:p>
</table:table-cell>
<table:table-cell/>
</table:table-row>
<table:table-row table:style-name="ro2" table:number-rows-repeated="3">
<table:table-cell table:number-columns-repeated="3"/>
</table:table-row>
<table:table-row table:style-name="ro4">
<table:table-cell table:style-name="ce12" office:value-type="string" calcext:value-type="string">
<text:p>Sheet</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce21" office:value-type="string" calcext:value-type="string">
<text:p>Result</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce12" office:value-type="string" calcext:value-type="string">
<text:p>Description</text:p>
</table:table-cell>
</table:table-row>
<table:table-row table:style-name="ro2">
<table:table-cell office:value-type="float" office:value="2" calcext:value-type="float">
<text:p>2</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce14" table:formula="of:=AND([Sheet2.I2:.I211])" office:value-type="boolean" office:boolean-value="true" calcext:value-type="boolean">
<text:p>IGAZ</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce26" office:value-type="string" calcext:value-type="string">
<text:p>Simple LET formulas with local references and values</text:p>
</table:table-cell>
</table:table-row>
<table:table-row table:style-name="ro2" table:number-rows-repeated="20">
<table:table-cell/>
<table:table-cell table:style-name="ce25"/>
<table:table-cell/>
</table:table-row>
<table:table-row table:style-name="ro2" table:number-rows-repeated="21">
<table:table-cell table:number-columns-repeated="3"/>
</table:table-row>
<table:table-row table:style-name="ro2">
<table:table-cell table:number-columns-repeated="3"/>
</table:table-row>
<calcext:conditional-formats>
<calcext:conditional-format calcext:target-range-address="Sheet1.B3:Sheet1.B50">
<calcext:condition calcext:apply-style-name="Default" calcext:value="=""" calcext:base-cell-address="Sheet1.B3"/>
<calcext:condition calcext:apply-style-name="true" calcext:value="=1" calcext:base-cell-address="Sheet1.B3"/>
<calcext:condition calcext:apply-style-name="false" calcext:value="=0" calcext:base-cell-address="Sheet1.B3"/>
</calcext:conditional-format>
</calcext:conditional-formats>
</table:table>
<table:table table:name="Sheet2" table:style-name="ta1">
<table:table-column table:style-name="co4" table:default-cell-style-name="Default"/>
<table:table-column table:style-name="co5" table:default-cell-style-name="Default"/>
<table:table-column table:style-name="co4" table:default-cell-style-name="Default"/>
<table:table-column table:style-name="co5" table:number-columns-repeated="3" table:default-cell-style-name="Default"/>
<table:table-column table:style-name="co4" table:default-cell-style-name="Default"/>
<table:table-column table:style-name="co6" table:default-cell-style-name="Default"/>
<table:table-column table:style-name="co7" table:default-cell-style-name="ce31"/>
<table:table-column table:style-name="co8" table:default-cell-style-name="Default"/>
<table:table-column table:style-name="co9" table:default-cell-style-name="Default"/>
<table:table-column table:style-name="co4" table:default-cell-style-name="Default"/>
<table:table-column table:style-name="co10" table:default-cell-style-name="Default"/>
<table:table-column table:style-name="co4" table:number-columns-repeated="5" table:default-cell-style-name="Default"/>
<table:table-column table:style-name="co11" table:default-cell-style-name="Default"/>
<table:table-column table:style-name="co4" table:number-columns-repeated="3" table:default-cell-style-name="Default"/>
<table:table-column table:style-name="co12" table:default-cell-style-name="Default"/>
<table:table-column table:style-name="co4" table:number-columns-repeated="13" table:default-cell-style-name="Default"/>
<table:table-row table:style-name="ro5">
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Function</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Expected</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Correct</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>FunctionString</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Comment</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>XL-test</text:p>
</table:table-cell>
<table:table-cell/>
<table:table-cell table:style-name="ce9" office:value-type="string" calcext:value-type="string">
<text:p>Student</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="string" calcext:value-type="string">
<text:p>Maths</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="string" calcext:value-type="string">
<text:p>English</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="string" calcext:value-type="string">
<text:p>Biology</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Art</text:p>
</table:table-cell>
<table:table-cell/>
<table:table-cell table:style-name="ce9" table:number-columns-repeated="17"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell table:style-name="ce9" table:formula="of:=COM.MICROSOFT.LET(_xlpm.first;5;_xlpm.second;SUM(_xlpm.first;5);_xlpm.third;SUM(_xlpm.second;5);SUM(_xlpm.second;_xlpm.third))" office:value-type="float" office:value="25" calcext:value-type="float">
<text:p>25</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" table:number-columns-repeated="3"/>
<table:table-cell office:value-type="float" office:value="25" calcext:value-type="float">
<text:p>25</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce24" table:formula="of:=[.A2]=[.E2]" office:value-type="boolean" office:boolean-value="true" calcext:value-type="boolean">
<text:p>IGAZ</text:p>
</table:table-cell>
<table:table-cell table:formula="of:=FORMULA([.A2])" office:value-type="string" office:string-value="=LET(first;5;second;SUM(first;5);third;SUM(second;5);SUM(second;third))" calcext:value-type="string">
<text:p>=LET(first;5;second;SUM(first;5);third;SUM(second;5);SUM(second;third))</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce9" office:value-type="string" calcext:value-type="string">
<text:p>Aiden</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="263" calcext:value-type="float">
<text:p>263</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="215" calcext:value-type="float">
<text:p>215</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="160" calcext:value-type="float">
<text:p>160</text:p>
</table:table-cell>
<table:table-cell office:value-type="float" office:value="153" calcext:value-type="float">
<text:p>153</text:p>
</table:table-cell>
<table:table-cell/>
<table:table-cell table:style-name="ce9" table:number-columns-repeated="17"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell table:formula="of:=COM.MICROSOFT.LET(_xlpm.first;SUM(5;6);_xlpm.second;SUM(10;19);SUM(_xlpm.first;_xlpm.second))" office:value-type="float" office:value="40" calcext:value-type="float">
<text:p>40</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell office:value-type="float" office:value="40" calcext:value-type="float">
<text:p>40</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce24" table:formula="of:=[.A3]=[.E3]" office:value-type="boolean" office:boolean-value="true" calcext:value-type="boolean">
<text:p>IGAZ</text:p>
</table:table-cell>
<table:table-cell table:formula="of:=FORMULA([.A3])" office:value-type="string" office:string-value="=LET(first;SUM(5;6);second;SUM(10;19);SUM(first;second))" calcext:value-type="string">
<text:p>=LET(first;SUM(5;6);second;SUM(10;19);SUM(first;second))</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce9" office:value-type="string" calcext:value-type="string">
<text:p>Ava</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="231" calcext:value-type="float">
<text:p>231</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="228" calcext:value-type="float">
<text:p>228</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="208" calcext:value-type="float">
<text:p>208</text:p>
</table:table-cell>
<table:table-cell office:value-type="float" office:value="187" calcext:value-type="float">
<text:p>187</text:p>
</table:table-cell>
<table:table-cell/>
<table:table-cell table:style-name="ce9" table:number-columns-repeated="17"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell table:number-columns-repeated="8"/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell table:number-columns-repeated="4"/>
<table:table-cell table:style-name="ce9" office:value-type="string" calcext:value-type="string">
<text:p>Carter</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="154" calcext:value-type="float">
<text:p>154</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="201" calcext:value-type="float">
<text:p>201</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="213" calcext:value-type="float">
<text:p>213</text:p>
</table:table-cell>
<table:table-cell office:value-type="float" office:value="167" calcext:value-type="float">
<text:p>167</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="18"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Result</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Result</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell table:number-columns-repeated="4"/>
<table:table-cell table:style-name="ce9" office:value-type="string" calcext:value-type="string">
<text:p>Emma</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="257" calcext:value-type="float">
<text:p>257</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="220" calcext:value-type="float">
<text:p>220</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="167" calcext:value-type="float">
<text:p>167</text:p>
</table:table-cell>
<table:table-cell office:value-type="float" office:value="172" calcext:value-type="float">
<text:p>172</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="18"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell table:formula="of:=COM.MICROSOFT.LET(_xlpm.avg; AVERAGE([.O2:.R2]); IF(_xlpm.avg>249; "Excellent"; IF(_xlpm.avg>=200; "Good"; IF(_xlpm.avg>150; "Satisfactory"; "Poor"))))" office:value-type="string" office:string-value="Satisfactory" calcext:value-type="string">
<text:p>Satisfactory</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Satisfactory</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce24" table:formula="of:=[.A6]=[.E6]" office:value-type="boolean" office:boolean-value="true" calcext:value-type="boolean">
<text:p>IGAZ</text:p>
</table:table-cell>
<table:table-cell table:formula="of:=FORMULA([.A6])" office:value-type="string" office:string-value="=LET(avg; AVERAGE(O2:R2); IF(avg>249; "Excellent"; IF(avg>=200; "Good"; IF(avg>150; "Satisfactory"; "Poor"))))" calcext:value-type="string">
<text:p>=LET(avg; AVERAGE(O2:R2); IF(avg>249; "Excellent"; IF(avg>=200; "Good"; IF(avg>150; "Satisfactory"; "Poor"))))</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce9" office:value-type="string" calcext:value-type="string">
<text:p>Isabella</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="238" calcext:value-type="float">
<text:p>238</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="256" calcext:value-type="float">
<text:p>256</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="260" calcext:value-type="float">
<text:p>260</text:p>
</table:table-cell>
<table:table-cell office:value-type="float" office:value="246" calcext:value-type="float">
<text:p>246</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="18"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell table:formula="of:=COM.MICROSOFT.LET(_xlpm.avg; AVERAGE([.O3:.R3]); IF(_xlpm.avg>249; "Excellent"; IF(_xlpm.avg>=200; "Good"; IF(_xlpm.avg>150; "Satisfactory"; "Poor"))))" office:value-type="string" office:string-value="Good" calcext:value-type="string">
<text:p>Good</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Good</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce24" table:formula="of:=[.A7]=[.E7]" office:value-type="boolean" office:boolean-value="true" calcext:value-type="boolean">
<text:p>IGAZ</text:p>
</table:table-cell>
<table:table-cell table:formula="of:=FORMULA([.A7])" office:value-type="string" office:string-value="=LET(avg; AVERAGE(O3:R3); IF(avg>249; "Excellent"; IF(avg>=200; "Good"; IF(avg>150; "Satisfactory"; "Poor"))))" calcext:value-type="string">
<text:p>=LET(avg; AVERAGE(O3:R3); IF(avg>249; "Excellent"; IF(avg>=200; "Good"; IF(avg>150; "Satisfactory"; "Poor"))))</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce9" office:value-type="string" calcext:value-type="string">
<text:p>Jackson</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="149" calcext:value-type="float">
<text:p>149</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="164" calcext:value-type="float">
<text:p>164</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="130" calcext:value-type="float">
<text:p>130</text:p>
</table:table-cell>
<table:table-cell office:value-type="float" office:value="270" calcext:value-type="float">
<text:p>270</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="18"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell table:formula="of:=COM.MICROSOFT.LET(_xlpm.avg; AVERAGE([.O4:.R4]); IF(_xlpm.avg>249; "Excellent"; IF(_xlpm.avg>=200; "Good"; IF(_xlpm.avg>150; "Satisfactory"; "Poor"))))" office:value-type="string" office:string-value="Satisfactory" calcext:value-type="string">
<text:p>Satisfactory</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" table:number-columns-repeated="3"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Satisfactory</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce24" table:formula="of:=[.A8]=[.E8]" office:value-type="boolean" office:boolean-value="true" calcext:value-type="boolean">
<text:p>IGAZ</text:p>
</table:table-cell>
<table:table-cell table:formula="of:=FORMULA([.A8])" office:value-type="string" office:string-value="=LET(avg; AVERAGE(O4:R4); IF(avg>249; "Excellent"; IF(avg>=200; "Good"; IF(avg>150; "Satisfactory"; "Poor"))))" calcext:value-type="string">
<text:p>=LET(avg; AVERAGE(O4:R4); IF(avg>249; "Excellent"; IF(avg>=200; "Good"; IF(avg>150; "Satisfactory"; "Poor"))))</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce9" office:value-type="string" calcext:value-type="string">
<text:p>Liam</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="284" calcext:value-type="float">
<text:p>284</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="250" calcext:value-type="float">
<text:p>250</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="150" calcext:value-type="float">
<text:p>150</text:p>
</table:table-cell>
<table:table-cell office:value-type="float" office:value="158" calcext:value-type="float">
<text:p>158</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="18"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell table:formula="of:=COM.MICROSOFT.LET(_xlpm.avg; AVERAGE([.O5:.R5]); IF(_xlpm.avg>249; "Excellent"; IF(_xlpm.avg>=200; "Good"; IF(_xlpm.avg>150; "Satisfactory"; "Poor"))))" office:value-type="string" office:string-value="Good" calcext:value-type="string">
<text:p>Good</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" table:number-columns-repeated="3"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Good</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce24" table:formula="of:=[.A9]=[.E9]" office:value-type="boolean" office:boolean-value="true" calcext:value-type="boolean">
<text:p>IGAZ</text:p>
</table:table-cell>
<table:table-cell table:formula="of:=FORMULA([.A9])" office:value-type="string" office:string-value="=LET(avg; AVERAGE(O5:R5); IF(avg>249; "Excellent"; IF(avg>=200; "Good"; IF(avg>150; "Satisfactory"; "Poor"))))" calcext:value-type="string">
<text:p>=LET(avg; AVERAGE(O5:R5); IF(avg>249; "Excellent"; IF(avg>=200; "Good"; IF(avg>150; "Satisfactory"; "Poor"))))</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce9" office:value-type="string" calcext:value-type="string">
<text:p>Lucas</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="261" calcext:value-type="float">
<text:p>261</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="227" calcext:value-type="float">
<text:p>227</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="191" calcext:value-type="float">
<text:p>191</text:p>
</table:table-cell>
<table:table-cell office:value-type="float" office:value="221" calcext:value-type="float">
<text:p>221</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="18"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell table:formula="of:=COM.MICROSOFT.LET(_xlpm.avg; AVERAGE([.O6:.R6]); IF(_xlpm.avg>249; "Excellent"; IF(_xlpm.avg>=200; "Good"; IF(_xlpm.avg>150; "Satisfactory"; "Poor"))))" office:value-type="string" office:string-value="Excellent" calcext:value-type="string">
<text:p>Excellent</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" table:number-columns-repeated="3"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Excellent</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce24" table:formula="of:=[.A10]=[.E10]" office:value-type="boolean" office:boolean-value="true" calcext:value-type="boolean">
<text:p>IGAZ</text:p>
</table:table-cell>
<table:table-cell table:formula="of:=FORMULA([.A10])" office:value-type="string" office:string-value="=LET(avg; AVERAGE(O6:R6); IF(avg>249; "Excellent"; IF(avg>=200; "Good"; IF(avg>150; "Satisfactory"; "Poor"))))" calcext:value-type="string">
<text:p>=LET(avg; AVERAGE(O6:R6); IF(avg>249; "Excellent"; IF(avg>=200; "Good"; IF(avg>150; "Satisfactory"; "Poor"))))</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce9" office:value-type="string" calcext:value-type="string">
<text:p>Mia</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="187" calcext:value-type="float">
<text:p>187</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="196" calcext:value-type="float">
<text:p>196</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="152" calcext:value-type="float">
<text:p>152</text:p>
</table:table-cell>
<table:table-cell office:value-type="float" office:value="173" calcext:value-type="float">
<text:p>173</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="18"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell table:formula="of:=COM.MICROSOFT.LET(_xlpm.avg; AVERAGE([.O7:.R7]); IF(_xlpm.avg>249; "Excellent"; IF(_xlpm.avg>=200; "Good"; IF(_xlpm.avg>150; "Satisfactory"; "Poor"))))" office:value-type="string" office:string-value="Satisfactory" calcext:value-type="string">
<text:p>Satisfactory</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" table:number-columns-repeated="3"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Satisfactory</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce24" table:formula="of:=[.A11]=[.E11]" office:value-type="boolean" office:boolean-value="true" calcext:value-type="boolean">
<text:p>IGAZ</text:p>
</table:table-cell>
<table:table-cell table:formula="of:=FORMULA([.A11])" office:value-type="string" office:string-value="=LET(avg; AVERAGE(O7:R7); IF(avg>249; "Excellent"; IF(avg>=200; "Good"; IF(avg>150; "Satisfactory"; "Poor"))))" calcext:value-type="string">
<text:p>=LET(avg; AVERAGE(O7:R7); IF(avg>249; "Excellent"; IF(avg>=200; "Good"; IF(avg>150; "Satisfactory"; "Poor"))))</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce9" table:number-columns-repeated="4"/>
<table:table-cell table:number-columns-repeated="19"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell table:formula="of:=COM.MICROSOFT.LET(_xlpm.avg; AVERAGE([.O8:.R8]); IF(_xlpm.avg>249; "Excellent"; IF(_xlpm.avg>=200; "Good"; IF(_xlpm.avg>150; "Satisfactory"; "Poor"))))" office:value-type="string" office:string-value="Good" calcext:value-type="string">
<text:p>Good</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Good</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce24" table:formula="of:=[.A12]=[.E12]" office:value-type="boolean" office:boolean-value="true" calcext:value-type="boolean">
<text:p>IGAZ</text:p>
</table:table-cell>
<table:table-cell table:formula="of:=FORMULA([.A12])" office:value-type="string" office:string-value="=LET(avg; AVERAGE(O8:R8); IF(avg>249; "Excellent"; IF(avg>=200; "Good"; IF(avg>150; "Satisfactory"; "Poor"))))" calcext:value-type="string">
<text:p>=LET(avg; AVERAGE(O8:R8); IF(avg>249; "Excellent"; IF(avg>=200; "Good"; IF(avg>150; "Satisfactory"; "Poor"))))</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce9" table:number-columns-repeated="4"/>
<table:table-cell table:number-columns-repeated="19"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell table:formula="of:=COM.MICROSOFT.LET(_xlpm.avg; AVERAGE([.O9:.R9]); IF(_xlpm.avg>249; "Excellent"; IF(_xlpm.avg>=200; "Good"; IF(_xlpm.avg>150; "Satisfactory"; "Poor"))))" office:value-type="string" office:string-value="Good" calcext:value-type="string">
<text:p>Good</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Good</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce24" table:formula="of:=[.A13]=[.E13]" office:value-type="boolean" office:boolean-value="true" calcext:value-type="boolean">
<text:p>IGAZ</text:p>
</table:table-cell>
<table:table-cell table:formula="of:=FORMULA([.A13])" office:value-type="string" office:string-value="=LET(avg; AVERAGE(O9:R9); IF(avg>249; "Excellent"; IF(avg>=200; "Good"; IF(avg>150; "Satisfactory"; "Poor"))))" calcext:value-type="string">
<text:p>=LET(avg; AVERAGE(O9:R9); IF(avg>249; "Excellent"; IF(avg>=200; "Good"; IF(avg>150; "Satisfactory"; "Poor"))))</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce9" table:number-columns-repeated="4"/>
<table:table-cell table:number-columns-repeated="19"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell table:formula="of:=COM.MICROSOFT.LET(_xlpm.avg; AVERAGE([.O10:.R10]); IF(_xlpm.avg>249; "Excellent"; IF(_xlpm.avg>=200; "Good"; IF(_xlpm.avg>150; "Satisfactory"; "Poor"))))" office:value-type="string" office:string-value="Satisfactory" calcext:value-type="string">
<text:p>Satisfactory</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Satisfactory</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce24" table:formula="of:=[.A14]=[.E14]" office:value-type="boolean" office:boolean-value="true" calcext:value-type="boolean">
<text:p>IGAZ</text:p>
</table:table-cell>
<table:table-cell table:formula="of:=FORMULA([.A14])" office:value-type="string" office:string-value="=LET(avg; AVERAGE(O10:R10); IF(avg>249; "Excellent"; IF(avg>=200; "Good"; IF(avg>150; "Satisfactory"; "Poor"))))" calcext:value-type="string">
<text:p>=LET(avg; AVERAGE(O10:R10); IF(avg>249; "Excellent"; IF(avg>=200; "Good"; IF(avg>150; "Satisfactory"; "Poor"))))</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce9" table:number-columns-repeated="4"/>
<table:table-cell table:number-columns-repeated="19"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell table:number-columns-repeated="8"/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell table:number-columns-repeated="4"/>
<table:table-cell table:style-name="ce9" table:number-columns-repeated="4"/>
<table:table-cell table:number-columns-repeated="19"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell/>
<table:table-cell table:style-name="ce9" table:number-columns-repeated="3"/>
<table:table-cell table:number-columns-repeated="4"/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell table:number-columns-repeated="4"/>
<table:table-cell table:style-name="ce9" table:number-columns-repeated="4"/>
<table:table-cell table:number-columns-repeated="19"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Middle name</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Middle name</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell table:number-columns-repeated="4"/>
<table:table-cell table:style-name="ce9" office:value-type="string" calcext:value-type="string">
<text:p>Full name </text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" table:number-columns-repeated="3"/>
<table:table-cell table:number-columns-repeated="19"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell table:formula="of:=COM.MICROSOFT.LET(_xlpm.full_name; [.N18]; _xlpm.space; SEARCH(" "; _xlpm.full_name); MID(_xlpm.full_name; _xlpm.space+1; SEARCH(" "; _xlpm.full_name; _xlpm.space+1) -_xlpm.space-1))" office:value-type="string" office:string-value="D." calcext:value-type="string">
<text:p>D.</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>D.</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce24" table:formula="of:=[.A18]=[.E18]" office:value-type="boolean" office:boolean-value="true" calcext:value-type="boolean">
<text:p>IGAZ</text:p>
</table:table-cell>
<table:table-cell table:formula="of:=FORMULA([.A18])" office:value-type="string" office:string-value="=LET(full_name; N18; space; SEARCH(" "; full_name); MID(full_name; space+1; SEARCH(" "; full_name; space+1) -space-1))" calcext:value-type="string">
<text:p>=LET(full_name; N18; space; SEARCH(" "; full_name); MID(full_name; space+1; SEARCH(" "; full_name; space+1) -space-1))</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce9" office:value-type="string" calcext:value-type="string">
<text:p>Aiden D. Anderson</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" table:number-columns-repeated="3"/>
<table:table-cell table:number-columns-repeated="19"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell table:formula="of:=COM.MICROSOFT.LET(_xlpm.full_name; [.N19]; _xlpm.space; SEARCH(" "; _xlpm.full_name); MID(_xlpm.full_name; _xlpm.space+1; SEARCH(" "; _xlpm.full_name; _xlpm.space+1) -_xlpm.space-1))" office:value-type="string" office:string-value="Andrew" calcext:value-type="string">
<text:p>Andrew</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Andrew</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce24" table:formula="of:=[.A19]=[.E19]" office:value-type="boolean" office:boolean-value="true" calcext:value-type="boolean">
<text:p>IGAZ</text:p>
</table:table-cell>
<table:table-cell table:formula="of:=FORMULA([.A19])" office:value-type="string" office:string-value="=LET(full_name; N19; space; SEARCH(" "; full_name); MID(full_name; space+1; SEARCH(" "; full_name; space+1) -space-1))" calcext:value-type="string">
<text:p>=LET(full_name; N19; space; SEARCH(" "; full_name); MID(full_name; space+1; SEARCH(" "; full_name; space+1) -space-1))</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce9" office:value-type="string" calcext:value-type="string">
<text:p>John Andrew Brown</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" table:number-columns-repeated="3"/>
<table:table-cell table:number-columns-repeated="19"/>
</table:table-row>
<table:table-row table:style-name="ro2">
<table:table-cell table:formula="of:=COM.MICROSOFT.LET(_xlpm.full_name; [.N20]; _xlpm.space; SEARCH(" "; _xlpm.full_name); MID(_xlpm.full_name; _xlpm.space+1; SEARCH(" "; _xlpm.full_name; _xlpm.space+1) -_xlpm.space-1))" office:value-type="string" office:string-value="Claire" calcext:value-type="string">
<text:p>Claire</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Claire</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce24" table:formula="of:=[.A20]=[.E20]" office:value-type="boolean" office:boolean-value="true" calcext:value-type="boolean">
<text:p>IGAZ</text:p>
</table:table-cell>
<table:table-cell table:formula="of:=FORMULA([.A20])" office:value-type="string" office:string-value="=LET(full_name; N20; space; SEARCH(" "; full_name); MID(full_name; space+1; SEARCH(" "; full_name; space+1) -space-1))" calcext:value-type="string">
<text:p>=LET(full_name; N20; space; SEARCH(" "; full_name); MID(full_name; space+1; SEARCH(" "; full_name; space+1) -space-1))</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Ava Claire Brook</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="22"/>
</table:table-row>
<table:table-row table:style-name="ro2">
<table:table-cell table:formula="of:=COM.MICROSOFT.LET(_xlpm.full_name; [.N21]; _xlpm.space; SEARCH(" "; _xlpm.full_name); MID(_xlpm.full_name; _xlpm.space+1; SEARCH(" "; _xlpm.full_name; _xlpm.space+1) -_xlpm.space-1))" office:value-type="string" office:string-value="Finn" calcext:value-type="string">
<text:p>Finn</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Finn</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce24" table:formula="of:=[.A21]=[.E21]" office:value-type="boolean" office:boolean-value="true" calcext:value-type="boolean">
<text:p>IGAZ</text:p>
</table:table-cell>
<table:table-cell table:formula="of:=FORMULA([.A21])" office:value-type="string" office:string-value="=LET(full_name; N21; space; SEARCH(" "; full_name); MID(full_name; space+1; SEARCH(" "; full_name; space+1) -space-1))" calcext:value-type="string">
<text:p>=LET(full_name; N21; space; SEARCH(" "; full_name); MID(full_name; space+1; SEARCH(" "; full_name; space+1) -space-1))</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Frank Finn Hill</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="22"/>
</table:table-row>
<table:table-row table:style-name="ro2">
<table:table-cell table:formula="of:=COM.MICROSOFT.LET(_xlpm.full_name; [.N22]; _xlpm.space; SEARCH(" "; _xlpm.full_name); MID(_xlpm.full_name; _xlpm.space+1; SEARCH(" "; _xlpm.full_name; _xlpm.space+1) -_xlpm.space-1))" office:value-type="string" office:string-value="M." calcext:value-type="string">
<text:p>M.</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>M.</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce24" table:formula="of:=[.A22]=[.E22]" office:value-type="boolean" office:boolean-value="true" calcext:value-type="boolean">
<text:p>IGAZ</text:p>
</table:table-cell>
<table:table-cell table:formula="of:=FORMULA([.A22])" office:value-type="string" office:string-value="=LET(full_name; N22; space; SEARCH(" "; full_name); MID(full_name; space+1; SEARCH(" "; full_name; space+1) -space-1))" calcext:value-type="string">
<text:p>=LET(full_name; N22; space; SEARCH(" "; full_name); MID(full_name; space+1; SEARCH(" "; full_name; space+1) -space-1))</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Robert M. Furlan</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="22"/>
</table:table-row>
<table:table-row table:style-name="ro2">
<table:table-cell table:formula="of:=COM.MICROSOFT.LET(_xlpm.full_name; [.N23]; _xlpm.space; SEARCH(" "; _xlpm.full_name); MID(_xlpm.full_name; _xlpm.space+1; SEARCH(" "; _xlpm.full_name; _xlpm.space+1) -_xlpm.space-1))" office:value-type="string" office:string-value="Grace" calcext:value-type="string">
<text:p>Grace</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce17" table:number-columns-repeated="2"/>
<table:table-cell/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Grace</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce24" table:formula="of:=[.A23]=[.E23]" office:value-type="boolean" office:boolean-value="true" calcext:value-type="boolean">
<text:p>IGAZ</text:p>
</table:table-cell>
<table:table-cell table:formula="of:=FORMULA([.A23])" office:value-type="string" office:string-value="=LET(full_name; N23; space; SEARCH(" "; full_name); MID(full_name; space+1; SEARCH(" "; full_name; space+1) -space-1))" calcext:value-type="string">
<text:p>=LET(full_name; N23; space; SEARCH(" "; full_name); MID(full_name; space+1; SEARCH(" "; full_name; space+1) -space-1))</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Mia Grace Johnson</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="22"/>
</table:table-row>
<table:table-row table:style-name="ro2">
<table:table-cell table:number-columns-repeated="8"/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell table:number-columns-repeated="27"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell/>
<table:table-cell table:style-name="ce9" table:number-columns-repeated="5"/>
<table:table-cell table:number-columns-repeated="2"/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell table:number-columns-repeated="27"/>
</table:table-row>
<table:table-row table:style-name="ro2">
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Student</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Subject</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Date</text:p>
</table:table-cell>
<table:table-cell/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Student</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Subject</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Date</text:p>
</table:table-cell>
<table:table-cell/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell table:number-columns-repeated="27"/>
</table:table-row>
<table:table-row table:style-name="ro6">
<table:table-cell table:number-matrix-columns-spanned="3" table:number-matrix-rows-spanned="3" table:formula="of:=COM.MICROSOFT.LET(_xlpm.data;[.$N$28:.$P$45];_xlpm.dates;[.P$28:.P$45];_xlpm.today;45444;_xlpm.n;[.R30];COM.MICROSOFT.FILTER(_xlpm.data;(_xlpm.dates>_xlpm.today)*(_xlpm.dates<=_xlpm.today+_xlpm.n); "No results"))" office:value-type="string" office:string-value="Carter" calcext:value-type="string">
<text:p>Carter</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" office:string-value="Biology" calcext:value-type="string">
<text:p>Biology</text:p>
</table:table-cell>
<table:table-cell office:value-type="float" office:value="45445" calcext:value-type="float">
<text:p>45445</text:p>
</table:table-cell>
<table:table-cell/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Carter</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Biology</text:p>
</table:table-cell>
<table:table-cell office:value-type="float" office:value="45445" calcext:value-type="float">
<text:p>45445</text:p>
</table:table-cell>
<table:table-cell/>
<table:table-cell table:style-name="ce24" table:formula="of:=([.A27]=[.E27])AND([.B27]=[.F27])AND([.C27]=[.G27])" office:value-type="boolean" office:boolean-value="true" calcext:value-type="boolean">
<text:p>IGAZ</text:p>
</table:table-cell>
<table:table-cell table:formula="of:=FORMULA([.A27])" office:value-type="string" office:string-value="{=LET(data;$N$28:$P$45;dates;P$28:P$45;today;45444;n;R30;FILTER(data;(dates>today)*(dates<=today+n); "No results"))}" calcext:value-type="string">
<text:p>{=LET(data;$N$28:$P$45;dates;P$28:P$45;today;45444;n;R30;FILTER(data;(dates>today)*(dates<=today+n); "No results"))}</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Student</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Subject</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Date</text:p>
</table:table-cell>
<table:table-cell/>
<table:table-cell table:style-name="ce18"/>
<table:table-cell table:number-columns-repeated="18"/>
</table:table-row>
<table:table-row table:style-name="ro6">
<table:table-cell office:value-type="string" office:string-value="Emma" calcext:value-type="string">
<text:p>Emma</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" office:string-value="English" calcext:value-type="string">
<text:p>English</text:p>
</table:table-cell>
<table:table-cell office:value-type="float" office:value="45446" calcext:value-type="float">
<text:p>45446</text:p>
</table:table-cell>
<table:table-cell/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Emma</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>English</text:p>
</table:table-cell>
<table:table-cell office:value-type="float" office:value="45446" calcext:value-type="float">
<text:p>45446</text:p>
</table:table-cell>
<table:table-cell/>
<table:table-cell table:style-name="ce24" table:formula="of:=([.A28]=[.E28])AND([.B28]=[.F28])AND([.C28]=[.G28])" office:value-type="boolean" office:boolean-value="true" calcext:value-type="boolean">
<text:p>IGAZ</text:p>
</table:table-cell>
<table:table-cell table:formula="of:=FORMULA([.A28])" office:value-type="string" office:string-value="{=LET(data;$N$28:$P$45;dates;P$28:P$45;today;45444;n;R30;FILTER(data;(dates>today)*(dates<=today+n); "No results"))}" calcext:value-type="string">
<text:p>{=LET(data;$N$28:$P$45;dates;P$28:P$45;today;45444;n;R30;FILTER(data;(dates>today)*(dates<=today+n); "No results"))}</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Aiden</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Maths</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce18" office:value-type="date" office:date-value="2024-05-28" calcext:value-type="date">
<text:p>2024-05-28</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="20"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell office:value-type="string" office:string-value="Emma" calcext:value-type="string">
<text:p>Emma</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="string" office:string-value="Maths" calcext:value-type="string">
<text:p>Maths</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9" office:value-type="float" office:value="45447" calcext:value-type="float">
<text:p>45447</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce9"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Emma</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Maths</text:p>
</table:table-cell>
<table:table-cell office:value-type="float" office:value="45447" calcext:value-type="float">
<text:p>45447</text:p>
</table:table-cell>
<table:table-cell/>
<table:table-cell table:style-name="ce24" table:formula="of:=([.A29]=[.E29])AND([.B29]=[.F29])AND([.C29]=[.G29])" office:value-type="boolean" office:boolean-value="true" calcext:value-type="boolean">
<text:p>IGAZ</text:p>
</table:table-cell>
<table:table-cell table:formula="of:=FORMULA([.A29])" office:value-type="string" office:string-value="{=LET(data;$N$28:$P$45;dates;P$28:P$45;today;45444;n;R30;FILTER(data;(dates>today)*(dates<=today+n); "No results"))}" calcext:value-type="string">
<text:p>{=LET(data;$N$28:$P$45;dates;P$28:P$45;today;45444;n;R30;FILTER(data;(dates>today)*(dates<=today+n); "No results"))}</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Aiden</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Biology</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce18" office:value-type="date" office:date-value="2024-05-29" calcext:value-type="date">
<text:p>2024-05-29</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="20"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell/>
<table:table-cell table:style-name="ce9" table:number-columns-repeated="3"/>
<table:table-cell table:number-columns-repeated="4"/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell table:number-columns-repeated="4"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Ava</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Art</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce18" office:value-type="date" office:date-value="2024-05-30" calcext:value-type="date">
<text:p>2024-05-30</text:p>
</table:table-cell>
<table:table-cell/>
<table:table-cell office:value-type="float" office:value="3" calcext:value-type="float">
<text:p>3</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="18"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell table:style-name="ce19"/>
<table:table-cell table:style-name="ce9" table:number-columns-repeated="3"/>
<table:table-cell table:number-columns-repeated="4"/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell table:number-columns-repeated="4"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Ava</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>English</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce18" office:value-type="date" office:date-value="2024-05-31" calcext:value-type="date">
<text:p>2024-05-31</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="20"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell table:style-name="ce19"/>
<table:table-cell table:style-name="ce9" table:number-columns-repeated="3"/>
<table:table-cell table:number-columns-repeated="4"/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell table:number-columns-repeated="4"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Carter</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>English</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce18" office:value-type="date" office:date-value="2024-06-01" calcext:value-type="date">
<text:p>2024-06-01</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="20"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell table:style-name="ce9" table:number-columns-repeated="4"/>
<table:table-cell table:number-columns-repeated="4"/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell table:number-columns-repeated="4"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Carter</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Biology</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce18" office:value-type="date" office:date-value="2024-06-02" calcext:value-type="date">
<text:p>2024-06-02</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="20"/>
</table:table-row>
<table:table-row table:style-name="ro2">
<table:table-cell table:number-columns-repeated="8"/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell table:number-columns-repeated="4"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Emma</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>English</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce18" office:value-type="date" office:date-value="2024-06-03" calcext:value-type="date">
<text:p>2024-06-03</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="20"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell table:number-columns-repeated="4"/>
<table:table-cell table:style-name="ce9"/>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell table:number-columns-repeated="4"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Emma</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Maths</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce18" office:value-type="date" office:date-value="2024-06-04" calcext:value-type="date">
<text:p>2024-06-04</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="20"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell table:style-name="ce9" table:number-columns-repeated="4"/>
<table:table-cell table:number-columns-repeated="4"/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell table:number-columns-repeated="4"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Isabella</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>English</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce18" office:value-type="date" office:date-value="2024-06-05" calcext:value-type="date">
<text:p>2024-06-05</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="20"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell table:style-name="ce9" table:number-columns-repeated="4"/>
<table:table-cell table:number-columns-repeated="4"/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell table:number-columns-repeated="4"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Isabella</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Biology</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce18" office:value-type="date" office:date-value="2024-06-06" calcext:value-type="date">
<text:p>2024-06-06</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="20"/>
</table:table-row>
<table:table-row table:style-name="ro2">
<table:table-cell table:style-name="ce18" table:number-columns-repeated="7"/>
<table:table-cell/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell table:number-columns-repeated="4"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Jackson</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Biology</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce18" office:value-type="date" office:date-value="2024-06-07" calcext:value-type="date">
<text:p>2024-06-07</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="20"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell table:style-name="ce18" table:number-columns-repeated="7"/>
<table:table-cell/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce9"/>
<table:table-cell table:style-name="ce9" office:value-type="string" calcext:value-type="string">
<text:p>Jackson</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce15" office:value-type="string" calcext:value-type="string">
<text:p>Art</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce18" office:value-type="date" office:date-value="2024-06-08" calcext:value-type="date">
<text:p>2024-06-08</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="20"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell table:style-name="ce18" table:number-columns-repeated="7"/>
<table:table-cell/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell/>
<table:table-cell table:style-name="ce9"/>
<table:table-cell/>
<table:table-cell table:style-name="ce15"/>
<table:table-cell table:style-name="ce15" office:value-type="string" calcext:value-type="string">
<text:p>Liam</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Art</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce18" office:value-type="date" office:date-value="2024-06-09" calcext:value-type="date">
<text:p>2024-06-09</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="20"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell table:style-name="ce18" table:number-columns-repeated="7"/>
<table:table-cell/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell/>
<table:table-cell table:style-name="ce9"/>
<table:table-cell table:number-columns-repeated="2"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Liam</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Maths</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce18" office:value-type="date" office:date-value="2024-06-10" calcext:value-type="date">
<text:p>2024-06-10</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="20"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell table:number-columns-repeated="8"/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell/>
<table:table-cell table:style-name="ce9"/>
<table:table-cell table:number-columns-repeated="2"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Lucas</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Maths</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce18" office:value-type="date" office:date-value="2024-06-11" calcext:value-type="date">
<text:p>2024-06-11</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="20"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell table:style-name="ce18" table:number-columns-repeated="7"/>
<table:table-cell/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell/>
<table:table-cell table:style-name="ce9"/>
<table:table-cell table:number-columns-repeated="2"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Lucas</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>English</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce18" office:value-type="date" office:date-value="2024-06-12" calcext:value-type="date">
<text:p>2024-06-12</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="20"/>
</table:table-row>
<table:table-row table:style-name="ro2">
<table:table-cell table:style-name="ce18" table:number-columns-repeated="7"/>
<table:table-cell/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell table:number-columns-repeated="4"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Mia</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Art</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce18" office:value-type="date" office:date-value="2024-06-13" calcext:value-type="date">
<text:p>2024-06-13</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="20"/>
</table:table-row>
<table:table-row table:style-name="ro2">
<table:table-cell table:style-name="ce18" table:number-columns-repeated="7"/>
<table:table-cell/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell table:number-columns-repeated="4"/>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Mia</text:p>
</table:table-cell>
<table:table-cell office:value-type="string" calcext:value-type="string">
<text:p>Biology</text:p>
</table:table-cell>
<table:table-cell table:style-name="ce18" office:value-type="date" office:date-value="2024-06-14" calcext:value-type="date">
<text:p>2024-06-14</text:p>
</table:table-cell>
<table:table-cell table:number-columns-repeated="20"/>
</table:table-row>
<table:table-row table:style-name="ro2">
<table:table-cell table:style-name="ce18" table:number-columns-repeated="7"/>
<table:table-cell/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell table:number-columns-repeated="27"/>
</table:table-row>
<table:table-row table:style-name="ro2">
<table:table-cell table:number-columns-repeated="8"/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell table:number-columns-repeated="27"/>
</table:table-row>
<table:table-row table:style-name="ro5">
<table:table-cell table:style-name="ce9" table:number-columns-repeated="2"/>
<table:table-cell table:number-columns-repeated="2"/>
<table:table-cell table:style-name="ce9" table:number-columns-repeated="2"/>
<table:table-cell table:number-columns-repeated="2"/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell table:number-columns-repeated="27"/>
</table:table-row>
<table:table-row table:style-name="ro2" table:number-rows-repeated="2">
<table:table-cell table:style-name="ce17"/>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce17"/>
<table:table-cell table:number-columns-repeated="3"/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell table:number-columns-repeated="27"/>
</table:table-row>
<table:table-row table:style-name="ro2" table:number-rows-repeated="3">
<table:table-cell table:number-columns-repeated="8"/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell table:number-columns-repeated="27"/>
</table:table-row>
<table:table-row table:style-name="ro2">
<table:table-cell table:number-columns-repeated="8"/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell/>
<table:table-cell table:style-name="ce33"/>
<table:table-cell table:number-columns-repeated="25"/>
</table:table-row>
<table:table-row table:style-name="ro2" table:number-rows-repeated="157">
<table:table-cell table:number-columns-repeated="8"/>
<table:table-cell table:style-name="ce24"/>
<table:table-cell table:number-columns-repeated="27"/>
</table:table-row>
<table:table-row table:style-name="ro2" table:number-rows-repeated="1048364">
<table:table-cell table:number-columns-repeated="36"/>
</table:table-row>
<table:table-row table:style-name="ro2">
<table:table-cell table:number-columns-repeated="36"/>
</table:table-row>
<calcext:conditional-formats>
<calcext:conditional-format calcext:target-range-address="Sheet2.I2:Sheet2.I211">
<calcext:condition calcext:apply-style-name="Default" calcext:value="=""" calcext:base-cell-address="Sheet2.I2"/>
<calcext:condition calcext:apply-style-name="true" calcext:value="=1" calcext:base-cell-address="Sheet2.I2"/>
<calcext:condition calcext:apply-style-name="false" calcext:value="=0" calcext:base-cell-address="Sheet2.I2"/>
</calcext:conditional-format>
</calcext:conditional-formats>
</table:table>
<table:named-expressions/>
</office:spreadsheet>
</office:body>
</office:document>
\ No newline at end of file
diff --git a/sc/qa/unit/data/xlsx/tdf137543.xlsx b/sc/qa/unit/data/xlsx/tdf137543.xlsx
new file mode 100644
index 0000000..16801b2
--- /dev/null
+++ b/sc/qa/unit/data/xlsx/tdf137543.xlsx
Binary files differ
diff --git a/sc/qa/unit/subsequent_export_test2.cxx b/sc/qa/unit/subsequent_export_test2.cxx
index 3be3576..1ae4d22 100644
--- a/sc/qa/unit/subsequent_export_test2.cxx
+++ b/sc/qa/unit/subsequent_export_test2.cxx
@@ -1311,6 +1311,20 @@ CPPUNIT_TEST_FIXTURE(ScExportTest2, testTdf91332)
CPPUNIT_ASSERT_EQUAL(Color(0x90cf47), nColor);
}
CPPUNIT_TEST_FIXTURE(ScExportTest2, testTdf137543XLSX)
{
// LET function test
createScDoc("xlsx/tdf137543.xlsx");
save(u"Calc Office Open XML"_ustr);
xmlDocUniquePtr pSheet = parseExport(u"xl/worksheets/sheet1.xml"_ustr);
CPPUNIT_ASSERT(pSheet);
assertXPathContent(
pSheet, "/x:worksheet/x:sheetData/x:row/x:c/x:f"_ostr,
u"_xlfn.LET(_xlpm.first,15,_xlpm.second,10,SUM(_xlpm.first,_xlpm.second))"_ustr);
}
CPPUNIT_PLUGIN_IMPLEMENT();
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/sc/qa/unit/ucalc.cxx b/sc/qa/unit/ucalc.cxx
index d686978..ae0d696 100644
--- a/sc/qa/unit/ucalc.cxx
+++ b/sc/qa/unit/ucalc.cxx
@@ -2917,6 +2917,7 @@ CPPUNIT_TEST_FIXTURE(Test, testFunctionLists)
"HYPERLINK",
"INDEX",
"INDIRECT",
"LET",
"LOOKUP",
"MATCH",
"OFFSET",
diff --git a/sc/source/core/data/funcdesc.cxx b/sc/source/core/data/funcdesc.cxx
index 9a205aa..0231e5a 100644
--- a/sc/source/core/data/funcdesc.cxx
+++ b/sc/source/core/data/funcdesc.cxx
@@ -197,12 +197,12 @@ OUString ScFuncDesc::GetParamList() const
aSig.append(maDefArgNames[nVarArgsStart]
+ "1" + sep
+ maDefArgNames[nVarArgsStart+1]
+ "1" + sep
+ (mxFuncName != "LET" ? "1" : "2") + sep
+ " "
+ maDefArgNames[nVarArgsStart]
+ "2" + sep
+ maDefArgNames[nVarArgsStart+1]
+ "2" + sep + " ... " );
+ (mxFuncName != "LET" ? "2" : "3") + sep + " ... " );
}
}
@@ -394,6 +394,7 @@ ScFunctionList::ScFunctionList( bool bEnglishFunctionNames )
{ SC_OPCODE_IF_ERROR, ENTRY(SC_OPCODE_IF_ERROR_ARY), 0, ID_FUNCTION_GRP_LOGIC, HID_FUNC_IFERROR, 2, { 0, 0 }, 0 },
{ SC_OPCODE_IF_NA, ENTRY(SC_OPCODE_IF_NA_ARY), 0, ID_FUNCTION_GRP_LOGIC, HID_FUNC_IFNA, 2, { 0, 0 }, 0 },
{ SC_OPCODE_CHOOSE, ENTRY(SC_OPCODE_CHOOSE_ARY), 0, ID_FUNCTION_GRP_TABLE, HID_FUNC_WAHL, VAR_ARGS+1, { 0, 0 }, 31 },
{ SC_OPCODE_LET, ENTRY(SC_OPCODE_LET_ARY), 0, ID_FUNCTION_GRP_TABLE, HID_FUNC_LET_MS, PAIRED_VAR_ARGS + 1, { 0, 0, 0 }, 0 },
{ SC_OPCODE_AND, ENTRY(SC_OPCODE_AND_ARY), 0, ID_FUNCTION_GRP_LOGIC, HID_FUNC_UND, VAR_ARGS, { 0 }, 0 },
{ SC_OPCODE_OR, ENTRY(SC_OPCODE_OR_ARY), 0, ID_FUNCTION_GRP_LOGIC, HID_FUNC_ODER, VAR_ARGS, { 0 }, 0 },
{ SC_OPCODE_PI, ENTRY(SC_OPCODE_PI_ARY), 0, ID_FUNCTION_GRP_MATH, HID_FUNC_PI, 0, { }, 0 },
diff --git a/sc/source/core/inc/interpre.hxx b/sc/source/core/inc/interpre.hxx
index bde78a5..e1752e0 100644
--- a/sc/source/core/inc/interpre.hxx
+++ b/sc/source/core/inc/interpre.hxx
@@ -190,6 +190,7 @@ struct FormulaTokenRef_hash
{ return std::hash<const void *>()(static_cast<const void*>(p1)); }
};
typedef ::std::unordered_map< const formula::FormulaConstTokenRef, formula::FormulaConstTokenRef, FormulaTokenRef_hash> ScTokenMatrixMap;
typedef ::std::unordered_map< OUString, const formula::FormulaConstTokenRef> ScResultTokenMap;
class ScInterpreter
{
@@ -246,6 +247,7 @@ private:
formula::FormulaConstTokenRef xResult;
ScJumpMatrix* pJumpMatrix; // currently active array condition, if any
ScTokenMatrixMap maTokenMatrixMap; // map FormulaToken* to formula::FormulaTokenRef if in array condition
ScResultTokenMap maResultTokenMap; // Result FormulaToken* to formula::FormulaTokenRef
ScFormulaCell* pMyFormulaCell; // the cell of this formula expression
const formula::FormulaToken* pCur; // current token
@@ -513,6 +515,11 @@ private:
ScMatrixRef GetMatrix( short & rParam, size_t & rInRefList );
sc::RangeMatrix GetRangeMatrix();
// Get tokens at specific parameters for LET (lambda) function
void getTokensAtParameter( std::unique_ptr<ScTokenArray>& pTokens, short nPos );
static void replaceNamesToResult( const std::unordered_map<OUString, formula::FormulaToken*> nResultIndexes,
std::unique_ptr<ScTokenArray>& pTokens );
void ScTableOp(); // repeated operations
// common helper functions
@@ -717,6 +724,7 @@ private:
void ScSort();
void ScSortBy();
void ScUnique();
void ScLet();
void ScSubTotal();
// If upon call rMissingField==true then the database field parameter may be
diff --git a/sc/source/core/tool/compiler.cxx b/sc/source/core/tool/compiler.cxx
index 68422b3..98a91f1 100644
--- a/sc/source/core/tool/compiler.cxx
+++ b/sc/source/core/tool/compiler.cxx
@@ -74,6 +74,8 @@
#include <scmatrix.hxx>
#include <tokenstringcontext.hxx>
#include <officecfg/Office/Common.hxx>
#include <sfx2/linkmgr.hxx>
#include <interpre.hxx>
using namespace formula;
using namespace ::com::sun::star;
@@ -3651,6 +3653,20 @@ bool ScCompiler::ParseNamedRange( const OUString& rUpperName, bool onlyCheck )
return false;
}
bool ScCompiler::ParseLambdaFuncName( const OUString& aOrg, bool bLambdaFunction )
{
if (bLambdaFunction && !aOrg.isEmpty())
{
OUString aName = aOrg;
if (aOrg.startsWithIgnoreAsciiCase(u"_xlpm."))
aName = aName.copy(6);
svl::SharedString aSS = rDoc.GetSharedStringPool().intern(aName);
maRawToken.SetStringName(aSS.getData(), aSS.getDataIgnoreCase());
return true;
}
return false;
}
bool ScCompiler::ParseExternalNamedRange( const OUString& rSymbol, bool& rbInvalidExternalNameRange )
{
/* FIXME: This code currently (2008-12-02T15:41+0100 in CWS mooxlsc)
@@ -4613,6 +4629,9 @@ Label_Rewind:
if (bMayBeFuncName && ParseOpCode2( aUpper ))
return true;
if (ParseLambdaFuncName(aOrg, mLambda.bInLambdaFunction))
return true;
} while (mbRewind);
// Last chance: it could be a broken invalidated reference that contains
@@ -4743,6 +4762,12 @@ std::unique_ptr<ScTokenArray> ScCompiler::CompileString( const OUString& rFormul
{
case ocOpen:
{
if (eLastOp == ocLet)
{
mLambda.bInLambdaFunction = true;
mLambda.nBracketPos = nBrackets;
}
++nBrackets;
if (bUseFunctionStack)
{
@@ -4765,7 +4790,14 @@ std::unique_ptr<ScTokenArray> ScCompiler::CompileString( const OUString& rFormul
}
}
else
{
nBrackets--;
if (mLambda.bInLambdaFunction && mLambda.nBracketPos == nBrackets)
{
mLambda.bInLambdaFunction = false;
mLambda.nBracketPos = nBrackets;
}
}
if (bUseFunctionStack && nFunction)
--nFunction;
}
@@ -5033,6 +5065,14 @@ ScRangeData* ScCompiler::GetRangeData( const FormulaToken& rToken ) const
return rDoc.FindRangeNameBySheetAndIndex( rToken.GetSheet(), rToken.GetIndex());
}
bool ScCompiler::HandleStringName()
{
ScTokenArray* pNew = new ScTokenArray(rDoc);
pNew->AddString(mpToken->GetString());
PushTokenArray(pNew, true);
return GetToken();
}
bool ScCompiler::HandleRange()
{
ScTokenArray* pNew;
diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index 3ba43d0..9296a8e 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -48,6 +48,7 @@
#include <document.hxx>
#include <dociter.hxx>
#include <docsh.hxx>
#include <sfx2/linkmgr.hxx>
#include <formulacell.hxx>
#include <scmatrix.hxx>
#include <docoptio.hxx>
@@ -8917,6 +8918,152 @@ void ScInterpreter::ScUnique()
}
}
void ScInterpreter::getTokensAtParameter( std::unique_ptr<ScTokenArray>& pTokens, short nPos )
{
sal_uInt16 nOpen = 0;
sal_uInt16 nSepCount = 0;
formula::FormulaTokenArrayPlainIterator aIter(*pArr);
formula::FormulaToken* t = aIter.First();
for (t = aIter.NextNoSpaces(); t; t = aIter.NextNoSpaces())
{
OpCode aOpCode = t->GetOpCode();
formula::StackVar aIntType = t->GetType();
if ((aOpCode == ocOpen || aOpCode == ocArrayOpen || aOpCode == ocTableRefOpen) && aIntType == formula::StackVar::svSep)
nOpen++;
else if ((aOpCode == ocClose || aOpCode == ocArrayClose || aOpCode == ocTableRefClose) && aIntType == formula::StackVar::svSep)
nOpen--;
else if (aOpCode == ocSep && aIntType == formula::StackVar::svSep && nOpen == 1)
{
nSepCount++;
continue;
}
if (nSepCount == nPos && nOpen > 0)
{
pTokens->AddToken(*t->Clone());
}
}
}
void ScInterpreter::replaceNamesToResult( const std::unordered_map<OUString, formula::FormulaToken*> nResultIndexes,
std::unique_ptr<ScTokenArray>& pTokens )
{
formula::FormulaTokenArrayPlainIterator aIterResult(*pTokens);
for (FormulaToken* t = aIterResult.GetNextStringName(); t; t = aIterResult.GetNextStringName())
{
auto iRes = nResultIndexes.find(t->GetString().getString());
if (iRes != nResultIndexes.end())
pTokens->ReplaceToken(aIterResult.GetIndex() - 1, iRes->second->Clone(),
FormulaTokenArray::ReplaceMode::CODE_ONLY);
}
}
void ScInterpreter::ScLet()
{
const short* pJump = pCur->GetJump();
short nJumpCount = pJump[0];
short nOrgJumpCount = nJumpCount;
if (nJumpCount < 3 || (nJumpCount % 2 != 1))
{
PushError(FormulaError::ParameterExpected);
aCode.Jump(pJump[nOrgJumpCount], pJump[nOrgJumpCount]);
return;
}
OUString aStrName;
std::unordered_map<OUString, formula::FormulaToken*> nResultIndexes;
formula::FormulaTokenArrayPlainIterator aIter(*pArr);
unique_ptr<ScTokenArray> pValueTokens(new ScTokenArray(mrDoc));
// name and function pairs parameter
while (nJumpCount > 1)
{
if (nJumpCount == nOrgJumpCount)
{
aStrName = GetString().getString();
}
else if ((nOrgJumpCount - nJumpCount + 1) % 2 == 1)
{
aIter.Jump(pJump[static_cast<short>(nOrgJumpCount - nJumpCount + 1)] - 1);
FormulaToken* t = aIter.NextRPN();
aStrName = t->GetString().getString();
}
else
{
PushError(FormulaError::ParameterExpected);
aCode.Jump(pJump[nOrgJumpCount], pJump[nOrgJumpCount]);
return;
}
nJumpCount--;
// get value tokens
getTokensAtParameter(pValueTokens, nOrgJumpCount - nJumpCount);
nJumpCount--;
// replace names with result tokens
replaceNamesToResult(nResultIndexes, pValueTokens);
// calculate the inner results
ScCompiler aComp(mrDoc, aPos, *pValueTokens, mrDoc.GetGrammar(), false, false, &mrContext);
aComp.CompileTokenArray();
ScInterpreter aInt(mrDoc.GetFormulaCell(aPos), mrDoc, mrContext, aPos, *pValueTokens);
sfx2::LinkManager aNewLinkMgr(mrDoc.GetDocumentShell());
aInt.SetLinkManager(&aNewLinkMgr);
formula::StackVar aIntType = aInt.Interpret();
if (aIntType == formula::svMatrixCell)
{
ScConstMatrixRef xMat(aInt.GetResultToken()->GetMatrix());
if (!nResultIndexes.insert(std::make_pair(aStrName, new ScMatrixToken(xMat->Clone()))).second)
PushIllegalParameter();
}
else
{
FormulaConstTokenRef xTok(aInt.GetResultToken());
if (!nResultIndexes.insert(std::make_pair(aStrName, xTok->Clone())).second)
PushIllegalParameter();
}
pValueTokens->Clear();
}
// last parameter: calculation
getTokensAtParameter(pValueTokens, nOrgJumpCount - nJumpCount);
nJumpCount--;
// replace names with result tokens
replaceNamesToResult(nResultIndexes, pValueTokens);
// calculate the final result
ScCompiler aComp(mrDoc, aPos, *pValueTokens, mrDoc.GetGrammar(), false, false, &mrContext);
aComp.CompileTokenArray();
ScInterpreter aInt(mrDoc.GetFormulaCell(aPos), mrDoc, mrContext, aPos, *pValueTokens);
sfx2::LinkManager aNewLinkMgr(mrDoc.GetDocumentShell());
aInt.SetLinkManager(&aNewLinkMgr);
formula::StackVar aIntType = aInt.Interpret();
if (aIntType == formula::svMatrixCell)
{
ScConstMatrixRef xMat(aInt.GetResultToken()->GetMatrix());
PushTokenRef(new ScMatrixToken(xMat->Clone()));
}
else
{
formula::FormulaConstTokenRef xLambdaResult(aInt.GetResultToken());
if (xLambdaResult)
{
nGlobalError = xLambdaResult->GetError();
if (nGlobalError == FormulaError::NONE)
PushTokenRef(xLambdaResult);
else
PushError(nGlobalError);
}
}
pValueTokens.reset();
aCode.Jump(pJump[nOrgJumpCount], pJump[nOrgJumpCount]);
}
void ScInterpreter::ScSubTotal()
{
sal_uInt8 nParamCount = GetByte();
diff --git a/sc/source/core/tool/interpr4.cxx b/sc/source/core/tool/interpr4.cxx
index 520c0b6..bea1613 100644
--- a/sc/source/core/tool/interpr4.cxx
+++ b/sc/source/core/tool/interpr4.cxx
@@ -4162,6 +4162,7 @@ StackVar ScInterpreter::Interpret()
case ocSort : ScSort(); break;
case ocSortBy : ScSortBy(); break;
case ocUnique : ScUnique(); break;
case ocLet : ScLet(); break;
case ocTrue : ScTrue(); break;
case ocFalse : ScFalse(); break;
case ocGetActDate : ScGetActDate(); break;
diff --git a/sc/source/core/tool/parclass.cxx b/sc/source/core/tool/parclass.cxx
index ffdc107..d920807 100644
--- a/sc/source/core/tool/parclass.cxx
+++ b/sc/source/core/tool/parclass.cxx
@@ -57,6 +57,7 @@ const ScParameterClassification::RawData ScParameterClassification::pRawData[] =
{ ocIfError, {{ Array, Reference }, 0, Value }},
{ ocIfNA, {{ Array, Reference }, 0, Value }},
{ ocChoose, {{ Array, Reference }, 1, Value }},
{ ocLet, {{ Value, ReferenceOrRefArray, ReferenceOrRefArray, }, 2, ForceArrayReturn } },
// Other specials.
{ ocArrayClose, {{ Bounds }, 0, Bounds }},
{ ocArrayColSep, {{ Bounds }, 0, Bounds }},
@@ -76,6 +77,7 @@ const ScParameterClassification::RawData ScParameterClassification::pRawData[] =
{ ocSpaces, {{ Bounds }, 0, Bounds }},
{ ocStop, {{ Bounds }, 0, Bounds }},
{ ocStringXML, {{ Bounds }, 0, Bounds }},
{ ocStringName, {{ Bounds }, 0, Bounds }},
{ ocTableRef, {{ Bounds }, 0, Value }}, // or Reference?
{ ocTableRefClose, {{ Bounds }, 0, Bounds }},
{ ocTableRefItemAll, {{ Bounds }, 0, Bounds }},
@@ -574,6 +576,7 @@ void ScParameterClassification::GenerateDocumentation()
case ocIfError:
case ocIfNA:
case ocChoose:
case ocLet:
aToken.SetByte(2);
break;
case ocPercentSign:
diff --git a/sc/source/core/tool/token.cxx b/sc/source/core/tool/token.cxx
index 668d891..2c63eb2 100644
--- a/sc/source/core/tool/token.cxx
+++ b/sc/source/core/tool/token.cxx
@@ -221,6 +221,10 @@ void ScRawToken::SetOpCode( OpCode e )
eType = svJump;
nJump[ 0 ] = FORMULA_MAXJUMPCOUNT + 1;
break;
case ocLet:
eType = svJump;
nJump[0] = SAL_MAX_UINT8;
break;
case ocMissing:
eType = svMissing;
break;
@@ -256,6 +260,15 @@ void ScRawToken::SetString( rtl_uString* pData, rtl_uString* pDataIgnoreCase )
sharedstring.mpDataIgnoreCase = pDataIgnoreCase;
}
void ScRawToken::SetStringName( rtl_uString* pData, rtl_uString* pDataIgnoreCase )
{
eOp = ocStringName;
eType = svString;
sharedstring.mpData = pData;
sharedstring.mpDataIgnoreCase = pDataIgnoreCase;
}
void ScRawToken::SetSingleReference( const ScSingleRefData& rRef )
{
eOp = ocPush;
@@ -1677,6 +1690,7 @@ void ScTokenArray::CheckToken( const FormulaToken& r )
case ocIfError:
case ocIfNA:
case ocChoose:
case ocLet:
// Jump commands are now supported.
break;
}
@@ -5014,7 +5028,7 @@ void appendTokenByType( ScSheetLimits& rLimits, sc::TokenStringContext& rCxt, OU
case svString:
{
OUString aStr = rToken.GetString().getString();
if (eOp == ocBad || eOp == ocStringXML)
if (eOp == ocBad || eOp == ocStringXML || eOp == ocStringName)
{
rBuf.append(aStr);
return;
diff --git a/sc/source/filter/excel/xlformula.cxx b/sc/source/filter/excel/xlformula.cxx
index 2432c96..1982c3b 100644
--- a/sc/source/filter/excel/xlformula.cxx
+++ b/sc/source/filter/excel/xlformula.cxx
@@ -608,7 +608,8 @@ const XclFunctionInfo saFuncTable_2021[] =
EXC_FUNCENTRY_V_VR( ocSortBy, 2, 3, 0, "SORTBY" ),
EXC_FUNCENTRY_V_VR( ocMatSequence,1, 4, 0, "SEQUENCE" ),
EXC_FUNCENTRY_V_VR( ocRandArray, 0, 5, 0, "RANDARRAY" ),
EXC_FUNCENTRY_V_VR( ocUnique, 1, 3, 0, "UNIQUE" )
EXC_FUNCENTRY_V_VR( ocUnique, 1, 3, 0, "UNIQUE" ),
EXC_FUNCENTRY_V_VR( ocLet, 3, 3, 0, "SORTBY")
};
diff --git a/sc/source/filter/oox/formulabase.cxx b/sc/source/filter/oox/formulabase.cxx
index 86742cf..739fc21 100644
--- a/sc/source/filter/oox/formulabase.cxx
+++ b/sc/source/filter/oox/formulabase.cxx
@@ -883,6 +883,7 @@ const FunctionData saFuncTable2021[] =
{ "COM.MICROSOFT.SEQUENCE", "SEQUENCE", NOID, NOID, 1, 4, A, { VO }, FuncFlags::MACROCALL_NEW },
{ "COM.MICROSOFT.RANDARRAY", "RANDARRAY", NOID, NOID, 0, 5, A, { VO }, FuncFlags::MACROCALL_NEW },
{ "COM.MICROSOFT.UNIQUE", "UNIQUE", NOID, NOID, 1, 3, A, { VO }, FuncFlags::MACROCALL_NEW },
{ "COM.MICROSOFT.LET", "LET", NOID, NOID, 3, MX, R, { VR, VR, VA }, FuncFlags::MACROCALL_NEW | FuncFlags::PARAMPAIRS },
};