<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated by http://luca.auditchain.finance -->
<!--2023-07-17 14.29.32-->
<link:linkbase xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xfi="http://www.xbrl.org/2008/function/instance" xmlns:num="http://www.xbrl.org/dtr/type/numeric" xmlns:generic="http://xbrl.org/2008/generic" xmlns:formula="http://xbrl.org/2008/formula" xmlns:validation="http://xbrl.org/2008/validation" xmlns:ca="http://xbrl.org/2008/assertion/consistency" xmlns:ea="http://xbrl.org/2008/assertion/existence" xmlns:va="http://xbrl.org/2008/assertion/value" xmlns:variable="http://xbrl.org/2008/variable" xmlns:pf="http://xbrl.org/2008/filter/period" xmlns:cf="http://xbrl.org/2008/filter/concept" xmlns:df="http://xbrl.org/2008/filter/dimension" xmlns:gf="http://xbrl.org/2008/filter/general" xmlns:label="http://xbrl.org/2008/label" xmlns:uf="http://xbrl.org/2008/filter/unit" xmlns:ef="http://xbrl.org/2008/filter/entity" xmlns:msg="http://xbrl.org/2010/message" xsi:schemaLocation="http://www.xbrl.org/2003/linkbase http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd http://www.xbrl.org/dtr/type/numeric http://www.xbrl.org/dtr/type/numeric-2009-12-16.xsd http://xbrl.org/2008/generic http://www.xbrl.org/2008/generic-link.xsd http://xbrl.org/2008/formula http://www.xbrl.org/2008/formula.xsd http://xbrl.org/2008/label http://www.xbrl.org/2008/generic-label.xsd http://xbrl.org/2008/assertion/consistency http://www.xbrl.org/2008/consistency-assertion.xsd http://xbrl.org/2008/assertion/existence http://www.xbrl.org/2008/existence-assertion.xsd http://xbrl.org/2008/assertion/value http://www.xbrl.org/2008/value-assertion.xsd http://xbrl.org/2008/filter/period http://www.xbrl.org/2008/period-filter.xsd http://xbrl.org/2008/filter/concept http://www.xbrl.org/2008/concept-filter.xsd http://xbrl.org/2008/filter/dimension http://www.xbrl.org/2008/dimension-filter.xsd http://xbrl.org/2008/filter/general http://www.xbrl.org/2008/general-filter.xsd http://xbrl.org/2008/filter/unit http://www.xbrl.org/2008/unit-filter.xsd http://xbrl.org/2008/filter/entity http://www.xbrl.org/2008/entity-filter.xsd http://xbrl.org/2008/variable http://www.xbrl.org/2008/variable.xsd http://xbrl.org/2008/validation http://www.xbrl.org/2008/validation.xsd http://xbrl.org/2010/message http://www.xbrl.org/2010/generic-message.xsd" xmlns:report="http://www.xbrlsite.com/report">
  <!-- ArcroleRef declarations.  All these are declared by XBRL Formulas. -->
  <link:arcroleRef arcroleURI="http://xbrl.org/arcrole/2008/element-label" xlink:href="http://www.xbrl.org/2008/generic-label.xsd#element-label" xlink:type="simple" />
  <link:arcroleRef arcroleURI="http://xbrl.org/arcrole/2008/variable-set" xlink:href="http://www.xbrl.org/2008/variable.xsd#variable-set" xlink:type="simple" />
  <link:arcroleRef arcroleURI="http://xbrl.org/arcrole/2008/variable-filter" xlink:href="http://www.xbrl.org/2008/variable.xsd#variable-filter" xlink:type="simple" />
  <link:arcroleRef arcroleURI="http://xbrl.org/arcrole/2008/variable-set-precondition" xlink:href="http://www.xbrl.org/2008/variable.xsd#variable-set-precondition" xlink:type="simple" />
  <link:arcroleRef arcroleURI="http://xbrl.org/arcrole/2008/consistency-assertion-formula" xlink:href="http://www.xbrl.org/2008/consistency-assertion.xsd#consistency-assertion-formula" xlink:type="simple" />
  <link:arcroleRef arcroleURI="http://xbrl.org/arcrole/2010/assertion-satisfied-message" xlink:href="http://www.xbrl.org/2010/validation-message.xsd#assertion-satisfied-message" xlink:type="simple" />
  <link:arcroleRef arcroleURI="http://xbrl.org/arcrole/2010/assertion-unsatisfied-message" xlink:href="http://www.xbrl.org/2010/validation-message.xsd#assertion-unsatisfied-message" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2008/role/link" xlink:href="http://www.xbrl.org/2008/generic-link.xsd#standard-link-role" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2008/role/label" xlink:href="http://www.xbrl.org/2008/generic-label.xsd#standard-label" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrl.org/2010/role/message" xlink:href="http://www.xbrl.org/2010/generic-message.xsd#standard-message" xlink:type="simple" />
  <link:roleRef roleURI="http://www.xbrlsite.com/report/role/SegmentRevenues" xlink:href="report.xsd#SegmentRevenues" xlink:type="simple" />
  <!-- MemberAggregationRule -->
  <generic:link xlink:type="extended" xlink:role="http://www.xbrlsite.com/report/role/SegmentRevenues">
    <va:valueAssertion xlink:type="resource" xlink:label="ASSERTION" id="MA1" aspectModel="dimensional" implicitFiltering="true" test="$Total eq sum($Each)" />
    <generic:arc xlink:type="arc" xlink:arcrole="http://xbrl.org/arcrole/2008/element-label" xlink:from="ASSERTION" xlink:to="ASSERTION_Label" order="1.0" />
    <label:label xlink:type="resource" xlink:label="ASSERTION_Label" xlink:role="http://www.xbrl.org/2008/role/label" xml:lang="en">$Total eq sum($Each)</label:label>
    <variable:variableArc xlink:type="arc" xlink:arcrole="http://xbrl.org/arcrole/2008/variable-set" xlink:from="ASSERTION" order="1.0" xlink:to="VARIABLE_Total" name="Total" />
    <variable:variableArc xlink:type="arc" xlink:arcrole="http://xbrl.org/arcrole/2008/variable-set" xlink:from="ASSERTION" order="1.0" xlink:to="VARIABLE_Each" name="Each" />
    <variable:factVariable xlink:type="resource" xlink:label="VARIABLE_Total" bindAsSequence="false" />
    <variable:factVariable xlink:type="resource" xlink:label="VARIABLE_Each" bindAsSequence="true" />
    <variable:variableFilterArc xlink:type="arc" xlink:arcrole="http://xbrl.org/arcrole/2008/variable-filter" xlink:from="VARIABLE_Each" xlink:to="FILTER_DIMENSION_Each" order="1.0" complement="false" cover="true" />
    <df:explicitDimension xlink:type="resource" xlink:label="FILTER_DIMENSION_Each">
      <df:dimension>
        <df:qname>report:SegmentsAxis</df:qname>
      </df:dimension>
      <df:member>
        <df:variable>Total</df:variable>
        <df:linkrole>http://www.xbrlsite.com/report/role/SegmentRevenues</df:linkrole>
        <df:arcrole>http://xbrl.org/int/dim/arcrole/domain-member</df:arcrole>
        <df:axis>child</df:axis>
      </df:member>
    </df:explicitDimension>
    <variable:variableFilterArc xlink:type="arc" xlink:arcrole="http://xbrl.org/arcrole/2008/variable-filter" xlink:from="VARIABLE_Total" xlink:to="LABEL_FILTER_CONCEPT" order="1.0" complement="false" cover="true" />
    <variable:variableFilterArc xlink:type="arc" xlink:arcrole="http://xbrl.org/arcrole/2008/variable-filter" xlink:from="VARIABLE_Each" xlink:to="LABEL_FILTER_CONCEPT" order="1.0" complement="false" cover="true" />
    <cf:conceptName xlink:type="resource" xlink:label="LABEL_FILTER_CONCEPT">
      <cf:concept>
        <cf:qname>report:Revenues</cf:qname>
      </cf:concept>
    </cf:conceptName>
  </generic:link>
</link:linkbase>