from ..endorsements.endorsement_header import generate_endorsement_page_header_text
from ...config import NEW_PAGE_TAG


@staticmethod
def generate_faq34ab_endorsement_text() -> str:
    endorsement_header_text = generate_endorsement_page_header_text()
    text = (
        f"{endorsement_header_text}"
        "Quebec Endorsement Form\n"
        "Q.E.F. N 34 (A-B)\n"
        "Accident benefits insurance\n"
        "(change to amount of insurance or insured persons)\n"
        "The endorsement heading must be entered in the ''Declarations'' section of the insurance contract."
        "Details required for the endorsement may be entered in the ''Declarations'' section or in the endorsement"
        "itself, at the insurer's option.\n"
        "Name of insurer: \n"
        "Named insured: \n"
        "Endorsement to automobile insurance policy N:\n"
        "Effective date: This endorsement will apply from  at 12:01 A.M. "
        "standard time at the address of the named insured.\n"
        "Specified vehicle: This endorsement will apply only to the following described vehicle:\n"
        "(reference number shown in the ''Declarations'' section of the insurance contract)\n"
        "Endorsement description\n"
        "This endorsement changes Q.E.F. N 34 entitled ''Accident benefits'' of the insurance "
        "contract, based on the applicable option.\n"
        "To determine which option applies, see Item 4, ''Declarations'' of the insurance contract.\n"
        "Option 34A – Changes when the named insured is an individual\n"
        "This option provides that, for the persons named in the table below:\n"
        "\t the maximum amounts shown in the table will change those shown in Q.E.F. N "
        "34 by replacing or, where applicable, adding to them;\n"
        "\t coverage will apply only for the divisions and subdivisions where an amount, "
        "an insurance premium or a rebate is shown in the table below, or entered specifically for "
        "this endorsement in the ''Declarations'' section of the insurance contract:\n"
        "MAXIMUM AMOUNTS\n"
        "DIVISION 1 | DIVISION 2\n"
        "Name of insured person | Date of birth | Subdivision A Death benefits (principal sum) | "
        "Subdivision B Dismemberment benefits (principal sum) | "
        "Subdivision C Reimbursement of medical expenses (maximum) | DIVISION 2 Total "
        "disability benefits (maximum, per week) | Insurance premium or rebate\n"
        "1. |  | $ | $ | $ | $ | $\n"
        "2. |  | $ | $ | $ | $ | $\n"
        "3. |  | $ | $ | $ | $ | $\n"
        "4. |  | $ | $ | $ | $ | $\n"
        " |  |  |  |  | Total: |  $\n"
        f"{NEW_PAGE_TAG}\n"
        f"{endorsement_header_text}"
        "Option 34B – Changes when the named insured is a legal person, partnership or association\n"
        "When the named insured is a legal person, partnership or association, Q.E.F. N 34 will be changed "
        "as follows:\n"
        "\t only the employees, shareholders, members or partners named in the table below will "
        "be considered ''named insureds'';\n"
        "\t coverage will apply only for the divisions and subdivisions where an amount, "
        "an insurance premium or a rebate is shown in the table below, or entered specifically "
        "for this endorsement in the ''Declarations'' section of the insurance contract:\n"
        "MAXIMUM AMOUNTS\n"
        "DIVISION 1 | DIVISION 2\n"
        "Name of insured person | Date of birth | Subdivision A Death benefits (principal sum) | "
        "Subdivision B Dismemberment benefits (principal sum) | "
        "Subdivision C Reimbursement of medical expenses (maximum) | DIVISION 2 Total "
        "disability benefits (maximum, per week) | Insurance premium or rebate\n"
        "1. |  | $ | $ | $ | $ | $\n"
        "2. |  | $ | $ | $ | $ | $\n"
        "3. |  | $ | $ | $ | $ | $\n"
        "4. |  | $ | $ | $ | $ | $\n"
        " |  |  |  |  | Total: |  $\n"
        "All other conditions of the insurance contract remain the same."
    )

    return text
