<?xml version="1.0"?>
<CurveConfiguration>
  <CapFloorVolatilities>
    <CapFloorVolatility>
      <CurveId>USD-SOFR</CurveId>
      <CurveDescription>USD-SOFR Normal Cap Floor Volatilities</CurveDescription>
      <VolatilityType>Normal</VolatilityType>
      <Extrapolation>Flat</Extrapolation>
      <InterpolationMethod>Bilinear</InterpolationMethod>
      <IncludeAtm>false</IncludeAtm>
      <DayCounter>Actual/365 (Fixed)</DayCounter>
      <Calendar>US settlement</Calendar>
      <BusinessDayConvention>Following</BusinessDayConvention>
      <Tenors>1Y, 2Y, 3Y, 4Y, 5Y, 6Y, 7Y, 8Y, 9Y, 10Y, 12Y, 15Y, 20Y</Tenors>
      <Strikes>-0.0075, -0.005, -0.0025, -0.0015, 0, 0.0025, 0.005, 0.0075, 0.01, 0.015, 0.02, 0.025, 0.03, 0.035, 0.04, 0.045, 0.05, 0.06, 0.07, 0.1</Strikes>
      <OptionalQuotes>false</OptionalQuotes>
      <Index>USD-SOFR</Index>
      <RateComputationPeriod>3M</RateComputationPeriod>
      <DiscountCurve>Yield/USD/USD-SOFR</DiscountCurve>
      <AtmTenors>1Y, 2Y, 3Y, 4Y, 5Y, 6Y, 7Y, 8Y, 9Y, 10Y, 12Y, 15Y, 20Y</AtmTenors>
      <SettlementDays>0</SettlementDays>
      <InterpolateOn>OptionletVolatilities</InterpolateOn>
      <TimeInterpolation>BackwardFlat</TimeInterpolation>
      <!-- Can be Linear, LinearFlat, Cubic, CubicFlat
           or one of the SABR variants (only for surfaces though, i.e. when strikes are given, and if InterpolateOn = OptionletVolatilities)
           Hagan2002Lognormal,
           Hagan2002Normal,
           Hagan2002NormalZeroBeta,
           Antonov2015FreeBoundaryNormal,
           KienitzLawsonSwaynePde,
           FlochKennedy -->
      <!-- <StrikeInterpolation>LinearFlat</StrikeInterpolation> -->
      <StrikeInterpolation>Hagan2002NormalZeroBeta</StrikeInterpolation>
      <!-- model shift (if applicable to SABR flavor), if not given, it is set to input shift -->
      <ModelShift>0.0</ModelShift>
      <!-- Optional, defaults to input volatility type for SABR and Normal for non-SABR strike interpolation (bwds compatibility)
           - Normal
           - Lognormal (alias for ShiftedLognormal)
           - ShiftedLognormal -->
      <OutputVolatilityType>Normal</OutputVolatilityType>
      <!-- Optional, if not given defaults to input vol shift. -->
      <OutputShift>0.0</OutputShift>
      <!-- SABR configuration -->
      <ParametricSmileConfiguration>
        <Parameters>
          <Parameter>
            <Name>alpha</Name>
            <InitialValue>0.0050</InitialValue>
            <Calibration>Implied</Calibration>
          </Parameter>
          <Parameter>
            <Name>beta</Name>
            <InitialValue>0.0</InitialValue>
            <Calibration>Fixed</Calibration>
          </Parameter>
          <Parameter>
            <Name>nu</Name>
            <InitialValue>0.30</InitialValue>
            <Calibration>Calibrated</Calibration>
          </Parameter>
          <Parameter>
            <Name>rho</Name>
            <InitialValue>0.0</InitialValue>
            <Calibration>Calibrated</Calibration>
          </Parameter>
        </Parameters>
        <!-- alternatively, the parameters can be specified for each optionlet, e.g.: -->
        <!-- <Parameters> -->
        <!--   <Parameter> -->
        <!--     <Name>alpha</Name> -->
        <!--     <InitialValue>0.0050,0.0060,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050</InitialValue> -->
        <!--     <Calibration>Fixed</Calibration> -->
        <!--   </Parameter> -->
        <!--   <Parameter> -->
        <!--     <Name>beta</Name> -->
        <!--     <InitialValue>0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.1</InitialValue> -->
        <!--     <Calibration>Fixed</Calibration> -->
        <!--   </Parameter> -->
        <!--   <Parameter> -->
        <!--     <Name>nu</Name> -->
        <!--     <InitialValue>0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.20,0.30</InitialValue> -->
        <!--     <Calibration>Fixed</Calibration> -->
        <!--   </Parameter> -->
        <!--   <Parameter> -->
        <!--     <Name>rho</Name> -->
        <!--     <InitialValue>0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.9,0.0,0.0</InitialValue> -->
        <!--     <Calibration>Fixed</Calibration> -->
        <!--   </Parameter> -->
        <!-- </Parameters> -->
        <Calibration>
          <MaxCalibrationAttempts>10</MaxCalibrationAttempts>
          <ExitEarlyErrorThreshold>0.005</ExitEarlyErrorThreshold>
          <MaxAcceptableError>0.05</MaxAcceptableError>
        </Calibration>
      </ParametricSmileConfiguration>
      <QuoteIncludesIndexName>false</QuoteIncludesIndexName>
      <BootstrapConfig>
        <Accuracy>0.0000000000010000</Accuracy>
        <GlobalAccuracy>0.0000000000010000</GlobalAccuracy>
        <DontThrow>true</DontThrow>
        <MaxAttempts>5</MaxAttempts>
        <MaxFactor>2</MaxFactor>
        <MinFactor>2</MinFactor>
        <DontThrowSteps>10</DontThrowSteps>
      </BootstrapConfig>
      <InputType>TermVolatilities</InputType>
      <Report/>
    </CapFloorVolatility>
  </CapFloorVolatilities>
  <SwaptionVolatilities>
    <SwaptionVolatility>
      <CurveId>USD-SOFR</CurveId>
      <CurveDescription>USD-SOFR normal swaption volatilities</CurveDescription>
      <Dimension>Smile</Dimension>
      <VolatilityType>Normal</VolatilityType>
      <!-- Optional, defaults to Linear. Possible values:
           Linear,
           Hagan2002Lognormal,
           Hagan2002Normal,
           Hagan2002NormalZeroBeta,
           Antonov2015FreeBoundaryNormal,
           KienitzLawsonSwaynePde,
           FlochKennedy -->
      <Interpolation>Hagan2002NormalZeroBeta</Interpolation>
      <!-- model shift per swap tenor (if applicable to SABR flavor), if not given, it is set to input shift -->
      <ModelShift>0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0</ModelShift>
      <!-- <Interpolation>Antonov2015FreeBoundaryNormal</Interpolation> -->
      <!-- <Interpolation>KienitzLawsonSwaynePde</Interpolation> -->
      <!-- SABR configuration -->
      <ParametricSmileConfiguration>
        <Parameters>
          <Parameter>
            <Name>alpha</Name>
            <InitialValue>0.0050</InitialValue>
            <Calibration>Implied</Calibration>
          </Parameter>
          <Parameter>
            <Name>beta</Name>
            <InitialValue>0.0</InitialValue>
            <Calibration>Fixed</Calibration>
          </Parameter>
          <Parameter>
            <Name>nu</Name>
            <InitialValue>0.30</InitialValue>
            <Calibration>Calibrated</Calibration>
          </Parameter>
          <Parameter>
            <Name>rho</Name>
            <InitialValue>0.0</InitialValue>
            <Calibration>Calibrated</Calibration>
          </Parameter>
        </Parameters>
        <!-- alternatively the parameters can be specified per option tenor (row) and swap tenor (col), e.g.:  -->
        <!-- <Parameters> -->
        <!--   <Parameter> -->
        <!--     <Name>alpha</Name> -->
        <!--     <InitialValue> -->
        <!--     0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0070, -->
        <!--     0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050, -->
        <!--     0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050, -->
        <!--     0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050, -->
        <!--     0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050, -->
        <!--     0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050, -->
        <!--     0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050, -->
        <!--     0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050, -->
        <!--     0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050, -->
        <!--     0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050, -->
        <!--     0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050, -->
        <!--     0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050, -->
        <!--     0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050, -->
        <!--     0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050, -->
        <!--     0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050, -->
        <!--     0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050, -->
        <!--     0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050, -->
        <!--     0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050, -->
        <!--     0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050,0.0050 -->
        <!--     </InitialValue> -->
        <!--     <Calibration>Fixed</Calibration> -->
        <!--   </Parameter> -->
        <!--   <Parameter> -->
        <!--     <Name>beta</Name> -->
        <!--     <InitialValue> -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.8,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0 -->
        <!--     </InitialValue> -->
        <!--     <Calibration>Fixed</Calibration> -->
        <!--   </Parameter> -->
        <!--   <Parameter> -->
        <!--     <Name>nu</Name> -->
        <!--     <InitialValue> -->
        <!--       0.20,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30, -->
        <!--       0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30, -->
        <!--       0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30, -->
        <!--       0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30, -->
        <!--       0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30, -->
        <!--       0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30, -->
        <!--       0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30, -->
        <!--       0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30, -->
        <!--       0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30, -->
        <!--       0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30, -->
        <!--       0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30, -->
        <!--       0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30, -->
        <!--       0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30, -->
        <!--       0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30, -->
        <!--       0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30, -->
        <!--       0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30, -->
        <!--       0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30, -->
        <!--       0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30, -->
        <!--       0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30,0.30 -->
        <!--     </InitialValue> -->
        <!--     <Calibration>Fixed</Calibration> -->
        <!--   </Parameter> -->
        <!--   <Parameter> -->
        <!--     <Name>rho</Name> -->
        <!--     <InitialValue> -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0, -->
        <!--       0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.99 -->
        <!--     </InitialValue> -->
        <!--     <Calibration>Fixed</Calibration> -->
        <!--   </Parameter> -->
        <!-- </Parameters> -->
        <Calibration>
          <MaxCalibrationAttempts>10</MaxCalibrationAttempts>
          <ExitEarlyErrorThreshold>0.005</ExitEarlyErrorThreshold>
          <MaxAcceptableError>0.05</MaxAcceptableError>
        </Calibration>
      </ParametricSmileConfiguration>
      <!-- Optional, defaults to Flat, applies to Interpolation = Linear only, it is ignored for the SABR interpolations
           None,
           Flat,
           Linear -->
      <Extrapolation>Flat</Extrapolation>
      <!-- Optional, defaults to input volatility type. Market quotes will be converted to this volatility type:
           - Normal
           - Lognormal (alias for ShiftedLognormal, shift is taken from OutputShift if given or input market data)
           - ShiftedLognormal-->
      <OutputVolatilityType>Normal</OutputVolatilityType>
      <!-- Optional, if not given defaults to input vol shift. Applies to SABR only, should be omitted otherwise.
           If given, it must be a list of the same length as SwapTenors -->
      <OutputShift>0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0</OutputShift>
      <DayCounter>Actual/365 (Fixed)</DayCounter>
      <Calendar>JoinHolidays(US settlement, UK settlement)</Calendar>
      <BusinessDayConvention>Following</BusinessDayConvention>
      <OptionTenors>1M, 3M, 6M, 9M, 1Y, 18M, 2Y, 3Y, 4Y, 5Y, 6Y, 7Y, 8Y, 9Y, 10Y, 15Y, 20Y, 25Y, 30Y</OptionTenors>
      <SwapTenors>1Y, 2Y, 3Y, 4Y, 5Y, 6Y, 7Y, 8Y, 9Y, 10Y, 15Y, 20Y, 25Y, 30Y</SwapTenors>
      <ShortSwapIndexBase>USD-CMS-SOFR-1Y</ShortSwapIndexBase>
      <SwapIndexBase>USD-CMS-SOFR-30Y</SwapIndexBase>
      <SmileOptionTenors>1M, 3M, 6M, 9M, 1Y, 2Y, 3Y, 5Y, 7Y, 10Y, 15Y, 20Y, 25Y, 30Y</SmileOptionTenors>
      <SmileSwapTenors>1Y, 2Y, 5Y, 10Y, 15Y, 20Y, 30Y</SmileSwapTenors>
      <SmileSpreads>-0.04, -0.03, -0.02, -0.015, -0.01, -0.0075, -0.005, -0.0025, 0.0025, 0.005, 0.0075, 0.01, 0.015, 0.02, 0.03, 0.04</SmileSpreads>
      <QuoteTag>SOFR</QuoteTag>
      <Report/>
    </SwaptionVolatility>
  </SwaptionVolatilities>
  <YieldCurves>
    <YieldCurve>
      <CurveId>USD-FedFunds</CurveId>
      <CurveDescription>USD discount curve bootstrapped from FED FUNDS swap rates</CurveDescription>
      <Currency>USD</Currency>
      <DiscountCurve>USD-FedFunds</DiscountCurve>
      <Segments>
        <Simple>
          <Type>Deposit</Type>
          <Quotes>
            <Quote>MM/RATE/USD/0D/1D</Quote>
          </Quotes>
          <Conventions>USD-ON-DEPOSIT</Conventions>
          <PillarChoice>LastRelevantPillarDate</PillarChoice>
          <Priority>0</Priority>
          <MinDistance>1</MinDistance>
        </Simple>
        <Simple>
          <Type>OIS</Type>
          <Quotes>
            <Quote optional="true">IR_SWAP/RATE/USD/2D/1D/2W</Quote>
            <Quote>IR_SWAP/RATE/USD/2D/1D/1M</Quote>
            <Quote>IR_SWAP/RATE/USD/2D/1D/2M</Quote>
            <Quote>IR_SWAP/RATE/USD/2D/1D/3M</Quote>
            <Quote>IR_SWAP/RATE/USD/2D/1D/4M</Quote>
            <Quote>IR_SWAP/RATE/USD/2D/1D/5M</Quote>
            <Quote>IR_SWAP/RATE/USD/2D/1D/6M</Quote>
            <Quote>IR_SWAP/RATE/USD/2D/1D/7M</Quote>
            <Quote>IR_SWAP/RATE/USD/2D/1D/8M</Quote>
            <Quote>IR_SWAP/RATE/USD/2D/1D/9M</Quote>
            <Quote>IR_SWAP/RATE/USD/2D/1D/10M</Quote>
            <Quote>IR_SWAP/RATE/USD/2D/1D/11M</Quote>
            <Quote>IR_SWAP/RATE/USD/2D/1D/1Y</Quote>
            <Quote>IR_SWAP/RATE/USD/2D/1D/2Y</Quote>
            <Quote>IR_SWAP/RATE/USD/2D/1D/3Y</Quote>
            <Quote>IR_SWAP/RATE/USD/2D/1D/4Y</Quote>
            <Quote>IR_SWAP/RATE/USD/2D/1D/5Y</Quote>
            <Quote>IR_SWAP/RATE/USD/2D/1D/6Y</Quote>
            <Quote>IR_SWAP/RATE/USD/2D/1D/7Y</Quote>
            <Quote>IR_SWAP/RATE/USD/2D/1D/8Y</Quote>
            <Quote>IR_SWAP/RATE/USD/2D/1D/9Y</Quote>
            <Quote>IR_SWAP/RATE/USD/2D/1D/10Y</Quote>
            <Quote>IR_SWAP/RATE/USD/2D/1D/12Y</Quote>
            <Quote>IR_SWAP/RATE/USD/2D/1D/15Y</Quote>
            <Quote>IR_SWAP/RATE/USD/2D/1D/20Y</Quote>
            <Quote>IR_SWAP/RATE/USD/2D/1D/25Y</Quote>
            <Quote>IR_SWAP/RATE/USD/2D/1D/30Y</Quote>
            <Quote optional="true">IR_SWAP/RATE/USD/2D/1D/40Y</Quote>
            <Quote optional="true">IR_SWAP/RATE/USD/2D/1D/50Y</Quote>
          </Quotes>
          <Conventions>USD-FedFunds-OIS</Conventions>
          <PillarChoice>LastRelevantPillarDate</PillarChoice>
          <Priority>0</Priority>
          <MinDistance>1</MinDistance>
        </Simple>
      </Segments>
      <InterpolationVariable>Discount</InterpolationVariable>
      <InterpolationMethod>LogLinear</InterpolationMethod>
      <MixedInterpolationCutoff>1</MixedInterpolationCutoff>
      <YieldCurveDayCounter>A365F</YieldCurveDayCounter>
      <Tolerance>0.0000000000010000</Tolerance>
      <Extrapolation>true</Extrapolation>
      <BootstrapConfig>
        <Accuracy>0.0000000000010000</Accuracy>
        <GlobalAccuracy>0.0000000000010000</GlobalAccuracy>
        <DontThrow>false</DontThrow>
        <MaxAttempts>5</MaxAttempts>
        <MaxFactor>2</MaxFactor>
        <MinFactor>2</MinFactor>
        <DontThrowSteps>10</DontThrowSteps>
      </BootstrapConfig>
    </YieldCurve>
    <YieldCurve>
      <CurveId>USD-SOFR</CurveId>
      <CurveDescription/>
      <Currency>USD</Currency>
      <DiscountCurve>USD-SOFR</DiscountCurve>
      <Segments>
        <Simple>
          <Type>Deposit</Type>
          <Quotes>
            <Quote>MM/RATE/USD/SOFR/0D/1D</Quote>
          </Quotes>
          <Conventions>USD-ON-SOFR-DEPOSIT</Conventions>
          <PillarChoice>LastRelevantPillarDate</PillarChoice>
          <Priority>0</Priority>
          <MinDistance>1</MinDistance>
          <ProjectionCurve>USD-SOFR</ProjectionCurve>
        </Simple>
        <Simple>
          <Type>Future</Type>
          <Quotes>
            <Quote>OI_FUTURE/PRICE/USD/2024-05/XCME:SRA/3M</Quote>
            <Quote>OI_FUTURE/PRICE/USD/2024-06/XCME:SRA/3M</Quote>
            <Quote>OI_FUTURE/PRICE/USD/2024-07/XCME:SRA/3M</Quote>
            <Quote>OI_FUTURE/PRICE/USD/2024-08/XCME:SRA/3M</Quote>
            <Quote>OI_FUTURE/PRICE/USD/2024-09/XCME:SRA/3M</Quote>
            <Quote>OI_FUTURE/PRICE/USD/2024-10/XCME:SRA/3M</Quote>
            <Quote>OI_FUTURE/PRICE/USD/2024-11/XCME:SRA/3M</Quote>
            <Quote>OI_FUTURE/PRICE/USD/2024-12/XCME:SRA/3M</Quote>
            <Quote>OI_FUTURE/PRICE/USD/2025-03/XCME:SRA/3M</Quote>
            <Quote>OI_FUTURE/PRICE/USD/2025-06/XCME:SRA/3M</Quote>
            <Quote>OI_FUTURE/PRICE/USD/2025-09/XCME:SRA/3M</Quote>
          </Quotes>
          <Conventions>USD-SOFR-3M-FUTURES</Conventions>
          <PillarChoice>LastRelevantPillarDate</PillarChoice>
          <Priority>0</Priority>
          <MinDistance>1</MinDistance>
        </Simple>
        <Simple>
          <Type>OIS</Type>
          <Quotes>
            <Quote optional="true">IR_SWAP/RATE/USD/SOFR/0D/1D/2Y</Quote>
            <Quote optional="true">IR_SWAP/RATE/USD/SOFR/0D/1D/3Y</Quote>
            <Quote optional="true">IR_SWAP/RATE/USD/SOFR/0D/1D/4Y</Quote>
            <Quote optional="true">IR_SWAP/RATE/USD/SOFR/0D/1D/5Y</Quote>
            <Quote optional="true">IR_SWAP/RATE/USD/SOFR/0D/1D/6Y</Quote>
            <Quote optional="true">IR_SWAP/RATE/USD/SOFR/0D/1D/7Y</Quote>
            <Quote optional="true">IR_SWAP/RATE/USD/SOFR/0D/1D/8Y</Quote>
            <Quote optional="true">IR_SWAP/RATE/USD/SOFR/0D/1D/9Y</Quote>
            <Quote optional="true">IR_SWAP/RATE/USD/SOFR/0D/1D/10Y</Quote>
            <Quote optional="true">IR_SWAP/RATE/USD/SOFR/0D/1D/12Y</Quote>
            <Quote optional="true">IR_SWAP/RATE/USD/SOFR/0D/1D/15Y</Quote>
            <Quote optional="true">IR_SWAP/RATE/USD/SOFR/0D/1D/20Y</Quote>
            <Quote optional="true">IR_SWAP/RATE/USD/SOFR/0D/1D/25Y</Quote>
            <Quote optional="true">IR_SWAP/RATE/USD/SOFR/0D/1D/30Y</Quote>
            <Quote optional="true">IR_SWAP/RATE/USD/SOFR/0D/1D/40Y</Quote>
            <Quote optional="true">IR_SWAP/RATE/USD/SOFR/0D/1D/50Y</Quote>
          </Quotes>
          <Conventions>USD-SOFR-OIS</Conventions>
          <PillarChoice>LastRelevantPillarDate</PillarChoice>
          <Priority>0</Priority>
          <MinDistance>1</MinDistance>
        </Simple>
      </Segments>
      <InterpolationVariable>Discount</InterpolationVariable>
      <InterpolationMethod>LogLinear</InterpolationMethod>
      <MixedInterpolationCutoff>1</MixedInterpolationCutoff>
      <YieldCurveDayCounter>A365</YieldCurveDayCounter>
      <Tolerance>0.0000000000010000</Tolerance>
      <Extrapolation>true</Extrapolation>
      <BootstrapConfig>
        <Accuracy>0.0000000000010000</Accuracy>
        <GlobalAccuracy>0.0000000000010000</GlobalAccuracy>
        <DontThrow>false</DontThrow>
        <MaxAttempts>5</MaxAttempts>
        <MaxFactor>2</MaxFactor>
        <MinFactor>2</MinFactor>
        <DontThrowSteps>10</DontThrowSteps>
      </BootstrapConfig>
    </YieldCurve>
  </YieldCurves>
  <ReportConfiguration>
    <IRSwaptionVolatilities>
      <Report>
        <ReportOnStrikeGrid>false</ReportOnStrikeGrid>
        <ReportOnStrikeSpreadGrid>true</ReportOnStrikeSpreadGrid>
        <Expiries>1M, 3M, 6M, 9M, 1Y, 2Y, 3Y, 4Y, 5Y, 7Y, 10Y, 15Y, 20Y, 25Y, 30Y</Expiries>
        <UnderlyingTenors>1Y, 2Y, 3Y, 4Y, 5Y, 6Y, 7Y, 8Y, 9Y, 10Y, 15Y, 20Y, 25Y, 30Y</UnderlyingTenors>
        <Strikes>-0.02,-0.01,0.0,0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.10</Strikes>
        <StrikeSpreads>-0.02,-0.015,-0.01,-0.005,0.0,0.005,0.01,0.015,0.02,0.03</StrikeSpreads>
      </Report>
    </IRSwaptionVolatilities>
    <IRCapFloorVolatilities>
      <Report>
        <ReportOnStrikeGrid>true</ReportOnStrikeGrid>
        <ReportOnStrikeSpreadGrid>false</ReportOnStrikeSpreadGrid>
        <Expiries>1M,3M,6M,9M,12M,15M,18M,21M,24M,27M,30M,33M,36M,39M,42M,45M,48M,51M,54M,57M,60M,63M,66M,69M,72M,75M,78M,81M,84M,87M,90M,93M,96M,99M,102M,105M,108M,111M,114M,117M,120M,123M,126M,129M,132M,135M,138M,141M,144M,147M,150M,153M,156M,159M,162M,165M,168M,171M,174M,177M,180M,183M,186M,189M,192M,195M,198M,201M,204M,207M,210M,213M,216M,219M,222M,225M,228M,231M,234M,237M,240M,243M,246M,249M,252M,255M,258M,261M,264M,267M,270M,273M,276M,279M,282M,285M,288M,291M,294M,297M,300M,303M,306M,309M,312M,315M,318M,321M,324M,327M,330M,333M,336M,339M,342M,345M,348M,351M,354M,357M,360M</Expiries>
        <Strikes>-0.02,-0.01,0.0,0.01,0.02,0.03,0.04,0.05,0.06,0.07,0.08,0.09,0.10</Strikes>
      </Report>
    </IRCapFloorVolatilities>
  </ReportConfiguration>
</CurveConfiguration>
