| $AccountingStandard | xs:string |
| if (contains(link:schemaRef/@xlink:href, 'gaap')) then 'GAAP' else 'IFRS' |
| $ReportingLevel | xs:string |
| if (contains(link:schemaRef/@xlink:href, 'con')) then 'con' else 'ind' |
| $find:tC_00.01 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_00.01' |
| $find:tC_01.00 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_01.00' |
| $find:tC_02.00 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_02.00' |
| $find:tC_03.00 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_03.00' |
| $find:tC_04.00 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_04.00' |
| $find:tC_05.01 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_05.01' |
| $find:tC_05.02 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_05.02' |
| $find:tC_06.01 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_06.01' |
| $find:tC_06.02 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_06.02' |
| $find:tC_07.00.a | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_07.00' |
| $find:tC_07.00.b | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_07.00' |
| $find:tC_07.00.c | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_07.00' |
| $find:tC_07.00.d | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_07.00' |
| $find:tC_08.01.a | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_08.01' |
| $find:tC_08.01.b | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_08.01' |
| $find:tC_08.02 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_08.02' |
| $find:tC_09.01.a | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_09.01' |
| $find:tC_09.01.b | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_09.01' |
| $find:tC_09.02 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_09.02' |
| $find:tC_09.04 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_09.04' |
| $find:tC_10.01 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_10.01' |
| $find:tC_10.02 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_10.02' |
| $find:tC_11.00 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_11.00' |
| $find:tC_12.00.a | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_12.00' |
| $find:tC_12.00.b | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_12.00' |
| $find:tC_13.00.a | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_13.00' |
| $find:tC_13.00.b | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_13.00' |
| $find:tC_14.00 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_14.00' |
| $find:tC_15.00 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_15.00' |
| $find:tC_16.00.a | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_16.00' |
| $find:tC_16.00.b | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_16.00' |
| $find:tC_17.01.a | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_17.01' |
| $find:tC_17.01.b | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_17.01' |
| $find:tC_17.02 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_17.02' |
| $find:tC_18.00 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_18.00' |
| $find:tC_19.00 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_19.00' |
| $find:tC_20.00 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_20.00' |
| $find:tC_21.00 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_21.00' |
| $find:tC_22.00 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_22.00' |
| $find:tC_23.00 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_23.00' |
| $find:tC_24.00 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_24.00' |
| $find:tC_25.00 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_25.00' |
| $find:tC_26.00 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_26.00' |
| $find:tC_27.00 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_27.00' |
| $find:tC_28.00 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_28.00' |
| $find:tC_29.00 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_29.00' |
| $find:tC_30.00 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_30.00' |
| $find:tC_31.00 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_31.00' |
| $find:tC_33.00.a | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_33.00' |
| $find:tC_33.00.b | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_33.00' |
| $find:tC_40.00 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_40.00' |
| $find:tC_41.00 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_41.00' |
| $find:tC_42.00 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_42.00' |
| $find:tC_43.00.a | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_43.00' |
| $find:tC_43.00.b | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_43.00' |
| $find:tC_43.00.c | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_43.00' |
| $find:tC_44.00 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_44.00' |
| $find:tC_47.00 | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_47.00' |
| $find:tC_51.00.a | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_51.00' |
| $find:tC_51.00.b | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_51.00' |
| $find:tC_51.00.w | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_51.00' |
| $find:tC_51.00.x | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_51.00' |
| $find:tC_52.00.a | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_52.00' |
| $find:tC_52.00.b | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_52.00' |
| $find:tC_52.00.c | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_52.00' |
| $find:tC_52.00.d | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_52.00' |
| $find:tC_52.00.w | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_52.00' |
| $find:tC_52.00.x | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_52.00' |
| $find:tC_52.00.y | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_52.00' |
| $find:tC_52.00.z | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_52.00' |
| $find:tC_53.00.a | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_53.00' |
| $find:tC_53.00.b | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_53.00' |
| $find:tC_53.00.c | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_53.00' |
| $find:tC_53.00.w | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_53.00' |
| $find:tC_53.00.x | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_53.00' |
| $find:tC_53.00.y | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_53.00' |
| $find:tC_54.00.a | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_54.00' |
| $find:tC_54.00.w | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_54.00' |
| $find:tC_60.00.a | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_60.00' |
| $find:tC_60.00.b | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_60.00' |
| $find:tC_60.00.w | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_60.00' |
| $find:tC_60.00.x | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_60.00' |
| $find:tC_61.00.a | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_61.00' |
| $find:tC_61.00.b | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_61.00' |
| $find:tC_61.00.w | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_61.00' |
| $find:tC_61.00.x | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_61.00' |
| $find:tC_66.01.a | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_66.01' |
| $find:tC_66.01.b | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_66.01' |
| $find:tC_66.01.c | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_66.01' |
| $find:tC_66.01.w | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_66.01' |
| $find:tC_66.01.x | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_66.01' |
| $find:tC_66.01.y | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_66.01' |
| $find:tC_67.00.a | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_67.00' |
| $find:tC_67.00.w | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_67.00' |
| $find:tC_68.00.a | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_68.00' |
| $find:tC_68.00.w | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_68.00' |
| $find:tC_69.00.a | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_69.00' |
| $find:tC_69.00.w | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_69.00' |
| $find:tC_70.00.a | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_70.00' |
| $find:tC_70.00.w | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_70.00' |
| $find:tC_71.00.a | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_71.00' |
| $find:tC_71.00.w | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_71.00' |
| $find:tC_72.00.a | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_72.00' |
| $find:tC_72.00.w | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_72.00' |
| $find:tC_73.00.a | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_73.00' |
| $find:tC_73.00.w | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_73.00' |
| $find:tC_74.00.a | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_74.00' |
| $find:tC_74.00.w | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_74.00' |
| $find:tC_75.00.a | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_75.00' |
| $find:tC_75.00.w | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_75.00' |
| $find:tC_76.00.a | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_76.00' |
| $find:tC_76.00.w | xs:boolean |
| find:fIndicators/find:filingIndicator[not(@find:filed) or @find:filed != false()] = 'C_76.00' |
| $RepEntity | None |
| distinct-values(/xbrli:xbrl/xbrli:context/xbrli:entity/xbrli:identifier) |
| $refPeriodEndDate | xs:date |
| max(/xbrli:xbrl/xbrli:context/xbrli:period/(xbrli:instant | xbrli:endDate)) |
| $refPeriodStartDate | xs:date |
| if (exists(/xbrli:xbrl/xbrli:context/xbrli:period/xbrli:startDate)) then max(/xbrli:xbrl/xbrli:context/xbrli:period/xbrli:startDate) else max(/xbrli:xbrl/xbrli:context/xbrli:period/xbrli:instant) |