From cf1ff66523009ce119377ac099e8879a0925dde4 Mon Sep 17 00:00:00 2001 From: linearcombination <4829djaskdfj@gmail.com> Date: Thu, 9 Oct 2025 09:32:20 -0700 Subject: [PATCH 1/7] Update comments and docstrings --- .env | 2 ++ ...ly_strategies_lang_then_book_by_chapter.py | 5 ---- ...ly_strategies_lang_then_book_by_chapter.py | 27 +------------------ backend/doc/domain/model.py | 11 -------- backend/doc/domain/resource_lookup.py | 4 +-- .../markdown_transformer.py | 8 +----- backend/doc/utils/tw_utils.py | 2 +- backend/stet/domain/document_generator.py | 2 +- 8 files changed, 7 insertions(+), 54 deletions(-) diff --git a/.env b/.env index e73693c0..250c57c4 100644 --- a/.env +++ b/.env @@ -68,6 +68,8 @@ CHECK_ALL_BOOKS_FOR_LANGUAGE=true # When true the system will acquire git repos via download of its # master.zip file. When false it will clone the repo. Both approaches # are optimized maximally by taking advantage of curl and git options. +# In practice, not all resources are available by download whereas +# they all are available by cloning, hence the value false. DOWNLOAD_ASSETS=false # * http://localhost:3000 covers requests originating from the case diff --git a/backend/doc/domain/assembly_strategies/assembly_strategies_lang_then_book_by_chapter.py b/backend/doc/domain/assembly_strategies/assembly_strategies_lang_then_book_by_chapter.py index 22de3c59..49f63c38 100755 --- a/backend/doc/domain/assembly_strategies/assembly_strategies_lang_then_book_by_chapter.py +++ b/backend/doc/domain/assembly_strategies/assembly_strategies_lang_then_book_by_chapter.py @@ -45,11 +45,6 @@ def assemble_content_by_lang_then_book( book_names: Mapping[str, str] = BOOK_NAMES, book_id_map: dict[str, int] = BOOK_ID_MAP, ) -> list[str]: - """ - Assemble by language then by book in lexicographical order before - delegating more atomic ordering/interleaving to an assembly - sub-strategy. - """ content = [] # Collect and deduplicate language codes all_lang_codes = ( diff --git a/backend/doc/domain/assembly_strategies_docx/assembly_strategies_lang_then_book_by_chapter.py b/backend/doc/domain/assembly_strategies_docx/assembly_strategies_lang_then_book_by_chapter.py index 54ac74b4..1c8883a3 100755 --- a/backend/doc/domain/assembly_strategies_docx/assembly_strategies_lang_then_book_by_chapter.py +++ b/backend/doc/domain/assembly_strategies_docx/assembly_strategies_lang_then_book_by_chapter.py @@ -42,12 +42,6 @@ def assemble_content_by_lang_then_book( book_names: Mapping[str, str] = BOOK_NAMES, book_id_map: dict[str, int] = BOOK_ID_MAP, ) -> list[DocumentPart]: - """ - Group content by language and then by book and then pass content - and a couple other parameters, assembly_layout_kind and - chunk_size, to interleaving strategy to do the actual - interleaving. - """ document_parts: list[DocumentPart] = [] all_lang_codes = ( {usfm_book.lang_code for usfm_book in usfm_books} @@ -58,7 +52,6 @@ def assemble_content_by_lang_then_book( .union(rg_book.lang_code for rg_book in rg_books) ) most_lang_codes = list(all_lang_codes) - # Collect and deduplicate book codes all_book_codes = ( {usfm_book.book_code for usfm_book in usfm_books} .union(tn_book.book_code for tn_book in tn_books) @@ -96,7 +89,7 @@ def assemble_content_by_lang_then_book( if tq_book.lang_code == lang_code and tq_book.book_code == book_code ] tq_book = selected_tq_books[0] if selected_tq_books else None - # TWBook doesn't really need to have a book_code attribute + # TODO TWBook doesn't really need to have a book_code attribute # because TW resources are language centric not book centric. # We could do something about that later if desired for # design cleanness sake. @@ -324,13 +317,7 @@ def assemble_usfm_by_book( use_section_visual_separator=use_section_visual_separator, ) ) - # TODO Get feedback on whether we should allow a user to select a primary _and_ - # a secondary USFM resource. If we want to limit the user to only one USFM per - # document then we would want to control that in the UI and maybe also at the API - # level. The API level control would be implemented in the DocumentRequest - # validation. if usfm_book2: - # Here we add the whole chapter's worth of verses for the secondary usfm document_parts.append( DocumentPart( content=usfm_book2.chapters[chapter_num].content, @@ -364,10 +351,6 @@ def assemble_tn_by_book( use_two_column_layout_for_tq_notes: bool, show_tn_book_intro: bool = settings.SHOW_TN_BOOK_INTRO, ) -> list[DocumentPart]: - """ - Construct the HTML for a 'by book' strategy wherein at least - tn_book exists. - """ document_parts: list[DocumentPart] = [] if tn_book: if show_tn_book_intro and tn_book.book_intro: @@ -476,10 +459,6 @@ def assemble_tq_by_book( use_section_visual_separator: bool, use_two_column_layout_for_tq_notes: bool, ) -> list[DocumentPart]: - """ - Construct the HTML for a 'by book' strategy wherein at least - tq_book exists. - """ document_parts: list[DocumentPart] = [] if tq_book: for chapter_num in tq_book.chapters: @@ -546,10 +525,6 @@ def assemble_tw_by_book( rg_book: Optional[RGBook], use_section_visual_separator: bool, ) -> list[DocumentPart]: - """ - TW is handled outside this module, that is why no - code for TW is explicitly included here. - """ document_parts: list[DocumentPart] = [] if bc_book: document_parts.append(DocumentPart(content=bc_book.book_intro)) diff --git a/backend/doc/domain/model.py b/backend/doc/domain/model.py index 99688e3a..ea32b046 100644 --- a/backend/doc/domain/model.py +++ b/backend/doc/domain/model.py @@ -37,17 +37,6 @@ @final class AssemblyStrategyEnum(str, Enum): - """ - * LANGUAGE_BOOK_ORDER - - This enum value signals to use the high level strategy that orders - by language and then by book before delegating to an assembly - sub-strategy. - * BOOK_LANGUAGE_ORDER - - This enum value signals to use the high level strategy that orders - by book and then by language before delegating to an assembly - sub-strategy. - """ - LANGUAGE_BOOK_ORDER = "lbo" BOOK_LANGUAGE_ORDER = "blo" STET_STRATEGY = "stet" diff --git a/backend/doc/domain/resource_lookup.py b/backend/doc/domain/resource_lookup.py index 20c42a46..509e3d76 100644 --- a/backend/doc/domain/resource_lookup.py +++ b/backend/doc/domain/resource_lookup.py @@ -1180,9 +1180,7 @@ def prepare_resource_filepath( working_dir: str = settings.RESOURCE_ASSETS_DIR, ) -> str: resource_filepath = "" - if ( - resource_lookup_dto.url is not None - ): # We know that resource_url is not None because of how we got here, but mypy isn't convinced. Let's convince mypy. + if resource_lookup_dto.url is not None: resource_filepath = join( working_dir, get_last_segment(resource_lookup_dto.url, resource_lookup_dto.lang_code), diff --git a/backend/doc/markdown_transforms/markdown_transformer.py b/backend/doc/markdown_transforms/markdown_transformer.py index 2f7f5e58..55079001 100644 --- a/backend/doc/markdown_transforms/markdown_transformer.py +++ b/backend/doc/markdown_transforms/markdown_transformer.py @@ -97,8 +97,7 @@ def transform_tw_links( # Transform the '...PREFIXED...' version of regexes in each # resource_type group first before its non-'...PREFIXED...' version # of regex otherwise we could orphan the prefix portion of the - # phrase, e.g., you could be left with (Veja: ) or (See: ) or - # (Blah blah blah: ). + # phrase, e.g., you could be left with (Veja: ) or (See: ). for wiki_link in wiki_link_parser(source): source = transform_tw_rc_link( wiki_link, source, lang_code, resource_requests, translation_words_dict @@ -230,8 +229,6 @@ def transform_tw_markdown_links( source anchor link pointing to a destination anchor link for the translation word definition. """ - # Determine if resource_type TW was one of the requested - # resources. tw_resources_requests = [ resource_request for resource_request in resource_requests @@ -241,11 +238,8 @@ def transform_tw_markdown_links( match_text = match.group(0) filename_sans_suffix = match.group("word") if filename_sans_suffix in translation_words_dict and tw_resources_requests: - # Localize non-English languages. file_content = read_file(translation_words_dict[filename_sans_suffix]) - # Get the localized name for the translation word localized_translation_word_ = localized_translation_word(file_content) - # Build the anchor links source = source.replace( match_text, fmt_str.format( diff --git a/backend/doc/utils/tw_utils.py b/backend/doc/utils/tw_utils.py index b919ea82..0c58fee7 100644 --- a/backend/doc/utils/tw_utils.py +++ b/backend/doc/utils/tw_utils.py @@ -123,7 +123,7 @@ def translation_words_section( Build and return the translation words definition section, i.e., the list of all translation words for this language, book combination. Limit the translation words to only those that appear in the USFM - resouce chosen if limit_words is True and a USFM resource was also + resource chosen if limit_words is True and a USFM resource was also chosen otherwise include all the translation words for the language. """ content = [] diff --git a/backend/stet/domain/document_generator.py b/backend/stet/domain/document_generator.py index 49aec888..ba7eb8f6 100644 --- a/backend/stet/domain/document_generator.py +++ b/backend/stet/domain/document_generator.py @@ -328,7 +328,7 @@ def generate_docx( add_highlighted_html_to_docx_for_words( verse.source_text, source_paragraph, word_entry.bolded_phrases ) - else: # Bolded phrases in 3rd column were not provided + else: # Bolded phrases in 4th column were not provided add_highlighted_html_to_docx_for_words( verse.source_text, source_paragraph, word_entry.words ) From a149d8ba692b0c0947ef66aaa824ab4f3adf2625 Mon Sep 17 00:00:00 2001 From: linearcombination <4829djaskdfj@gmail.com> Date: Thu, 9 Oct 2025 09:40:07 -0700 Subject: [PATCH 2/7] Use referential transparency pattern rather than globals --- .../markdown_transformer.py | 89 +++++++++++++------ 1 file changed, 64 insertions(+), 25 deletions(-) diff --git a/backend/doc/markdown_transforms/markdown_transformer.py b/backend/doc/markdown_transforms/markdown_transformer.py index 55079001..03a95c69 100644 --- a/backend/doc/markdown_transforms/markdown_transformer.py +++ b/backend/doc/markdown_transforms/markdown_transformer.py @@ -162,6 +162,7 @@ def transform_tw_rc_link( translation_words_dict: dict[str, str], tw: str = "tw", fmt_str: str = TRANSLATION_WORD_ANCHOR_LINK_FMT_STR, + tw_rc_link_re: re.Pattern[str] = TW_RC_LINK_RE, ) -> str: """ Transform the translation word rc wikilink into a Markdown @@ -169,7 +170,7 @@ def transform_tw_rc_link( the translation word definition if it exists or replace the link with the non-localized word if it doesn't. """ - match = search(TW_RC_LINK_RE, wikilink.url) + match = search(tw_rc_link_re, wikilink.url) if match: # Determine if resource_type TW was one of the requested # resources. @@ -223,6 +224,7 @@ def transform_tw_markdown_links( translation_words_dict: dict[str, str], tw: str = "tw", fmt_str: str = TRANSLATION_WORD_ANCHOR_LINK_FMT_STR, + tw_markdown_link_re: re.Pattern[str] = TW_MARKDOWN_LINK_RE, ) -> str: """ Transform the translation word relative file link into a @@ -234,18 +236,20 @@ def transform_tw_markdown_links( for resource_request in resource_requests if tw in resource_request.resource_type ] - for match in finditer(TW_MARKDOWN_LINK_RE, source): + for match in finditer(tw_markdown_link_re, source): match_text = match.group(0) filename_sans_suffix = match.group("word") if filename_sans_suffix in translation_words_dict and tw_resources_requests: file_content = read_file(translation_words_dict[filename_sans_suffix]) localized_translation_word_ = localized_translation_word(file_content) + logger.debug("filename_sans_suffix: %s", filename_sans_suffix) source = source.replace( match_text, fmt_str.format( localized_translation_word_, lang_code, - localized_translation_word_, + filename_sans_suffix, + # "".join(localized_translation_word_.split()), ), ) else: @@ -272,6 +276,7 @@ def transform_tw_wiki_rc_links( translation_words_dict: dict[str, str], tw: str = "tw", fmt_str: str = TRANSLATION_WORD_ANCHOR_LINK_FMT_STR, + tw_wiki_rc_link_re: re.Pattern[str] = TW_WIKI_RC_LINK_RE, ) -> str: """ Transform the translation word rc link into source anchor link @@ -285,7 +290,7 @@ def transform_tw_wiki_rc_links( for resource_request in resource_requests if tw in resource_request.resource_type ] - for match in finditer(TW_WIKI_RC_LINK_RE, source): + for match in finditer(tw_wiki_rc_link_re, source): filename_sans_suffix = match.group("word") if filename_sans_suffix in translation_words_dict and tw_resources_requests: # Localize non-English languages. @@ -324,6 +329,7 @@ def transform_tw_wiki_rc_links2( translation_words_dict: dict[str, str], tw: str = "tw", fmt_str: str = TRANSLATION_WORD_ANCHOR_LINK_FMT_STR, + tw_wiki_rc_link_re2: re.Pattern[str] = TW_WIKI_RC_LINK_RE2, ) -> str: """ Transform the translation word rc link into source anchor link @@ -337,7 +343,7 @@ def transform_tw_wiki_rc_links2( for resource_request in resource_requests if tw in resource_request.resource_type ] - for match in finditer(TW_WIKI_RC_LINK_RE2, source): + for match in finditer(tw_wiki_rc_link_re2, source): filename_sans_suffix = match.group("word") if filename_sans_suffix in translation_words_dict and tw_resources_requests: # Localize non-English languages. @@ -377,6 +383,7 @@ def transform_tw_star_rc_link( translation_words_dict: dict[str, str], tw: str = "tw", fmt_str: str = TRANSLATION_WORD_ANCHOR_LINK_FMT_STR, + tw_star_rc_link_re: re.Pattern[str] = TW_STAR_RC_LINK_RE, ) -> str: """ Transform the translation word rc wikilink into a Markdown @@ -384,7 +391,7 @@ def transform_tw_star_rc_link( the translation word definition if it exists or replace the link with the non-localized word if it doesn't. """ - match = search(TW_STAR_RC_LINK_RE, wikilink.url) + match = search(tw_star_rc_link_re, wikilink.url) if match: # Determine if resource_type TW was one of the requested # resources. @@ -484,6 +491,7 @@ def transform_tw_wiki_prefixed_rc_links( translation_words_dict: dict[str, str], tw: str = "tw", fmt_str: str = TRANSLATION_WORD_PREFIX_ANCHOR_LINK_FMT_STR, + tw_wiki_prefixed_rc_link_re: re.Pattern[str] = TW_WIKI_PREFIXED_RC_LINK_RE, ) -> str: """ Transform the translation word rc TW wikilink into source anchor link @@ -497,7 +505,7 @@ def transform_tw_wiki_prefixed_rc_links( for resource_request in resource_requests if tw in resource_request.resource_type ] - for match in finditer(TW_WIKI_PREFIXED_RC_LINK_RE, source): + for match in finditer(tw_wiki_prefixed_rc_link_re, source): filename_sans_suffix = match.group("word") if filename_sans_suffix in translation_words_dict and tw_resources_requests: # Need to localize non-English languages. @@ -526,7 +534,10 @@ def transform_tw_wiki_prefixed_rc_links( return source -def transform_ta_prefixed_wiki_rc_links(source: str) -> str: +def transform_ta_prefixed_wiki_rc_links( + source: str, + ta_wiki_prefixed_rc_link_re: re.Pattern[str] = TA_WIKI_PREFIXED_RC_LINK_RE, +) -> str: """ Transform the translation academy rc wikilink into source anchor link pointing to a destination anchor link for the translation academy @@ -534,13 +545,15 @@ def transform_ta_prefixed_wiki_rc_links(source: str) -> str: """ # FIXME When TA gets implemented we'll need to actually build # the anchor link. - for match in finditer(TA_WIKI_PREFIXED_RC_LINK_RE, source): + for match in finditer(ta_wiki_prefixed_rc_link_re, source): # For now, remove match text source = source.replace(match.group(0), "") return source -def transform_ta_wiki_rc_links(source: str) -> str: +def transform_ta_wiki_rc_links( + source: str, ta_wiki_rc_link_re: re.Pattern[str] = TA_WIKI_RC_LINK_RE +) -> str: """ Transform the translation academy rc wikilink into source anchor link pointing to a destination anchor link for the translation academy @@ -548,7 +561,7 @@ def transform_ta_wiki_rc_links(source: str) -> str: """ # FIXME When TA gets implemented we'll need to actually build # the anchor link. - for match in finditer(TA_WIKI_RC_LINK_RE, source): + for match in finditer(ta_wiki_rc_link_re, source): # For now, remove match text the source text. source = source.replace(match.group(0), "") return source @@ -556,7 +569,9 @@ def transform_ta_wiki_rc_links(source: str) -> str: # TODO zh gen, e.g., 1:20 you end up with things like:(参:). We # should probably remove the whole parenthesized expression. -def transform_ta_star_rc_links(source: str) -> str: +def transform_ta_star_rc_links( + source: str, ta_star_rc_link_re: re.Pattern[str] = TA_STAR_RC_LINK_RE +) -> str: """ Transform the translation academy rc wikilink into source anchor link pointing to a destination anchor link for the translation academy @@ -572,7 +587,10 @@ def transform_ta_star_rc_links(source: str) -> str: # TODO zh gen, e.g., 1:20 you end up with things like:(参:). We # should probably remove the whole parenthesized expression. -def transform_ta_markdown_links(source: str) -> str: +def transform_ta_markdown_links( + source: str, + ta_prefixed_markdown_link_re: re.Pattern[str] = TA_PREFIXED_MARKDOWN_LINK_RE, +) -> str: """ Transform the translation academy markdown link into source anchor link pointing to a destination anchor link for the translation @@ -580,13 +598,18 @@ def transform_ta_markdown_links(source: str) -> str: """ # FIXME When TA gets implemented we'll need to actually build # the anchor link. - for match in finditer(TA_PREFIXED_MARKDOWN_LINK_RE, source): + for match in finditer(ta_prefixed_markdown_link_re, source): # For now, remove match text the source text. source = source.replace(match.group(0), "") return source -def transform_ta_prefixed_markdown_https_links(source: str) -> str: +def transform_ta_prefixed_markdown_https_links( + source: str, + ta_prefixed_markdown_https_link_re: re.Pattern[ + str + ] = TA_PREFIXED_MARKDOWN_HTTPS_LINK_RE, +) -> str: """ Transform the translation academy markdown link into source anchor link pointing to a destination anchor link for the translation @@ -594,13 +617,15 @@ def transform_ta_prefixed_markdown_https_links(source: str) -> str: """ # FIXME When TA gets implemented we'll need to actually build # the anchor link. - for match in finditer(TA_PREFIXED_MARKDOWN_HTTPS_LINK_RE, source): + for match in finditer(ta_prefixed_markdown_https_link_re, source): # For now, remove match text the source text. source = source.replace(match.group(0), "") return source -def transform_ta_markdown_https_links(source: str) -> str: +def transform_ta_markdown_https_links( + source: str, ta_markdown_https_link_re: re.Pattern[str] = TA_MARKDOWN_HTTPS_LINK_RE +) -> str: """ Transform the translation academy markdown link into source anchor link pointing to a destination anchor link for the translation @@ -608,7 +633,7 @@ def transform_ta_markdown_https_links(source: str) -> str: """ # FIXME When TA gets implemented we'll need to actually build # the anchor link. - for match in finditer(TA_MARKDOWN_HTTPS_LINK_RE, source): + for match in finditer(ta_markdown_https_link_re, source): # For now, remove match text the source text. source = source.replace(match.group(0), "") return source @@ -620,6 +645,7 @@ def transform_tn_prefixed_markdown_links( working_dir: str = settings.RESOURCE_ASSETS_DIR, tn: str = "tn", fmt_str: str = TRANSLATION_NOTE_ANCHOR_LINK_FMT_STR, + tn_markdown_scripture_link_re: re.Pattern[str] = TN_MARKDOWN_SCRIPTURE_LINK_RE, ) -> str: """ Transform the translation note rc link into a link pointing to @@ -693,6 +719,9 @@ def transform_tn_markdown_links( tn: str = "tn", working_dir: str = settings.RESOURCE_ASSETS_DIR, fmt_str: str = TRANSLATION_NOTE_ANCHOR_LINK_FMT_STR, + tn_markdown_relative_scripture_link_re: re.Pattern[ + str + ] = TN_MARKDOWN_RELATIVE_SCRIPTURE_LINK_RE, ) -> str: """ Transform the translation note rc link into a link pointing to @@ -701,7 +730,7 @@ def transform_tn_markdown_links( """ matching_resource_requests: list[ResourceRequest] matching_resource_request: ResourceRequest - for match in finditer(TN_MARKDOWN_RELATIVE_SCRIPTURE_LINK_RE, source): + for match in finditer(tn_markdown_relative_scripture_link_re, source): scripture_ref = match.group("scripture_ref") book_code = match.group("book_code") chapter_num = match.group("chapter_num") @@ -768,6 +797,9 @@ def transform_tn_missing_book_code_markdown_links( tn: str = "tn", working_dir: str = settings.RESOURCE_ASSETS_DIR, fmt_str: str = TRANSLATION_NOTE_ANCHOR_LINK_FMT_STR, + tn_markdown_relative_to_current_book_scripture_link_re: re.Pattern[ + str + ] = TN_MARKDOWN_RELATIVE_TO_CURRENT_BOOK_SCRIPTURE_LINK_RE, ) -> str: """ Transform the translation note rc link into a link pointing to @@ -777,7 +809,7 @@ def transform_tn_missing_book_code_markdown_links( matching_resource_requests: list[ResourceRequest] matching_resource_request: ResourceRequest for match in finditer( - TN_MARKDOWN_RELATIVE_TO_CURRENT_BOOK_SCRIPTURE_LINK_RE, source + tn_markdown_relative_to_current_book_scripture_link_re, source ): scripture_ref = match.group("scripture_ref") chapter_num = match.group("chapter_num") @@ -841,6 +873,9 @@ def transform_tn_missing_book_code_markdown_links_no_paren( source: str, # tn: str = "tn", # working_dir: str = settings.RESOURCE_ASSETS_DIR, + tn_markdown_relative_to_current_book_scripture_link_re_no_parens: re.Pattern[ + str + ] = TN_MARKDOWN_RELATIVE_TO_CURRENT_BOOK_SCRIPTURE_LINK_RE_NO_PARENS, ) -> str: """ Transform the translation note rc link into a non-linked scripture reference only. @@ -850,7 +885,7 @@ def transform_tn_missing_book_code_markdown_links_no_paren( # resource_requests = self._resource_requests # lang_code = self._lang_code for match in finditer( - TN_MARKDOWN_RELATIVE_TO_CURRENT_BOOK_SCRIPTURE_LINK_RE_NO_PARENS, source + tn_markdown_relative_to_current_book_scripture_link_re_no_parens, source ): scripture_ref = match.group("scripture_ref") # chapter_num = match.group("chapter_num") @@ -908,12 +943,14 @@ def transform_tn_missing_book_code_markdown_links_no_paren( return source -def transform_tn_obs_markdown_links(source: str) -> str: +def transform_tn_obs_markdown_links( + source: str, tn_obs_markdown_link_re: re.Pattern[str] = TN_OBS_MARKDOWN_LINK_RE +) -> str: """ Until OBS is supported, replace OBS TN link with just its link text. """ - for match in finditer(TN_OBS_MARKDOWN_LINK_RE, source): + for match in finditer(tn_obs_markdown_link_re, source): # Build the anchor links # FIXME Actually create a meaningful link rather than just # link text @@ -921,12 +958,14 @@ def transform_tn_obs_markdown_links(source: str) -> str: return source -def wiki_link_parser(source: str) -> list[WikiLink]: +def wiki_link_parser( + source: str, wiki_link_re: re.Pattern[str] = WIKI_LINK_RE +) -> list[WikiLink]: """Return a list of all Wiki links in source.""" links = [ WikiLink( url=link.group("url"), ) - for link in finditer(WIKI_LINK_RE, source) + for link in finditer(wiki_link_re, source) ] return links From 0e7dd96765f6c16d7878c721716733858084d3ef Mon Sep 17 00:00:00 2001 From: linearcombination <4829djaskdfj@gmail.com> Date: Tue, 18 Nov 2025 12:35:06 -0800 Subject: [PATCH 3/7] Updated STET input docs PO provided new input docs --- backend/stet/data/stet_en.docx | Bin 86561 -> 86863 bytes backend/stet/data/stet_es-419.docx | Bin 102838 -> 102260 bytes backend/stet/data/stet_fr.docx | Bin 78120 -> 86997 bytes backend/stet/data/stet_pt-br.docx | Bin 88029 -> 88047 bytes backend/stet/data/stet_sw.docx | Bin 91413 -> 91826 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/backend/stet/data/stet_en.docx b/backend/stet/data/stet_en.docx index 97456ad4e5286616aa14acb1a51ef9c728b1fb0c..b471ae8638f9d0eb751ee853fe8ca9b53721a83c 100644 GIT binary patch delta 66611 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�iYYID zZpNd0$u3%YLTy?LBmfYoj8UX%S$<%XY||qza1&Y!LB8iQueDGJCOG5kTx%ay1i{I{ zkhiY8J4x6z(^{rsx-4s+e`PSL8l6JwxIU2GRHQkv0GXbtkqG`6v=%~Ho$AD?HR3!@ z3q;5>2^u*q?UwdFK%gTHC|SjHJNU;}-}X0}=uM%X+8Y<^9|%Fhvg z%|aMGjl;P>&&%5%f2(+^HP0Z6GGeRH>Ij(!fsA5@XQ+{MiAc&Wr~q(iyo8H*9%oXp zlE=55ew44ACh$2WWr_GE0hf@k=|-LM~g?;>F9mV{=FND;k0QqpR)E=FG7fs`4efXz2-SDTb~G5X$3ryTye0fz4IbisEA8x*WN5M=84r z#SkKoIaxKqGuOF6vfWNg%GWl(yQWB79^oLy(Y!3J)zsvp((f2@LQPnyi%2o_fLjr( zyGLGVM-)ZOc{%qf297UbU|n`SM;y6)!jxsDa_3>Mm#kT zGdJd&S6Op45mUSICH@jEGX;WgDsJ-jyObK$3ztKJd>6J+s~o{|-{8p#LCizRbxy_9 zlY!||_{|98G?JBlCACmG2|74pzzG;@Qw(&((R-MLByOVBIu-7sOq){R*(_rz6`{!( ze{&(Qyt^hZkN7zQKT=3U0Z1xF%GGKei%sxKAVjL zq+nKJq|ujXo(cctgZ3$7;E4e(Np3#doG7W#;CznDS?Kmz=Op14yx;#2>QTO$A?#(3a-={J=?ux^(*)NKqy@qiE1G9 zlU?1iA?Rl*4iz3oL8Tps3Jw4TRNI68EXLrEQ)a@RzW#;k#FuUa1-hR1*R+T zEgRAE-f=tN3mtTb$+N22*Ii0Me@+gjRs8mkWd(ajSpr(uZm3ON1DyjyBa^^DnY3VN z#Dc&9bkF^0oNk7uh?JT7BViVQGCpEf@yhjP>@!QtLx=mGTcHVH8+x9p4&YCi&~hr{MmXfn(!EY& ze`be2QrB2#A{Fzf>2p69ARLWZYfNDoNOY_Tf`FPp>B*1QY_ukwV5GIkn}h=gS9sK; zHOtmCCy47<6PqR_HmtbKf1@=^)|@jUFch+saFHO0KCHP8bW`&Q6`P5ltY%tBgx0F1&o1hj@6w|vVaEl_gh=h_AetqG)Bf6JVSY>QgeB2+e^ zz=GFiJ6(t3pmzjW404w2*mQyNDPz+?BAV2CAM%s#A|Dh%XmM2Ws|kR>Bg8%3sl7)& zp4ATxhxnQ^++h^qjH}8H=pt}&<}KB^^|9Mhi{W6unsjvA`0XFpf7a!bDoh!!;$&GF zLM6=0m+UL0M(J0kfABdKFqW_`fE{oj+78%}v~Ci60X9U4D5hA?tHwp+s%;-1&Eb?R z=Vh2a)pY#98bm?BEqtrf(+=mPL$B-HIVm$+b+le^!GkDSLm!wfWLSw57W#mBw!@ge zw{2q|>=L>M*as(#^bs+LpA7MWQTEb*)eeR&9ssLF)s9lAf967iw=?l!n5f<6!mp3> z{I>Znb0xxEfJfRaBVtFPG2P5R%i8J2H)A1Yp6}udo24PV`E~r7$SN61Ts6&D--~db z)W&}fTqYJUoR!=idUw=60P=-*7of^og9DSBq%bi1dVqHvJ8eBEdXAmmYu#hw`qaW~ zJigk7OVETLe^kS*ALP)d)O7iHShY7D*0mi)f$dstiqJezut^w{Kxt5|vm+Z~%4usC z<{hGuAYC+K-~ccNL{0?jbkCici5%iqxxS-0E9N8cNz6&+$Q}(IMMRts7X9vRm&DZ#33>1-gb{WDzh|UG^yQW z$WOYXe~b`>03~J>+8BA*GBrwy&t^}ce|e&nFWFa1ch=@95e69bcqKqfu;p4z zRZvkExCu`Q+qQ$fYV24%14PW1ak_pN;)`bZ9-!Z}jGvA3m+BqbUo2XMY0vFdBkkpY z?Rr6@HMvK`@(?p=<+PbHDjX6ede;cQJEIvvlSrBoW*lTM{nLyPaBSBBx7xDkn5Ih; zfBT1$^=b4HrE$87j8I3j9$Ucn`1Pxs{T#2>e-&*I``yoU)^ z!kJzlA;(0_8AhQ0o%T^QPhR5^>rqP7e~J}3kz~fasaJDqj9+Bx{5#QIhFK z3_QKc1vd7eYu_sPagJH*9{};dbg?UMRNPm%o*4u{ZjVkpz|~2$vQN4rI#LG(e-x?* zeFWcYEAgwNtV|#woLIM7^{;Q5TzjA_8Cq`}ZVMmO4_bJjcWIkE6BkYDs$d@4M$QVV zV&wzarrur1E6wXAE(5|{%;=-cLAh!(wCanh9xPBU_Dpc=%(JUmXGgyP6P@bL#Alw% z(4%0dU>yiF%)WP6Aa&#xHB zaa`{E8v4ZVVJ(Bkukj+0ej}SeJ@FgiH&O~JXA!`nVpqYA9u~h-tLZUUJU<}T%`_FS zJs7u46e*IZVI3R<7}+-yRJyixehHWBIDAbEs#gYw`7QHV-s%e-B&7M*<#q zAPp+aLda}~Lq|hurPEWjo8~~Ft=Zb>M4v}iVix8MS(SVWWRk%1h;%qk82v)BQvS%# z%FIJ%B=y4Is9%y)nxr*d?H9qe(g6doG; z?S_o83#x1t$Mi=;&APMge6%)>jPrP71R%hJHY4M*EzDT(_>wwr{vrKsC-sx+vEN+J zV!XvkNblXQU+i9efB55A>|P5ob7LAU*QwHhl7dn43_D!J;xp+U%!J3FO4LV-WU7Qb z<=@Hj*q>!#`(>?MR25V(fLQnoLo8Q6f~sFoCDQ*DI1qb}#oO;IBVLLJUlyw~8CiXH z9UNg6Fy4w!Gveqjab!!XYQB$}CW}M~J?2j27D56{i*Om$e+$=D5rjB(0Ba-9FnTow z7}Oh=d&Go6wbB%`0TUZVjTF*bDw_5@A1E<$4bg+sozE7f za^;<-v2f=U@Ym5&%$2js2-u{_2SfOL1wltOT;!aaUv?E4;+wCb5sE=H-Aq3fDaKFY z?OrVPNlwMae>7Y?OCIuSlaDJo(3DdkK1-g{j6hyD*yJZ2k|&W*0$Xk7i-8s7`iv|8 z^aPp)8d&KUXc+~QP0&GM>Fc#(SMWI}J@N@G2hwiSnv7C(C%cef)tmE9WYqVGN)xHwae<=eKDM%tc-VR)^4AIrjxu zm&qUXJiPN*9Ms3A=Ty!bk>^mzm_~L`9y;89Sn%-5ziI8^wG4)|-Af;aLi=fe?AD{S zk=j_~e>Gc|Z*XLEQoQS~d{A94vq!ASF^(0-ogS%yr zIyljAIiN16bbvq%2fmW4IMD$E3lHZO_{b5Ie^qYGI_~GGDgI3L3FvzWyR9==A*NJm zHnlTgd5Zr_k}kse|BaqATkQ|r^0T!5ON*Rb0`lkW>V78mRl!o&x$9aFw zB+ssrFVSzI@tb&2$Fbs1k~}_ip`hf|?eJ6h_CHxElvy~_X?v3-~R?!5M2MaT+@b%)DId+6>dNAf;K+aP(axa#;(^(ZkR5`21BQ_7-BAT+lcbK zr_O2{Ok)9|-0Z9mHQYqIL|UnE6SfZVe>O@hcbTnd3fwc9XY&e8fttSKa(52_X@Y#? zTeeGcG1l^*zh|hNbuiI8Y`#R(R%PU`)4m3u^53J?+do&5LNK3)3n@{yJv%wIyoaYA++?4#16dU9xN)of0L<Wfl9}PXJxlRE@IWi0ryEHC)JXxH zoB_@XX;I}T0StXs!6C1JWhgL3`r{vDL?&l6u*92Zy&*AWIJzdJFklXekP9V``B_#%ieZ>FGkBJh>rwoZO9WQ+BBs0 z(EijEd}gi$M<#J;3wP?=B_&HRFeeae3>zXm71Q@xC_uJr7CNA4Hw|YSajH&adT-ah zP`F0JFf>iE3iLV8GkF`8+;f|CL_zG(jS2$le^d|KdTSJ$FdaEK zNT^55UW0EXQ&m$)8USxOu5GEK#cQ+*feF@W7N#!qU>gBl{bf~ie$S5Z+Dz{a>x?xa zI#ZFDhoFPO6^7O}u?FkSk${i@ns)zlcay@YR$tV4Et++O&*)27O^s@pCM^yrt%}k- zsL80F1~PU6OwC@We}H4{JYD$uiZ&y9UKJ2df@5C8+1sU>>DBZQQyH}(mwV7#Pv`rr zv~H(?{*z(|B|d_r>YKVIux(WdXm7;JBM4gOY;AY$7c2X99Zt}=Wg5NxF_VV`Y4lB| z+pBj`_Op_Jlt+N-MGBp&zsl;^N}WCR^7hB>ua7mqR{8PLf95yfR<&yTEQ`vNRl=}* z$u3oD?CuP^I14$@!kktdT?QF|0o?V=u#T&lMY$hr6M$}hTz%>Y*tFKD$8)$%BaZS zsiJ<-LEgf77L^95KK254eK65-j94Mp^b#B7kGQ2gk@~aKlkh&vf9=MBMSb6{z#9jQbJN$L?lrsJ zWk>a*1-15;C%)d;<2%n{^1wFG-&agX<{qulV+nakLwh{$;^Be!fw z8Lha>e?aVDu;*$F`8#tNGfYUAC)zoWGx2u)_Q!fNPmEbOlk#sF=lg^4%VwYJD}IqD z0n4uo-}7(F*SNlf@yS{FET@AJ6cDK9@iPbIU3O6x#e`ZR9e{m~#jfYkOrztcQI1XD zCJ(|$+6KQTT9wYkwC=GsQp|U18Wn#x>rZYEf2JFk5CYJnRD<0qB5GChgft+&`6yFy zZW}zoIs^#_C?@{HR9DPd8c>I(!8l-^qqa~FWE!MXKNxr@u!-|11#&af2;1nuhI7|9 zq1ocN>5gr~Ct9pJlemCA7Ho7GMTpxrHT_4iO`dp&^o&D11d*?{wvS+(0^v!=GX|dc zf1j(`pATT2`ZK|;$>@Y>WpQ!O_1UA8O+IBZQ^#ZgSd6wx{&_zpJ55wOE)LgXF3_fH zT_f%&{6nqbg)sCnMGsPTd&EiuR&?BDD$lzd=Rr;bN2oMFMJs?CFz#`8T!9`NDmv$( z*mH%0haTF$JIxS(=TJdaC761wK!-WZfAk*Y?0m#Z6IQgg+Q>#eB9f9iV&#Fcq7z!d zp42j|mVtY(SlOrCAkBnMzQLm2Jm0MrFWMA90LbgF$ga|=k16rjAe_$L4 z9Pink!(#4Xxtxf$oIgYK!eP^6@E*C8gv2osqRsStHTC+*Luw#%T$LN34hy)2ZpM`BU=g3Y>J?Wx)3ObH|3w0*k`vHSfvBz{rCXkX@IA?Ex-#aLrH55K(qzMLg< zsh|_Cx9_ub34zY<9}It)Ngm5;fAZlf{4H8N8By`_yAlw2x!YZZfI>A|BiB~0>L+Jn z%ll!lZ(Bu_wjT3POfEk6?_r`!_M!Bww=`?rPqWOoMv+ z=OUNcUcLRXc$U>4jej+M+bq`-l=7!9Q7V2l-N^T8q!7PcOT3mCuEM_Se^~rcC`&IF z(}G@8SwH!M@pI);(?nHuUc@Vb$A)IiqGvH?Hd2mi_ov01%7Qb6f$>2Dz+&MJ#ER$N zEr5Z=7<17*oK@F90JbQA6x_r1wf+I9@JX?2${XG112Ezt8{78~8LNK)9(bN*vHKmw z!fhmg+xH70ZaECwsuaSVe-2{bw@l#PuOox~AmH4(hv-7XEM!@(ZTa`WrEll~8~NDs z?zab^&3xM;_dAUu#GvQ;_dAWkfDwSK7WIpUGL71<90vD0h@nqh%Ln)S0NkaFadr=! z-G&~pT+239y6l}UWG02K7u-XPr2#^=#c5XRy6^yqQs#MTc^l3He|)|C*dvt3sPgBn zIet8G7yu&NXBUX4?KQoI#4rW1&bKmF^!=p4IZ z&+-U$A3Ee;up7~}8>ObhY~Dg2^G*lj&O}`n=H#kv?ff#d1Wnie+%YeNKx=0JHDb;zLuPh zNi37WhqDgT%MhSkOzNJ~T5ZU&ff(zzF;9N)bIkMS=sAtFmpo|O1fXi25yCkjTor5? z5_WV2Z40%UE3?&w%D!#bqvvte8FYMMyK2#AN?h)Ma><6;{uoO(TvW0_5kddH$?7l2 zAKv~DNK)kve{zm!R{LN}7|rT6Y>qZHz`%CF1+9v&ZwT?+(hBnn(gTWqweXgZXH}df z3K6w@rTC$~KCDat#Hnk$*C^9j(?e~iz9W~CoqjYE;QKjKWrlacPS7_bi+-~-e?BLxwbTGM7P2(1B-Sq#iT_Ld z8XD^~T&^VDIh<$I=QQ7zZ&u-RxKuM}B>DZ~i_ve_ z*oHnu3Th9#fj8uTeklPX%5x(WcU)QdQ~10mr!O{9Dmrf!3S)~^Ee_}M7nyjotWhz~ zb1`%}f50RFqc+u0-&qI9@ewb?EW4CE|L4r4Kdc4r(_M1Q53*;{=p`02av>{5)ta70 zpG6Nwb7Qr6kwYL_%9Oo$Ih}7-iReDrzq_uJg{T*aN%pieA!Al1^{WFY{xUDStw=Ugrue@w8RDw$1Ph^o%sXw9-U*#r?SYgz=l z+#a!c%$kT#a76>5VR>>af*t2pQS9McGgmmrTG%AO6=y>QT zf84S-5Y+-<;M2gm8QE;;#vBy~B^yWsN08Vi#Y(zp#L=N0OMz4^dzz+AO*Hx~4XP(E z(JEF{EU2Z)419(?=-ukHa_Hs^;(7czTCO5#QLXWg7^eX>D+G7!dzNMT59PeLQZr<0 zyULusySlt~3&xHXn;yDmAk0(o${`cee}|(IB>U}(K>&Em#DHj0dpaRM>5e&o915{j zWdTuWVH;pMBu-d74^!7zJjckT;D1&>Tt+ImIF^18=qz=Ge98W>G)S~1@1O+`@>wN! zkTGDoP*wC&7Z_Hc8(?MwyQ+?;zY0;wK9gra7md_3NS5oB_|tGTjpKj&!T!8Xe^&CV zpX}vo_jA_Qg&scy%;`XRZS%WpibC0DA-b^xRXxa%PY+b}^g9RpfI0iY-*@Mn9KU&c zF1fZe=|=*w)bo?|bu|_vAXX!6IxXT`J@69r=Kk}@2f!x4$E1Y-&1F8$YZ^uW^)*Rn z@$w~EZJwv$I(kjgZ{nAmC>tVje^rdtr2HJcB&m29^<3Ex_C|DW_6Par;mbNor4Hxr zhsxg+SClhGYGq;gkN?*8t96Wv{Is*PKz8BCiFrwfAmcZWh@$FZ zA6l4j+p3IF25kqsN@nfEf9~;?hj9IZ`PZ^&xFp6(mTZ|CTO?#oL-9B2ozfFuZKlzz zR$^Ix(j7ICc_g3#s+O*RIPj@;zbD%Lc5X%rBh~D{tG41fRe!am5gb%;zhz@cm8Eo> z#$=p;1O1s>HilR0lij89$>P2-EW~;c^{^!q*WUH-vFtNa~h^ zl{%iS{G_{pD!1f=DIcjAP$dur7#z)Jyi!25WuU6<_VO_H+D`+%HpSEPsM_1_GU-~r z5A)Y}7OtMEq_|z{e^m!@U^BVN9N+`VjPm2->xvD{+Z3h3wx3j)q;<4ZP24timA}oh z&g6lk{N?uOvG6u*9-;CjyI-l7YUAv#tl5}{?sh}d2gqeXg{6#$;}Po1Pt^rl#@Q*~ z9t(9EXNM44n764j(nApPYu^dwvuGh!w6c6a(@l@pl?%9qe=uwzTB>cf9Qhw1BtQn0 zA+A&JJ+-);7qP{ZV1dmR=j=Uf><4ui_Uor;Auhj&mr43(Ih*aKwc6iISO50IUy^lV z2!AD?@utGZlMqwS2GoDGu10G**f1I_5n2;MPNSD7jpcDxs1rkGj3b|#Ew~Z40iyQd zzL+vHWA%Hue;+U99p}-DcxH}9V0Q%Uzb%bu_4)0OG+u9n7c!4um%`1E=dYiWS^D-z zC>1B7NckJfb(+W{TUkOfNo5#9$w$aE`_ECjN|su+@EGu1!rWo7vB!Zh4usu65F4J? zXs*D&OpN4N%<@wy7~#oegKz3{Sxi-iG-O3cv9%DtfBYp}hs(F$we%mjXAvB?-Wyil#2IXVmS_sStK_8vnLgZ-mMktZ<1A3@^>B@uPQ1X z&Jw+fsMsMkc5hYzY4pn*pCFzf5ZB&R-}wsU`~*ZL^y!NL@u~hxt$Sn?+J6(1nX#B6Vr8FkI6n6F*joFGR(=m zRh@~BV?VHo-+~G}f^G!e7Ieq!-04b^ITp3({hVZsP#oy|r%=ZyNER;BtIB2CEbvBW zZv;bAdIrW&61Q`beEix2G%#D~k#GH;mG&KX)a&M+4TQ%NId#?X8hVJ!L zdue=MBCJ=mbT;Yg7IJ0+n25o5QjT{7^m_&LiEOR&!~6~R(j7L)g&e5`eRNnxho$Y{ ze}u-b@gm7H=`~=75n&ck33emwM%cB5-7ovJQ&^XVbLc8V)8$HBb%fmrySA_^W*1v} z2Lr@%tbme{Q#K;6E9Ak3lJ@eG?h@O9ive^{__18*|b8O3Rw_7V~5v8q~a5yf{6`9YQ-(6GG z7>ib)l4TlpAv5nVf;?0u5wHMYsyeN)dwS6(s93Kn(Ri^_crwJl{b%7 z3VksSPQ!h44X@@JUQyzGmjPp}(=f|X-bzf)A}O^Ji9h-hrLW2Id$J0RMCIDZ)SYDd zDf-X?wdWBhZ=7f|Nk=wK- zS7xLWG6c))q!1@)NXm>gx`Vyke|Y`Vkkm1)VQ9QUV;AEyARLA!WvNZ{aEg1!=s<-> zXM+$dEw)GiWDuZ5yT}(BhHP^oCQ`?el%I5XI>;$tR8@23VO#*QQgfFyDQIX|jCEcPUBz?nIt+W#wxr;$N!% zW#V7NSR1|Q^A7z8Fg+~ht+w#bF?C@_v|D)&@qFIVR<(LzRwYF#ldW`AC;{dcq`dXi zaiQ(B1;sed&5(bilNn_F)BkzFx4C1(ZiF2^6l4mB;iwOrbr zTm3&bQD^pUAZcq|U$eQZa2>B+#2xOb(VJyi_>~0L2hxA9NQRf5nXX)IzOk#urYUjm2R06XP*N=6X(Gg1H7Z38DdlcI&*W+dgYv za1Ts$9+fi72^?A}By#&l-HnZ_ZRc{cQ9af@wg7WYQ$F8=+bzrMoggi=5yCn1Zsq+C z$ZAcI>n6L|j1slnJ-FTW#SfvD1gQ(0fSBHBIR8a>d5Nrjf2spG0v%}jOg{O8+pSQ* zQFoHV4)i#_)y956wsVt0tx2e*HDX#8bDeQnmD#7|s+g!+nzzA%z;}t|w>aRqUt`tp zl56XV>S$;(>^UCuT5nC?6$o=82-RF~vFim;6=r{U2k$wJGENWHvYhW&zTdu%!~3xu zHu5cnjvyKUe*y7*tK#4R9{^0;T_Mb7vo(`-?)@0)9Ll!3N7sQ*^I84S!1&N4)F1Za8CR7Za5Upllgo78 zE$f&4tWe%!8(u2BjU*#W{yKjRWu?66RPEvSWSA3-f3w;m(U(7eBunlrl3B)wkj$}i zJf}2f!aMu#UKRNJw(zS2*{3-;Cv;zN**>}Q2HdkP z3|c42zf0qBP2(}~j5hK7aWJ16%%=8We|Ayecx}Sc?--9zw|*}3IcLOau_kwBsJ#jF z&M|inT6(;uZx2DyU@)8CPDTN zfIFyJ(DVFYudLD7YZoeToNKDXe}1ZTLswNYkl0~L$vh0|j_UFu-8gd2V}K$|gTM`{ z=_>>ild5xVEeT+X7^G>xC*REuuubKzLF(Fq+64-NC&D*f`% z-UncQ&Qc#fN9j6}dP_!VcyY4&po0|x9AE}l-zAS&xfNDIV;QbDX*iF*f2$HW8?kww zg<^tH7?QX#*22#fa7t1`xW3v@BG?!0Hv7z?c!b5K!J7gYp@VTs1D|7}BFg=GQ{(d9 z-3YuIZRwORc^(Z02GquZQ;F8Wfcc(p?@yVpgTT78sv*Oo*#Ct(KK&KH*x#^FcH^(n zEKS6H@xgiU)ox81j-pRufAy?$RSdE z;Gu}e&?XoftvXseBS)t1(uFCH8u>i6w+?cDZ+C?DhUCA(6o{n{zm$g)iv!%CVJ zM!*F`DNU*i3@rsaK%#|aH8+f6=s1Pxr*TFq$8*k(^jy~Y`jMaBfA1wRcQhby%z9U8 z-8_0dEHzM>g|FG3C*eOXjDaQ9vMBI?zfAA zUex6$ZT%5aQx;zqFH&AWytFA~cHZGK=Z+0rDqa8L0l)3ri0A~b$1UkFPn`EEnoi?He+Iul7=KlV(sFaUiVTT|{Q zXo1r6wyn$ovbLTMBhtgnS9^y4&)(N8IgVrNy$Yi@*S?Xi!9PhYI)cA7F)LI49vmD1 z=R4;+V<_ZXJE3Z5NzQVP&@{@7mPM5D^=n8TwA-Lf7xC@pm7MVm>tq37)3h8w6n`x? zaX_f8QP}LJ9XcALk<$#)8LThG*O@K5&P<`M_MT-MPpPIegtPj*xlVV=JSaGc>hKkk zWvr%kT&G9Xe{?5>_4zs-k~uF>AwIuOSK!XkI;GyA*%YkK-U&SktwALZ?GPfko?*ra zgaKp9Ne%hF=i0}^fV$k_BZV1{<%AfCRCcTmh+*v?y?XU3)y3IteLR}@Fs}8&-7LT?dj<2w+CYxe+h}s=gI5uN20JrcM)Vn#=}kO z8A=6~icvmBt|Lbx`LCtGufOMN`;^34x@upu#7q9ey18hGMki)q(=bp@pupt+xl|HHBwR6kkP=5OmX>4y$rzC*P=e{eE&p?ke$*{;HE zv?EpDx0a4-O_)xnJhd-k-K20#F#&)QDFie@M_-ZIY*LD(Vt#Wbpy5LgCEuaEQU+ zdSbUD{lBjwW6pO!(q3d6k(Du2=%zygn+z$(^N!`~rR!*2=(PAlD)ryC@t3~R#n=%Q zRTO{6#Z>wjnWUC5Tg;?sA=mT=7n?lssV=Pzj`2m54zEQy8*7O==a6%<+GOcsI~SPq zfAT5qHim|`jaCbRWy_nC5!BDoD$e+UYma*i^IBNhbzx*5`T0l2WXqI@dAjlOo>_+Q1)7fOnz>_a-zspK=#a zI-C(5qAUnKW&<^q_BQ2~gZ^mNc!W8ae{Z&nJ=4C{LNFo06`=uSMsz|0CjlG6}X-|gm>t@39bx9AhUX4M6=vXD{u&Q zg;(Y-w>*S{DnS#?f+GPxBG^MxRo|Q7ps^!U7Q)lfIuwMCWz+j?{r=Ba~{yk{}e;cwFW3@V6B0MTCYAiZ9a6h) z)nHB2(z7`1p`ke%eWMu_(6h-Mf8HtK^8D|1Z4fW{4{Kf1PKIQ@LmliXi!t&n=3#et zgNZ@t%myysfT^^XfI6=0X;29;W;#qf@`3JJHo{=1{ioopqZFx)`H!+_^-JHZ5tf7#>>=rZs9 z;Bx{^$E9chFH^B7GUCdT@>f_Csg3-grbb8aBP1ELB%m!tVp%NNPO4dD{H=7(Z|Cts zmgr24$8Ee4iE1J!?4K|3d=qVwFOl)J@YVA9D=D1X3jP>7vyEX?1r|0 zUvfKRr1Nc-C49(q#)&{mu*(K)o^N@a{@aFcSsKTxsBtJ~Vvdc;;i%5L2Qiqbu@WHM zhEJ?@{It#FtldvjouQ+AfB*u6Psqh{-^X+F{ZG;JWAggj>ab$Be=w0*^vmn-D@pOT zlmoqNn3B8Qi?EzxuyuwI1g4FsKiIYA`2fjf@B9mw-n!in;-r?t_ug1pB!FvE&q5lh z78CXHAfNeRznTp>#3_)vj#Q-H_ui$@>_DyaHBlfLybaiq8#ug;it`$FuHOv03w$+OPGjv9!*ri~eu?>mY<3=n? zTp7;?OKcFhe8W;->=C2B>6-h)ck5zL0%Qh_gd_D&&f|mCf82W(T^V*)F#tz>u*70E z*}L+_X|g4)vDnQDzwC=R|36004M~puTmW1^qrYZn>3{BCd;N8#)wO0a!wU*l)W0cw zEXULE6soR~gthk^ER9dw4L^9cPkix`|E$)r#^f~1@oA_|Zc14|TzNv3KcARqol*xf z7pcb&V{jE z*KY#oIbph*4uFSKfpiFCLO=IA^F3%| zX+H;fF$&!|QI^Bb>W6yUDb$+#J$D%Glfkq~jxg*63|~uL<9|8s7%5~kP8Q67vH0sg zyQt=q6P{G*U^PCyep?H49fHeTlOV8Y4w*YO^p@=r$3u2xb+!vH>III{d>o zG*UeWh3~Do$z2$H2oyU%WGU%vaVe8i7O7#xF{6j)eQBXmX^TR|9FzSu#$87$=b zQ_v|8k7CN@-hc4z%9wBC>?JMcp8y*_Z-wXXgDmF2x9d;wG8UB~`G~EAYwByxcgY7! z969neTdS0ciAfkhSLLq{VTh=u5!~aO#FH7F?`$lK=jt<-!E(P}GDKwB1vp2c=Y?J# zU3Ck)hcYQgbsRP8Hgh~H%!wn@#W{~DMHi?9ynbOwbn|EEM$j4&|iew((2v! zNSnVG^X#MvE)sg-HNR zAhn?aN@8qT{6wcyCJUys1pEF0t6ki@Wj~qlPuTSt6zy=cad$hN}u^^Dnm(> z@p&lnQSx%=MzAzq|5ynWK)U$9#F?m}o~1_o&qUsC6K5;QI~E)B^f?tb{~=mrv0!*M z{+#?QxWf)x`7p#7_X|*W13UDga#X{Bg@1q_;kwmeqHEhFDqrCloI+KNJqH$^LS>=C z!F}LMxlV87rUro-nnGtv8YG1V;X0iu-GX!yMUHCe2uO+5y-t^^elMnA64&WbCB%)Zc5S6Bu*!V_S-WhDeNu zdGz#s+ClqX9{rTw z!*TYUtRhYF8svt+3oQXM-BsnLRAsTvgp%a7E!Ii={34vil2=E3JWrqF)qgLqzZYCA zuYatJXK_idA_`&_37sL87w&5H_AQXiUwFxq)jWAgQe%}EpOV$ANKVK#&G;;M(~|Wj zkyTB~tNA5O+r`4rb8VSEIyEJGOPbOwTz(X!mZR2ihQy@UA{u9{6L;;STv25qsII;fetkX1@Gb9wjPT9`IrT)1|W^O;`0IP;1s+ldP`^ZT*K@1 z#(7ES(K2~iC){L{#@tYGWjxT7c^<{gR-iW=ST+RKeiPfiuWbcQ>z}+`(DXbV5X0J^ z8}5R=Yc?D*u=61g@PAB;*JKebia$l&kE0Joh->dpL6;Z#M!0t5c~dwP`5aia&oJ?l z|E%^5+Og;ayD0F~dbf;tp6|#BCvPw{RND>3L3ePv@Ez4Y40ivdPV^zALVVA5T&DQ2 zA?5-EP=gfZz2epcf+0CP{eWxiAwM(^oIjoms|9zOgn#!mo_|RRG;DnXaNUpB4N?c- zP!a{cS=@-gLM(UOs9R&aUA3IlnDaqc%@Zx6F~m&DPfB8$y(`KsD9Ybg0s*C&^oPQL0B=a@^?iM*C_&54$@7qFslY5j0NOO%?^GLvd&dqZ zHtpUjcIYshF@LHM8lHc8zgw8lR`T{Q+6fgTq%%B)ypIBvGiOr)!gd{+7!r0+p!hny zDN!dpjcm=bJN67u!7Hy6Y?=yGcu+@bf_NdFO(A4q2NzBRm)p~FO#!{El-9zNz?~{Z zxF(XzevoggGNoRpTL-u^p2S{c4?8nGswzOC7dlWSM1Qd?(~8^soti)$HBj&4FDJD%hU1`zeW+%JdileIj5ZiiOmx z)(wUjT7O8Rtk*k+K8I9!>{$yc3_(ajWx|lq51A*YQLFIpj?yzJfri;{fIj=>>>?|$ zLNtKVdP0C!xq#dOEge9sUTbTeJc+c+EdI((yD0Wk6uIPo=P8)7L{KXJ(o4aFh%h*W zMgFc(??RzINAuWN7RkQ+>|9*bOs<5OZ#ECOsegfGv%t5dIM2ETxa-s;bgHaOmYW@6 zi2fnp@2UXiMk*_!HySGfcI}RO*1CeoaY>*unwZdb^7@&V)XR4Z_aWL@mHm>47Mn)m z!j9~73hw?g%Z$rr0==ohG?VbJR{%b!d_Mh6~$KJBN$sCeM=p9mr8KGSRp z7=Oe*sZ6bXbDjR|c{wMM#EtWs6L1oorL{b>#_}-Y%6JF`wgWfxT{VIpdc?xM*w%M# zlGP@$n*FiZru!Jrytc9cz!Lk7k6f zA0mY73W|IaIuwbl8+n7NC2R4~bFe$O?tfKL+M{7sT>#A(I(0^?N1~yePfNaQiyjR5 zD)UAfH1J?lV8D>C)&u0-c8CKssA6`xgqIo>MGTWDI`I)=8$KA~1&J4v3?Y#2iFKF( z6GK-YIDVSvLx+!Y!``uu>uE{@*3mD`ivS223f?q5ATbNE-2I3ewk3;Ji})9A*MFa* zTv24Emm%sG&G|+|H|@)0CiZ}%6mw?;6J$xBVArO0vR>)CHtB2AUn4^ppCWBAUK*d% zRhmhBqr}M;{3}Mf$Vc<$dX#w}cp6GnNdzI&nD7-?2v4M- z)j{F4sU)cE@t0}Lwz5M9l#zeZ+bi~R>6@+xLph$A1tt)>5s1 z@>X2>MX%4^0WqvkZR#dE(&*B^VDFlDxvD31wMdJ1={h>j8s}ILc|&K<7=16gnGPVg zyQo%3*}i_8b9v^6%2LKT^T9fQlO}7mkXG$EECMZ0z$4dsj*6BnMyfj3#Lve(Vg`Za z@2a|ck!b~l?ELf-gM3WLTz?a|1Dut)ARGorMLGk)h3bGF8piIdl#W{o9cj-hc}jm7 zp%5GlsSRvNaav7mfIcKtLI53td?VOdF0zl5nDwJ=Z6>wqWbQgIZGFc$GLPByWOV2z)$*Kg4WIH#293Z~5hx+ZYO?Aznp8nSWGYhHl#C$pP z0CO%K=YAFcYluv2u|D=-~)%I$q?)mce8sVs&!QN$M0Gd@M`%A=i!)!{AdYfaFO z6Z-HrO1GPMkPg4w@P9_Cjw`dv3o^W!9Z3r9Bmo-UNX^A`wxK@=-tG2ZpE5jq*UQ-k zhs!N~e*Il|zdOQ5hqY1O>|pQults_&Dcl1LWDy9fJVax=#g=)5R-3m+2JDOtK1Byh z&W#RF^YA8iLA-Uf`_mcxYXtcYFv~;ho}q;aM}s^u9^VU?Hh(sqeH21p7HZc)MdRjcr+ZFh1gLQiUm&K@BLj(V{;ZSks`Vi zAd;%EK2l;0Nq=YPSrEXteP&w&)ck&gK9dq?_?1tN6s1nU5Me@AZ#Po(UPxMBW5Vc5 zntd>SOzOn$vZnOP_#{4+^wWih?!n+^pdIbO3%|nOKFSEd*x=@w|5U{PZC-yB1&Cgj zTx5$#-avl%K|=-kmO$`sU7Sn$u7X!m!N0G>UX!1!KYtk9ehL4ucvG6MI1>@1{NVkC zKRZ9HJ{ZbJ^GHZ#5iNuY3K9-UioVIB$LMFl#-VI0@_$Buisr*$+zO{&La?#`JXdfT zoV(rAmFUbu!~jId6&vIGEWCwT=%y<^hjdiKgn@5{Z~)|TSB*ER8s1iz*Oag9{7klq z=h6=AXnzX!K;TfUrki;#6-k}PG$ns5WD-b+pOx?Gqp3cHoX=%h;?*K))fsVRM7km? zpnjlk9uW;K3qp;|)WUB%j>a{)6o)wx&z#?rBXiTJi%^E+Pl)q}%miVgAgsc;8ib90);xOyIq_ zaZ`q6EYKWT(0VXF64N?=mH_fX&#_(MM(8<{`U?M!osZ`QsbS|k)V!9Okj3-lQIejd z0*0!7v|Pqdg6rMj_u%J;INLFJ$4leWc7LYvQs-x{3#jFtR-M8MY zb$?$O^=Q&<&7ip^uqY<0L3Wv2AG3fp^79VR`S)AM z0M76f{E8*{5}Je$rrvgd)TNVK=Y#Dm zbwJ<;g6X7UUm5T`N}M_z+qlsvo~gW8F}ihge5*!x&-K)b2z1Hzy!z7R2)}OcO5Zqa z&)Awq2iXy0blo2Q7_Bx*^dyj%RUY83wS))fr>TeixvKng z^-w)|9cN|QArRM+yomIVUjIF=mkv;Rsi^kld#UD^O-qJq?(!SZUU^~{DIgo^j#_ra zx?fV7S-mR!#Kif%$Zu$0i+{vR{>AQIH>K4g$QW~hf<8iKS}qHBQMXfL{Q{xonc)Q- z-{tpr>2Ss{IP>`O@>j!oqD`dV06=xjwi01^(esQ?W zcwNOA7dQlZwW@!ebF9dXK%Ktw-uG6s49u>wnJ2e^zzla#6Af=;=Nay%!5`j8>F?|= z*Dy*OXMYZQzA>+{+;=663~Q#mSxSrFBx74W9y~ z=l2p^W*9(VnU=D+Qs43eA|uc{7T5Mz^N|+UNBL%KF0(VbbDIv&wUHAq`ImRyY!z>l zpTu-Uv{R^rX#$EolYhCq!NmL|h$3vdGDxe^X%qs-w4v13HbGp;Pf{NT$6*-ass=UP zU#LfW==7geQh&O(ZnPOM-A=UGtm2F`z^3%%;0k>VZD;TSD{x>SshmzyfT3G$*|zR| zge0Zs;!_r_rH^9oxA;rEe*I(pVEjV{+kQz_BJ$RF-ip{Ver^>sKRvj2H1-On~(^*BVh< zv;13l^Z564^nv=KDz{wGsxr3uu8Pq*3rC}jM~(KKkjL#Xy0&xt{mNoIVPTbM=s$PGrC@a@YY$?4OU9Y4%%1|MJf+k)9j#>cLrf6X@I_D=pF{-;=m z3J2epI1{1Zneg8UqBX(fEaSod%V(idxsBpINSoE9Ypv?(T=F~|LN%mZf2{&G^vyj0 zd(nwpwB1J$@@Q8wYf55OMPm|#>=5e|4S7GJfd`}+&B9?JK?D*7*?Pyqk#WgbO;c~N z+^!coB-9B{e@DWBe{_bMlJpMtIc8}3t}NPo3)0!K^fZzGssSbSHzgZ{W@ep* zrdc=`zyJa*3h(zIoPtpaH#xx$^u{xNE1-juz~7>11T3Osjfv^m0d#IfHoG!3jowpL zIEV!ZA$Tk6c$H`h&Y;$E6D2N2T5Vg(g8N|Y*!6!c(>Ald5xX}hP!6rh%(lQ`AQX75EACO zI!Ory05?=P=i$Wt~VCwewdHhs0-=MO0TT#SR1RUf)_p-<}WBM=u|x zu*c5iIC|Fxf6%$&=4_X{c*%dTYrj=E7Qn8pFfT!m@9P;UuI@2C%uIlH1=pumQi!>P zSkg{awZw)Vb7XFMhad_(YeX$MRENGm-{I_Rx__w{HHBzvtPRf7ZmJc|TN-~(pC6T^ z0X=)r57DDO@d8slUQw=yj_Yg0albW0Z)t2^ziqb5e>8WES491t@o6iuv_)#Xq*)1x zNH2G_K=AtYTaL4RFkb)9QvBdiM6_;7U%2#o$17vGeUjCO`TwOu{cHN2!CQTP{r265 zA!fdp^P6Er0uU%G?7Q85qdbe^QEWF=HPdLbO03tVY9xQ}o>3Ql9vMt{Wm0jR_7Y+n^kQ?*70fM1PE0*?fLeT;<5|v4$p+eLZG&dv5K6Eg-i!x) z2e}cQ<%*g<@}L?X{ceRL-E&yacS&4on!b4}e^70XMj}0fV=|Naj_S^Nx3bx1g6XVO z2oW6kYM%eQ6;9Q8+fqJ2l@N0%=4W%|?1@ld2GAB0?j1|01vwE{#`JHSZb($VBWk*V z<=Pr4rEk{1-7t6S{;h{yT<_-&*P?jI@3HGrtGuixmp218rIs27g(xN#+i~no%;gP$ ze~H3CCOlPVrbk0YkOncJPbjh))1~Svb&AWo>zhI;ju8CUM!ceLUC-3n>gM}&l^*3< zD#*gR@6_xOKcJh^cmDTk{rk`9DvQ)7896bn>OEnq`a{Q zL%h^evGvSz&jcb93ZQZD4k7fZ8IBD%e`vzHMccafX;tQ+%7>y7Wz2K}Q-B?MkS}vX zr5G^c!r|IAUj76og~Z0mpD3Q|+ z@KO9Ms`r%D7e43=p&7ca>0Z7f$2%OY{}C_dA$a+9t{f2x+5ZJVUNO&n|R*7==D4I(}C4Ew+h9CgjVMX{Bf zTb3Sr1bl2^Pj!ggqTqIUC(VTIs^ADT9p7{YJG0|{GL=UXShRp3I|)$w?Y1tji zwok~%t4?za2{@n^hc3a6B_Yd=Cg62^Rp zm|Cp`yJqMTs9|!hT8~73Ey$(z5mNK~6-khfd>`ZCZdw=9eTM5uf2*YKJ|b^h_dc!W zC{Svbl6ri58;xcbW-q%6S$SMMqXeN~dCMv>&Q{&5{JJysaPO z*MH}&el>oKmS1>xUs^+=##K^1>>GHY$J7iY9M~Rnn1+Fz4E8;)LJokwe@caVErp6z z)Nv!PzKB{jdF{EJ4p@NUQU&+=*RC!f2H5nT<>fusv4LC=Z@{Kka$mJlLOg8x$Q_P& zye;7rlcS3!e;*FPzFFyLks)~w;0Mwhu{vkM1pANDIGEr_&wo(wy~WJfA>-{0<{x+u zs)FvSqP1MxA!PP&itjgOb9da1dJ~EH)VDqVRyH#g>1bssVwal0fw!VOWq1LeA)ToO zDRQuTK%u809eqJ)d0jW(hsiP#RZDfHi&F=kUi_CtC*U>UvCG)Z6rn^c*KgdhoTtjT# zd#P!P4ZF~VWJpZ!yA_+xIUHIcGo2xoO?ry05_pF7%qT%_0BtlNX0LD8_>vhvi+n!4 zogxk(e{embV#v@pk>_ZHioC%R)w-2EoX;O*|;_3*=+%t8MLqd@=1iT1#r4?SC*sn|jxb*vr0 zHL++97Pwwu1?RMT?J759>en@aQ3`?@de(G*f2n1wc@{6WOOYYk(^?E{a&#t%A&>m} z8-M0rWYW3%AJ{95xyq^qf*8Od!QSPI>?$%5!IY3zWpZ?>5yJRLO&~}o%%=TbG5K5P zSid+HlR?INIJgktTP#}JN-xnM?E{&iJrg+IaCH7I`BL(KOJ&$aCc-XcVPjc-R0M6z(>4EB#AV3qpCjY5zqlwF{_Oj@FeoW7VPbe1K5l zE8d;Be8wnKH*$ozkU@J_OLc1Se~4`ZAIaw%WNfdR)p@#+D!M;jSA?1#Nyc4$O5$ua z0$joP3Ssg8lyQ@_{w4Py8*cKrOrj4)aoLFZx4B{DFU$P*+m*pP$XCI6oXw@%?Jsf0TUx&UwlWs! zO8DU-<4Jy(_v2X<5Pgi+TS3O~5@)HXCK{Km7oDs&ohK0TR@SfIo*&a?Uge=khLyMf z66L<`U4mlr{POxO5{ZfHf0ym+Z{m-=3;gHpFHeHAx5#0v{!mFRJ=3gd9s3E@zZv)* z^ws?UgMl4TOQW9nM7?2WUCIh%fX-0;(0I{aJZ8n-aMzhS9o}_2e}n7(#A|j29+VKi zYHuusw(y#rK?gCwSMH5cllEG@Dex;Yt=>#yq{`mZk5bp^O+jvtlx*(nbmm7G4BKQNiDBt{;rWz*|T1zERk>VOK!hM4Zak&*nQXG~;27W!?hW4?9BjMR8eMbWxUco4b$&o;5KNY+o= zwWxUanSYivWoc+Xkepp@6Km+BwfJ+CHLGVYg#}Q-jx+UCuO=X|1QU>+Vwz5{uS#3p zS=BxnK{1>Ae+r4i*Yr?X(V6Wa5=d6^eP6Lf+zQxG6Kul+)W1H?%o=MFwJD1fybBPh zZU4I$z7w>!Wk$qHfgT7d%!Me-w~0gqeEKuL@S#Bi#g*~Ae1Hbf_rUNf2=9QNs5rXf z88uq}r(p^R@el@S{B!iU?4{S*3HCOtMbIS4&1CV-+nTybj|_@+B4s(RL-i zu@ZkNETSP<3e<>XT8I{82^|ai#J^TOsrRk~f9Jy!&F6{Wt1U8?KJ%~e5z5E%Q=EUO zR{;+C0;C*(Dc$a{?51HVX{*ZFxZ#&#F>(0b!dNAICh?KjXt7!$jBp4X1xg_xAQtxa zp(gKY6i%K8KbDm@H(9jU&Xep|+(#lGAklw4fvl5NVN*3mkJ_H;vEgJFqtZb)3~B#O zq9UK>NZ4E$LOdguBE*zHD4BWh-pEpq&+m<#S}`LX)-&v4L<4jq(GWYBjLuL~D*3@4 zj8TjbycKYMU-QO5dPFuLpul9-jo=l{;e%K5G1!@JZ?+^f-Zt1+il3#zP%lI!_K^+B~*|^1(@uFrZvXE=b=$6X(Acz@8 ztUf-JQsC|RW%8$MkD94}{T?-=y=ql~b|tc!Js12k;fti?cB}lV@@IbzSR8~N z)wISzD5y{}jijji*4Opi&}Q|3jw2ir%61rAwrz)wh6%pr@;!>IHc^2rsp2L7 zUH9B?q=h92`<|(6l(0uU3(M?Id4q`sLm?J8Han;`ENb4{doJ6vt+Qht{ zxkTg}~!Jqlcr(S+?*8xJX<#owJU!RbfkP;*;Aql zzR^D?Kg%Rz5i9aw{G$v;$wNm15nsh6{4D8D*W2=k0zXey^X2xdjAbb!u>RxU{;wz1 z_dova|MAZk$vlro;d=f0$6DNW6FomBfQ>#%0^0|!yWilnPp5zz#CgNpfW{69=FieWF*&>$RB3;PC}`A(&3t_Qbs25s z3AA2Nbi_7FSQaXYuOl{5$2QOQB>SQ#XBv|7W<5Q)0}P60>5gNr+y1S#1v6kJnqkx- zD?NN?Q$A=&+lkIMgLY1$vstxT4wv#Ee>#URO4OBe4~Y1!(DrQ^72C0VzaKw_))_>+ zTY1Oh?R3kcVk@&*$-t(rD*047QuC5!_b;&A`et%9H)wZO?+ zyy|EkD#Mxcd4ArmH#rNLGVuqb;qY_6Nqx0EH8Pp!g`S2uuYdT@W%3bXGQ?Tl^SB-m zX8F=7G6?D!^|<~waUfj&&-gLdsr}KsICY=@(A{YUM?QaDR}ADi5|J*|_d&T%*A?u9 zg}LWsoTx;p{He8v@;u^RXqCc7k&JNqnV}u&)&E6IBsO={uN?Y z?M9*;Z<4tffY0hXaL+XEcm{XNl;|uPdSp{lHOl|SOE0`=c-PzfV>cp5QB;Uj1Vf}! z`2g&q#H4>Bg6EugoY!}34{g`C1^#bkohyaKPnh$HT$%%CMS0IJdt}iA#;AB|Us}9L zOk1p-*}5!EQ)ZZ(Aj)je$8JTat|}t~mG0}yP@K;eoVD83@0`+p^-=fiGHv6e8EsY8ucujIn>8DtZLqiYBG(;Oy*Qa4$0zzlph_ zN>N3UE6V;~xBykFqDZ~nr{hXrzr0iCi>%7`tVKgqds|grl@1vZcScOfN*N7fbxTJ$ z!UP_i!B>(ngECEqT=qODVB}2O5k#*26zCpn{0M{FR?CWbYEasUT^vf*>uM8S-Urp0 z4KIK1!qXOfvhSnq4q;l;yL~^6qXMg;a#M6d6`;it`;e8y@%?1eqbYQQ?$I^uxJk@V zELNztVKF8?i4-{Vfp%OY%$*CXW?#$1d$wN2Il9<)xi=inMUX*bMx3wPU$VoO=Rf*I zMO>;@_2c$Bir4@aMF{$e@tNY3MA*C43fg}-2nmSo1L4yc0f_);x22mf-8k+=j>N82 zDZS!s-XR_;$&lwFKaur$UXWyC5lKrHVTU$Jg2Vw%5?5N-C)UC{*sH#{*&Z;=R89f* z+%Qt~t2fK{Bg?Z|EXKqDh+qo&I%%Die<8ih(Mw4E>Kgcx=}0X$^hLg{~5UXAhv1{w; zd|fXjPwTP@dgUJk{kLoWCy^mCmr#Fjysx#hD3(u!xFH^X{%v7Gd>D{8bb$hQ=`!Er z^fL&uM=pWXzGnAJaikvh5RL=_8SGEe#=Bc_Q7>l2`n&yH*jso_=YY5~o<)zVD=-M` zkt?oyrWrtVGpFz6v#l-~?V2Ul0)hh=f_I`i^zfiAfrZoLv_QYgmOhL9>>FL-C^Ytp5@7APIwaO*G^jBhm1!z+_<~X_BTCz3+wXkjw&& zs@f3j$Ap6SO*GWX05U<~1ekv%p05VpzcZrkF^C{Es$WNt??&LA(`=u&guCl0sWjt@ zS&-29h22#zJ~=CzA)~3uT#zQAJ-X=|5wp(RwQh=GjVG@J~ESg@1^haOt84w~v5q^J=EEwvfHf`WG zqA7%Fva&?hK@%5GPD2!)w_xi-NdasMIYj$e;_D%gV@lYR? znDuH_oNg}(0e)g~hEabc#aJln@q9+Uky#pgFcJUR%5MJ=!B%z+*Vm(Er*|R`3-fRx zji{>@U@<2Kz>r{Jt{BR*&SvC`OrILq?rnr*KKpAb4P8OM7X$#AMyW9Oa-Hg zNd}yA>lOb?ZjgUmbg6u=M;&+0k6z0$ z#ruG_pU^ymIl5^I0(;TsHBA1!XRf%$CLK+Ok4I9E5&!^10iIsQ_E7@@9VpP~nVgY(-s=u$@ULDrr9y<@2vH)JqhLEUU_e#cEK>HDv(}A`_$H zgc`$$I>Nw2$Ow5fj+ENA%w?3))r0C*jP#v4Kz!7VF6f_>04P?Z;o7Y`V76QQ>6bw|ADJdo)ma<#Csd-<;NWuznYv@qdi;-jN(lU2u_Z>Qg{fWrRfl z!c+zT$p&t%xB-a}N%ya^AGAONPtxe18TAq(V3f#Wu%peSjwz#gQZRIpf9v4viCrOP zm?CCjR~YOp!IZ)~hhI8j7f;qMKM1IoSZhH2Fq3~n*kBDaX||jXE&UL>NtBvoH*}ID zc7f+vD22+RQ#T`DWO~m@ySEWMC;GvUI^dB!Cr51>c}_&gz3*F_3vESZs2K>sTH?ns z1GVU6(vBeG51I2r{!LWL`0KjZJpZL*jD+Q z4O0ww0{E_pfh%bDs(4~T?VhFaN0Hh(=JJ1-FQ#71_Z%N{)CcJqZ&5dqI1Cd%@&l7P z@$Y;UNEUorZ=Zi%&9ib}BdG>=m_7fo6sG)#eC2#Cz80li?Q8SB(Zq)?0$zX=i+3sWwsxP}`wyNq&iHY>E$Y(Ze5qE#a z^Egn(V1(5j7UIB9Q+$9_oQkQ}=1k>=p!zaRLz`~wTy^3$)|%4nyQtj|Olv8&@4~d2 zm30SuHw4y~nzHVr<%ZDMXD{zVyod%Q(!P@;KLov}ld-)8;5Z%0_VujLgsg8Bw8Bbu z-l%*zqyXwFFj;p}171$@68pvm`fGnI7Tz)HWex7N=WML^-`aDl<*(^Vq7rw;^K$?M zL40Dw#54{lYMEktH}C%Z624RF5~k_mZZ|tPev!1~gPO zUn&gW$iLN^#W+O)cCq+H+ZPc4;0O2^PN|a+t_M9E>-P||zFsTUG$jP2Ka+oCkw5>j z(ycuD0#J}7K223hQs@&FOVmycC12PwU%$9;NC4$*YPL2FM74BNnu0|2fsu&MmtcBr z@i^J>J=SZk2{_p>I;;;J^_oR&X|^hs*t&aM{kGQ!z)c&~l2M(`eM z3=4MT6fN#!bf`|7vG1at<4trZ{^N8*m58H>y78|=G=HM$r1k@WuHt|1Nc~`?2>ACC zC`zs$dMr^fMPV8T2@DLZoEIueucXX^+%<(3wO);-MtL1+_?Sgr1U$u^gE4~%iJL&9 z8&jhI0cqm-DpbS(AC!xOPE^`S4*!Gn=U$1b2R-=!grxBk;@50$QYV2i8lx~$0fHg* z!@xg=Q8};LU&M+rW^8}05!%sLOVQ5+`ryv_%#X07y3p#%}RHgd}_%o9rc`hqx)D*iD7Y ztF3nO151Fsv$=oO9}bC8iXKlpFaLAB&F&o$1}zR6&%e)h3lRyuUOD{B@Eh5~OW%DM!%? z1C+%`w3)$I8O$CTK@&rCm9gwAXy{_Ut}>V=dJo+MZT5eWaa0@Gd6nU`Pzj(~4Ebe7 z1l4*4R2#~5m2sWaQNTLq$+d=caKdW5Q&$<#9?2eS!3?e>PJ7$~h@3zD`8Xr(#fL<0 zY)IIwuomzUAc0y~3nUn)P$rLP&e?>bNQMnfbDl<@4g4HNNj>^Ra*WUtfk1VBC=j>_IhuPPViVcmNW? z`*v7g5X8`x>!?PiZYS~=D~iR@deJ)rhdF;qjF`)qvcCwkNQk||zR^pq4?|m@q0MkZ zdy&ZBgXj1N{Gp8zDs1D~x7|GB_vdTjYFP@8%Rbpv{{2fPASSlL7MF_%-c2^!g6_6iG`J)o)LN;(~0mdjqVXEq_CXT>YrMI5T(_9vd?6JHIT<8kgAjTdQ8C}Pm zf{7c3n4ZnLo`fm&wE7H*mF;ktZU+KC3L@VgiZOx}kkdedC|s_aIm5^!jl@Wz&cJ^i zw0au@icvfGQ3pI06l1$hlW1V-vA~N0CEjL=$Ody{C|V2mNXSqJk{BLOBr?=mh~&D7 zlU;IpeJvJ?^`_F0=lOESHDLZszHpw_e5I7gj56Nrmu!#f^~rz(C`dxcLS?ez1V9%a z?6>`sHDoNr_FKwJv85jN5Viy&hd6)Rh@|E9rphK>2^7on`FFmGtT)BOLKriaxd;{z zf0e*$i?#Emm=(FOdF*CqFaCmW*ECM#z~;$A%O&Wz8@GkZ*J7Ph9U@Ee-O{A za35D205G`eRt%4X_JLYc#Km3Ud#Z8IU($t)L}E&s<@i1L_gG^WvhSjXJOh8)VjmZG z;cM&1*mqHbo}me4w(i24kWhQ*HeYpCkJ!f%;u+Ew4YKbD9e1P)OR?{$W!cmicI^7t zH#X3)W3lj#VAvVnYtKO$De;xxn{Bzns>F-HhzKenx{RU7b6ZQQ${b;cOSCVU3GshmIq#b6t2DsaO&zif4cct|EZtx;!+K(dCOkzbOk;z zen^6mnqds0C?-B={Jl43K!U#S0<4-P_<1jYAT$7jyM_Tt_oQIxvf#o~%!JGKI4q%J zvHIE=1K@j5anMo7V9bD=<>z1fW_VQWw;~ceVV#dK<>;|4%tQiK0A0k<&Q@6ennn)l3yZL2q zL?E@qk7Gn=(aH2&6s}h?aPO(e`Bg%H^Syc_j69;+!c#sgvPG3IxLgYZ&pZ=>fW;ws zP-H8KfC&MH=B)Br&c}ZvTWV()e#u0``L>u>`PM&Wi|rK>l?ZVWAfXBrj+oDUVz9kj zC-L=-fUz}6WA@Uf zdx#j0xl&~i*!)f+R$3aVFkdv^)|(58h_=~4K^l6vzT2FwT+a_kbgT9TO8o#O(y}nI zf475cr%azZHbsA;eJE4j0z{kuk_ISMktkW3#wk6E5Ikw{2tuAGz~PX0?7}fybcPup zT!=iH`qoALk`PmTSez{BVyPBZeVexP4+dn=3zA1lZYKD`}YEu37lK~&73qv=R zD6$`XIKzj0^Hh|@cBf=4j>-y>#ste8)|XgWrsL1mSFJs?UmIV4mhCpOkZZLUI`za7 zh-nRLO}In?6#9wW?5wyn4t}cW-!E2 z3S@BF`yhYL-q5Fj`gcUWBB_~7>CekkO9;nm!Ebehv zRSK0l82A*ice9u8spEB)>`;lrND?6$*asQB0X=^oYPF^F4h0J)HU2P@o_oUtMtXl4 zJ#BRGLyT|U%tDKPJHmqAyReXM_^XpW3A-UzqTY$Dw0*WGsR-Q!A|ArXlcacO1nRE3 zdvfG+V}c2OCl=^7fS(C)8-okb|YDkx5W!Ux$IW;yL7yGtwpg< zCw_<1@`&Q%Qa#%A+)EbXk|eGLyitD`@sr3`tO_J1F@Vvn`mJ5!$1o1n8m$nK6vYPV z9Ipl-aFxjf<0JO>HT{y{dW2v=4%+X#{S`oWJn;E^KtkJ>be+~tnlC7xJ)51J* zpVbn7>Wm)BHvz9OChN9k@vxg(*5-Kwf%wUUtsssfe%^dnY#o)WkLB*^GL)h5xynFD zP{OQ#RnnK|>P0O1aXrtpHmFNkvJm;C19*ag8`20U)_n#T769scp13Z6#9phj=E*-U z)B0MJG-*eWG1_H|zwe5?Ji>aF5GtAT^KSn9`xP>jfa}o&o%lGt#E)@kkg0YdyQWgY zE!a`VTzFcb*1>I`q$qKnUX$Bn-$$LIgtX~@L-t)Xh#ZrdrA$!qsKfwhVQ-z6SVHeKW* zBH>D{8xyerCs3#W8kx8mGbBaOzjMTYrOVl;Tc-!6^6&`*gV5T)7<8v3*o_crBqQ=jqcH-G@qLg)o|wb0Vr?)tx41PqnqS<+vSND- zy+9-k&Zz$_plWiN)!3lee5>o>cG$otaZuTV; z(CgwTuoZR3wnEboi0y}!tjdn;5-V|MJkz#IV@4@cW113{QijFp`9LE3Hhp5*p0JC`u+3k8LWf;+VGq#NmE^MTVV?_P0El&Q9|HG#vQAJN0UBuG zq^$edqkAzeN||*RM}g2fC~Ny}qV;0E+1I((VdG!Im>>DkaIs$TGhy8s)B&SiLb`k@ z7WWg}rI9+>H#QVeZ1@s62BO&DUVD^hs&jsP5YwEP5b9iS_VRzo5wIzL5InF>9!^pg z#wv1D1U#RG21jfNAfxuC*6Vn8>OtDIDi}~(=p`_^G;?o-gJ*BIfBs!Uq*q^>M`i+` zEU(Y5>-wkpFS80>T|RvLY<06xrOJNP&wuobkGNEiHMHvGvDe{iq9kEBR26-KfuCa7 z$jz<6q=hUAV+p3$KDzsVQ5dkq0Aep;5Xyu9iLe8YL|zjh{o>)~YD8TZj}4kBtu35` z`WeklW%rira(HllHJ4886>$>8G*F9OA{M#f`P%f8xGn4V`%EyNzS2BpF^FS(JQVB^ zj1Im%+hF**nKN=Vrq`w2+X%iB{oqF(@JN1)qc%;v5r{^K?-T2PsA*eK863;$*AhQY zEN6>OChZ6^{v~@@WTnKSmsRd0j{R;WShmTV+jq{lOh$K#8$##Img0y~Kfl@wyIGvA zo46zbS3nYdMQq^5@uHMf2PGFO_{N(5PO4zgqFf zaVc$4{4wSWov`nJ3Y@#Tx~5vMp~1kDyx3;ThvNCS6@Oa%@;brID1sgil~{C~2FQz2 z19sM$p)EV7vH)95jLHJcbe7G*EuR>G$vxJn+xC4__F1MaY-iuYJ|>uHt<3g)wD5o? zy<`!Q3C$A39~wERuJOC9Fl zdb_1Kqw;ru?iWOHsak3VcEtX+s^DTsd|%POfFJubIYbxSm|c~C!1tI;F|bnT(-?u4 z9yA5a%U}Or_cR!4KnVgS?Atxv9%SZhy#Lqy=b;$*odmOcdBa&$NwCUl$XShDrT|G2 z6hMOL+0t{APxj$|Go%)~3u$RMC$u83CF+rlm7fsv zg|k{O`T0jE^}Cgmt%_x~kXrn<$XB^D+hyBw&3_`Y8oxQb1OB^}NTFIgn;rjiUOufq zIY;d_s()3p<6zA^D$&S$pRJcwc}6+$#1O;-{5#i}^3o_0kwlCk$`p4OCeR1WAJr^2 zUf}|N25YuxtU0}6Fofg(^)>tX1T{brBt|Jn&LusXu2VI`MT&dLm4nA(E{au`Lb9It zy1Op#91(E3QbmMI1(yzWkV9TmB=l`6Il9`*W?~MlX6x0KpF+fJ$QFe#g{{R~N&){; zRe7b=lM5fQ~fDl7OP^#6|Se8@11%tR3XHRV z%6ELh5WpYRgW0F=Is{VO8L^%UNy3m3>m0-jk2!-a~D^2o*FURO*a(dIHt_HdeK{>8)Em^1hgA_7!s(~k$<0bll~=6w=TFym2Q-TB&_OP zebBA;%PE-|JpzZ3Krgl^dGmT{)V+;=*U2FCo|#x%SWH6SORVeRyd8n73Oxg}@>9UW zBn9^N$Tvnd1XXWfH`!bSkO!qY@y^LsJM2BP%0rAouEj}w1Z)p7YSesD{gWj^i*em#TRjB%xon9NDwPrg*XLXhzxSCU)B|G zxb6=0R-dlIl|AyVvP<^!L|m$0Gy~`*TvO+_t$n9)$S0E;)fyAxM{Z-gyfIfb^HSh@ zu0?!vMF{E?Z@^U^I$<`2MA=2_S(k z#;(D^7WlxE$-EyDb70?(U-Bhyep#&6psPQmA3pT+hlX2#77dO#K$%k_%e7m>sd zRODKWaSYSIpqlH2sk0wqWhhpsQFUXA)&FLtIL90opUoZDsf2_*Ep}zL=#nIHXS~QJ z5_w^Y)Y=LRBq#}`e^z(wrr1xXv^*NxldrlOR8cA99%-OJuX}#BcaYN+ zErNEH(KLvxRExiGjp3j+IDj_Q{Td@Wpa^K7O0P1SBS6@j*bxuO^-!rJ_A=wC<0V9u z!CP2tVI6UB8^k$(jOG@mR=WxvR&biXH#>e0bNojbLtoYdYaPESivr}fs(cWRu7y%mpETLRXfB%r5j>@)K5=}G{87cBmSCty4`k| zhfSJ026TE5P!y&VB4iz}UJJ=!vTJ2cN1tA(&~+=>c(-!4&%bYX3z4W^X3l@)o9BOR zJ~<{1mG3_35+4s^?itOG`($RNp`jsy?Vd&eE!7Wv)B%qKT6)x`Nl=E1BTC}HdL_0M z?Ro_;wkx}TO18Agg51NmKp-uS$-BSrCKok6>Bb!K7XiRJo}hg)5;Ou4jb5Fg{ljRj zH4#VCJ?)2V<2>y06~C-@`B#3~tOdqMy)GNj8c~Y*kEq@(zho^yJ z@w0QhEr{7qMY+rzfebubWM=+jPG%3MHZdwk))ZSxzv;NzisFI?6Rph>1{p)00b5}=C6`Cbs{-bVXJ$HLsJ*VuCRQ( z2jWzJ+2RT;aW`cU!7%a@>x7_JMw!}$sk+2^XhUH{17=;Q&wH`t@bs&g?6r=aD@EpPIE44$r350_n z4I}@(90iXmxhg?w-2?(CK>(iAZk(Jz{qNd;qa4Fg75d}q14b=hpx2}By!I1e#Y`~c z>IbZIghH+22}Za%2*r^4*B7XZ#9<7S4FfqKW{`B0xDcnz8q#D6IcN$pKsD~D`yE^t zG2r_Oo(**Uz>Cvs+e|JDwzzotK8gdn0>TAIL(e5@pbKP#27v+XFAQ|43H%^w_rfrL z7PYru1c6lb>+S^H^OCRr{8Mdr?&pWNR1G!b>Lr@jQQ($%FbsV);NOirgu7R)33Ja27?w?&`om#Zt(hdn}nW4b)l!T^V9%mI%SYH`%2QK&^oX%xEFtJsB# z--yWd`$hi6+-Lu@$^<(2X3ej&-M6)~EwhL0X9*BK+ZFSytkLT~8Sn)oz6A2~$#A~B zXBPCP#ENapDkqjEFhHpq$%=fMgrVHtH1lKBoYY~qp)={VV79y6WkJN9@f=#ni$l&q;zZX}A6Se;?J;_hn0etE;G_UVqB? zO=+mRb23pXcb={48>@cSiA&XRGtOT6b|Sk+#6|cd*Nysd7)!I0Y~aRxU&yB^aYH2@ zkCMnuJSlz}LICX2_<$%kg73>_WzaMwMCn|9^e-2!88r#CW4NGxI7)4}R1E zkK_V7YSY98#`lvb!qECSd?DPRu>~J_wZv;I_=fvvi%ur(2r~Ydukuo4-_7!JoBtxq zyXRbfOGgxAUVL3U-<(bUxGT*7Yl%mL2w4YpzaP4bHGZe69+X`gP zZN3y|7-#Kd`~;oPv$+ZBsfz+Xus0pQH`3=TN4O1T0<=@+i)>ar|FIH`aMs&W)FZF_ zzDBNH=((5>6<_It_@~7GVePE>HYT!^MHTLv6OX&RG;`h}kOnj+$^i(YkS0jF!!(q3 zT>#19IQ!;T_JfRni=^|i%x7Cw+(qK~o%46;W&cvG`XWU=lfT_ZKg>n$dOqs`E*E#k zb8g}^4j{qG?oA_)5fB|1+RNi8MR9sSH5*^&y&4ajGU$p&?eexy09uutk`a5Td@3i7 zvJrczv+@L;G*F)QeKc^PM2qrk-$^@53}V#_HDX6ivK7^TVrklUvIh{IQn*@qQA7s@ zZQsjra?!D>J1YAR87C)PF>jAIG{p$_jh*Ojk7c$rQV30lZ|GbR{Tir@hQ0QAV5XGb zCba}acNB&nIp~RdX@&V?Ru!*;zDjYc}pEhA8r^%@Z$}-*JIctfSi_F_EWw z-CEnW&sBn?5|(C7NrSdv}A0*UM6R@Tim7%5&hHHs`A17zvbS2Zy+-R3Aggv8lX6sER zQwKzrKxN>VHbOZM&WbipZU(b?Iz&XAFEQ<)PmY&)Sd5=t@qFF)%!dz=#$g87`OaxGCuJlbClEeU8DwhX}UITq)o=VM<%Hr+(VPBHpYTD4bgi!EVrQ4j1cv3 z==pwN1DWwkcdvaOl+oIQd=S!ry_dNK_kK(hP0MxT)Q=KHo50xjD1!zd9~VaCO%+3b zWI?vJa~58q)+E3#!k%=?wJ48V%$GV~kg@ibAo!#`?XI?~T~LRyJu0sQZI6XPn)qt+ z4oMT2RT{Ny;KsbM6vQmTzV+gMV}No)eM zyBS}+3;ubrHbWDP{Ur36Vt9ZwN`QO*nDrq&uTpyA{O3wg@;Yl~{c}}GaMk#K)GOb) z^F`Rt#m%*|%oaxeT+a3odyxeg*M~H{N@d zSmyk5S(MMeIx9|$=YI(V&POBB!Z=N0u5x^c);kfcABu;(lnKNFr?o6L#d?*OQVlMb z#a7hdp07EdiaP(*M2IK?H1(u^1bhh5dk~_(t~cAg5FMhGe#*YCOXr*OuwKoxxl^o` zT-BWw@+`F}R?RZytg?B=e>)R3-_0`D1K`KZrjFf*fW1lq`@i{y(^^VceS9(z6IWP1 zpl9Lk`%u+eyzVA0r>&2pP{|;`EcC?OJV)G0V6GTccx7Sz&-FIDcYauZZ=A1uC4ByU zw&Pl&Jo@u5%Ln1LcK*zdaSsC3U?a4Hg|jR+%k|+fHy3rErS7mdT6D>~xHDduBuHR{ zJy&5UiD`mj|14V3O*>&G-uYy(B~!zDt~!b)v#%M9CI#}kgV7}5UTH9O+@~h#_$q^` z0xeGho?dt`ntanM4#vHIC&>BJpTE1M0pS}NkaVgG6y{rCR~`E4X;BHTGMaWYA-adh z(Woyoq<#1vxyQFap;o}$Nu|#h9}&Kd5j8`vvD-y&WPn0LofC)P~s9m4!_yv zt!Jx`&ws4M^y+&0`PY7l5|?UZ4NZF4?sbH?-~c5EpVXB|5+8=rY$F@Eu@D!45sN@- z9Uc6lAuhH;K3ZUlR>;rByA(pYh0IC_#SXz#nFW281{f;YqyR(|LI1D_^)hQ5^TSxQ zx(QwOGlCS{IpTtUs*4D!LD&j7eIT$x5T%}*DB1Fe2GoUD2hRV9w7Eozjv{U5`DRuY z5Bb4vTbBmhKL5)9IIm1y{Ethq;|ctSLU;_mtXGvgLFAf$I+DJtzReMm*0uYU#9TP5 z=YK8pQrZLC=EI+ND~ZY}zO~JaWiEjn*{4p6 zWn-G`8OF_7F){O_*z=W>2X%q(6W73s`3g<y=UMa*A$5$36^*+`BhorD>1JySXtj z9k$%n$3r=dZjMOo76%34t&Hjbe~Fbmm6spSO?YE|EVeRr?pB6^Zi6iQv^jV$Z0ffn z%lk3ONq=L1V-maCZH-CAPkGtVoIo#sKY?+SqzR;6sA#B!cs?dFaZz)w{4kE%4M4E9 zG71UfkgyVETv5!peskw=WpTUX_viW7wM59@KOzjJ;^sD+FpUp|G-h0{IF<;AA#r`y z;M(4pjT5E-dkM9MCHzR^>%e3!bFM0{XZZ-}dVo-W7R5lxgl5cjeMB3>`K#fNLjDW3 zg*L%I6U5v*M_jsK8*~f*z(QsaP!_1Lg^*yD1j&KYy&U;4P2Q$y@{l;O$sY33*{mN* z33w@uR(x^J1$2|F>$J@`;+{;m*vG zQNG9@3#CHA(aaE+>Q~Kpd&Sr53N1+h0W?v6YOI4K4%0}wePjbSrgph0OcK`@Grw&; zNa7UuCi9p=H;peo*0-5@I@PAG*IcfD%Eg3Hq*jN+ukEy_ioo6QG6MRps<+q{zl;IR z0$fBAjFl`lDr<0@uZ}nkG)wh{p9%JfP_D2)eU)fHT?~Qht(_u6tC7&7mCP{i#)VXW zq_di~BZ$_cYwT9eGGA@7pDT4jV(H7|$5!Ixop9Ax`P}*DkWRT+JKHi_ZI;DW{9yU~ zYpd+36F6V<8P`*a)oii*mODa0ESGiR$V#`_XN(IKCKt)!x%BV3|$b$2r?)_Ts13yZq4#5iJP@#sZcf|t|OaOT%QYki3btyAwn~1 zshihAmx(7I`JQc*(TxHMJhb16Z=3TdMhW$$lH3|A_QIHNqXs6l0MfQafBF~DEvdsS z2aKVVAfVc-0@o)XH3+4<(R!@0=VI?%NvP9_Qe~jI+U%6UO*gt=U1|YpQx`6O=|X0% zx%ZligZ4etHD%E~)1(dBcTuGfGW=NsJ-m%GP@B>MqyT~@mx@7y?2-ozejmFIR6n; z^_UT7H{z*2trOZq$ChH``+endOk@GJeQV%yJa?uAdNtL067w+GQLNa9lcprKm-iK?R_D@+pIyO0gcb zX#(AgB0nZEw$AIc6_t8_S{NgOVR`d=ZQ;qj{riNBk7c$r;*Ci^g3NI~TX3Rk`6oIy zV4q>PJ)-&l+546y$8oF8S7CV7?Z_zO4k9C_Bfwkzc9cCG?*1QuDY3HHqZHG+l&AU) z<}rHtFM8qd&f9#k0YFNkATkM2)Fo5eq?D9IfZsW|oy&LX^-0x#{%5K84BqEFn>=Z& zmabQ-J{cD)v*$SfrF`>6eerjvils;5=Lfk{Q6U!)=zM-s>BoTZ_Dg!q3u75RL_*Uvh#z^2A$<<2&;`sIek_xqjbK~ z6*Gp7>p;(}+I>)SKQ*Y2zA~Iun{cKp1X)IX9+Noqp+j1KXJuUIE2d*vwFLn@**YY2 zO0Y85l6%q-Dz^8%ZDT6D?=TD<-U9B7zw6(|%3e$EVTZl8e;akqDc+Up)xVjKFTYLF zMXH|#br?|lH?ktD>h@+F-UjY6q4#fMEBE$za<7@RkI~5LW_#}Gd(0Xcky8UIn174b+X@GTeZyW4i|Z4$JZOh^_zK<4YLxQekpIe?qw^wP4;sdLL38O zNeo~ZBcJLcin+n1)zFJ#9bpuafc^ZnC{P_iJvFEOt|_uR zev*WVPjpuBDRTzZda%S zL!I7cZd&I=8O1aKTaM`Md;k0;ds1D0%BRKbzx2)5t?Yhsz|6YkIM|9HotbI~nfJ}u zawfWeg3BTum%*LI)O#-G`NJfeduo@VPUr_ z>0k%R@p{~I<~lp3US=)B7X@lId0Sv!vU*k~-nRv)4qnb?mp$zBCp)3(a$x=8!&b-i zn%2F^*t0GOjG!Q*N8$R5i5*7B7jYeaM=L9Tyl*5J*x7~w9Q&Bs#_5YjXn!!!J$3%*!Q?AthjeO8_RoF@OrN%);HS+-&$n`hX~<=`n9K3w#RHffK_(?R$F#| zJi@kdmxEeg8P1@ISrW4tTc!~PC8eUqdfqxE1cF7$F=yrn^Uq-h&8n0A?y3c_+S}cE zo5S5*d7dsKQrhLDU&_0zJJkxN-;l*l8Q?IHcJ8l;ID+J23nUNFbD%Hf(%0&P5ZrJP^)h@H}&?M^8i$gQ!p5(oLg(-lRtT zJsT~bOP$i8(NAhSr^C>7F!Zxp(+cxO6Jj{WokPN*9~x%Wx(dl8lsw$nPFiOwweQ9L zIxgX+SI5$;3g;u~)qhuYZWej=^sJK?wEwkuE@q46G#{s9J#jsy(@Z;T(}!H|qSV_j zYP(Qr;=?kVHd5{AD+6+XU?jqSgjp6r9OE!bkOTS6g>ryYhDz7_n6+gUE!|aYdGCAg z2IqEHFdd)~(p7Aue;X?^B<&2C?%zhuta!vHS=GDfFkAL-phh;)hk<%ewt)yy?wj#n zk8_F`kSuYq?_Y;8uQc1uUVbyyy!^?8Bvyu;>PHJfXuqz~SAYQoYi zvijn3UX-MZTJ}zVy%c?+EpY4Fz9z-o9B+;4=ppI- z@5LLokUM0}eV_g#-+vlf#{o z0cC-|#oN`XQYDXnWoN$R-gjP~mns%Z2s+PX{o5#y`ob;-H((1UAq{u&*!91El@;xG zWC<1(k6MCbn@im|q89c>P^xH{qSlY3c= zDS(lE;tH@IL9&TPYF*~9B^FL?>$FKsy&PZ0s^JchAW1^k&V>szeUZ?I zfscFJGm;2_8XwI7_MIKsIhIPQdeZN%`s3Gp0o#09nk0iI-lwIIYOJ_^Sh?6JuPgANJ>nl$unx?P&(KN?UsdYllA(w zn0(bvR2>)cH6N$?K>56U`5(hd^~Dr$d|GBRbzb#;QaiSisH!v@Wh;Y{`KETos&lMc zy%S#wwbJ#^*FOw;XPbnY;7SxbY!auETIMb1rbJDDHeHU3l@r`lB2hBP15R`6ZcF> zlpGL$X>Tn~HZb?L+_cJa53#w0o*u3pr7Z~Yd)maKZ%YD#IH10K`;s^mw-)iN3}2`@ zP{4*0B>|0ie|Oq@hqFq{CAJx{8BG>L8ir@vI=vAz5xB=qr|_MPC}lVxCQ>L-5 zX_8NJoi37@81JUqHamy{8VDNcC%+-uxF8v~ovGI5wD%+eM9|oZZ+JG2`jzL-WxE7_ ze4hl6St}AnK?o|-^y_F|XnM$CXx4p{>U6Z73{gU=uM8OBFCf9lSRd=Q%TTJzHD;bx zft=Sx>0;g5;|3aQJA>Jh^q$_%-TSvXuny|AcAu&nw>!ovtQHI5)aGKWK*s;=kCsrwfY(fl7ER=t2K@n5tAG%GvYCtkCsAW<4DtIW0zi`BSc= z#gDBn#h?oFMNP@N`q_9mefi*^FEI9T7~9#|SEDa~o-VRU{;2uZ4y&+xa(zkFou}jc z*Yua+=0zusAy6Qh^gsT-agF(Fsy0s9ucyTvV;YGh>1}8{7v}#w%p|e9q3zs|eM-Gi zs)pW*0b@}-r87fyVTuNh@_Al=OtZ$Y5F2zP!Wc)qH(A_OfvyI?b6zryln0Adg~mIR zTa}qiFOys41U>g-i9`>l&oM&^Tjs+c@fl039T&mA#L(1v?og9q&OfJ;b<4iLp_1n~ zpD*(1qZa;jVaj*bwd2e3DV^%H+3m~Y{A)fSj@UJiw@g#=qtm8MRF!73emZ?iO2Gi^jICsAV!Gq z8w2!rwt7MY2{KgqSC5;230GwIE^cEKOAh0(cd+97fo)YFgShyHX{ggVqMNp@@|~HJ z(~>|c17aTU%3)iFA3?Y1IFbYs#I$#K$NNEUyPyYh8LcP@35GU-*R_L(8lB=cc95ub zmBzRINUiR|UdP+HBFfAmCU+e1mRH zwqUbxGy}&I1zi%{=D7`U*ru0hQ8|QJ%xRBJ-C!UM`S>dW4Q$8RzjkvcQ${m<5DVlB z!#`e!FQH6OuE+85;oDco4zkG90`n|*2e*FFQRPl;92Xk* z*VxH^chv%DG16{-2}Hk?UthPr1w(y@Aduu-+EuKuAH`rp=XPnOw;+zAv$H_-Qio%O z)V;<~qE%)9VqZ#QuuIm;5Dyrj>nd$WTi9QD{MOOdFQCo`ciu-zP}2^(Ys%X%t_~v< zN?)8jSgKvgZgF)T9X?lF9cLs+VtB5joO3V$Hy8iZ5cRTux7>a@ycYTv%xe$r;^-PT zaA@AkZx8uoIDPxzpl>v!aTMX+YwR1;x1Y1=u{7?@MfcT%8&0cuIHr;#)VmDcTU0y~ zBQ~V?%6PM5tK5)1-h{@TR^1Q`B3+_me|0;3q!)@KNfFwalSv#f-=XC2Fgx(m+0WM8 zb+za{9ovmTwRy384|MQ6wdMi^dk+(4d(laAI3L_T@?hw?~zLk z3}7&VnB8Do5ui~gat}m!6v?yg880pd1_Ha%UW>W~NMZ?ZxNV|2?vYE-6^j9(0N=*x z1~_EbD{Mv%GoL{MPoB})g`5i}E!$Bz=zeq^-r;nA(*riq*o_R4f*|J16i~ZRfgJ>Q z6%%r7u&E>G7l06i3El=9)0ji(>#J{mUfK3eHwDh=E5kYWbb)ICh=nK<>gWyDt*19^=vbp=5PUbrk*TE0|{Ram0#7DcsCWi#(<{x$txX}}vi&yWZ|-G!?n|fn zQ#w(D)r?tvZZN{m<7IL(^?g@UrkG9caH zT)|oQ6uQ6(A)_ql?RR?baMlySsnd9;5D1CEZDDsnR7X&_TBvS1I?@ ziOYrqh9hWvA2&1`(5#g}A#UD(dje=82)LCpY+d8a5-9v0xlExb3K9?|y`xvI1x~%4 zcZqj^lp!b#A~!rc@N|i;;)#F>j4b_R2@`pXxc7m)b3wDJ<#n&*GxuQ%kmYfIy}_DN}wT>m$17ovVCn^^a_UF%nWvG(n1xq9aH%yeN9B_u#HlEJz5PXp@J?ug$@uU^SYZ=MEvr_3I;hbegHq@|g=2Bxth!F73(=UDaHuj4Zfh0);>z{l+jFz5iWj{Pt1cd}J8K29rHKNsL-w+%@mHCD;14slz0^~a!YWwA$1_< z#dMsPi`sZQR%#XCq607V>z8ybonkE=%^JU!&MEx0NCJt(&46BiWpQCAdQZ-MwIRKg zVs1O~{biX>J>r(uMIhk`iFz}BzJGIs@raRTRyG?=0DLZKA6midKy#CG=w#brag?yA zKM~J+hZEJ@H*VDVAY?wlvO4+S5N&hbKsN_CWQmV3x_NK9y*Kb4IeBk<=Chzb7w~&W z6zb5%bW%+7QHd*mbz-Mxehh?=H>YjuO!{;FROpaFM>h@#IFTZ`0onrS&-p_89H2|w z3#3v)VNkna*?{HBC59YH{DnvY5#Cg@!z1R#>yH!3V_`grH#8e(&KBzNW;hWK8H{e> z1np<{v5pOPt4xFl1BBUFGA=MdI_9kd%lGd3uCcazym{__)K>=de@jMqVhGf00->BH zLK-@e4uM>Y|9jv=0hJd-%LK{2A9T;zz}7~jL37$ zjfd#SzJxSVGOP}HEzRy|%U%S~Eej7-4JOQD-zS(NnwXk+t>9j+1KU5o=b9oG^00r2 znM%-mW7)2MFDo)4MxAXom-)P2akwlhd9h!cRo+tzBPLsYaB$qtdT5 zei%pP?o`$}bpNWB7ejzuRF214nI>9h;AazWoWA@^`y%Jd&$Egd`h$Z6SVScbx#i4J zTbM+O&|&{^GFS1rCD1$y|6clow}oMn$4BXWkw0pG|FCxUo3wE+o+|NpljUPNyYsU7 z#?x$#I_KwW?bkx}BvW(SuN_s)duZaQn6_rYn>E3FZ3tI4idlp>Klws(7P7)m>zKOspH3x`AAd%~^ELS}BxL&PEg#45;j4V;WQ=F#TVdj-H%`NqP{ zdS-w$|btG>3A6`#de2Hcn`>xRxi?MS$P;a0yI@KymM=-!E0Itn0)u(h^gfKVKp z6t*i;IxCLB(YeVX0z3$uJs6iRZD7IPfSxAGBt~1Ur%+CvdDWw3#Jsc%RaYc4Jn>uc#_2#vb*we?^UJkUD zc~OBJMs~piE@%t_<}fcFxS}{gS&fp9@B{^|5sw8F{mbpe0WNI^2jS6gF{s*hy^lsR zo-YiuayIcMFTej|nU4!^R{T;CT&HU8tf*J(Nq|8VKdO#B&eG>E<#2Q_n_6Mm;bl9T%vv1vQ*V-bLH;nwby{rdl@o*(Q8xXY zF7jV1KKp4lQb)vDuHE`Goy+Wf&By5n7n33gLKs3~&#)ns+&A4nH1odg;UV3f2O5`?BR!{+uIcRr}!Bod|KW} zJNuOcXX(rDNVd&3gHLwAAlsnVC*>k(T9j!-AqCN!0#2S6@nJ`d*Vw@Y>@n&mOhLTDQ`% z8fy3Rl+X3z*xZeA_Mpap%2F+xo3GXz-D;^xPxY1If<7R`T>8k~oOvpAbR})?yFY&K01$x`hR8g~bpb>j0ph+NL*e(% zHGE?Lt=aM2sGVcZ2<%U+@>aniF8(tpLM(%zH?Qy;1IGkEv3rVt)xdHZSpbP7K&BMc z)h=f%(DZcu$M0QMG=lxa=l%J=->6pU>Dq0+CWOecaMd;8!<pq~7&@!KQ#UdhfPEhU z*1M|8dsykM$mV~4?s_yIXX#UW#$FF0t)nzuT5ikg8|wKz2pt1~d3XlgQgqFB)M0HYj_49wT-1pOm0RWhnI*{dLDOXHp`;OwQg-2JS;) z@~C-#0?Sb_De9W&A{Zg}ieolN-1-$}~8M&MQ+dgfNv4FkxcvTE}UxRO(gI@Xiti3YFt=KFn;YB9G; zE(G{$LFr$O`~C4k(R<{gb(BLYMgK&ZcSUP|WEZ$XF2yi7MNm+i`}i6WY@*h3K@brZ zM{&~IU-CYwwVe3yNXUYO^ygxDe>72!rN0>QW9=xo0k;AUVz*MWM8q(N?4=g7AQr-@ zEch8uZU=Bd!NxMD`pSSFxG1DCHx}-?QpP@lNIE!0uZ0S#?m($IR1DYCsF+p;xb-K0 z|5zHjsOnp_x7&3pwj`=w%J$aXZ-w1&@Z}LI2n_9-6gVU(@v-*snHyXhKNO0A3{h`W z81>b;dBeimb7;?!V!D{Cucq@+p8u~u$mc~d*FXItr}OpyrOwner&IB&-VN8%N*N1> zSrbW-NNMQbYtT}Fr8>GeIM*-7O^RcGz|`#D2gW*ZA4#9GXnXqqXebluYjF0|=fkGX z$61#BpMMs!aX$TA%$ELR=}(eRvZt4SPgQre9T?~7&dR!tFJ#=WjLDXF z=RDo{%TkAwLYt%OJe`q$&&4R6#Y14cVHoch&01RULlH zUj9|=TVTAi#g+)oyZ!5xEpMUd;hisgUGE;0kn|Oa)W?u`v0bZoq_+IF`LZZX~Oz*3214_JQqPWM^iq6V3%zftR& zYETnj-+SdOvgUfPzLn`8F0{dan$6M=O?k{+3cH^Hh+z^LU%Z(?l>+K#+keRWWsv6uF}xVyX4;;u!D7ccJa z4i|@uyW6E$ad+3^?i48Q?iAO4>~CjwXTSWFd2=#3NzR+(Jd-?!q&74utoG$-xjS^s zq5o2QI4>8B-IVaRKxjzA*uZljOv4@90)k0eiwY{9`l(5osu5Zu#=gq!?3QkTW@BgH z5WQ)!yfz8K2owfMMUQz4_C08(kgb2B7mwcdI}5FDu3l| z=xYsw!;ZQTH|mlf7=R2Sa&pS29Po9k&TaZ7rw)2PBAvEn5(AqO<1ZiN%MBeKPTf37x&?EmTk?La8>trzeK$7cP)Lr5Jg=`8$ zcqRNJu*InJ57&N3ucx0$3t+ZsQ%S}3K7x|hA9kGCy+YU2zdSA4rb)}pytTNQbMj`e zK4#?)W+rQQ{NGV9JUp%m0r2NCta1Q_7M&vQCJRr>so(K}^Vc^2F|PF~wMl86Y$V4- zg#}#u_W4GfG9I3dsy=^Sccr^%Nnw2k(5uOO9n)DUb0TPezPIW`k3p-emLDTk`+H6e}xD5!n zhTWFj?YZc6p}o6`y5F((4*CEYgZgcuY7Lvhv=fo6olRHd`(Yl;;G!&IZ_gp7KKywT zwDSP}JSESHc@y4}6|a)qe=Jvx{bbqCxH_5#B6O+x>fup+ zLDCKeFJ>~^(@rlmm(nC{NLbjM1did9RsHzgM{J3nF(GRB?r`^1I3vPh!Kq+*^?`L> z8xe)Fp(qI_ZRU9TXW^pDeF}Zhvtn$>(6AUkqkP+vy|m>SJIK*-=QTUu57%+Abw9yn z?fYw-#;8(sV%gwau5mn{SscC3lx@~seDZDsj`;P;qf^Q=q-(awvQsF$jhWKbMqDGE zRjsP)9A#_RGw;K2fP9WU^M@{NtzNd`=+;x+UWloo3>%jR4<>Z(QpLw59dKu{l=(7d ziXe%xLTkf^s)Zp?NHTym6t;8!h|U(W@mi%-_^?r8QXPKzy8kfiV)DtdIOqBBSZvi6 z+$EAR>QxRsVyVNN^S7;7+_0+0RLILQbe#A21JI+W`G~kllF3x;Dvu(K%(!V7Py~t4 z8vV(<%NF_Bd`TRY3U8Z@Cw%@?95v79NVPsIOok#w>xUa4eEyJS-r^FmWe)jB$|ssK zim+b#Gvdw&d=I75_1l)lfkJ{**d(bv7#SwO*u)h_TyAG(M#~V@M!guWiK;KtnEF#L zA26++9R>>~5Sn!ECGZ?%=r*n#TQ`N&;;|BBnvtvdt+tEzR`_H5Wbw;JJ)8k(vIB|o zl>$Tp!#V=&E5GQQPOr3EtPCjlq20YCQGOuI7Srv4@F-}A*ys$K4ydCBIh%DzKr$DpSqMGr^j(I8#C1NBSIqOAr+96@MA+dXl z94$zshnI;c4A#8x&~N1sm4wzrYN^qoP50a0*)%Tagv3s~&01LPReSW>b5p_BVw~s? zeDqZU3jr^E$NH{_3d*0!um&5fD-2KFQ`6R~n5FP>>rOrU%tMnIVCqh8OQmDKlbzwA z%d;U!s$JRr!Nr(a<{>a|{PrWxkqvL>L|pgtrd-c+k)8h=mu~GMq)IDRtf#3hPnd(h z04JR&^xzP3kfzzuDKT`&kmniUO*+n8gJZ8D-|}NykS^_@Oox%9y+wm-@gpunN z_R%Vc8Zn3PmT}4Lw-MNahx}OeS)zVe%>5QF86Bc-V@^|5v+#3C3|R@GlWqN;dPEmV zCo7*8U*?W5-SpehWQ>vzQ9M3Q4;>vpl5MmAuoP$)gK-?rVw_+T9yufBBCQnBIZ-*} zp?OZ|asiLnh{v%tPP5HIi@p&*TH$6i=d(6oY}yZJ(kC8hkLOPSHp&nUzukF&BgT0c z8SIl2j}*gNqMZs^DG9$;_u63qx6Sd=|3tu!6b)?3!3t3hve~273|Ng~oi3vhlr#|&t63Xepnky~G!57VfNYc>y*q%>Wu55T;~ zM5tznun}ZkE-L2(Q=w2=yH*sW!x-Z@qWEd%x!N9PB0I&XEdW?CA^aIe7yf z3JwxtP<{^NNv1%JVq9KF5f_i%X2n30g;3Ag z=O;x`jK6IFW(>HoC@DwflV~o6H*bqngZWhTVWT^A*o1 zYfa;1F(UZf5u)3%3|pF+Hd5h+sON^DnoNylt(bo$1k;$%DgRm9>hoQs=!KE>W~rGD zu&M8mUHYbAAWPv$wp}6LY(l@=ahQDUKU}^tP~8JHjxy#S?q^LuU%=2)_Av!4D&cGrQ8phun8ppJM@Z zZilbLO_Ls82+o=ebh5AU{`vQ5M|z=dSo`_4NbhA$AJiFSL7=IRuJY=YRpgqzsVist zORg~o|6{`w_)(%LSzLE(j&ZpMy9QI=E$XjVv~ME@_LU`{N7t~+F&C~%i%Ra!xS>e% zUkbK*ro;L6$wg8u_Z}uWiGlm2I|FhQj6c1w#yw`~vC<{Pa8S``$?2&#AR!*MPZ*K6 z87YCYB0#6!B|Ds9)8ivY@32iGFC!j0m6qc=L-rJNOBbF?2B4&!oE`Xq%Amu}R|57W0L66 zY(;FI{zzxsCX5U(GZez_*`O4<@(&&W`1kJ&toJQBQvmOsQLVQ7;XsA!U| zth%Pa&C;CIdR`cuVNdpOciVVJx_WcNsR$325%Ih`Q^&fjNRk}XNI={#SGU5Od&Z3?OUjcH`ZXbY zGMgVl;7pMwN&SQun)gNNz{~aKK3PnKQIh`rtnn#nT+&s-i~n13tV4pnD>~xp%U_Pq zV=IB!63hW#DfcG&HwgG}qzwR{z2$nuKKLKiHMoAjp(~}sdS+4fii;2ghqF^M;mv-B zVikZi!NqCmknXVr3X?()*G2>G-HwxiEK`5&=%RIO&h(Ivj7FfhTnhSw*kEY3w!a6V z@srn&*C!SQ)6EQ>Pyi{Eb0!0(;zKAdlIz>iwZE5RLajWuib~WGKZeD-enez=1Q&|> zFi$g-`DO`<;k70rv|*YIE%oS43Eek32`bFzX6QA-S?+J=M(-pvu)EM;&71DYQif+? z|Ik?JrX)@_B@;t&7P=-tMMZcLLq1Ffq6ygF22@I^jcFr%<~~DZJMw0m!yLq0l8EW^ zguTq}$IITpwR^A3qO%cJwQLHe2Paell_2t~9WVc0EKB~WI=&ZLxTgcww+_bTe|?b? zq4y(=CPqE7?(ri!r4O48$MBcPB`awWokmc;84(P5uk7N(2KlT_`}q(a`*R^eCq>`o}U(pis7a3cqAJ%bKpj!i%}0o|Pec@_9bI8r)oTMU4}l z=Pn9MmB$|)6cgsQfGX^!AiZ=aFp~L;|2sEP*3{oh>(vdl8guvSI_*aCliY@ubjcT9 z0-`*7Jx5EcFUmnM4x1^VGoAk$)@ODw0((olD)QEcGAz`!bEH!jzx`SCrn`A91j@B#u$ zpfXb%-Vy=Ck9Xx{ouG4ur56E4`>~NW@42|yY8f+Gux1Np;wHZ9Y zEsjC_eYxoc_h$TpX1wOFq$W_Gao*8!PLj|T*$^eC_Sls8poq$8#?M7kPN%|60p-Ik*9P z^BZ@oDLKtcJGDuG5lniw)v3{&$H`c+d8leVRF=$ne01}rjC4WF;)ej;Z)**_dUvyR zy?-iv5ZUUS>hb$C2H9lq?7n7x0}1O@P6BTNYsH61>TtMkoC8sQ1>mJa6_S4^mHn`AxO1zw zTE+Q}Fh?78bGy9`y^rE%=59=3LA~xr-I_hiqWSy{adv7NCJpzI`D|gBKDn`P_Bkh% zc2ISb7;q+M#zt6kJ;*8uWHTI>RYB=MUcMl^-?omJKHGPvFztIz^VIi}1ixo$4FOc> z;U?USo2B#gVqhV(Px)y|ou8s>yieXIWS=W&n1}D#=2C^-9CeVIF=u+w$7v3OiU}|D_TIY z5`1{(FRpQJ= zaWuZUPJfi8(dqaNJD8=dV&lCmYe@{`;s3U&V}0Qi<>QdYhlY6b)rhHX13c)r!q(QL z_eQp5b^|6uHLY;eo~~!GJ&=80^UCD&rXWr!`%ZuPja!<~MoK)JUa?xSIQ5k(TB@3s zTA?d9!bxns>kjLQ;n@a0auvlvqhI?EV7;)vu1pzmuWe)mpf0e>P*_i}dTCvabd{L9 zNloaGvECt3!X`eA(&6~;qM`g}T-Ud9Yw0g0PMToQZQ)g{+61)5?EY=3RLt^k=*24? zMG=PFBbaqUMP$5m#jWfG_JeQRo^akh-Uj;r66s@A1v#;*(6ojb8rCRa(X_%prM?(A z74BA+Krcc;p2jSSAApS7bh=oa;L}`YZPic@tA2e_CywGHG_66lb<`gUUdFsf=L7se zr2(*U%!DjgZ0=<<6He!j*6TBBO-#C?}ikHB-p+X!rbWpd6@P*bS5o2>nP5$ljsUat zZe;{IaeI(76OI8f#VbnVP|m%*1~0u_Z8XCVzcZ#qVXxuyM1J|dQ)C&Qx@hA13(}P? z1)nf+LVGvbkh`x8qyNdTGlMkDQ~5YNQpQhImrmN~$djzy->Pa=(2-hCT^uiIqYS|( z+Wh66ld2u>8mEpY&)YrK(Vhv?X6RCPnvPD5x6GFo(L6?dunu;`d5Bn2l+7}Wujbd^ za3f9~A?Ani{y#12i3)AU%2|*>`6Rz9ndS-c5=ALt?ganIec5u2^&qiv9C&P zgw*;FN#VcxmHk!2uv13YCqp`$aHrQ8rtIwW;}~#IrqQT8WLZA%6sI(-(RM4n66g1n z#v>q1#}-P0I1>ycLkT?H0wFLTeV0~FBXNIjuAI&9s83=T{a4otfoYpT0f^1l;wTk} zCK!abXm0uhKIaFB@m0y7@sBIEmY68wtRYe|a^fd1#vNl#uvtFs`(p;JcY+INO`sl! z@##+z6Z?5}AOId!h>D>0rbSYVuK&fV@8ZsDL$|F~%M@Rq9(jBH0TbBJv^Q(;7joQ7rCn?1~Ft+f%TmoLgXryvo8t zPP)E8Qkja|r*E4V5qsRa+XS;sw^xL5B=z38Cc@+;mkX zqw*{{-ViJ6OqXJ13DWPg<(i8SO-u9NDUk7Ty__2Vmrr-XyyN4F2mAYjoz|>AJRqHe zCWiCFt>>I(KIW2|a{1qtUK%6Gl|LBjuK%t+p-q3h`;hN$q(4b~Dzcfp{s)BQ1_5ze zdfU;gys)bSMzXTQAsc^F&-6$WvI@fUa=8q~U7J{Wed zrKu!_<}y}okLq?<*yi^TxaXbAgq!Ddu&frmZ|G00)H zDc=2#2|2lL#3Tao1%ps&E6V@~ph)?X?*+lT*$C2F&^ZRq1mKt+<&}~lD@F&pzy|Q) z6IrW6&)JY2kM&m_CI(SjbH?MK$*y`8_BvDbLr?J)d$St{i5C5fqNY&p#P!YVB`H7S z9_Iwj$~)S#vlTdkIdQCO(nR|_IgFtZqMgZx()!#TD6QrnS#`kFLgjCn-%bN>oL5iI z9e~0WdJLzGLj%?BB5Z0H^6I$U6i(HGq*vf@pi&^7$^YS5b0k` zOs1=BfRpl7r}{*5bAFHp3jHb6Y5ZB><=`#AnH>=`L?gV7;DPMh5QAdLwq0DnbtqD? zaRP*owbJx~I;J2J@A;H~-%7H0}v{FVe{O$lOU z@z#rijK3my;u})i#U700wDcH^?_?8|{;#-d(UP$M!aFe@h)vXV>U!2si=;gZEc`g@ z$ctYOxJN08?M@0Q>0g1k*ws8gymcNIV)cAjs2lDpW4Dbvu6dR6bhYmUH3(0Op9nSI zWQqQ*wdLRoKX0Fuag#bhMeE&Zpy;RPtrMMHikkoaL|r4rcvEgRP&#I%(q(S2G5%0p zir(j_6pxPH3swiK4@xV|y-+`ZA-z#RT$t#Qzvd7|6d*HrH2lM8lZ%h{nytx2G5f57 z(5MkjyZvaVP#xf8{3!QuUydy`JDfbg#ci&As+d#v)!^MWG>ZuO5YmT>OGBlK?9)%E z+EA`jR~ubM`y1rH{M#5!C$NUNHR8nBa3N6V>+-gk(7DQCpVfF%C`NIW?ofAduDECs zf|JH!U~<5h>YSAPeR4nEeu=pUjoCXLeThwz(IT=$jscA2&OfekzAh(lx59R?f6@YQ zC=ooGs__vw0W}s7aG0S8)v4#a2|rBMJ}ohb-MS+NCr-A*yl~bze;0ZR*202)KS|vF zeT+I+`4_HYv(lIrxnr_|6$Iw83lF(C4pz#c#R( z@~^mV)_;4s<_ccGd96h(n~wAv&1C~;XXQUWjkJc;w5gbl{b9#FQX{M_;2*hHRk&`e zU%mM)Kewis)K|wmD|Aa9s7QDk%_bTOo1*M`Oq9%Al4`h4A7hHM+GJ_E=0JUUZ%o{p zy3lC?vabR!F8C(Ui9A#vhNAnozHj^>b4H5RL)T!^U&&h~BDoMX=PW24lG>-@?v3D7 z&{F9#G1!QHsJ7ay3_kxY5cOVhU%?>k8RuV(_TLuUf`ks#heL`O&|Jz#1OOE2TAXo# zM?j!liw-`}7YH`nGt5<)=wCtnBGR*hNQe)VGRtRgQMQiuutANlwPVLdTII4x(~h8# zzbP0NmL|ZZIDyJnfC5c^!G2MOq8mZYg`sJP%5D0QCNRXMbA1IBYmAw;;;APVTi?S; zR*YC=L_|%;GlRsWB4r>>(u_`zJUD~hW{I=NZP~{_AOg<9!56F9(Mz8GDxv(vWEo}< zJ;sQoh*JxSc89?G3vbeAra%?>VGP6(=_`LIYym5B2U*Zean>u_5SA9EGgFg#Vo$x~ z+;Gka_8|7BCJI4>QWdeq11FInOp#LCULpKlkT-r{eWbxMTYZRGBaT!^gK~j5v4gsCMsH$y%j$Thc(t^6#Ipe)E?Mm10$I!42WHzMF4LF=@}XJs#rl_gz- z&C{n!pM#W3&oER8U!>tSv4!H(wxJTGKVl;HnH3!5T+UU7`YksVzem10292pP=&$+K z*H{L_AIPfkbL?}`xlD}lD~_ml%ls-v|bu9T-Q zrO<}nJR!3(lsnQ|JSQt8#VRq14ly&!2shwNa^-cz-C^{jl(qo9lpfXV_&?4=+h`L? zr3Ar*i%MFhxx?Q(jA{+xV}?mq=rPO$qb^b5S-)VXj$^wA~ong=gsVWq$=T z6I4TqQ&U$4&sgHS6FuwfT(F^}4Ed9)O3AUIX0NuIB32DE9pKf`1Uym15Du5fAAO26 zKIbb}r;I)KK`e!4G|SC}(fFJws;^tbT)kMei05Inc&Gxn2}E_v>UmRMDLCqjV25&T z2-3A8KP}x3O*B7#?Vt$!E?oU)FP;r1iwTYRZVE7uZY}giq4M)VXaLhlMhJGvFoX-T zF+4F%6(r)Z_p93Cns&!c6ba-+ksj`5KkF#8kg_Hul;bmjd_NCM$I+sAJMOg(+(%+v z?6T0yeZ0#!Gnr})SwnCZ-oyKDw2j1pM|GQvYm!G={ncc&ls7PfhvX**ySXq}kADD% z=7SWL84*a$SS+{Dk8l^ZR2(Oei*Yf`p7tsIbJqM^_zLBM7Tnup=*0Gji<{Y2OW4%C zBQZM_P8`-@Op23;T386)SXu)0j)yhkAEG~wh`f~k;Xe@sh}dFrkh;H84m{+B)655L zw}c@!A>-fg-e8__JEbO(}U{bb)L5~DI@)X^DRMU z7cS!oq3LoXE&AOO@6CSaao%uMKb2ZCC9Q%^sm9@j+ywHS6exs~+Hi1KEPN(?nK|}xFuQS%>`o{A<9wkQ$LyteRH3jc~Bpc2g2kTee zy2)ApK>m^f4Z%C3yC=?Dp1hj|egtuHjr|~}mHah%F z@3+99=$tTTMf*&IbAn2FpSY#4~WunzJE45S3FQs4w^(w~cH`8)bWx?0aSo~W;klPxOx z&=Cxm>M>EYfV-iWs&z}$JImI`O=#)hA5ngyJNdWmGA&^gmElCQ@yGTDATYTyXhdHf z?!JvOp)`t7Ny{VEBRoiiL+}l|vm6gYairj943GGSqieZ}Go%xTXt!m4jzuAqG8KY% zMtTgJqWDymPETOI8Bl(Oq^LB+&++Aia7&SXO_UU4Z%g%@jAW|@7a~A^gcB@Gb+B4B zwbCv7D<>=87{>2<;6iN;b1{luESw$}%mn znJiL1!zH##G)xxS$B=YVw)%Vv^*i1i!+14txG?|m7S z?e2sxMH#hh3F;Tlzj)p}WS{8;9u=E=(MJ>cN(YOlX~+WOP=0+*sqfcWOE$1oi4zgWdZxIiZ!+xf0@y4-_vFfaRE<9J=D|3qP#XLlN#BEd~%;o4FYn+1<&m3|dK zYNvj>W~rw$6rLYs<)b>AE#1^&>6#Y9UOo?Jf!r_Gg!=Zlw3WwvVWN($$#XoI>ofd1 zC+=9b82qKsz4X{_1roS&Wdq0_kx5df2Ow;#{GGTd%{A>w&lL@bXRv z&IV@VcIt!*PRIzfEaT8Vk95sxk%)9oodgFJ10ugoPp+i1U#d##oLqlHHICJIucxAH zMoKx!d8PX2p|Fcw8ak&Cw?T!XZzf><@)j-3c6!|&XM&9_EGFXttTm)(8#M`fSt;p{ zV@5u<5l(ObRv|YZ5|yt7^U<81-4R3gNYbiQucX_jxZ9R(YOOyYWqQ(+gZQhLlj|a% z@@ex^Tv#=;nBp{Dpk&x|Ui8HF4RYyu{P4h_8gyMMi-rU*x_H2C4va_UagTl8(#o&! z;%Y8VMUy1{n83UY#?!QALpFY=Mv9^8HFsW;C41NH>Tdbf;_Z=Da#b2q_TuHy3x8pw zoQBWm3Zx8aIn>e13l_p2?$ShHB6{8VeZJ)oh>Ja-#S*CIGAgz~@dB)z7)MoREZe41` zC`JhBZo<9)GN9r%ZWcmfH5(xNyKq-tO)yDtKg(ZL7_nsdE-C96d~R~hmcfz)Rp5o# zAAKhF%M(|r(~Jv@zHDhe(+}!0a|=3}jt<7ZAn;Vz7~Lmn=)xgtUV_^|Bn_C|gz11! zlpb`uh3=jaBfdi5- zDSrb(F#~V_Z~z1V06+=&4zjLEd74G$jA!`Zj(@417pn{%`R| zE(;MN6bBT70;52DLi8u#RDav zUdbT+@jzj;Q6V6}!_mcz)z!_*&K#nW0K|m|`U5{OivLMxJ`m9aARXy{_QDUfEI!Kq zuj0XeK*%;2hz&_g0AeuwXWan;01qFs|5tsp03g83(Nx*R(aDw7)X@c!_|Y86e}0q? r`2%PG0ONmJ{jUs0Fa((R(M_f>h)Cjx@?jB>fJ7i0Tuju5IN<*QF9^4X delta 60231 zcmV)VK(D{_o(8s~2Cx_h3PBT0^?CmQ0K-VLA_wFrf3U|`5QHYW z72>biGMZT5N}{VOgpa>XS9AG(nx&TfV{xlYtJa^aSu9mzYgNbX}MLp07w*K&^KN_q-dGzod8jQuUwuXlo!b2E94sgcC ze?8Qcdwkykt}~Wc`87Pu6dn);w(X3opaGq5LwFFPLImzexaUylC!Gj|nPIkQK|MX~ zG4Ygb$Ws(J%-hKa`QqV$z;w;ou8Y`M0@k+pKtp_h>rsZ=Re4`9K4t74G^#>_0s(L! z)Fj3P4lxVE0&*`SY-Ev*a6(MtWaU8_e{vj*W!KtZV^U0n`=PLHKNtr#hmxl4%l5Ft zO%!9#3r4cZA4UutW&dX(5kOom!Pj-xADbXkwFuiBgl;&JZT}EQNzk;eWONn@xIEvE zCMtUa5HjQ{D5W|j{zx=}LtMot2pc7MhRhZej79yf^aLQ$F#v}M1Z><6qk7@se;_iU zCTSQE@iAvt%R+HIaEwZ1hTP^%hZv0u9HVPj(5D_6UyU)d;xe=84S?ENpVL}5j^NwYq#BUYv^yV#dNSPoC`d!c z=I!%?YyvSV)LH%rJ@(&^YJPH<9=95e(cO=FpB(CvdcY6-C$t`4enM&VDNdKGyu99} z!{L|e{)c+=kM)~nw2f)6-pX%P-;bw{zp2!kDnL))9ntUfC6e_|iuK2>f5exq8MZ>% z2by8o_v7!iu>8Go|BVH!UdlEaqcpzZ!ihY4;I`x>wjKJmw}}M1$_*DOm8rw}T!8K= zzw0#XE4B|brP$!W{T2D)$9QpC$acvJZQ!UpQ8MbabUS8y1bJa_ao{Qz|6mK94^woh zrxiEv<($)QNDwciHfV=8edo|8Jz+HiWP{z3hQ#3o|VO434(dJ~U)V`bKT zB-t!ik&G$?Ssth2Tzzkv<#{}nji})BvQ(3NewRy88LOD(b#VII9+W#R=#cExZ%&fu)MIH@YZ!AgFV6AkGQ57ZNhuHVVQl7rss8Fw- z-GFTUk16;~%ft}$+$jcg%8yN?2f!Z2VLPOQhBUyTV^BkVM5ZUmJB@kj$$+LO!eNNq zR$c^1Ik!FE;A+zge=W8EC2lZ<)$tefqswpHa$hYWq$3 z*`drndLf;~FjEaU?M#zUajtqPzup*-xedm4ZR+`L1q5*+pKi|USFyoRUyjxmEgKAT zL#a#ZSoI^Ti3(zit;wObnkqY_(Q3-WEL|4zt5GpclE1uhe;y=bsGr_DX|egcBy5em zedXUUy((^T4>9Z^z=j>hDo&$Q1^HD*x@Y4s8v6OD_}Aw`#ZRYEu@q7}3QK5nyklaK zPkhFavMubL+j*>mP2_L@m2C!nI=0+ z>-s=RJZ|&Y`X(+`(>y7Z%S&SRU0gi=Cee{ge-ST}S@yOEgP&N2o(8@=Cc*2BW*z4bf16g6>kMX{ml{uS^G4KFhl9Wb zHB&)fXE^n$>(5{~(Aq?KDeM1{`nwky5~>Y}w9#9^*L6lz z%b49RiE%9+`Y|q|d6p*AO(O5-z)6il_s?SaZ|Xfi2R^DBx25*eWfN9UhO=N|h8O^( zbwESHe-psdUaBM7)`8^W4V&LtY%WJ|Rd`kHcMkgO15mW9ju&ga|7LyONc9Q(W_v2> zAoY%F9Ei{rOo3WAH)9tv%A27k-Q}7~7QP&@jL6eqYxPnhx1pJ)m~j$ihte?6ldKyY z90$3fcU|))r#J`%>m4(&-@JLs!DcY?W@}BIf58fMFoI34B9kQpDf|EIeNB(!IF{{S z5qi}#2xRk{lz}NgpVe>B)2|0z{odOuY-OZsY%5!~vrzSKYB`Hq40_kw_+yWxWLuIY zo0ctG4yy`CI~-w&x;!K=dCxtU`3|d*gMrPs>uABMhc^1P4zQp)zG^H1cWSjc@9>Jb ze;g1Y_vxR@!}I1W+r0{&SA_e-fqrakE-Co+Td4-wx)GIU`n{2`f1zxSa-k zFrfs@7Z~-KDK>&+XdsDx-pmw8(siZ+6mhmn<-W=UF4Q3&W?pU2JHq9ouRqK5Rd&Wk zO)qH{$@eB;!NT`LuL}=;1j{3X-S$(e{qGc z^LQQQ$xEwbX)U7pC+qirP3MLBzk-uGuTZ&AvD!@K$xxq+)R6=wHmZ~21_7)`LPxW4 z5%nphcD=4yD5&l2PYc^mhuRNRdpaE&;z+n!!2>-sZdURD5CQ~sYXgg5-{*`N5UIw# zpOh*E3?b&ZrKErf971TZkS!Cke>De6c=vA6p-}jJTBLL5c)iB-ecDp+WbAq(-+fxM zrOAj18UmQhoD_Qyk^3Ddg$;xCRp=xQg@jh&$P59{6^hItOw`1Y83rY7%aKtf3kJ}j zACk4=>kPy=JHk#=qQ3g%iurxOp$OI`$RKqb>ho&8Wh3DtWQdaeCavTne^!4pD0WQI zwB8$_`tE$es#~^B?b!>)j!GMpFI)P~i!PU0{G^%k>gRSms+attl_xZ&wLk&@f!Y{l znwA}e4#_t?>H>G6wGb5e9`id3gAT`vHto60mN79!ybe}hEu=b*I^%9>OsPOTB=aatfkz94Aiv~*kA`v8H#)E<;M zEm{2cO(KV*HQgjLbr?0xOSi6KYn?^2%`|>d1$I@|*ji5Wv9;Lftzzl?DzBxia>^E) zpRHN)Szd0rR*7fJwY>1^{kKn6<(_pOjR|pvbBsfXA3GLBimn)ge+;Kl`X`B#L^>CR zhFTHi)+oD#>c?Wt%{c1wtJt)s9d`=zVDCIm*^bWO$dPpnx`4(!|qPz0cxI zLQd|!K3R@}XKF>(w|FY2H@WqbT{xdd5~UKZ%Sb80&*NVde?+GewaauB)!cHUB~xiw z97tRZ0)&sx<{@_IB3IN#IH3Ww1>c`AHW>FRjE?bm=8DHNdXaFGSGhX8sKGc(@)2t( zHqlBB+?DlZlSjz)va+WZHS?`0|OBb^9 zw=!fOqTh2qe-UKE$i^=e)7gX!K^A0RXd4fQ-h@b9PX0cv$wjz_p>eSl+!+Rlw?rab zmzch9b67oof8XYaW7^HvoZ*I`-Br;%suw)CPm{|0GNq+IfF|t-X6R5AswZ%mXn_#ko&k+h&e}n=ZhDu(EzKLrRaLrgC*h5U> zp^61!2awzBsM79LHoyI$pr;Op1&vw$Xgb+Ba#PI;wcFRQzpwjQC@E~Th@uaXYf6Ey0G(gPUns44z&DB&+?bf&CTfEE_ z2!7UallNbh)Tmjw91;|Gu!~yd2%g6VPhJRO9x1MKCa0bpOkbj(ttiQ2RoPcj3zd^# zf+Ggpkg+bsKt~*Xgh@!@CSI*G=`O0YDGi>@GEq_yhKw-}0^5IR^74qEGw`E?L^Obu ze`2Ist=5U$1g|7=w5*7lcUE}?pB-0cSA~2#F;!uvDQ7t(<7+I9%y)=z@y+A?PeJ0L zoKfh7we^B}+zUftAV@!wcm^|)y*!Ib$pUK%PrRCD$!n|xvr;RIzs2)h_@@}OFF6BG z4roQHOBT^vLD<`mZ}rpHEd8dFu;egqe-j8*pIndMLl7g#hauWEi98HH#%)`2-C~vj+~Mm>t@+=2o<>e<92n z<;r5XF1YsxGq3q9&I1p_0Q;!syLG*p-{W&0dcT+I!C})Iiqo3Ika7ia>Lvd| zrS*-}1w=@|3$c}btirV^#ui8ZkhlsK^FHjmb< zSQCK>HX7;7<2JJOzI3!^f0H%ygZBx6Cf4Mk;t%r7o{-ywqeOxBe1 zrqMtTJsj9!2R8Ln7&8xP@d?Bx#w2z~Y~(3(jK*v;rb>u5vnF%GklmgvS2A45B&VN? zP7p8}a@-DVK{}x1#?Q446xtI=jg~oq9GlwpB2*5cz=pSGJKcuje_(b5Sq^em?AUgJ z>M3K}K_Z$odLQbO>qR~&g3#uu=2sH{flr8cx>I|Pe7x!(S`P6IXSl;C!Wmap9dM1n z#hJI%=hnw=OKpb3{c3Wh+a~Y-xc##(Uvy#0XqBYP+7PN>UcKaBsWi&GGDX0tgt3Bk z3G9Fe&~d?zq;;3re+zIRLPRsgdR{dy8dqKW_-GENVmU9P?4_aO57rnjZiK z(z^>$ZLPtf;DVF}W?v8Rfn%qg2Sv}Z(?_j)OuT^Fn2pC*+i(e*@Plf&&4U~UlnRfJ zhgEyiVN=^te-t{N-K7Z469t>3K?zg_H99+TAf}vlc40ms8VNE*BL*%2V?g9Yu+H?{ znF-_)ug>)y%~>-inJ}|ZGJwPuV5B)5Hz%7wBSsU1P>?{3%l5HY3{y+F2{t`pivXyH z9*ucu%)Oqp8O?z}htiRPbJCh-JO>O3pl~$j33E!@e;}iE9k`sh5Oz=ydkTBj=psKI zh9=*#Xwfe0*umA^sid3Sc^?z)=lLx>v5gjB=GxQ-BQQ6r4_#Ar66p=~3dkGqU! zGj5Z9A)FX_a#Ro>*!8kS5OGKZ-P`VYM`fNSj3$kn4E4$NC?f1XK^BYu>pTl#0|*v}pBGUp6X@VlMZbJ=y45Jy7rp-hbV- z#EfIWnL})^hHuJ=gSjrrd7|O%bIq0TJw!zJ(}hK^rJ5k5-p9Llk)|u`dp6JA);}Dl zFcmE|wP(90&_2?#^tHtdsf#a|zE~v9FAXS6o`l zrJAUF|2_2;JK^ToZ|(^7G}bJh&gE-nY0+ZEi;Fd9Xco=P`UtrKF?Se&{twzm@jQJ? zDy&B(Q7c#ERFN5rj?XOI!wodzjH@ znS%<|W@tATRXtdsJnRc_@65BCS!YMT027ny&Lm*I$I!E2r(_)n49vp_<*tjKWG*Um zcVN@GRoy(0xX26bdkN^=+B_vme{^JKAmsRn5kIII$aOs)1P1!VA7L$n)(^=dRemFz zKr`_h={HgeYG)C^rgB%ojvf|&P^+0SSNtF(_T4lUZ#@{dOcW)OXkZ;2h8Q__6I8mj zb^aPH*Gcr2TGXrz4huXAz}@nEZfzcD6&|*Uj|6<~LK@bXg^)QehpvItf67%))$W=D zg|=qvq7!`{S&7-0Gi2BDDUcwc?-S*4oG|)@WToPfU$vQs%t-2mztOxT>Bw>P8ZD2L zg8I?7QE}@;-oAe4?pLf*if-``CVZ4zbgwez?R)TmDRCzlE1JcY2eBiW$@lO7*ng^s zOWVlIYXA1dQeo%vm*i}9e|$7>4jguy2b(3Ub$kajt>e}D*j)i3p6^_6gJdAcS)|J( zeX+houk-hR?4v%ajCCGqJr0F{FrpI#uRE5rI9^T@Rrk1H9JnzJsO*T zy{0Hg9@7NNqF>G|+L9yjpx+SmnQ&`IC)mY4=UU;RwcqZ@7`vd#R(VW+kEm!m+b%|H z>&Q5dH%0&gJnS+uF5AM41&=SO^A;S^-*!?znHl@d^KHgEoP_k=?dHYq^@o2Li`^R` zW^PU6PJxZ3#wH4zY+&>@3DCQb!8<>`QXcPbtWsX&u)Sv%tFRH@o7dJJtU4CMO7{K zQPXshYN5x%iQGa+f@u*g<7VNyI)V_VE?`~c8Ah+B1cPSde{!D)7}hIIF$XZYQ8Y*) zy{DpS&-39@NiY6+6Msupx#qPdjHWN;b<~nQINkYdai&(@X_iQLP6K}(FXdc0tBrt7 zmVUCN&sP$3)Wb#1xy5Byu_eFx7Fm%TMAOamOPON)BH!-CQeV_mY)zxZtKuQAHpRG7 z15G;x^0V|cf6EEvO@mE+az*ka3P|Ya&3rkqg1mrn?Vp}N(?A0&{Q@ngV6q81C@g)u zR_qEs7oC3?$WyY%e|dxO;rQz1-s|s%fmP{RMDui+ zOt+6ekY*KJB{YlywB-ij8sYptt$~Hei^S>>daK~R;QBK82Qv@vJQfEHu<+g5StIgY z3K=uV4k|*2+Yd_~UiCMfJ-m*=kgj{_!%%2H4N%>Bls3{Bi@as)iVcp6PRe)JD<9Mp zo#Zrxe-3eL`wT`s$X%e(tS)e$@N`H^= zf1N&s?YJ7<$G!tL=AM8sP>X(NLX1FAK;mnMaBwS`aqtmc6nyM)85|H?|F>GxhKkfr z21u1|Kk>sZKG#q{*$>8U*GpcME#(Hoq_Y@e9`w41@_eMu>KaUAA)#Dctq%>{M5jVp zsc{pw4)Hcht9F^4XbRjH%y)Q=ra(pDe|p^8LqM6J*!WiM(q4?U`sW`RDrX%`^bVVE z@w8JJ`P;Ow#i#uDc=i6zm7);L=g~q*lx@#WPHit3r68yf%TJ#9{a%qIWE? ze#BCmOx=7MeNEQUJo)8Ve%HzCe`>1ArarkIWdYmVh7M5!v^;F7!#u~?Dg3tke~85i zf5Wi75@q390fW{F*>!P%DvRpLp|Mr7IT4mW`^wc=JAx+`t&E;-qyW$)1#of(I4h(@r8fucx{v^d0TsFO z_kIRA7G!Cd0UAPD#T9fbiqTjYe?UL~wUUI6XXurO@->1=ZP&gyLU7sr+lnC=HK@t9 zS1?K8VV>(&^lcOqITGU7!tp={9&Tk$Xc#BAB==Qj5cQIqrD9>@@&MEhfUxT(p#ktY z33o9hqd27c^pA1!_GP_&1i{F5-r9EFH3F2><N0}e;klj2h z@`~MX?kuT@l*`Y_*+H8le}m+FXDM$;yu5!KiiC+S4QV{IKQ#rPnJdAOARg`DPMy1? z0LI3j`Cqi%Raf%{rnWcIZZhA$9AAZM`*$O_+%s93<2yqSxSCf5lYw6p|Le+pg!> z`e^YMtwLaeO`3(N$9&jDK-YX(HJsn`BfKutd&@dwPl(A>Bhn&i&1G(CR-g`RVXQf?t8t6YMhENh9Nb0_+CxGMV zN-vMLx>FZrb^e~sOpVV7qi7uuN9nxo4g z12BZUei_zrHM1!X!fgW3-H)qJ{iW(9FH2VIL^^H;^Dm{)2|26nh?vgUX-RUwn|aaGph#0qReGxmiDT z7+~ieF#_p=P@DBSciwBS4y9*j;@~0=I)ZkohctW}AT~ip6|<1T8FLOMT8R!9se_eG{FIrF=Z+YVDtv$Z;ELJbp z?tN3BvM{uI$*;F-hiXNmZ|JBJpQ2tbgocm?`+Dxf@(p?56GxC6g!s&zr=#6^jH%GD z$~2E=#zN}k+|&x}iOqf9w~lhlQ|B&Ymm(tPxs2R)AZ4`XE(5uP!MaBWWA_o)}d+lheA-x=1lU zsA+WkT{NHE9!xhLAq1djsRp}KL^P`A328_IfAK6+abX)g!6pO=2q-4O(^OY1SQ^lT zrolL1zN@!TPh=WoQa>2@D0GPXECq6N(@5Kxz=m@#5KweDZhBzb@QD$tP7n{U=YowX zqX==wp(1z|+Z2h1$jmszM-T;iYx@kwDG{DbJY(R?|GBRH`2^N!J`>!Uj82$Q78m!u ze}Fwp+2m6u6DB4Dz-F{l^3TUH*=eHMadEf~bAd5k>lSfG=^q*mFN9%$DSDE!+ap$5 zuwvpaQ+3|ux=(T%I6|cbDn*8WmyTC%Sr>B7nQ1WGMZRB89S0nFz$N?cZ0+{z^YOZZ;NqN=e~(w2 zsV46fM7<_rS7Ckil7DU23e^T<5h4VE18AKdfN>~syk~a~i@Ar@aw6Mu{tVFze}~PC z!F%LV3KGXeh&I#n)zq6O52b<3ab0eJx-8^2zF)!!;gG*r-xHgv7c81~wWnsAGbM}y z;RH?>V)w^!NP@D2(Z0;bLeBZ6im}#o9({ZNbvaAtN{D1>+CIMo+9vCqqs`_FQ+Nq@>`xSM%PDh=xWpNm3fd-eX?;#F0DwEorlakE@2 zP^zE4#hLuobfey9u}1uIt?*i5xJvu36ZuDxD!p7z3wp~`{p3&9pK6zyf2O*s^CDSE zJhn7r7Qf0dvr%$XyFV@8R27^l4UA6)0G11PC|A7TVF3(m#+Zj5;jFs(0kBO0q~H;@ zugwoYrB8}Ip>Fh;55S0z9PB(oWUToCc-f5^5y#||EWOW)E14hpdCKW+~|hXsyJ9(Ni=h(X^A9(Njr zAtM0U9qJbiWg2xnH4Gki5W|3Yb^spt0k}sQgTOF{&3j!e-}VXho;u`TvKukA8>PZ!4)36k z`JjVwXCfnEYQRIngGcZ_uWKD-VjbXzG{DYN)Ax3Hyr{ zCrr*!W|I_z$R&38e=MQ`TLVF=Eo5LILOdV@e3p4?XCPr}AY@~$oc|;S+UISWaJ(3z zz(#eUq7Q4FZAKk45}hVW7}|7U3kILge>%)8Lx6HQsrzncwISC5 za;)FSJjK1wG0z|4*DN+(@}T1ofa-Nd2P4R^@wf}BB^w(1V=UQlQOO2P1pWIaufL#vc>hfzNtZh)IHGy&gDqh+uh+0S z+SCvO#{(C%e=51XA>?x_E6guQ4=DT9(py5lU2~QwMAQzn;)nkFurdJM_{bp%>O;>BB0cj%+N&-e)SH_$dxEeL3JC?!(>e~LG24tO zErYlbM+{I0P;f5?en4Y-&-O7Y=OzT8p?j~;@z7DYWpN;C1i~<&p?x>9+0czSDh?_( ze~=?1>p(jFVo|;z< znVddcogmq7R}2EcTP6lXlg85t^~v>^e*?&+5ZiSY5QR2&09HfdgvE<6b%VtVj9d!- zSN+3fq=JiM=?8(%N>`|t{0}RG#8~nU+5n+|)p7?J1Hyy4qL;qFumarxGY2?zbwu-3 zh${A(Is>|Bq-J5dT(9JxMyqL({M+xGuj_QBzWT*ku694?eO>DDL%^I4ls7j2e|k;P zDBCP#H(o(i4>AGIeoM2T4PEB>Z) z{+2`w`97BK)6elb`6Zee!AQk!q3?8{&5oXH2@5U$p^XW5?AjP*&~dS+W!6sY9`AVw z*DsiVsEURwVyt4xR;jUNe?sOol7FM$X+81PW*W~LC6?7E*P|vfpM*3-_0km(hXJ)8 z_e8tj&do_-q@Epk(^kA@`meS$f`cmV_iPNQvy|@Bn4A-Epg(iZ#_)Q5vimfqkaU3c zvOV{04W8iYVcUJ0vz2rZlOYW6ZEK`;s>z}EY0fUBuXMo%(4I;Re|HE&s}vZ8!pIk4X%5C*v+D9q}R0%{O z21m0QZxm4N7^v#Hy*!M)_S1l$+T!U&RPFs&m2|D%N5yM0i&ignQrxcfx`Q}ynA&6x z@PSlD`SI~}!-f`Ze~L3{+b_CI(mG!1CT<(MD&FQ=e3 zjd6BQ)od(6ce|k(0OYZ-#!^Pa^$88sr}_dNm)YxnV^1p|W02Ne*xJkYDf7Ie~Uc?qtf+aRPoU`|^ zu^-f7*biUgg}nSCS*F<^)oiw#)*62^UH#kd{+zB;OZqFtj5n1&o`RTuHlY7&bTvBD z!G_Ubh0ul&au$D%vqT+dMJ6$1#yAS7=)jG*4-kzH_vMt48>`>L{bZ@`IFCQeXXa=G z_LYGBx1|-Yf4;u|mL=iqRN0>JZHug9W#(}UK2y(;o7SA>Km#LM$%2|G@1S5QvZ1A)G zToqGQAq`a#Qf@8eFaH{?qviXrM*0ujw+RlrR6QP{e?LOMPw4;tb2MM2|6hx$v#MOeVWB@ddn53!13cRhc)$;Vz@P)IU
zyhGq&U2y)?cr5!M@8I-hh+3pq0hOvK;^ zDaShk`lAB+M7GxXVg8nTnGPG|L5}o-J~}L;!_swdLhFZQkrtWs2C&13FdOIuyAgIH zf9$%#?yvi_Q`nS-bLc8V;c+dlI>K&*U02wZvx{xBg8^c@c1X#{DI1Y@E#$$LlJ@G8 z>m{}W4+H3;+KCq8nA$GgqqG&c?TPKx-#jC5U-N&9Z0jq-_*5SFFq*H>JF9@W^dR~= zuq=P@XwTNXIm^?XS1(qP_7d+|9VZ)V=P{MNtao44VihD5#*yfiGYOw zQ{8E;-P4OULCt#C5{;KTg%?Zy+kbXH^AY9XAd5&)7|3yO8t$WOcr(}Vh7#|)e+(FF zoke+$@>XJU7AvWhSpLzsID1Q%zoe_kN_DP{O5I7PU*b<4P)wEqIM{#-I8w6ASCvRLY!b2vS>PvD<-76h}@?wg)$?ZkRe!RCxtjcLsDjJ&>igM z#_R8fq>gD1L*o@%yBMDZ;V?8Qe=BXGhf~}KMh7ZAIva#wX}LubAcFuc+C{$5Fl3uc zF_9*gr26EFr-PgVMs-EEk{1Yo%J70m_ky`a#Qni1YF5drHdfHi4-mo$l)k}Vz%0rnS@`W5Zs9w4OBT5`>@Ag>3 zI^@HF@VwCLTy8t`5r9`cS~4Dp=N{-WN}-s%ef z0#g@uM7Nda5YOiwZPlw6=2cR(GTF*Rg%V(HL&`f(9T(cpSWt}P!VJYXt}=tHzxzM$ zzba|vb0&l17yM*kbIP%BDeoMUd32jcbGhlbvCXlZt$7GKOC>zGf6bj)Jl)j&rrwPX z!VoZEcP8pQxY7SZIv>+`mYx+Syxi&#yHwatXJxkgTm6Uynzv8?Dc3tABOCVIDq1J2 z&+;Z$>$w(Y`86B8SyqMr2j1MJ92+a8BYE4=!F(HX+vzO3U7S009UV_l3{myL^TYb@Y&%z&jheCUu??6fgnGUww_BdqJ3&ThBZPD2-^=?Skk#5E*KKxl7$thSdvd$& ziyuNG2~rQZArby)xZtz&@={g%)C6z@x=;j6J^7Q{tyI9#e{_<=F7!FR*KT`2w)4_b ztx0I4H6m=AdG5HZs_fHhRZLVb&D&x@5O~B6I-EK@uCbbT$&GbIO*Awa_FbR(owueR z3WNm_gc`25*z-fE3$s7HgZG-nIj093SuSwxAn0Dl;p12iTg8^bL=X*tkOYBUbMQa_ z04Cn95N5mCf7;19kA94F4rNn&5NS?hh0@51-6f}gY02}VVL2A+ z_QBX=9zwUMfs6&PUo81jOSY+iw6)vM%#w5=BDi}DY|J;iS-#nj1vG+-YanChI>hB2 z=AZijf6=`D<#xIr>t8+~u>T_AX-OX~i z*Iu=^4MJzV4Y*s0;h!A%J?Ywadwv~)MMi;t*LK4&xL3V}p#y14A!8GxQl!*z8TGx+ ze-Z5uW6i3b1~o7pf>;pYjWb#+v!}2po|2Z!N~;)5ns)r>R&B6KLTecU*un7e{)9M4r}t&47E3b**WI!K`W2f_U-CH@^!&Wr=2FG3(ZNLlBY$5`CrJlVW&$u)HIfFQ`(0dNO38~T0_?v*uKd+kC6 zj&n_Q*iW@?xK@=6BzKrfG7p2Mf1|o$NVkrh^BABA(=hbHdin~%L{NS1(vw5?!30mP ziG>rlRDcK$374~YHO-ROBr~F023$IpU35Z+!$ZTouu8u?w2uLpKjoThm=)z|#rD;*|Wt-wPW(bq^pzCtt9!9`bX z)SI@n`F!!=4No zih6Ds#n5$2(@*P+RE_7H9qGBO^UWhaz28e=?r1>ZnDuVbx_SI|e^_duHVfafJulLK ztheSi-BeEj%V&XuosG>P1GH9O1wsddz%{6f+CDORI^FLU1-+=tPulu>NQElCEMJto zfPCpv$n3nsWzJm(cvQLmOOJDX^{?q}bX9|mRE*wB=r&1DM zLU@6Jg4a`TTMeL-OP?b&jM}3`En_^v)!^EFTC=V5jQ>A-U$f*mj->f2w7SghSZo&l zN$QYh{LQkq-rlmU>b)~0MkH$`F8gDXBvH(a*Bt(iJ zMM;d1y4q49N+Ljq!vXl`{`ok{TxPs?bONhu!<9QThCMWE zxK{+ifHCFhe}H`7bM51CDQ*7Qf#P0=Iu#GZaynE8#ISY`r@VUE|rzkt3ny*HYluKQgs_PU2O%Y+kd(e@phms=25Mk0xed(=bq+1;FJ0 zxm0AD%b$-eJlaFPg<0>M&o@*S+;Nxyej1wHtH`nVX6dLB0Z?7jg=(eNPXdiIP%GKo z!!|T=P#tf`ubF@y-8>C2w1;EZDwo#j{0Tx-Jy}-fZ{sxS=B~zkhiZF%@9f@O_d3h6 zS%sT;e=y3GL-lvrEl;2pdH@VJ0GmqA9Vt#De!y@=*3kfpHbR@uhh;p ze)kKVDc3l453OtK)csk|uFtdZ<0n~-UKrQZh?gR2%~@`e=WQwql|FMk z9AePBz}4+Y|L@DlnDX6^v=^(5NE7HQbkiY$e@*(-hk3{H_0n~;&UIS+A(i@X+xSaY z>0<1N5+91c<61Bgc&klK&$2W{Z@W@I~2gF7>9 zoKLxP7#B{64s#QP9SuxNT*sNvI5t0`w-#0H^CL52xL+XjHs8J zX$20!uJFp-<(7qTP$g)hUT`GfM+Cc1?&NzD95i<9zCw69T8Dzrv21#utsg(V{x*-q zQ58>g%pCPhVqvwI-EC@J$4bPe7g9>d=r$xeLMcZq35HvZ$7PNaS_oasCwJoGfBqD4 zdlEg1xF4Odg+b^+2Gvs`1k8t4(EhL&JQTMLa~5FKFv#M{fH{|hI5zW?Ga+#UY*I-` z+ak5=ma)||Egh?s9vYgX(Knh=0Uev%;hhpL&;D-K2Jw>pu+lZ{>^$Z>)WM#z7$eVO z9(H#(7#W1lY~b<@n99QlsN=exe@1RQW2VEzBOmClWg`rB+J6epI!M*jnEz-MEr0Er zCfk1Nv*ffMCQTiGuueE(z42$Z1$+t=AcXmzWjVHn@gK&ieOwjtXZ{441w^(NGwZwo zZRWijd`_V0xD@pu3d$EnMqF9r{0fUAwUHlG)adAagd~H8jHtQDbc!YYe?~dYiNBT3 z`Rz2G$(oU=@wknbB6CUvh5hp-o^GN|@+C69=DvD92L&*&`&GPp{jK!F4>bdNuupL< z!Wg*#W>;NY|C+2fKk`02ucDXF*{s#CFG+Jrw}5)*8`%QJ$w8NC2EmjEGowG63O21@ zcSD=QFPWV&(&=`!O8AiJe~c4>lwgRbF&Y&cqBGlfzM-cMoDP zQ)4MWxDB6J>-c%QlCyR{O?8Hj@&N(}^gbcy&wU@y&Bvdk#bfgN`|_}av@nsY=-1aj zmXdR9E(dyEGbMMs7hyTYVCxJa2uvGMzqf16^8u2}-uV|Uy>+`Af5b^Ghwr_yvPb~e zrk;f~QY}X6<3T?2!)`?cGKf0^VOWurmJ{9;mUPtqEnM||B z$XWHR@Oif8BKB{je<*)-mZvCg*0I214^ydGhU8dz#qO;(6)*u4bVjAvrC^@14T;&~ zS}aRk8O{ewY!JA7!%|)B5u?88n)}0d<6=(&WCnW&WNERlesUfktmfV`?@GVBiUBz4 zgC!QT$=;PWOp^_1jrnd?_+?+j`TsFm)Fe4}bD5o`|CxL3fAzPeR@ds;^)4t_QII9~ zu^dmsQ@EoB64u^xFgKpI8-DO?p7`P=`&p%9waICg>(*MFI&szWL?%SVR@k8LqivVk=|(pdA)2&8>D54t(fneRaxOAFY` z50PuaiLx9@_gjTpaiC`|pM5%)Ruv0|y@26s$!j>*8zZ@FhRI{;F&2N_=Lc21YQh&P zU8Kg->$kPQH@=GZg40b7*q3Gv23WFm;7Qsw%Fn{+RDc9j2zM+xoI4FE~ z%uVjh;6tEVZC#;tX>l&oOJ=EI#EVpN`3W?utPwh+jjbRIEnn;b-VB;?{VC|=m_LtzRpMVQLZ-wvegRBq0H{8$hJQl?U`G_rrbLneFp~weI92&AUTdO*U ziAfkhSEWP`VSk9Ir4gRvo5YhjneS{Y^XKX^mce|#Uou2&*#&4Uq34BO79VvByN4pJ zMs@wv>o#*dE6i9r&uo$|EQk8zZH6+y2{d)+BCz9lJ`8*3xVUou#_XyyOmHGf;CmBrNRCn>U&5Q0JsGS?J{@h1nC$cfB*_mC;~Wc z!kd(1>u91gy9o9i+wPyf*;_ar$&N~bC`0>|Cv3WF6Yg5RX9J>2^mf%GU?IMS1MUibEv?RdFJ+V=rgI9T zj*VQ%6g^-B0m`IywCF(|e$ZVHG7H){3{Mk_uc%EP=s;?1w74={paZ}JQX49;BF2`* zPjou9XAlS^72tt5t1$KXVa2>B{q8E4#v{;OE`N0Kl6`yExM;dIr)wAPT5%!Rfob~c zZq)~v+VTt}Z!o%wYaX9ArlKOmc72FtH1O$WqgfkThn-r)wu17o_oU0MRfWte*<%)V zgES#QE^&dH6GWW=m=YjpnT01t$Dd@m&R$SSgsY2up=G+@tEmhIQO4&X&nU?%Y#YJc zcz^wKDNq3E;{Ot_L|N`tYQ+CcfL$uENa>#&s% zeT;Fp5OX)MLmw(fH4In?_z|vM4Mw`QU7~Ihp1?8G#n`i0;W5+(${pMXzLe|qMs8{l zn4mFqrXVs>hzzdNnZhkdM^UDzl2Cw@Xn))5bgAt3VhSd4ogS5v6viN+gA4#z4Gk*( z8Q%VmVKDYIEN~p<^JMx09>r|VeGvSBJqE$-OEtA+c3o&mnn?s$$pHHP94BpJx{j?T zFC!Kp7$S|}t`kq%qbt=k+GYpo!!IrJyM={7T+sRS2t|l{o%SI6!J(d6mg_f>pt}$O#wb)CQ>6n zO)s!m0L9fdBas=+OO0ClB=2v;%TxUmWalr#jeL_jwxt+oh{Sl9M^E3U9klNiw@=xA z28ZGCyAs+u(eVHV4m7c_tmgtn`hSkPb|fc0DDZGsm_~(h1h+{MJshtV$uiQUpFwU2 zywDOL(_K|=N>ygtl~9tbI>kDP7catDESYh{$J2BXFMoagBWF{2{c~w7#3j9&CWu)i zbo$gzxU1FMw?Hy~;boO9r^!o_8q36ZN|uv6IU&(U84{CXi)fs+PTaNMx0A!o&A+9aXd-ilzQn8b>$mB4 z&i|gKOM|~zJc^(w<6mXDprv3^TM3+Sk*pW#J}Gl1>CxiSzO-(FiYvn*hnUO6a;SQ4 zgdngz>A1M02A=3#8lzg|lz&&Y8n%7WZXBSDU;WAmw>FAcnO&o7x3?S0BAE11TS}fXXy~O=i(7|5H@TIQme8xc2_kae0w% zgeyg!?}P)7&w*w03==Qe&nnNL9s5nNivmxr5X*??`Hq}$@&;o=k=;-nEPJQt-cjVk z;PNMRqW3AT;d{2@GJnNq3^5lVfagE&cNIpvogD}#CJ^+=ndt@;V-NYEsXAMr=fZM{ znmXa%J$q+Tf_^}8Hy$-e9e_hg%=cz-8Uk~%+;N(Ajq!H%Wm03x2Vpr)w1~YBGiktx zSZ42vatn&`_oYAxe%UTJ()B-0*U>twb;DnCM!0pRLOS|GVShk?*C*BazP^-{pke3a zdC0X?Ae0~gZ5r-(sx`vBV|62&c5fA{bC}H-RR{#nKfT{AEN3fu@)zxd3d+$59z&i* zj)Iw!u>eoI4vh?XIwNc`UZ-0JI4>T>UStpRGCgW2K%o~p zvW`f3Pik4FNj%}m*zZXdh_CHbba~uwj2l(hl=hkphqy8vh>Kw0GE+_c10D%O&%1-T zXX}6%)~BY~FFJB{yt9ftRdi3hWZ$ZESwBfOV0Pdz1%DKwLC9Rw8ZEUI^soti)$HBj z&7NHmD%hMP`;^3UWqS01J`u1H#X{<3>jpy%Ep(KQ?A=43ed;21ti2S5AS9tOVMyqQ z%#+ioQTTU9>6w&3!|c~UpWSj~krh}W>OmnrB0#HHK<n|e zD6W&2g@5FKXDN@eBu}bcN*+N(80^E^epje>p-`WrX>82%H}U=aJvF16Oob^5dC!5l@>G|p-~z)^67R`Seh z%dv=(x+4_5Iv|F1+z3Sy&mRooC>F(f#kO7k`&DrD zXMgXP;^SF77inhAdMaMBJ60Y~AI%6|KST&u6%_dI_!@Lqj>A=X}=|Js9#;=8e>7;K8WCfFWP4zsI}n5C@2&DlMb3%O$+j zs3>9>MUjV35Zmy<5HCo)n4}M3b4RSh41bsyy6V93(>xzKe3Xmzj&)p5Q);k|ZfRZw zK*&(=rs?>InTzG_N7S$_t7tikf8}<45oL-ZGrbH^FKEg)BD!f`CNr@I9Hn?VBbXpd z`UKlHwWIY)-?d3!oBkRZ!uaHAgYn$>oG#Oq#5W3@Y{tK0q?=XxAnHu5Ut+Fc^M9-y z)x7j;S%Yf->z8=7iI?$I0B%{Ks~#(0$9h!Ig?`|xxUYjKV*cHqeX6e1b82Kx?#kE} z{|v9Kh)(dB>So~y8c*FUGzvdx(HEse$#puD`>aM$Vt0ioii)=R_JCAAeUXl42qT1S})lc4vOF!@R**hSH^|?viL`P~}`WNh7{VrGa zq%LP^{w`fd$64bX3nH)Y>=~l(c{kG@`+B(vsOgRo?3O`Itw{AdviBWp^(!t$>i7pMGSJj|rJ;0=I{=G82Tu z04YhQC%8}^&_l!6o|V#aE1@IJStZZuuLBfbgCVtnEh$dRi4D+)gh~jYMUZaH~XPkdE2`8X-)#bfgN`!fIbDt?Mr$!Z-N!ZY|RV($w#qHqdsR#9w-8StUH7S$^`rd|-Z z{Q=@jd#K+Y+f>^O>gazBFtd;vPt2Dy4>0G_aqd^~zlO-f7V9z(i+>>D)~MXhw^p5% zq?O8|e-n9ZF+Jl`WUf5gdRXn>!oIcxZ8@R$Z=-O#i3e%%yY+9R?6@-9ydeFX*^#8s zRuZ88jZ|DrXB+y1;N5or^(n)%cfFi#aJby!#p@r!``r>g+OLh`W(RxM=T)?5PT}rh zAoD<2MSa5E%c$)h+u?ym@s@?Zz@UIc%JHRXst$T(R zCL9g&#CUu!VA|Mp_E8Asy+GxY-g|*Z`KIAOqPgwPyVCEjVgR~(!cK0IZ@wS+HvKuB zCcm7~Jwd357c`ZSX#y!E4DQB%WbO$XhA#0{x_~zlk$R}DU4QvC28&ItsQ8MXXQDRi zt-+(=*et}3s!%L&0)OxCsvDcLc!?CzodA)Ph4qONt4}&Z$ASR9?K9izq2~7^^qG`E z!>@dDq$qU)h6od~db^RL_rlHk8WToe($xp!r=&{kE^9b1jVJM`q@T_`bPonU1MO%J zUicOM_EAOv#(xGk&-|w%{%`a8n#VZj($`9UO__OoF>Vu(tG>wE*X3puj2q$9O9)mLT;~cdgLAigx)PmPh<_M>2)SZoe4mB4Fbmyu$>)%c zYM3za%@Fp0T<)szCRM}R3iF!sm7Sl-Ht|&2VI57u9ta$Y)pRq@r6Q^Gn5JZpg-ilz z|FiO4eKgf4m-D$SOT3&VjXEQ)3`kdG1=J7J%_E|rWkINsnVS1ehtaq?mtsFB;+gY% zGGuNXb$=0xaQqQ*{*VbCL;QOw9DfW^%aw5ac2xJ`;rL_%$G}5UDibk^c>K|pi6G<1 zGO3V8jj|rYNa~H0$&kjN*gq#5*_F}s1&^Xk&7LD_91Lg$fUShKe6P0|?1V2fD(Ziz zk;EwQP-yC8ub&-X?g^ds-R2+S!sqFL7}gwok0?htRR=%0AWzFFzEO;8Z1-3~)y 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 delta 60611 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 z zi>O2Y=F*!@t%y_uqi?Omk=#zcMaF+WRcA0wSbl{l%BQM}U87I4sTJ**Aj@=Mvj5_J zrzagm@J4jUPFbG}pNt%7!T*gAA_3P((jd_hF=1n zp`8>K-&-9od4T>mbNp{+?cPFtx^S>h0Mo8%pR z4Ec!Q0?83@}n@VP?HNKz~QD&l)D)S$( zNUK>Yd32sOI^yz_byQ_B9Q(Ve2^tNq;?a4l%k6TFg63wIIo@v(f!`t?YQ!N9yNX)k zE@xc%b=oBLf{e^ql%J&O_|480-l=fpDkL$rX??mUU2DeWC z4vK((6BVIx({TPYI=ovx$V-tHcjQx*(j>$j2R>SJ!?dNZfOt^g=Dw75^dQ8wd)XWW zSD?n(8iRv7mJeQI9hzQsIBRzD&biYJmNy#Sa~;;n z4x%A{|MziX&0^_VrgOUbeB0b(@hbaJBFFy)tL}9qg$^%1BmDdp(3WsdQ>*uSh#;1? zx1WR}{)B7)(xDpA4LGyi5HXR!iaS|wEqZH6D^c->L)8D`5Kj|$WrC8bhqm!b=899u zzv~R`ol&B_skP7Uw_QRfuzGJx{3C$Y{2f@$L{vRXKj4kNoGD$+?>le>Fwg%crtNl< zwD9EX>-=U&0+r}^qWO98PoRdjdJj0VWcsk=+di`U@z^SC?CaR9!;!6!hn&ovIH4JF zxfkqL%G^dlZo%ethk3&&SycCH!*6j9yKcc}dCGP_jSTY~*A#!UkGTVnBk;&=n%gPP z9Yzh3>D@H;RQ^=cH2nTb-|YkX%c$=R4`dv_@2N;YAe}wZhW9RQSsext?ET3^t6N$} zsVqjJWO}05So`*b%}20)H#B!RkSuIjEnmEE?4@|2wMQsot9u!6Np;5JiukhyVZ{)%O>gV~1sxW0{n2bA4U$D9)rPaip5Ut;W0QOay|3sR`N~ zb*D*K7->q>3FcxfCLtMczoa7zVjC3O@`PB2Y=xgz&%F?OWaZwF7m`a#YRhOrbu~a zbuW&?QiS4D2(CEdHN;l4aRYrzF4wDzRUL?sk;!Kwm_U0UO3!L%bX)rahL3F{?_rI( zjm+K=#GCKXL1=fkd?BWjPCzp(qiUu|JgN6@^XYq%-p

B!( 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 diff --git a/backend/stet/data/stet_pt-br.docx b/backend/stet/data/stet_pt-br.docx index 8f5e48ee26ee0423207760719ee800484b84ca9d..d1201cd15f41cea9a2a00a985e691c57036e4bb8 100644 GIT binary patch delta 64669 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౯-+MU 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

TD^@AzrPFC{e(e|-oE%vVc5Ugt9uwTg`IG6fS}k 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 b5gQb&4d4WaQu*IMX0-wM(1>bZ&jI^iW=Yq3 diff --git a/backend/stet/data/stet_sw.docx b/backend/stet/data/stet_sw.docx index 5ee9bc2b7a53624fe7726aacc8c05b31cb54dc58..ff1992d4c2c6c6f149cc5828d5d3423e1bb2ba9b 100644 GIT binary patch delta 79873 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 p+c$wdMCK81XBiD6AT4 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 VG6fR7!G=g73M>E+X9Qsb_&?+WndJZg delta 79683 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�hfVbXa%;eC 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 Date: Tue, 18 Nov 2025 12:41:01 -0800 Subject: [PATCH 4/7] Don't do page break before new chapter This might be put back in place later, but with new layouts it makes less sense to have a page break before a new chapter. --- backend/templates/html/header_enclosing.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/templates/html/header_enclosing.html b/backend/templates/html/header_enclosing.html index c427a9e1..5fc5f71f 100644 --- a/backend/templates/html/header_enclosing.html +++ b/backend/templates/html/header_enclosing.html @@ -220,9 +220,9 @@ page-break-before: always; clear: both; } - .chapter:not(:first-of-type) { - page-break-before: always; - } + /* .chapter:not(:first-of-type) { + page-break-before: always; + } */ } .single-space { From 0d9d60ef65309cfb1f22219b1a7a5a25939325b3 Mon Sep 17 00:00:00 2001 From: linearcombination <4829djaskdfj@gmail.com> Date: Tue, 18 Nov 2025 12:46:58 -0800 Subject: [PATCH 5/7] Temporarily disable OT Survey Reviewer's guide in Passages app The parsing isn't quite right, it will come back corrected in a future update. --- .../passages/BibleReferenceSelector.svelte | 2 +- frontend/tests/e2e/passages_test.ts | 54 +++++++++---------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/frontend/src/routes/passages/passages/BibleReferenceSelector.svelte b/frontend/src/routes/passages/passages/BibleReferenceSelector.svelte index f5a56d47..7b35aea3 100644 --- a/frontend/src/routes/passages/passages/BibleReferenceSelector.svelte +++ b/frontend/src/routes/passages/passages/BibleReferenceSelector.svelte @@ -39,7 +39,7 @@

- + {#if !isProduction} diff --git a/frontend/tests/e2e/passages_test.ts b/frontend/tests/e2e/passages_test.ts index a3a53621..cbe71382 100644 --- a/frontend/tests/e2e/passages_test.ts +++ b/frontend/tests/e2e/passages_test.ts @@ -78,22 +78,22 @@ test('passages checkboxes', async ({ page }) => { await page.goto('http://localhost:8001/passages') await page.getByText('English').click() await page.getByRole('button', { name: 'Next' }).click() - await page.getByLabel('Add OT Survey RG1 Passages').check() - await expect(page.locator('body')).toContainText('Genesis 1:1-2', { timeout: 32_000 }) - await page.getByLabel('Add OT Survey RG1 Passages').uncheck() - await expect(page.locator('body')).not.toContainText('Genesis 1:1-2') - await page.getByLabel('Add OT Survey RG2 Passages').check() - await expect(page.locator('body')).toContainText('Joshua 1:1-9', { timeout: 32_000 }) - await page.getByLabel('Add OT Survey RG2 Passages').uncheck() - await expect(page.locator('body')).not.toContainText('Joshua 1:1-9', { timeout: 32_000 }) - await page.getByLabel('Add OT Survey RG3 Passages').check() - await expect(page.locator('body')).toContainText('Job 1:6-22') - await page.getByLabel('Add OT Survey RG3 Passages').uncheck() - await expect(page.locator('body')).not.toContainText('Job 1:6-22') - await page.getByLabel('Add OT Survey RG4 Passages').check() - await expect(page.locator('body')).toContainText('Isaiah 1:1-9', { timeout: 32_000 }) - await page.getByLabel('Add OT Survey RG4 Passages').uncheck() - await expect(page.locator('body')).not.toContainText('Isaiah 1:1-9', { timeout: 32_000 }) + // await page.getByLabel('Add OT Survey RG1 Passages').check() + // await expect(page.locator('body')).toContainText('Genesis 1:1-2', { timeout: 32_000 }) + // await page.getByLabel('Add OT Survey RG1 Passages').uncheck() + // await expect(page.locator('body')).not.toContainText('Genesis 1:1-2') + // await page.getByLabel('Add OT Survey RG2 Passages').check() + // await expect(page.locator('body')).toContainText('Joshua 1:1-9', { timeout: 32_000 }) + // await page.getByLabel('Add OT Survey RG2 Passages').uncheck() + // await expect(page.locator('body')).not.toContainText('Joshua 1:1-9', { timeout: 32_000 }) + // await page.getByLabel('Add OT Survey RG3 Passages').check() + // await expect(page.locator('body')).toContainText('Job 1:6-22') + // await page.getByLabel('Add OT Survey RG3 Passages').uncheck() + // await expect(page.locator('body')).not.toContainText('Job 1:6-22') + // await page.getByLabel('Add OT Survey RG4 Passages').check() + // await expect(page.locator('body')).toContainText('Isaiah 1:1-9', { timeout: 32_000 }) + // await page.getByLabel('Add OT Survey RG4 Passages').uncheck() + // await expect(page.locator('body')).not.toContainText('Isaiah 1:1-9', { timeout: 32_000 }) await page.getByLabel("Add NT Survey Reviewers'").check() await expect(page.locator('body')).toContainText('Matthew 2:1-12', { timeout: 32_000 }) await page.getByLabel("Add NT Survey Reviewers'").uncheck() @@ -102,15 +102,15 @@ test('passages checkboxes', async ({ page }) => { await expect(page.locator('body')).toContainText('Matthew 1:1', { timeout: 32_000 }) await page.getByLabel('Add STET Passages').uncheck() await expect(page.locator('body')).not.toContainText('Matthew 1:1', { timeout: 32_000 }) - await page.getByLabel('Add all OT RG Passages').check() - await expect(page.locator('body')).toContainText('Genesis 1:1-2', { timeout: 32_000 }) - await page.getByLabel('Add all OT RG Passages').uncheck() - await expect(page.locator('body')).not.toContainText('Genesis 1:1-2', { timeout: 32_000 }) - await page.getByLabel('Bible Book').selectOption('lev') - await page.getByLabel('Chapter').selectOption('6') - await page.getByPlaceholder('e.g., 1,2,5-').click() - await page.getByPlaceholder('e.g., 1,2,5-').fill('1,2,5-7') - await page.getByPlaceholder('e.g., 1,2,5-').press('Tab') - await page.getByRole('button', { name: 'Add Passage' }).click() - await expect(page.locator('body')).toContainText('Leviticus 6:1,2,5-7') + // await page.getByLabel('Add all OT RG Passages').check() + // await expect(page.locator('body')).toContainText('Genesis 1:1-2', { timeout: 32_000 }) + // await page.getByLabel('Add all OT RG Passages').uncheck() + // await expect(page.locator('body')).not.toContainText('Genesis 1:1-2', { timeout: 32_000 }) + // await page.getByLabel('Bible Book').selectOption('lev') + // await page.getByLabel('Chapter').selectOption('6') + // await page.getByPlaceholder('e.g., 1,2,5-').click() + // await page.getByPlaceholder('e.g., 1,2,5-').fill('1,2,5-7') + // await page.getByPlaceholder('e.g., 1,2,5-').press('Tab') + // await page.getByRole('button', { name: 'Add Passage' }).click() + // await expect(page.locator('body')).toContainText('Leviticus 6:1,2,5-7') }) From 6a7efb37f6a7e940c4c5f771ae95052fc8de444d Mon Sep 17 00:00:00 2001 From: linearcombination <4829djaskdfj@gmail.com> Date: Tue, 18 Nov 2025 12:49:19 -0800 Subject: [PATCH 6/7] Mark bi language Links: section for removal We already remove Links: section, but some languages localize the word. --- backend/doc/markdown_transforms/markdown_transformer.py | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/doc/markdown_transforms/markdown_transformer.py b/backend/doc/markdown_transforms/markdown_transformer.py index 03a95c69..1f3ab1ff 100644 --- a/backend/doc/markdown_transforms/markdown_transformer.py +++ b/backend/doc/markdown_transforms/markdown_transformer.py @@ -46,6 +46,7 @@ MARKDOWN_SECTIONS_TO_REMOVE: list[str] = [ "Examples from the Bible stories", "Links", + "Tautan", # Links in bi language "Picture of", "Pictures", ] From cd24387ce6c8523e8f8a283e93882dff35e2eae8 Mon Sep 17 00:00:00 2001 From: linearcombination <4829djaskdfj@gmail.com> Date: Tue, 18 Nov 2025 12:57:29 -0800 Subject: [PATCH 7/7] New strategies, layouts, linking, and context aware options This is a big commit. The primary deliverable for this commit is adding versification at the book and chapter chunk level for PDF, ePub, and Docx, their supporting front and backend tests, and new layouts that match the document prototype provided by the PO as a guide. This commit also makes TW words linking work properly. This commit also adds new optional settings that the user may select which are contextually relevant for the given assembly strategy (interleaving strategy chosen). These can be seen dynamically changing on the final settings page of the UI depending on what is chosen. Many bug fixes and visual enhancements to layout along the way. More to be done, but this should be a radically useful upgrade for TS. --- .env | 6 + backend/doc/config.py | 44 +- ...ly_strategies_book_then_lang_by_chapter.py | 699 ++++++++++--- ...ly_strategies_lang_then_book_by_chapter.py | 637 ++++++++++-- .../assembly_strategy_utils.py | 2 +- ...ly_strategies_book_then_lang_by_chapter.py | 951 ++++++++++++++--- ...ly_strategies_lang_then_book_by_chapter.py | 976 +++++++++++++++--- .../assembly_strategy_utils.py | 87 +- backend/doc/domain/document_generator.py | 209 +++- backend/doc/domain/model.py | 27 +- backend/doc/domain/parsing.py | 187 +++- backend/doc/domain/resource_lookup.py | 94 +- .../doc/markdown_transforms/link_regexes.py | 14 +- .../markdown_transformer.py | 87 +- backend/doc/utils/docx_util.py | 151 +++ backend/doc/utils/list_utils.py | 14 +- backend/doc/utils/text_utils.py | 27 + backend/doc/utils/tw_utils.py | 264 +++-- backend/doc/utils/url_utils.py | 25 +- backend/passages/domain/document_generator.py | 11 +- backend/passages/domain/model.py | 3 +- backend/passages/domain/parser.py | 10 +- .../passages/domain/stet_verse_list_parser.py | 1 + backend/passages/entrypoints/routes.py | 1 + backend/requirements.in | 1 + backend/stet/domain/document_generator.py | 8 +- backend/stet/domain/model.py | 1 + backend/stet/domain/parser.py | 3 +- frontend/src/lib/ResourceTypeBasket.svelte | 2 +- frontend/src/lib/Switch.svelte | 8 +- .../src/lib/passages/stores/SettingsStore.ts | 2 +- frontend/src/lib/stet/stores/SettingsStore.ts | 2 +- frontend/src/lib/stores/SettingsStore.ts | 11 +- .../languages/DesktopLanguageDisplay.svelte | 3 - .../passages/settings/GenerateDocument.svelte | 6 +- frontend/src/routes/settings/+page.svelte | 245 ++++- .../routes/settings/GenerateDocument.svelte | 18 +- .../src/routes/stet/settings/+page.svelte | 20 +- .../stet/settings/GenerateDocument.svelte | 8 +- frontend/tests/e2e/stet_test.ts | 8 +- frontend/tests/e2e/test.ts | 204 +++- tests/e2e/conftest.py | 8 +- tests/e2e/doc/test_api.py | 84 +- ..._combinations_book_then_lang_by_chapter.py | 204 ++-- ...mbinations_book_then_lang_by_chapter_rg.py | 10 +- ..._combinations_lang_then_book_by_chapter.py | 134 +-- ...inations_lang_then_book_by_chapter_docx.py | 64 +- ...mbinations_lang_then_book_by_chapter_rg.py | 14 +- .../doc/test_api_randomized_combinatoric.py | 6 +- tests/e2e/doc/test_dynamic_usfm_fixes.py | 4 +- tests/e2e/doc/test_send_email.py | 2 +- tests/e2e/doc/test_stream_pdf.py | 2 +- tests/e2e/doc/test_use_prince.py | 2 +- tests/shared/utils.py | 2 +- tests/unit/test_assemble_docx_content.py | 3 +- tests/unit/test_document_generator.py | 7 +- tests/unit/test_resource_lookup_api.py | 7 +- 57 files changed, 4457 insertions(+), 1173 deletions(-) diff --git a/.env b/.env index 250c57c4..41ce69bf 100644 --- a/.env +++ b/.env @@ -72,6 +72,12 @@ CHECK_ALL_BOOKS_FOR_LANGUAGE=true # they all are available by cloning, hence the value false. DOWNLOAD_ASSETS=false +# Setting to false will cause interleave by verse layout to put each +# TW word associated with the verse in a horizontal comma delimited +# list, otherwise it will put each TW word in a list with one word per +# line. +TW_WORD_LIST_VERTICAL=false + # * http://localhost:3000 covers requests originating from the case # where 'npm run dev' is invoked to run vite (to run svelte js frontend) # outside Docker. This results in vite's development mode which runs on diff --git a/backend/doc/config.py b/backend/doc/config.py index fb1db2de..2c1b6c32 100755 --- a/backend/doc/config.py +++ b/backend/doc/config.py @@ -2,7 +2,7 @@ import logging from logging import config as lc -from typing import Sequence, final +from typing import Mapping, Sequence, final import yaml from pydantic import EmailStr, HttpUrl @@ -35,17 +35,55 @@ class Settings(BaseSettings): "usfm", ] + # This can be expanded to include any additional types (if + # there are any) that we want to be available to users. These are all + # that I found of relevance in the data API. + RESOURCE_TYPE_CODES_AND_NAMES: Mapping[str, str] = { + "ayt": "Bahasa Indonesian Bible", + "bc": "Bible Commentary", + "blv": "Portuguese Bíblia Livre", + "cuv": "新标点和合本", + "f10": "French Louis Segond 1910 Bible", + "nav": "New Arabic Version (Ketab El Hayat)", + "reg": "Regular", + "rg": "NT Survey Reviewers' Guide", + "tn": "Translation Notes", + "tn-condensed": "Condensed Translation Notes", + "tq": "Translation Questions", + "tw": "Translation Words", + # "udb": "Unlocked Dynamic Bible", # Content team doesn't want udb used TODO (just for English or ?) + "ugnt": "unfoldingWord® Greek New Testament", + "uhb": "unfoldingWord® Hebrew Bible", + "ulb": "Unlocked Literal Bible", + } + SHOW_TN_BOOK_INTRO: bool = True + # SHOW_BC_BOOK_INTRO: bool = True + # SHOW_TN_CHAPTER_INTRO: bool = True + # SHOW_TN_BOOK_INTRO_IN_VERSIFIED_CONTEXT: bool = True + # SHOW_BC_BOOK_INTRO_IN_VERSIFIED_CONTEXT: bool = True + # SHOW_TN_CHAPTER_INTRO_IN_VERSIFIED_CONTEXT: bool = True + # SHOW_BC_CHAPTER_COMMENTARY_IN_VERSIFIED_CONTEXT: bool = True + # SHOW_RG_CHAPTER_COMMENTARY_IN_VERSIFIED_CONTEXT: bool = True CHECK_USFM: bool USE_LOCALIZED_BOOK_NAME: bool CHECK_ALL_BOOKS_FOR_LANGUAGE: bool - BOOK_NAME_FMT_STR: str = "

{}

" + TRANSLATION_WORD_VERSE_SECTION_HEADER_STR: str = "

Uses:

" + TRANSLATION_WORD_VERSE_REF_ITEM_FMT_STR: str = ( + '
' + ) + UNORDERED_LIST_BEGIN_STR: str = "
    " + UNORDERED_LIST_END_STR: str = "
" + VERSE_SPAN_FMT_STR: str = '{}' + BOOK_NAME_FMT_STR: str = "

{}

" + LEFT_ALIGNED_HEADER_FMT_STR: str = "

{}

" END_OF_CHAPTER_HTML: str = '
' HR: str = "
" + TW_WORD_LIST_VERTICAL: bool = True - DOWNLOAD_ASSETS: bool # If true then download assets, else clone assets + DOWNLOAD_ASSETS: bool = False # If true then download assets, else clone assets def logger(self, name: str) -> logging.Logger: """ diff --git a/backend/doc/domain/assembly_strategies/assembly_strategies_book_then_lang_by_chapter.py b/backend/doc/domain/assembly_strategies/assembly_strategies_book_then_lang_by_chapter.py index cf094a48..61f6a778 100644 --- a/backend/doc/domain/assembly_strategies/assembly_strategies_book_then_lang_by_chapter.py +++ b/backend/doc/domain/assembly_strategies/assembly_strategies_book_then_lang_by_chapter.py @@ -26,8 +26,11 @@ TWBook, USFMBook, ) +from doc.domain.parsing import handle_split_chapter_into_verses from doc.reviewers_guide.model import RGBook +from doc.utils.list_utils import unique_list_of_strings from doc.utils.number_utils import is_even +from doc.utils.tw_utils import translation_words_for_content logger = settings.logger(__name__) @@ -40,7 +43,7 @@ HTML_COLUMN_RIGHT_BEGIN: str = "
" -def assemble_content_by_book_then_lang( +def assemble_content_by_chapter( usfm_books: Sequence[USFMBook], tn_books: Sequence[TNBook], tq_books: Sequence[TQBook], @@ -51,17 +54,16 @@ def assemble_content_by_book_then_lang( use_section_visual_separator: bool, use_two_column_layout_for_tn_notes: bool, use_two_column_layout_for_tq_notes: bool, + show_tn_book_intro: bool, + show_bc_book_intro: bool, + show_tn_chapter_intro: bool, book_names: Mapping[str, str] = BOOK_NAMES, book_id_map: dict[str, int] = BOOK_ID_MAP, ) -> str: - """ - Assemble by book then by language in alphabetic order before - delegating more atomic ordering/interleaving to an assembly - sub-strategy. - """ content = [] + # Collect and duplicate max number of lang_codes # Collect and deduplicate book codes - all_book_codes = ( + all_book_codes = list( {usfm_book.book_code for usfm_book in usfm_books} .union(tn_book.book_code for tn_book in tn_books) .union(tq_book.book_code for tq_book in tq_books) @@ -69,10 +71,9 @@ def assemble_content_by_book_then_lang( .union(bc_book.book_code for bc_book in bc_books) .union(rg_book.book_code for rg_book in rg_books) ) - most_book_codes = list(all_book_codes) # Cache book_id_map lookup book_codes_sorted = sorted( - most_book_codes, key=lambda book_code: book_id_map[book_code] + all_book_codes, key=lambda book_code: book_id_map[book_code] ) for book_code in book_codes_sorted: selected_usfm_books = [ @@ -108,6 +109,9 @@ def assemble_content_by_book_then_lang( use_section_visual_separator, use_two_column_layout_for_tn_notes, use_two_column_layout_for_tq_notes, + show_tn_book_intro, + show_bc_book_intro, + show_tn_chapter_intro, ) ) elif ( @@ -129,6 +133,9 @@ def assemble_content_by_book_then_lang( use_section_visual_separator, use_two_column_layout_for_tn_notes, use_two_column_layout_for_tq_notes, + show_tn_book_intro, + show_bc_book_intro, + show_tn_chapter_intro, ) ) elif ( @@ -150,6 +157,9 @@ def assemble_content_by_book_then_lang( selected_rg_books, use_section_visual_separator, use_two_column_layout_for_tq_notes, + show_tn_book_intro, + show_bc_book_intro, + show_tn_chapter_intro, ) ) elif ( @@ -195,6 +205,69 @@ def assemble_content_by_book_then_lang( return "".join(content) +def assemble_content_by_verse_chapter_at_a_time( + usfm_books: Sequence[USFMBook], + tn_books: Sequence[TNBook], + tq_books: Sequence[TQBook], + tw_books: Sequence[TWBook], + bc_books: Sequence[BCBook], + rg_books: Sequence[RGBook], + assembly_layout_kind: AssemblyLayoutEnum, + use_section_visual_separator: bool, + use_two_column_layout_for_tn_notes: bool, + use_two_column_layout_for_tq_notes: bool, + show_tn_book_intro: bool, + show_bc_book_intro: bool, + show_tn_chapter_intro: bool, + show_bc_chapter_commentary: bool, + show_rg_chapter_commentary: bool, + book_names: Mapping[str, str] = BOOK_NAMES, + book_id_map: dict[str, int] = BOOK_ID_MAP, +) -> str: + content = [] + if not usfm_books: # usfm not provided so versification doesn't apply + content.extend( + assemble_usfm_by_chapter( + usfm_books, + tn_books, + tq_books, + tw_books, + bc_books, + rg_books, + use_section_visual_separator, + use_two_column_layout_for_tn_notes, + use_two_column_layout_for_tq_notes, + show_tn_book_intro, + show_bc_book_intro, + show_tn_chapter_intro, + # show_bc_chapter_commentary, + ) + ) + elif usfm_books and ( + assembly_layout_kind == AssemblyLayoutEnum.ONE_COLUMN + or assembly_layout_kind == AssemblyLayoutEnum.ONE_COLUMN_COMPACT + ): + content.extend( + assemble_usfm_by_verse_chapter_at_a_time( + usfm_books, + tn_books, + tq_books, + tw_books, + bc_books, + rg_books, + use_section_visual_separator, + use_two_column_layout_for_tn_notes, + use_two_column_layout_for_tq_notes, + show_tn_book_intro, + show_bc_book_intro, + show_tn_chapter_intro, + show_bc_chapter_commentary, + show_rg_chapter_commentary, + ) + ) + return "".join(content) + + def assemble_usfm_by_chapter( usfm_books: Sequence[USFMBook], tn_books: Sequence[TNBook], @@ -205,118 +278,430 @@ def assemble_usfm_by_chapter( use_section_visual_separator: bool, use_two_column_layout_for_tn_notes: bool, use_two_column_layout_for_tq_notes: bool, + show_tn_book_intro: bool, + show_bc_book_intro: bool, + show_tn_chapter_intro: bool, end_of_chapter_html: str = settings.END_OF_CHAPTER_HTML, close_direction_html: str = "
", hr: str = settings.HR, book_chapters: Mapping[str, int] = BOOK_CHAPTERS, - show_tn_book_intro: bool = settings.SHOW_TN_BOOK_INTRO, fmt_str: str = settings.BOOK_NAME_FMT_STR, + resource_type_name_fmt_str: str = settings.LEFT_ALIGNED_HEADER_FMT_STR, + tw_word_list_vertical: bool = settings.TW_WORD_LIST_VERTICAL, ) -> list[str]: """ Construct the HTML wherein at least one USFM resource exists, one column layout. """ - + # Collect and duplicate content = [] - - - - - - if show_tn_book_intro: for tn_book in tn_books: content.append(tn_language_direction_html(tn_book)) book_intro_ = tn_book_intro(tn_book, use_section_visual_separator) book_intro_adj = adjust_book_intro_headings(book_intro_) - content.append(book_intro_adj) + if book_intro_adj: + content.append( + resource_type_name_fmt_str.format(tn_book.resource_type_name) + ) + content.append(book_intro_adj) content.append(close_direction_html) - for bc_book in bc_books: - content.append(bc_book_intro(bc_book, use_section_visual_separator)) + if show_bc_book_intro: + for bc_book in bc_books: + bc_book_intro_ = bc_book_intro(bc_book, use_section_visual_separator) + if bc_book_intro_: + content.append( + resource_type_name_fmt_str.format(bc_book.resource_type_name) + ) + content.append(bc_book_intro_) book_codes = {usfm_book.book_code for usfm_book in usfm_books} for book_code in book_codes: num_chapters = book_chapters[book_code] for chapter_num in range(1, num_chapters + 1): - for tn_book in [ - tn_book for tn_book in tn_books if tn_book.book_code == book_code - ]: - if chapter_num in tn_book.chapters: - content.append(tn_language_direction_html(tn_book)) - content.append( - chapter_intro( - tn_book, chapter_num, use_section_visual_separator - ) + if show_tn_chapter_intro: + for tn_book in [ + tn_book for tn_book in tn_books if tn_book.book_code == book_code + ]: + tn_chapter_intro_ = chapter_intro( + tn_book, chapter_num, use_section_visual_separator ) - content.append(close_direction_html) + if tn_chapter_intro_: + content.append(tn_language_direction_html(tn_book)) + content.append( + resource_type_name_fmt_str.format( + tn_book.resource_type_name + ) + ) + content.append(tn_chapter_intro_) + content.append(close_direction_html) for bc_book in [ bc_book for bc_book in bc_books if bc_book.book_code == book_code ]: - if chapter_num in bc_book.chapters: + chapter_commentary_ = chapter_commentary( + bc_book, chapter_num, use_section_visual_separator + ) + if chapter_commentary_: content.append( - chapter_commentary( - bc_book, chapter_num, use_section_visual_separator - ) + resource_type_name_fmt_str.format(bc_book.resource_type_name) ) + content.append(chapter_commentary_) for usfm_book in [ usfm_book for usfm_book in usfm_books if usfm_book.book_code == book_code ]: - # Add the book title, e.g., 1 Peter content.append(fmt_str.format(usfm_book.national_book_name)) if chapter_num in usfm_book.chapters: content.append(usfm_language_direction_html(usfm_book)) + content.append( + resource_type_name_fmt_str.format(usfm_book.resource_type_name) + ) content.append(usfm_book.chapters[chapter_num].content) content.append(close_direction_html) - if not has_footnotes(usfm_book.chapters[chapter_num].content): + if ( + not has_footnotes(usfm_book.chapters[chapter_num].content) + and use_section_visual_separator + ): content.append(hr) + # Add list of tw words used in chapter + selected_tw_books = [ + tw_book + for tw_book in tw_books + if tw_book.book_code == book_code + ] + if selected_tw_books: + tw_book = selected_tw_books[0] + words = translation_words_for_content( + tw_book, usfm_book.chapters[chapter_num].content + ) + unique_words = unique_list_of_strings(words) + if unique_words: + content.append(fmt_str.format(tw_book.resource_type_name)) + if tw_word_list_vertical: + html = ( + "
    \n" + + "\n".join( + [ + f"
  • {localized_word}
  • " + for localized_word, word in unique_words + ] + ) + + "
" + ) + else: + html = ", ".join( + [ + f"{localized_word}" + for localized_word, word in unique_words + ] + ) + logger.debug("tw links html: %s", html) + content.append(html) # Add the interleaved tn notes tn_verses = None for tn_book in [ tn_book for tn_book in tn_books if tn_book.book_code == book_code ]: - if chapter_num in tn_book.chapters: - tn_verses = tn_chapter_verses( - tn_book, - chapter_num, - use_section_visual_separator, - use_two_column_layout_for_tn_notes, + tn_verses = tn_chapter_verses( + tn_book, + chapter_num, + use_section_visual_separator, + use_two_column_layout_for_tn_notes, + ) + if tn_verses: + content.append(tn_language_direction_html(tn_book)) + content.append( + resource_type_name_fmt_str.format(tn_book.resource_type_name) ) - if tn_verses: - content.append(tn_language_direction_html(tn_book)) - content.append(tn_verses) - content.append(close_direction_html) + content.append(tn_verses) + content.append(close_direction_html) tq_verses = None for tq_book in [ tq_book for tq_book in tq_books if tq_book.book_code == book_code ]: - if chapter_num in tq_book.chapters: - tq_verses = tq_chapter_verses( - tq_book, - chapter_num, - use_section_visual_separator, - use_two_column_layout_for_tq_notes, + tq_verses = tq_chapter_verses( + tq_book, + chapter_num, + use_section_visual_separator, + use_two_column_layout_for_tq_notes, + ) + if tq_verses: + content.append(tq_language_direction_html(tq_book)) + content.append( + resource_type_name_fmt_str.format(tq_book.resource_type_name) ) - if tq_verses: - content.append(tq_language_direction_html(tq_book)) - content.append(tq_verses) - content.append(close_direction_html) + content.append(tq_verses) + content.append(close_direction_html) rg_verses = None for rg_book in [ - rg_book - for rg_book in rg_books - if rg_book.book_code == book_code - # if rg_book.lang_code == lang_code - # and rg_book.book_code == book_code + rg_book for rg_book in rg_books if rg_book.book_code == book_code ]: - if chapter_num in rg_book.chapters: - rg_verses = rg_chapter_verses( - rg_book, chapter_num, use_section_visual_separator + rg_verses = rg_chapter_verses( + rg_book, chapter_num, use_section_visual_separator + ) + if rg_verses: + content.append(rg_language_direction_html(rg_book)) + content.append(rg_verses) + content.append(close_direction_html) + content.append(end_of_chapter_html) + return content + + +def assemble_usfm_by_verse_chapter_at_a_time( + usfm_books: Sequence[USFMBook], + tn_books: Sequence[TNBook], + tq_books: Sequence[TQBook], + tw_books: Sequence[TWBook], + bc_books: Sequence[BCBook], + rg_books: Sequence[RGBook], + use_section_visual_separator: bool, + use_two_column_layout_for_tn_notes: bool, + use_two_column_layout_for_tq_notes: bool, + show_tn_book_intro: bool, + show_bc_book_intro: bool, + show_tn_chapter_intro: bool, + show_bc_chapter_commentary: bool, + show_rg_chapter_commentary: bool, + end_of_chapter_html: str = settings.END_OF_CHAPTER_HTML, + close_direction_html: str = "
  • {} {}:{}
  • ", + hr: str = settings.HR, + book_chapters: Mapping[str, int] = BOOK_CHAPTERS, + fmt_str: str = settings.LEFT_ALIGNED_HEADER_FMT_STR, + verse_span_fmt_str: str = settings.VERSE_SPAN_FMT_STR, + tw_word_list_vertical: bool = settings.TW_WORD_LIST_VERTICAL, + resource_type_codes_and_names: Mapping[ + str, str + ] = settings.RESOURCE_TYPE_CODES_AND_NAMES, +) -> list[str]: + content = [] + lang_codes = list(dict.fromkeys(usfm_book.lang_code for usfm_book in usfm_books)) + for lang_code in lang_codes: + if show_tn_book_intro: + for tn_book in [ + tn_book for tn_book in tn_books if tn_book.lang_code == lang_code + ]: + content.append(tn_language_direction_html(tn_book)) + book_intro_ = tn_book_intro(tn_book, use_section_visual_separator) + book_intro_adj = adjust_book_intro_headings(book_intro_) + if book_intro_adj: + content.append(fmt_str.format(tn_book.resource_type_name)) + content.append(book_intro_adj) + content.append(close_direction_html) + if show_bc_book_intro: + for bc_book in [ + bc_book for bc_book in bc_books if bc_book.lang_code == lang_code + ]: + bc_book_intro_ = bc_book_intro(bc_book, use_section_visual_separator) + if bc_book_intro_: + content.append(fmt_str.format(bc_book.resource_type_name)) + content.append(bc_book_intro_) + book_codes = list(dict.fromkeys(usfm_book.book_code for usfm_book in usfm_books)) + for book_code in book_codes: + num_chapters = book_chapters[book_code] + for chapter_num in range(1, num_chapters + 1): + for lang_code in lang_codes: + if show_tn_chapter_intro: + for tn_book in [ + tn_book + for tn_book in tn_books + if tn_book.book_code == book_code + and tn_book.lang_code == lang_code + ]: + chapter_intro_ = chapter_intro( + tn_book, chapter_num, use_section_visual_separator + ) + if chapter_intro_: + content.append(tn_language_direction_html(tn_book)) + content.append(fmt_str.format(tn_book.resource_type_name)) + content.append(chapter_intro_) + content.append(close_direction_html) + if show_bc_chapter_commentary: + for bc_book in [ + bc_book + for bc_book in bc_books + if bc_book.book_code == book_code + and bc_book.lang_code == lang_code + ]: + chapter_commentary_ = chapter_commentary( + bc_book, chapter_num, use_section_visual_separator + ) + if chapter_commentary_: + content.append(fmt_str.format(bc_book.resource_type_name)) + content.append(chapter_commentary_) + if show_rg_chapter_commentary: + rg_verses = None + for rg_book in [ + rg_book + for rg_book in rg_books + if rg_book.book_code == book_code + and rg_book.lang_code == lang_code + ]: + rg_verses = rg_chapter_verses( + rg_book, chapter_num, use_section_visual_separator + ) + if rg_verses: + content.append(rg_language_direction_html(rg_book)) + content.append(fmt_str.format(rg_book.resource_type_name)) + content.append(rg_verses) + content.append(close_direction_html) + selected_usfm_books = [ + usfm_book + for usfm_book in usfm_books + if usfm_book.book_code == book_code + and usfm_book.lang_code == lang_code + ] + selected_tn_books = [ + tn_book + for tn_book in tn_books + if tn_book.book_code == book_code and tn_book.lang_code == lang_code + ] + selected_tq_books = [ + tq_book + for tq_book in tq_books + if tq_book.book_code == book_code and tq_book.lang_code == lang_code + ] + selected_tw_books = [ + tw_book + for tw_book in tw_books + if tw_book.book_code == book_code and tw_book.lang_code == lang_code + ] + usfm_book = None + usfm_book2 = None + usfm_chapter = None + usfm_chapter2 = None + if len(selected_usfm_books) == 1: + usfm_book = selected_usfm_books[0] + usfm_chapter = ( + usfm_book.chapters[chapter_num] + if chapter_num in usfm_book.chapters + else None ) - if rg_verses: - content.append(rg_language_direction_html(rg_book)) - content.append(rg_verses) - content.append(close_direction_html) + elif len(selected_usfm_books) == 2: # Second USFM chosen, e.g., fr f10 + # TODO Later we might do resources types by clicked order at which point we would likely + # just use the else clause below. + # Assuming f10 should be treated as secondary to ulb for fr + if selected_usfm_books[0].resource_type_name in [ + resource_type_codes_and_names.get("f10", ""), + resource_type_codes_and_names.get("udb", ""), + ]: + usfm_book2 = selected_usfm_books[0] + usfm_chapter2 = ( + usfm_book2.chapters[chapter_num] + if chapter_num in usfm_book2.chapters + else None + ) + usfm_book = selected_usfm_books[1] + usfm_chapter = ( + usfm_book.chapters[chapter_num] + if chapter_num in usfm_book.chapters + else None + ) + else: + usfm_book = selected_usfm_books[0] + usfm_chapter = ( + usfm_book.chapters[chapter_num] + if chapter_num in usfm_book.chapters + else None + ) + usfm_book2 = selected_usfm_books[1] + usfm_chapter2 = ( + usfm_book2.chapters[chapter_num] + if chapter_num in usfm_book2.chapters + else None + ) + tn_chapter = ( + selected_tn_books[0].chapters[chapter_num] + if selected_tn_books + else None + ) + tq_chapter = ( + selected_tq_books[0].chapters[chapter_num] + if selected_tq_books + else None + ) + if usfm_book and usfm_chapter: + content.append(usfm_language_direction_html(usfm_book)) + usfm_chapter.verses = handle_split_chapter_into_verses( + usfm_book, usfm_chapter + ) + content.append(fmt_str.format(usfm_book.national_book_name)) + for verse_ref, verse in usfm_chapter.verses.items(): + content.append( + fmt_str.format( + f"{usfm_book.national_book_name} {chapter_num}:{verse_ref}" + ) + ) + content.append(fmt_str.format(usfm_book.resource_type_name)) + content.append(verse_span_fmt_str.format(verse)) + if ( + selected_tn_books + and tn_chapter + and tn_chapter.verses + and verse_ref in tn_chapter.verses + ): + content.append( + fmt_str.format(selected_tn_books[0].resource_type_name) + ) + content.append(tn_chapter.verses[verse_ref]) + if ( + selected_tq_books + and tq_chapter + and tq_chapter.verses + and verse_ref in tq_chapter.verses + ): + content.append( + fmt_str.format(selected_tq_books[0].resource_type_name) + ) + content.append(tq_chapter.verses[verse_ref]) + if selected_tw_books: + tw_book = selected_tw_books[0] + words = translation_words_for_content(tw_book, verse) + unique_words = unique_list_of_strings(words) + if unique_words: + content.append( + fmt_str.format(tw_book.resource_type_name) + ) + if tw_word_list_vertical: + html = ( + "
      \n" + + "\n".join( + [ + f"
    • {localized_word}
    • " + for localized_word, word in unique_words + ] + ) + + "
    " + ) + else: + html = ", ".join( + [ + f"{localized_word}" + for localized_word, word in unique_words + ] + ) + content.append(html) + if usfm_book2 and usfm_chapter2: + content.append( + fmt_str.format(usfm_book2.resource_type_name) + ) + usfm_chapter2.verses = handle_split_chapter_into_verses( + usfm_book2, usfm_chapter2 + ) + if ( + usfm_chapter2.verses + and verse_ref in usfm_chapter2.verses + ): + content.append( + fmt_str.format( + f"{usfm_book2.national_book_name} {chapter_num}:{verse_ref}" + ) + ) + content.append( + verse_span_fmt_str.format( + usfm_chapter2.verses[verse_ref] + ) + ) + content.append(close_direction_html) content.append(end_of_chapter_html) return content @@ -331,91 +716,101 @@ def assemble_tn_by_chapter( use_section_visual_separator: bool, use_two_column_layout_for_tn_notes: bool, use_two_column_layout_for_tq_notes: bool, + show_tn_book_intro: bool, + show_bc_book_intro: bool, + show_tn_chapter_intro: bool, end_of_chapter_html: str = settings.END_OF_CHAPTER_HTML, close_direction_html: str = "", book_chapters: Mapping[str, int] = BOOK_CHAPTERS, - show_tn_book_intro: bool = settings.SHOW_TN_BOOK_INTRO, + fmt_str: str = settings.LEFT_ALIGNED_HEADER_FMT_STR, ) -> list[str]: """ Construct the HTML for a 'by chapter' strategy wherein at least tn_books exists. """ content = [] - - - - - + # TODO Should we use lang_codes again here to ensure order? if show_tn_book_intro: for tn_book in tn_books: content.append(tn_language_direction_html(tn_book)) book_intro_ = tn_book_intro(tn_book, use_section_visual_separator) book_intro_adj = adjust_book_intro_headings(book_intro_) - content.append(book_intro_adj) + if book_intro_adj: + content.append(fmt_str.format(tn_book.resource_type_name)) + content.append(book_intro_adj) content.append(close_direction_html) - for bc_book in bc_books: - content.append(bc_book_intro(bc_book, use_section_visual_separator)) + if show_bc_book_intro: + for bc_book in bc_books: + bc_book_intro_ = bc_book_intro(bc_book, use_section_visual_separator) + if bc_book_intro_: + # TODO add lang direction? + content.append(fmt_str.format(bc_book.resource_type_name)) + content.append(bc_book_intro_) + # TODO add lang direction close? book_codes = {tn_book.book_code for tn_book in tn_books} for book_code in book_codes: num_chapters = book_chapters[book_code] for chapter_num in range(1, num_chapters + 1): - for tn_book in [ - tn_book for tn_book in tn_books if tn_book.book_code == book_code - ]: - if chapter_num in tn_book.chapters: - content.append(tn_language_direction_html(tn_book)) - content.append( - chapter_intro( - tn_book, chapter_num, use_section_visual_separator - ) + if show_tn_chapter_intro: + for tn_book in [ + tn_book for tn_book in tn_books if tn_book.book_code == book_code + ]: + tn_chapter_intro = chapter_intro( + tn_book, chapter_num, use_section_visual_separator ) - content.append(close_direction_html) + if tn_chapter_intro: + content.append(tn_language_direction_html(tn_book)) + content.append(fmt_str.format(tn_book.resource_type_name)) + content.append(tn_chapter_intro) + content.append(close_direction_html) for bc_book in [ bc_book for bc_book in bc_books if bc_book.book_code == book_code ]: - if chapter_num in bc_book.chapters: - content.append( - chapter_commentary( - bc_book, chapter_num, use_section_visual_separator - ) - ) + chapter_commentary_ = chapter_commentary( + bc_book, chapter_num, use_section_visual_separator + ) + if chapter_commentary_: + content.append(fmt_str.format(bc_book.resource_type_name)) + content.append(chapter_commentary_) for tn_book in [ tn_book for tn_book in tn_books if tn_book.book_code == book_code ]: - if chapter_num in tn_book.chapters: - tn_verses = tn_chapter_verses( - tn_book, - chapter_num, - use_section_visual_separator, - use_two_column_layout_for_tn_notes, - ) + tn_verses = tn_chapter_verses( + tn_book, + chapter_num, + use_section_visual_separator, + use_two_column_layout_for_tn_notes, + ) + if tn_verses: content.append(tn_language_direction_html(tn_book)) + content.append(fmt_str.format(tn_book.resource_type_name)) content.append(tn_verses) content.append(close_direction_html) for tq_book in [ tq_book for tq_book in tq_books if tq_book.book_code == book_code ]: - if chapter_num in tq_book.chapters: - tq_verses = tq_chapter_verses( - tq_book, - chapter_num, - use_section_visual_separator, - use_two_column_layout_for_tq_notes, - ) + tq_verses = tq_chapter_verses( + tq_book, + chapter_num, + use_section_visual_separator, + use_two_column_layout_for_tq_notes, + ) + if tq_verses: content.append(tq_language_direction_html(tq_book)) + content.append(fmt_str.format(tq_book.resource_type_name)) content.append(tq_verses) content.append(close_direction_html) for rg_book in [ rg_book for rg_book in rg_books if rg_book.book_code == book_code ]: - if chapter_num in rg_book.chapters: - rg_verses = rg_chapter_verses( - rg_book, chapter_num, use_section_visual_separator - ) - if rg_verses: - content.append(rg_language_direction_html(rg_book)) - content.append(rg_verses) - content.append(close_direction_html) + rg_verses = rg_chapter_verses( + rg_book, chapter_num, use_section_visual_separator + ) + if rg_verses: + content.append(rg_language_direction_html(rg_book)) + content.append(fmt_str.format(rg_book.resource_type_name)) + content.append(rg_verses) + content.append(close_direction_html) content.append(end_of_chapter_html) return content @@ -429,19 +824,19 @@ def assemble_tq_by_chapter( rg_books: Sequence[RGBook], use_section_visual_separator: bool, use_two_column_layout_for_tq_notes: bool, + show_tn_book_intro: bool, + show_bc_book_intro: bool, + show_tn_chapter_intro: bool, end_of_chapter_html: str = settings.END_OF_CHAPTER_HTML, close_direction_html: str = "", book_chapters: Mapping[str, int] = BOOK_CHAPTERS, + fmt_str: str = settings.LEFT_ALIGNED_HEADER_FMT_STR, ) -> list[str]: """ Construct the HTML for a 'by chapter' strategy wherein at least tq_books exists. """ content = [] - - - - book_codes = {tq_book.book_code for tq_book in tq_books} for book_code in book_codes: num_chapters = book_chapters[book_code] @@ -450,37 +845,37 @@ def assemble_tq_by_chapter( for bc_book in [ bc_book for bc_book in bc_books if bc_book.book_code == book_code ]: - if chapter_num in bc_book.chapters: - content.append( - chapter_commentary( - bc_book, chapter_num, use_section_visual_separator - ) - ) + chapter_commentary_ = chapter_commentary( + bc_book, chapter_num, use_section_visual_separator + ) + if chapter_commentary_: + content.append(fmt_str.format(bc_book.resource_type_name)) + content.append(chapter_commentary_) for tq_book in [ tq_book for tq_book in tq_books if tq_book.book_code == book_code ]: - if chapter_num in tq_book.chapters: - tq_verses = tq_chapter_verses( - tq_book, - chapter_num, - use_section_visual_separator, - use_two_column_layout_for_tq_notes, - ) - if tq_verses: - content.append(tq_language_direction_html(tq_book)) - content.append(tq_verses) - content.append(close_direction_html) + tq_verses = tq_chapter_verses( + tq_book, + chapter_num, + use_section_visual_separator, + use_two_column_layout_for_tq_notes, + ) + if tq_verses: + content.append(tq_language_direction_html(tq_book)) + content.append(fmt_str.format(tq_book.resource_type_name)) + content.append(tq_verses) + content.append(close_direction_html) for rg_book in [ rg_book for rg_book in rg_books if rg_book.book_code == book_code ]: - if chapter_num in rg_book.chapters: - rg_verses = rg_chapter_verses( - rg_book, chapter_num, use_section_visual_separator - ) - if rg_verses: - content.append(rg_language_direction_html(rg_book)) - content.append(rg_verses) - content.append(close_direction_html) + rg_verses = rg_chapter_verses( + rg_book, chapter_num, use_section_visual_separator + ) + if rg_verses: + content.append(rg_language_direction_html(rg_book)) + content.append(fmt_str.format(rg_book.resource_type_name)) + content.append(rg_verses) + content.append(close_direction_html) content.append(end_of_chapter_html) return content @@ -501,16 +896,19 @@ def assemble_tw_by_chapter( rg_books: Sequence[RGBook], use_section_visual_separator: bool, end_of_chapter_html: str = settings.END_OF_CHAPTER_HTML, + fmt_str: str = settings.LEFT_ALIGNED_HEADER_FMT_STR, ) -> list[str]: content = [] - - for bc_book in bc_books: content.append(bc_book_intro(bc_book, use_section_visual_separator)) for chapter_num, chapter in bc_book.chapters.items(): - content.append( - chapter_commentary(bc_book, chapter_num, use_section_visual_separator) + + chapter_commentary_ = chapter_commentary( + bc_book, chapter_num, use_section_visual_separator ) + if chapter_commentary_: + content.append(fmt_str.format(bc_book.resource_type_name)) + content.append(chapter_commentary_) content.append(end_of_chapter_html) return content @@ -636,11 +1034,6 @@ def assemble_usfm_by_chapter_2c_sl_sr( content = [] - - - - - # Order USFM book content units so that they are in language pairs # for side by side display. zipped_usfm_books = ensure_primary_usfm_books_for_different_languages_are_adjacent( diff --git a/backend/doc/domain/assembly_strategies/assembly_strategies_lang_then_book_by_chapter.py b/backend/doc/domain/assembly_strategies/assembly_strategies_lang_then_book_by_chapter.py index 49f63c38..2bf607f8 100755 --- a/backend/doc/domain/assembly_strategies/assembly_strategies_lang_then_book_by_chapter.py +++ b/backend/doc/domain/assembly_strategies/assembly_strategies_lang_then_book_by_chapter.py @@ -25,13 +25,16 @@ TWBook, USFMBook, ) +from doc.domain.parsing import handle_split_chapter_into_verses from doc.reviewers_guide.model import RGBook +from doc.utils.list_utils import unique_list_of_strings +from doc.utils.tw_utils import translation_words_for_content logger = settings.logger(__name__) -def assemble_content_by_lang_then_book( +def assemble_content_by_book( usfm_books: Sequence[USFMBook], tn_books: Sequence[TNBook], tq_books: Sequence[TQBook], @@ -42,22 +45,30 @@ def assemble_content_by_lang_then_book( use_section_visual_separator: bool, use_two_column_layout_for_tn_notes: bool, use_two_column_layout_for_tq_notes: bool, + show_tn_book_intro: bool, + show_bc_book_intro: bool, + show_tn_chapter_intro: bool, book_names: Mapping[str, str] = BOOK_NAMES, book_id_map: dict[str, int] = BOOK_ID_MAP, + resource_type_codes_and_names: Mapping[ + str, str + ] = settings.RESOURCE_TYPE_CODES_AND_NAMES, ) -> list[str]: content = [] - # Collect and deduplicate language codes - all_lang_codes = ( - {usfm_book.lang_code for usfm_book in usfm_books} - .union(tn_book.lang_code for tn_book in tn_books) - .union(tq_book.lang_code for tq_book in tq_books) - .union(tw_book.lang_code for tw_book in tw_books) - .union(bc_book.lang_code for bc_book in bc_books) - .union(rg_book.lang_code for rg_book in rg_books) + # Collect and duplicate max number of lang_codes + lang_codes = list( + dict.fromkeys( + [ + *[usfm_book.lang_code for usfm_book in usfm_books], + *[tn_book.lang_code for tn_book in tn_books], + *[tq_book.lang_code for tq_book in tq_books], + *[tw_book.lang_code for tw_book in tw_books], + *[bc_book.lang_code for bc_book in bc_books], + *[rg_book.lang_code for rg_book in rg_books], + ] + ) ) - lang_codes = list(all_lang_codes) - # Collect and deduplicate book codes - all_book_codes = ( + book_codes = list( {usfm_book.book_code for usfm_book in usfm_books} .union(tn_book.book_code for tn_book in tn_books) .union(tq_book.book_code for tq_book in tq_books) @@ -65,7 +76,6 @@ def assemble_content_by_lang_then_book( .union(bc_book.book_code for bc_book in bc_books) .union(rg_book.book_code for rg_book in rg_books) ) - book_codes = list(all_book_codes) book_codes_sorted = sorted(book_codes, key=lambda book_code: book_id_map[book_code]) for lang_code in lang_codes: for book_code in book_codes_sorted: @@ -74,12 +84,24 @@ def assemble_content_by_lang_then_book( for usfm_book in usfm_books if usfm_book.lang_code == lang_code and usfm_book.book_code == book_code ] - usfm_book = selected_usfm_books[0] if selected_usfm_books else None - usfm_book2 = ( - selected_usfm_books[1] - if selected_usfm_books and len(selected_usfm_books) > 1 - else None - ) + usfm_book = None + usfm_book2 = None + if len(selected_usfm_books) == 1: + usfm_book = selected_usfm_books[0] + elif ( + len(selected_usfm_books) == 2 + ): # Second USFM chosen, e.g., fr f10. Assuming f10 should be treated as secondary to ulb for fr + # TODO Later we might do resources types by clicked order at which point we would likely + # just use the body of the else clause below. + if selected_usfm_books[0].resource_type_name in [ + resource_type_codes_and_names.get("f10", ""), + resource_type_codes_and_names.get("udb", ""), + ]: + usfm_book = selected_usfm_books[1] + usfm_book2 = selected_usfm_books[0] + else: + usfm_book = selected_usfm_books[0] + usfm_book2 = selected_usfm_books[1] selected_tn_books = [ tn_book for tn_book in tn_books @@ -123,6 +145,9 @@ def assemble_content_by_lang_then_book( use_section_visual_separator, use_two_column_layout_for_tn_notes, use_two_column_layout_for_tq_notes, + show_tn_book_intro, + show_bc_book_intro, + show_tn_chapter_intro, ) ) elif usfm_book is None and tn_book is not None: @@ -138,6 +163,9 @@ def assemble_content_by_lang_then_book( use_section_visual_separator, use_two_column_layout_for_tn_notes, use_two_column_layout_for_tq_notes, + show_tn_book_intro, + show_bc_book_intro, + show_tn_chapter_intro, ) ) elif usfm_book is None and tn_book is None and tq_book is not None: @@ -152,6 +180,9 @@ def assemble_content_by_lang_then_book( rg_book, use_section_visual_separator, use_two_column_layout_for_tq_notes, + show_tn_book_intro, + show_bc_book_intro, + show_tn_chapter_intro, ) ) elif ( @@ -175,6 +206,153 @@ def assemble_content_by_lang_then_book( return content +def assemble_content_by_verse_book_at_a_time( + usfm_books: Sequence[USFMBook], + tn_books: Sequence[TNBook], + tq_books: Sequence[TQBook], + tw_books: Sequence[TWBook], + bc_books: Sequence[BCBook], + rg_books: Sequence[RGBook], + assembly_layout_kind: AssemblyLayoutEnum, + use_section_visual_separator: bool, + use_two_column_layout_for_tn_notes: bool, + use_two_column_layout_for_tq_notes: bool, + show_tn_book_intro: bool, + show_bc_book_intro: bool, + show_tn_chapter_intro: bool, + show_bc_chapter_commentary: bool, + show_rg_chapter_commentary: bool, + book_names: Mapping[str, str] = BOOK_NAMES, + book_id_map: dict[str, int] = BOOK_ID_MAP, + resource_type_codes_and_names: Mapping[ + str, str + ] = settings.RESOURCE_TYPE_CODES_AND_NAMES, +) -> list[str]: + content = [] + # Collect and duplicate max number of lang_codes + lang_codes = list( + dict.fromkeys( + [ + *[usfm_book.lang_code for usfm_book in usfm_books], + *[tn_book.lang_code for tn_book in tn_books], + *[tq_book.lang_code for tq_book in tq_books], + *[tw_book.lang_code for tw_book in tw_books], + *[bc_book.lang_code for bc_book in bc_books], + *[rg_book.lang_code for rg_book in rg_books], + ] + ) + ) + # Collect and deduplicate book codes + book_codes = list( + {usfm_book.book_code for usfm_book in usfm_books} + .union(tn_book.book_code for tn_book in tn_books) + .union(tq_book.book_code for tq_book in tq_books) + .union(tw_book.book_code for tw_book in tw_books) + .union(bc_book.book_code for bc_book in bc_books) + .union(rg_book.book_code for rg_book in rg_books) + ) + book_codes_sorted = sorted(book_codes, key=lambda book_code: book_id_map[book_code]) + for lang_code in lang_codes: + for book_code in book_codes_sorted: + selected_usfm_books = [ + usfm_book + for usfm_book in usfm_books + if usfm_book.lang_code == lang_code and usfm_book.book_code == book_code + ] + usfm_book = None + usfm_book2 = None + if len(selected_usfm_books) == 1: + usfm_book = selected_usfm_books[0] + elif len(selected_usfm_books) == 2: # Second USFM chosen, e.g., fr f10 + # TODO Later we might do resources types by clicked order at which point we would likely + # just use the else clause below. + # Assuming f10 should be treated as secondary to ulb for fr + if selected_usfm_books[0].resource_type_name in [ + resource_type_codes_and_names.get("f10", ""), + resource_type_codes_and_names.get("udb", ""), + ]: + usfm_book = selected_usfm_books[1] + usfm_book2 = selected_usfm_books[0] + logger.info( + "inside fr branch for initializing usfm_book and usfm_book2" + ) + else: + usfm_book = selected_usfm_books[0] + usfm_book2 = selected_usfm_books[1] + selected_tn_books = [ + tn_book + for tn_book in tn_books + if tn_book.lang_code == lang_code and tn_book.book_code == book_code + ] + tn_book = selected_tn_books[0] if selected_tn_books else None + selected_tq_books = [ + tq_book + for tq_book in tq_books + if tq_book.lang_code == lang_code and tq_book.book_code == book_code + ] + tq_book = selected_tq_books[0] if selected_tq_books else None + selected_tw_books = [ + tw_book + for tw_book in tw_books + if tw_book.lang_code == lang_code and tw_book.book_code == book_code + ] + tw_book = selected_tw_books[0] if selected_tw_books else None + selected_bc_books = [ + bc_book + for bc_book in bc_books + if bc_book.lang_code == lang_code and bc_book.book_code == book_code + ] + bc_book = selected_bc_books[0] if selected_bc_books else None + selected_rg_books = [ + rg_book + for rg_book in rg_books + if rg_book.lang_code == lang_code and rg_book.book_code == book_code + ] + rg_book = selected_rg_books[0] if selected_rg_books else None + if not usfm_books: + content.extend( + assemble_content_by_book( + usfm_books, + tn_books, + tq_books, + tw_books, + bc_books, + rg_books, + assembly_layout_kind, + use_section_visual_separator, + use_two_column_layout_for_tn_notes, + use_two_column_layout_for_tq_notes, + show_tn_book_intro, + show_bc_book_intro, + show_tn_chapter_intro, + ) + ) + elif usfm_books and ( + assembly_layout_kind == AssemblyLayoutEnum.ONE_COLUMN + or assembly_layout_kind == AssemblyLayoutEnum.ONE_COLUMN_COMPACT + ): + content.extend( + assemble_usfm_by_verse_book_at_a_time( + usfm_book, + tn_book, + tq_book, + tw_book, + usfm_book2, + bc_book, + rg_book, + use_section_visual_separator, + use_two_column_layout_for_tn_notes, + use_two_column_layout_for_tq_notes, + show_tn_book_intro, + show_bc_book_intro, + show_tn_chapter_intro, + show_bc_chapter_commentary, + show_rg_chapter_commentary, + ) + ) + return content + + def assemble_usfm_by_book( usfm_book: Optional[USFMBook], tn_book: Optional[TNBook], @@ -186,22 +364,81 @@ def assemble_usfm_by_book( use_section_visual_separator: bool, use_two_column_layout_for_tn_notes: bool, use_two_column_layout_for_tq_notes: bool, + show_tn_book_intro: bool, + show_bc_book_intro: bool, + show_tn_chapter_intro: bool, end_of_chapter_html: str = settings.END_OF_CHAPTER_HTML, hr: str = settings.HR, close_direction_html: str = "", fmt_str: str = settings.BOOK_NAME_FMT_STR, + resource_type_name_fmt_str: str = settings.LEFT_ALIGNED_HEADER_FMT_STR, + tw_word_list_vertical: bool = settings.TW_WORD_LIST_VERTICAL, ) -> list[str]: content = [] content.append(usfm_language_direction_html(usfm_book)) - content.append(tn_book_intro(tn_book, use_section_visual_separator)) - content.append(bc_book_intro(bc_book, use_section_visual_separator)) + tn_book_intro_ = tn_book_intro(tn_book, use_section_visual_separator) + if show_tn_book_intro and tn_book and tn_book_intro_: + content.append(resource_type_name_fmt_str.format(tn_book.resource_type_name)) + content.append(tn_book_intro_) + bc_book_intro_ = bc_book_intro(bc_book, use_section_visual_separator) + if show_bc_book_intro and bc_book and bc_book_intro_: + content.append(resource_type_name_fmt_str.format(bc_book.resource_type_name)) + content.append(bc_book_intro_) if usfm_book: content.append(fmt_str.format(usfm_book.national_book_name)) + if ( + tn_book is None + and tq_book is None + and bc_book is None + and rg_book is None + and usfm_book2 is None + ): + content.append( + resource_type_name_fmt_str.format(usfm_book.resource_type_name) + ) for ( chapter_num, chapter, ) in usfm_book.chapters.items(): + if not ( + tn_book is None + and tq_book is None + and bc_book is None + and rg_book is None + and usfm_book2 is None + ): + content.append( + resource_type_name_fmt_str.format(usfm_book.resource_type_name) + ) content.append(chapter.content) + if use_section_visual_separator: + content.append(hr) + if tw_book: + words = translation_words_for_content(tw_book, chapter.content) + unique_words = unique_list_of_strings(words) + if unique_words: + content.append( + resource_type_name_fmt_str.format(tw_book.resource_type_name) + ) + if tw_word_list_vertical: + html = ( + "
      \n" + + "\n".join( + [ + f"
    • {localized_word}
    • " + for localized_word, word in unique_words + ] + ) + + "
    " + ) + else: + html = ", ".join( + [ + f"{localized_word}" + for localized_word, word in unique_words + ] + ) + content.append(html) if ( not has_footnotes(chapter.content) and ( @@ -214,36 +451,207 @@ def assemble_usfm_by_book( and use_section_visual_separator ): content.append(hr) - content.append( - chapter_intro(tn_book, chapter_num, use_section_visual_separator) + tn_chapter_intro = chapter_intro( + tn_book, chapter_num, use_section_visual_separator ) - content.append( - chapter_commentary(bc_book, chapter_num, use_section_visual_separator) + if show_tn_chapter_intro and tn_book and tn_chapter_intro: + content.append( + resource_type_name_fmt_str.format(tn_book.resource_type_name) + ) + content.append(tn_chapter_intro) + bc_chapter_commentary = chapter_commentary( + bc_book, chapter_num, use_section_visual_separator ) - content.append( - tn_chapter_verses( - tn_book, - chapter_num, - use_section_visual_separator, - use_two_column_layout_for_tn_notes, + if bc_book and bc_chapter_commentary: + content.append( + resource_type_name_fmt_str.format(bc_book.resource_type_name) ) + content.append(bc_chapter_commentary) + tn_verses = tn_chapter_verses( + tn_book, + chapter_num, + use_section_visual_separator, + use_two_column_layout_for_tn_notes, ) - content.append( - tq_chapter_verses( - tq_book, - chapter_num, - use_section_visual_separator, - use_two_column_layout_for_tq_notes, + if tn_book and tn_verses: + content.append( + resource_type_name_fmt_str.format(tn_book.resource_type_name) ) + content.append(tn_verses) + tq_verses = tq_chapter_verses( + tq_book, + chapter_num, + use_section_visual_separator, + use_two_column_layout_for_tq_notes, ) - content.append( - rg_chapter_verses(rg_book, chapter_num, use_section_visual_separator) + if tq_book and tq_verses: + content.append( + resource_type_name_fmt_str.format(tq_book.resource_type_name) + ) + content.append(tq_verses) + rg_verses = rg_chapter_verses( + rg_book, chapter_num, use_section_visual_separator ) + if rg_book and rg_verses: + content.append( + resource_type_name_fmt_str.format(rg_book.resource_type_name) + ) + content.append(rg_verses) # If the user chose two USFM resource types for a language. e.g., fr: - # ulb, f10, show the second USFM content here + # ulb and f10, then show the second USFM content here if usfm_book2: if chapter_num in usfm_book2.chapters: + content.append( + resource_type_name_fmt_str.format(usfm_book2.resource_type_name) + ) content.append(usfm_book2.chapters[chapter_num].content) + if use_section_visual_separator: + content.append(hr) + content.append(end_of_chapter_html) + content.append(close_direction_html) + return content + + +def assemble_usfm_by_verse_book_at_a_time( + usfm_book: Optional[USFMBook], + tn_book: Optional[TNBook], + tq_book: Optional[TQBook], + tw_book: Optional[TWBook], + usfm_book2: Optional[USFMBook], + bc_book: Optional[BCBook], + rg_book: Optional[RGBook], + use_section_visual_separator: bool, + use_two_column_layout_for_tn_notes: bool, + use_two_column_layout_for_tq_notes: bool, + show_tn_book_intro: bool, + show_bc_book_intro: bool, + show_tn_chapter_intro: bool, + show_bc_chapter_commentary: bool, + show_rg_chapter_commentary: bool, + end_of_chapter_html: str = settings.END_OF_CHAPTER_HTML, + hr: str = settings.HR, + close_direction_html: str = "", + fmt_str: str = settings.LEFT_ALIGNED_HEADER_FMT_STR, + verse_span_fmt_str: str = settings.VERSE_SPAN_FMT_STR, + tw_word_list_vertical: bool = settings.TW_WORD_LIST_VERTICAL, + resource_type_codes_and_names: Mapping[ + str, str + ] = settings.RESOURCE_TYPE_CODES_AND_NAMES, +) -> list[str]: + content = [] + content.append(usfm_language_direction_html(usfm_book)) + tn_book_intro_ = tn_book_intro(tn_book, use_section_visual_separator) + if show_tn_book_intro and tn_book and tn_book_intro_: + content.append(fmt_str.format(tn_book.resource_type_name)) + content.append(tn_book_intro_) + bc_book_intro_ = bc_book_intro(bc_book, use_section_visual_separator) + if show_bc_book_intro and bc_book and bc_book_intro_: + content.append(fmt_str.format(bc_book.resource_type_name)) + content.append(bc_book_intro_) + if usfm_book: + for ( + chapter_num, + chapter, + ) in usfm_book.chapters.items(): + chapter.verses = handle_split_chapter_into_verses(usfm_book, chapter) + tn_chapter = tn_book.chapters[chapter_num] if tn_book else None + tq_chapter = tq_book.chapters[chapter_num] if tq_book else None + tn_chapter_intro = chapter_intro( + tn_book, chapter_num, use_section_visual_separator + ) + if show_tn_chapter_intro and tn_book and tn_chapter_intro: + content.append(fmt_str.format(tn_book.resource_type_name)) + content.append(tn_chapter_intro) + bc_chapter_commentary = chapter_commentary( + bc_book, chapter_num, use_section_visual_separator + ) + if show_bc_chapter_commentary and bc_book and bc_chapter_commentary: + content.append(fmt_str.format(bc_book.resource_type_name)) + content.append(bc_chapter_commentary) + rg_verses = rg_chapter_verses( + rg_book, chapter_num, use_section_visual_separator + ) + if show_rg_chapter_commentary and rg_book and rg_verses: + content.append(fmt_str.format(rg_book.resource_type_name)) + content.append(rg_verses) + if chapter.verses: + for verse_ref, verse in chapter.verses.items(): + content.append( + fmt_str.format( + f"{usfm_book.national_book_name} {chapter_num}:{verse_ref}" + ) + ) + content.append(fmt_str.format(usfm_book.resource_type_name)) + content.append(verse_span_fmt_str.format(verse)) + if ( + tn_book + and tn_chapter + and tn_chapter.verses + and verse_ref in tn_chapter.verses + ): + content.append(fmt_str.format(tn_book.resource_type_name)) + content.append(tn_chapter.verses[verse_ref]) + if ( + tq_book + and tq_chapter + and tq_chapter.verses + and verse_ref in tq_chapter.verses + ): + content.append(fmt_str.format(tq_book.resource_type_name)) + content.append(tq_chapter.verses[verse_ref]) + if tw_book: + words = translation_words_for_content(tw_book, verse) + unique_words = unique_list_of_strings(words) + if unique_words: + content.append(fmt_str.format(tw_book.resource_type_name)) + if tw_word_list_vertical: + html = ( + "
      \n" + + "\n".join( + [ + f"
    • {localized_word}
    • " + for localized_word, word in unique_words + ] + ) + + "
    " + ) + else: + html = ", ".join( + [ + f"{localized_word}" + for localized_word, word in unique_words + ] + ) + content.append(html) + # If the user chose two USFM resource types for a language. e.g., fr: + # ulb, f10, show the second USFM content here + if usfm_book2: + usfm_book2_chapter = usfm_book2.chapters[chapter_num] + usfm_book2_chapter.verses = handle_split_chapter_into_verses( + usfm_book2, usfm_book2_chapter + ) + if usfm_book2_chapter.verses: + content.append( + fmt_str.format(usfm_book2.resource_type_name) + ) + content.append( + verse_span_fmt_str.format( + usfm_book2_chapter.verses[verse_ref] + ) + ) + # TODO How should we handle footnotes in a versified output? + # if ( + # not has_footnotes(chapter.content) + # and ( + # usfm_book2 is not None + # or tn_book is not None + # or tq_book is not None + # or rg_book is not None + # or tw_book is not None + # ) + # and use_section_visual_separator + # ): + # content.append(hr) content.append(end_of_chapter_html) content.append(close_direction_html) return content @@ -260,41 +668,63 @@ def assemble_tn_by_book( use_section_visual_separator: bool, use_two_column_layout_for_tn_notes: bool, use_two_column_layout_for_tq_notes: bool, + show_tn_book_intro: bool, + show_bc_book_intro: bool, + show_tn_chapter_intro: bool, + # show_bc_chapter_commentary: bool, + fmt_str: str = settings.LEFT_ALIGNED_HEADER_FMT_STR, end_of_chapter_html: str = settings.END_OF_CHAPTER_HTML, + # show_tn_book_intro: bool = settings.SHOW_TN_BOOK_INTRO, + # show_tn_chapter_intro: bool = settings.SHOW_TN_CHAPTER_INTRO, close_direction_html: str = "", ) -> list[str]: content = [] content.append(tn_language_direction_html(tn_book)) - content.append(tn_book_intro(tn_book, use_section_visual_separator)) + tn_book_intro_ = tn_book_intro(tn_book, use_section_visual_separator) + if show_tn_book_intro and tn_book and tn_book_intro_: + content.append(fmt_str.format(tn_book.resource_type_name)) + content.append(tn_book_intro_) if tn_book: for chapter_num in tn_book.chapters: content.append(chapter_heading(chapter_num)) - content.append( - chapter_intro(tn_book, chapter_num, use_section_visual_separator) + tn_chapter_intro_ = chapter_intro( + tn_book, chapter_num, use_section_visual_separator ) - content.append( - chapter_commentary(bc_book, chapter_num, use_section_visual_separator) + if show_tn_chapter_intro and tn_chapter_intro_: + content.append(fmt_str.format(tn_book.resource_type_name)) + content.append(tn_chapter_intro_) + bc_chapter_commentary = chapter_commentary( + bc_book, chapter_num, use_section_visual_separator ) - content.append( - tn_chapter_verses( - tn_book, - chapter_num, - use_section_visual_separator, - use_two_column_layout_for_tn_notes, - ) + if bc_book and bc_chapter_commentary: + content.append(fmt_str.format(bc_book.resource_type_name)) + content.append(bc_chapter_commentary) + tn_chapter_verses_ = tn_chapter_verses( + tn_book, + chapter_num, + use_section_visual_separator, + use_two_column_layout_for_tn_notes, ) - content.append( - tq_chapter_verses( - tq_book, - chapter_num, - use_section_visual_separator, - use_two_column_layout_for_tq_notes, - ) + if tn_chapter_verses_: + content.append(fmt_str.format(tn_book.resource_type_name)) + content.append(tn_chapter_verses_) + + tq_chapter_verses_ = tq_chapter_verses( + tq_book, + chapter_num, + use_section_visual_separator, + use_two_column_layout_for_tq_notes, ) - content.append( - rg_chapter_verses(rg_book, chapter_num, use_section_visual_separator) + if tq_book and tq_chapter_verses_: + content.append(fmt_str.format(tq_book.resource_type_name)) + content.append(tq_chapter_verses_) + rg_chapter_verses_ = rg_chapter_verses( + rg_book, chapter_num, use_section_visual_separator ) - content.append(end_of_chapter_html) + if rg_book and rg_chapter_verses_: + content.append(fmt_str.format(rg_book.resource_type_name)) + content.append(rg_chapter_verses_) + content.append(end_of_chapter_html) content.append(close_direction_html) return content @@ -309,6 +739,11 @@ def assemble_tq_by_book( rg_book: Optional[RGBook], use_section_visual_separator: bool, use_two_column_layout_for_tq_notes: bool, + show_tn_book_intro: bool, + show_bc_book_intro: bool, + show_tn_chapter_intro: bool, + # show_bc_chapter_commentary: bool, + fmt_str: str = settings.LEFT_ALIGNED_HEADER_FMT_STR, end_of_chapter_html: str = settings.END_OF_CHAPTER_HTML, close_direction_html: str = "", ) -> list[str]: @@ -316,21 +751,30 @@ def assemble_tq_by_book( content.append(tq_language_direction_html(tq_book)) if tq_book: for chapter_num in tq_book.chapters: - content.append( - chapter_commentary(bc_book, chapter_num, use_section_visual_separator) + + chapter_commentary_ = chapter_commentary( + bc_book, chapter_num, use_section_visual_separator ) + if bc_book and chapter_commentary_: + content.append(fmt_str.format(bc_book.resource_type_name)) + content.append(chapter_commentary_) content.append(chapter_heading(chapter_num)) - content.append( - tq_chapter_verses( - tq_book, - chapter_num, - use_section_visual_separator, - use_two_column_layout_for_tq_notes, - ) + + tq_chapter_verses_ = tq_chapter_verses( + tq_book, + chapter_num, + use_section_visual_separator, + use_two_column_layout_for_tq_notes, ) - content.append( - rg_chapter_verses(rg_book, chapter_num, use_section_visual_separator) + if tq_chapter_verses_: + content.append(fmt_str.format(tq_book.resource_type_name)) + content.append(tq_chapter_verses_) + rg_chapter_verses_ = rg_chapter_verses( + rg_book, chapter_num, use_section_visual_separator ) + if rg_book and rg_chapter_verses_: + content.append(fmt_str.format(rg_book.resource_type_name)) + content.append(rg_chapter_verses_) content.append(end_of_chapter_html) content.append(close_direction_html) return content @@ -344,6 +788,7 @@ def assemble_rg_by_chapter( bc_books: Sequence[BCBook], rg_books: Sequence[RGBook], use_section_visual_separator: bool, + fmt_str: str = settings.LEFT_ALIGNED_HEADER_FMT_STR, end_of_chapter_html: str = settings.END_OF_CHAPTER_HTML, close_direction_html: str = "", ) -> list[str]: @@ -370,25 +815,26 @@ def rg_sort_key(resource: RGBook) -> str: if bc_book.lang_code == rg_book_.lang_code and bc_book.book_code == rg_book_.book_code ]: - if chapter_num in bc_book.chapters: - content.append( - chapter_commentary( - bc_book, chapter_num, use_section_visual_separator - ) - ) + + chapter_commentary_ = chapter_commentary( + bc_book, chapter_num, use_section_visual_separator + ) + if chapter_commentary_: + content.append(fmt_str.format(bc_book.resource_type_name)) + content.append(chapter_commentary_) for rg_book in [ rg_book for rg_book in rg_books if rg_book.lang_code == rg_book_.lang_code and rg_book.book_code == rg_book_.book_code ]: - if chapter_num in rg_book.chapters: + rg_chapter_verses_ = rg_chapter_verses( + rg_book, chapter_num, use_section_visual_separator + ) + if rg_chapter_verses_: content.append(rg_language_direction_html(rg_book)) - content.append( - rg_chapter_verses( - rg_book, chapter_num, use_section_visual_separator - ) - ) + content.append(fmt_str.format(rg_book.resource_type_name)) + content.append(rg_chapter_verses_) content.append(close_direction_html) return content @@ -404,21 +850,28 @@ def assemble_tw_by_book( bc_book: Optional[BCBook], rg_book: Optional[RGBook], use_section_visual_separator: bool, + fmt_str: str = settings.LEFT_ALIGNED_HEADER_FMT_STR, end_of_chapter_html: str = settings.END_OF_CHAPTER_HTML, close_direction_html: str = "", ) -> list[str]: content = [] if bc_book: for chapter_num in bc_book.chapters: - content.append( - chapter_commentary(bc_book, chapter_num, use_section_visual_separator) + chapter_commentary_ = chapter_commentary( + bc_book, chapter_num, use_section_visual_separator ) - content.append(end_of_chapter_html) + if chapter_commentary_: + # TODO lang direction? + content.append(fmt_str.format(bc_book.resource_type_name)) + content.append(chapter_commentary_) + content.append(end_of_chapter_html) if rg_book: for chapter_num in rg_book.chapters: - content.append( - rg_chapter_verses(rg_book, chapter_num, use_section_visual_separator) + rg_verses = rg_chapter_verses( + rg_book, chapter_num, use_section_visual_separator ) - content.append(end_of_chapter_html) - + if rg_verses: + content.append(fmt_str.format(rg_book.resource_type_name)) + content.append(rg_verses) + content.append(end_of_chapter_html) return content diff --git a/backend/doc/domain/assembly_strategies/assembly_strategy_utils.py b/backend/doc/domain/assembly_strategies/assembly_strategy_utils.py index ece56803..0cf7564c 100755 --- a/backend/doc/domain/assembly_strategies/assembly_strategy_utils.py +++ b/backend/doc/domain/assembly_strategies/assembly_strategy_utils.py @@ -185,7 +185,7 @@ def tn_chapter_verses( Return the HTML for verses that are in the chapter with chapter_num. """ - tn_verse_notes_enclosing_div_fmt_str: str = ( + tn_verse_notes_enclosing_div_fmt_str = ( "
    {}
    " if use_two_column_layout_for_tn_notes else "
    {}
    " diff --git a/backend/doc/domain/assembly_strategies_docx/assembly_strategies_book_then_lang_by_chapter.py b/backend/doc/domain/assembly_strategies_docx/assembly_strategies_book_then_lang_by_chapter.py index 8ea36c09..89aeee6f 100644 --- a/backend/doc/domain/assembly_strategies_docx/assembly_strategies_book_then_lang_by_chapter.py +++ b/backend/doc/domain/assembly_strategies_docx/assembly_strategies_book_then_lang_by_chapter.py @@ -22,13 +22,16 @@ TWBook, USFMBook, ) +from doc.domain.parsing import handle_split_chapter_into_verses from doc.reviewers_guide.model import RGBook +from doc.utils.list_utils import unique_list_of_strings +from doc.utils.tw_utils import translation_words_for_content logger = settings.logger(__name__) -def assemble_content_by_book_then_lang( +def assemble_content_by_chapter( usfm_books: Sequence[USFMBook], tn_books: Sequence[TNBook], tq_books: Sequence[TQBook], @@ -40,6 +43,9 @@ def assemble_content_by_book_then_lang( use_section_visual_separator: bool, use_two_column_layout_for_tn_notes: bool, use_two_column_layout_for_tq_notes: bool, + show_tn_book_intro: bool, + show_bc_book_intro: bool, + show_tn_chapter_intro: bool, book_names: Mapping[str, str] = BOOK_NAMES, book_id_map: dict[str, int] = BOOK_ID_MAP, ) -> list[DocumentPart]: @@ -94,6 +100,9 @@ def assemble_content_by_book_then_lang( use_section_visual_separator, use_two_column_layout_for_tn_notes, use_two_column_layout_for_tq_notes, + show_tn_book_intro, + show_bc_book_intro, + show_tn_chapter_intro, ) ) elif not selected_usfm_books and selected_tn_books: @@ -108,6 +117,9 @@ def assemble_content_by_book_then_lang( use_section_visual_separator, use_two_column_layout_for_tn_notes, use_two_column_layout_for_tq_notes, + show_tn_book_intro, + show_bc_book_intro, + show_tn_chapter_intro, ) ) elif not selected_usfm_books and not selected_tn_books and selected_tq_books: @@ -121,6 +133,9 @@ def assemble_content_by_book_then_lang( selected_rg_books, use_section_visual_separator, use_two_column_layout_for_tq_notes, + show_tn_book_intro, + show_bc_book_intro, + show_tn_chapter_intro, ) ) elif ( @@ -138,11 +153,72 @@ def assemble_content_by_book_then_lang( selected_bc_books, selected_rg_books, use_section_visual_separator, + show_bc_book_intro, ) ) return document_parts +def assemble_content_by_verse_chapter_at_a_time( + usfm_books: Sequence[USFMBook], + tn_books: Sequence[TNBook], + tq_books: Sequence[TQBook], + tw_books: Sequence[TWBook], + bc_books: Sequence[BCBook], + rg_books: Sequence[RGBook], + assembly_layout_kind: AssemblyLayoutEnum, + use_section_visual_separator: bool, + use_two_column_layout_for_tn_notes: bool, + use_two_column_layout_for_tq_notes: bool, + show_tn_book_intro: bool, + show_bc_book_intro: bool, + show_tn_chapter_intro: bool, + show_bc_chapter_commentary: bool, + show_rg_chapter_commentary: bool, + book_names: Mapping[str, str] = BOOK_NAMES, + book_id_map: dict[str, int] = BOOK_ID_MAP, +) -> list[DocumentPart]: + document_parts: list[DocumentPart] = [] + if usfm_books: + document_parts.extend( + assemble_usfm_by_verse_chapter_at_a_time( + usfm_books, + tn_books, + tq_books, + tw_books, + bc_books, + rg_books, + use_section_visual_separator, + use_two_column_layout_for_tn_notes, + use_two_column_layout_for_tq_notes, + show_tn_book_intro, + show_bc_book_intro, + show_tn_chapter_intro, + show_bc_chapter_commentary, + show_rg_chapter_commentary, + ) + ) + else: # usfm not provided so versification doesn't apply + document_parts.extend( + assemble_usfm_by_chapter( + usfm_books, + tn_books, + tq_books, + tw_books, + bc_books, + rg_books, + use_section_visual_separator, + use_two_column_layout_for_tn_notes, + use_two_column_layout_for_tq_notes, + show_tn_book_intro, + show_bc_book_intro, + show_tn_chapter_intro, + # show_bc_chapter_commentary, + ) + ) + return document_parts + + def assemble_usfm_by_chapter( usfm_books: Sequence[USFMBook], tn_books: Sequence[TNBook], @@ -153,40 +229,54 @@ def assemble_usfm_by_chapter( use_section_visual_separator: bool, use_two_column_layout_for_tn_notes: bool, use_two_column_layout_for_tq_notes: bool, + show_tn_book_intro: bool, + show_bc_book_intro: bool, + show_tn_chapter_intro: bool, book_chapters: Mapping[str, int] = BOOK_CHAPTERS, - show_tn_book_intro: bool = settings.SHOW_TN_BOOK_INTRO, fmt_str: str = settings.BOOK_NAME_FMT_STR, + resource_type_name_fmt_str: str = settings.LEFT_ALIGNED_HEADER_FMT_STR, ) -> list[DocumentPart]: """ Construct the Docx wherein at least one USFM resource exists, one column layout. """ - - - - - - document_parts: list[DocumentPart] = [] - if show_tn_book_intro: - for tn_book in tn_books: - if tn_book.book_intro: - book_intro_ = tn_book.book_intro - book_intro_adj = adjust_book_intro_headings(book_intro_) - document_parts.append( - DocumentPart( - content=book_intro_adj, - is_rtl=tn_book and tn_book.lang_direction == LangDirEnum.RTL, - use_section_visual_separator=use_section_visual_separator, - ) + for tn_book in tn_books: + if show_tn_book_intro and tn_book.book_intro: + document_parts.append( + DocumentPart( + content=resource_type_name_fmt_str.format( + tn_book.resource_type_name + ), + is_rtl=tn_book and tn_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + book_intro_adj = adjust_book_intro_headings(tn_book.book_intro) + document_parts.append( + DocumentPart( + content=book_intro_adj, + is_rtl=tn_book and tn_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=use_section_visual_separator, ) + ) for bc_book in bc_books: - document_parts.append( - DocumentPart( - content=bc_book.book_intro, - use_section_visual_separator=use_section_visual_separator, + if show_bc_book_intro and bc_book.book_intro: + document_parts.append( + DocumentPart( + content=resource_type_name_fmt_str.format( + bc_book.resource_type_name + ), + is_rtl=bc_book and bc_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=bc_book.book_intro, + use_section_visual_separator=use_section_visual_separator, + ) ) - ) book_codes = {usfm_book.book_code for usfm_book in usfm_books} for book_code in book_codes: num_chapters = book_chapters[book_code] @@ -194,26 +284,48 @@ def assemble_usfm_by_chapter( for tn_book in [ tn_book for tn_book in tn_books if tn_book.book_code == book_code ]: - if chapter_num in tn_book.chapters: + tn_chapter_intro = chapter_intro( + tn_book, chapter_num, use_section_visual_separator + ) + if show_tn_chapter_intro and tn_chapter_intro: document_parts.append( DocumentPart( - content=chapter_intro( - tn_book, chapter_num, use_section_visual_separator + content=resource_type_name_fmt_str.format( + tn_book.resource_type_name ), is_rtl=tn_book and tn_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=tn_chapter_intro, + is_rtl=tn_book + and tn_book.lang_direction == LangDirEnum.RTL, use_section_visual_separator=use_section_visual_separator, ) ) for bc_book in [ bc_book for bc_book in bc_books if bc_book.book_code == book_code ]: - if chapter_num in bc_book.chapters: + chapter_commentary_ = chapter_commentary( + bc_book, chapter_num, use_section_visual_separator + ) + if chapter_commentary_: document_parts.append( DocumentPart( - content=chapter_commentary( - bc_book, chapter_num, use_section_visual_separator + content=resource_type_name_fmt_str.format( + bc_book.resource_type_name ), + is_rtl=bc_book + and bc_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=chapter_commentary_, use_section_visual_separator=use_section_visual_separator, ) ) @@ -226,10 +338,20 @@ def assemble_usfm_by_chapter( DocumentPart( content=fmt_str.format(usfm_book.national_book_name), add_hr_p=False, - use_section_visual_separator=use_section_visual_separator, + use_section_visual_separator=False, ) ) if chapter_num in usfm_book.chapters: + document_parts.append( + DocumentPart( + content=resource_type_name_fmt_str.format( + usfm_book.resource_type_name + ), + is_rtl=usfm_book + and usfm_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) document_parts.append( DocumentPart( content=usfm_book.chapters[chapter_num].content, @@ -244,81 +366,505 @@ def assemble_usfm_by_chapter( for tn_book in tn_books if tn_book.book_code == usfm_book.book_code ]: - if chapter_num in tn_book.chapters: - tn_verses = tn_chapter_verses( - tn_book, - chapter_num, - use_section_visual_separator, - use_two_column_layout_for_tn_notes, + tn_verses = tn_chapter_verses( + tn_book, + chapter_num, + use_section_visual_separator, + use_two_column_layout_for_tn_notes, + ) + if tn_verses: + document_parts.append( + DocumentPart( + content=resource_type_name_fmt_str.format( + tn_book.resource_type_name + ), + is_rtl=tn_book + and tn_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) ) - if tn_verses: - document_parts.append( - DocumentPart( - content=tn_verses, - is_rtl=tn_book - and tn_book.lang_direction == LangDirEnum.RTL, - contained_in_two_column_section=use_two_column_layout_for_tn_notes, - add_hr_p=False, - use_section_visual_separator=use_section_visual_separator, - ) + document_parts.append( + DocumentPart( + content=tn_verses, + is_rtl=tn_book + and tn_book.lang_direction == LangDirEnum.RTL, + contained_in_two_column_section=use_two_column_layout_for_tn_notes, + add_hr_p=False, + use_section_visual_separator=False, ) - document_parts.append( - DocumentPart( - content="", - use_section_visual_separator=use_section_visual_separator, - ) + ) + # This is a trick to make an hr after a two column section by tricking + # the html to docx parser into keeping this part using an HTML space + # rather than an empty string. + document_parts.append( + DocumentPart( + content=" ", + use_section_visual_separator=use_section_visual_separator, ) + ) for tq_book in [ tq_book for tq_book in tq_books if tq_book.book_code == usfm_book.book_code ]: - if chapter_num in tq_book.chapters: - tq_verses = tq_chapter_verses( - tq_book, - chapter_num, - use_section_visual_separator, - use_two_column_layout_for_tq_notes, + tq_verses = tq_chapter_verses( + tq_book, + chapter_num, + use_section_visual_separator, + use_two_column_layout_for_tq_notes, + ) + if tq_verses: + document_parts.append( + DocumentPart( + content=resource_type_name_fmt_str.format( + tq_book.resource_type_name + ), + is_rtl=tq_book + and tq_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) ) - if tq_verses: - document_parts.append( - DocumentPart( - content=tq_verses, - is_rtl=tq_book - and tq_book.lang_direction == LangDirEnum.RTL, - contained_in_two_column_section=use_two_column_layout_for_tq_notes, - add_hr_p=False, - use_section_visual_separator=use_section_visual_separator, - ) + document_parts.append( + DocumentPart( + content=tq_verses, + is_rtl=tq_book + and tq_book.lang_direction == LangDirEnum.RTL, + contained_in_two_column_section=use_two_column_layout_for_tq_notes, + use_section_visual_separator=False, ) - document_parts.append( - DocumentPart( - content="", - use_section_visual_separator=use_section_visual_separator, - ) + ) + # This is a trick to make an hr after a two column section by tricking + # the html to docx parser into keeping this part using an HTML space + # rather than an empty string. + document_parts.append( + DocumentPart( + content=" ", + use_section_visual_separator=use_section_visual_separator, ) + ) for rg_book in [ rg_book for rg_book in rg_books if rg_book.book_code == usfm_book.book_code ]: - if chapter_num in rg_book.chapters: + rg_verses = rg_chapter_verses( + rg_book, chapter_num, use_section_visual_separator + ) + if rg_verses: document_parts.append( DocumentPart( - content=rg_chapter_verses( - rg_book, chapter_num, use_section_visual_separator + content=resource_type_name_fmt_str.format( + rg_book.resource_type_name ), + is_rtl=rg_book + and rg_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=rg_verses, use_section_visual_separator=use_section_visual_separator, ), ) + # document_parts.append( + # DocumentPart( + # content="", + # add_hr_p=False, + # add_page_break=True, + # use_section_visual_separator=use_section_visual_separator, + # ) + # ) + return document_parts + + +def assemble_usfm_by_verse_chapter_at_a_time( + usfm_books: Sequence[USFMBook], + tn_books: Sequence[TNBook], + tq_books: Sequence[TQBook], + tw_books: Sequence[TWBook], + bc_books: Sequence[BCBook], + rg_books: Sequence[RGBook], + use_section_visual_separator: bool, + use_two_column_layout_for_tn_notes: bool, + use_two_column_layout_for_tq_notes: bool, + show_tn_book_intro: bool, + show_bc_book_intro: bool, + show_tn_chapter_intro: bool, + show_bc_chapter_commentary: bool, + show_rg_chapter_commentary: bool, + end_of_chapter_html: str = settings.END_OF_CHAPTER_HTML, + close_direction_html: str = "", + hr: str = settings.HR, + book_chapters: Mapping[str, int] = BOOK_CHAPTERS, + fmt_str: str = settings.LEFT_ALIGNED_HEADER_FMT_STR, + verse_span_fmt_str: str = settings.VERSE_SPAN_FMT_STR, + tw_word_list_vertical: bool = settings.TW_WORD_LIST_VERTICAL, + resource_type_codes_and_names: Mapping[ + str, str + ] = settings.RESOURCE_TYPE_CODES_AND_NAMES, +) -> list[DocumentPart]: + document_parts: list[DocumentPart] = [] + lang_codes = list(dict.fromkeys(usfm_book.lang_code for usfm_book in usfm_books)) + for tn_book in tn_books: + if show_tn_book_intro and tn_book.book_intro: + book_intro_adj = adjust_book_intro_headings(tn_book.book_intro) + document_parts.append( + DocumentPart( + content=fmt_str.format(tn_book.resource_type_name), + is_rtl=tn_book and tn_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=book_intro_adj, + is_rtl=tn_book and tn_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=use_section_visual_separator, + ) + ) + for bc_book in bc_books: + if show_bc_book_intro and bc_book.book_intro: + document_parts.append( + DocumentPart( + content=fmt_str.format(bc_book.resource_type_name), + is_rtl=bc_book and bc_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) document_parts.append( DocumentPart( - content="", - add_hr_p=False, - add_page_break=True, + content=bc_book.book_intro, + is_rtl=bc_book and bc_book.lang_direction == LangDirEnum.RTL, use_section_visual_separator=use_section_visual_separator, ) ) + book_codes = list(dict.fromkeys(usfm_book.book_code for usfm_book in usfm_books)) + for book_code in book_codes: + num_chapters = book_chapters[book_code] + for chapter_num in range(1, num_chapters + 1): + for lang_code in lang_codes: + if show_tn_chapter_intro: + for tn_book in [ + tn_book + for tn_book in tn_books + if tn_book.book_code == book_code + ]: + tn_chapter_intro = chapter_intro( + tn_book, + chapter_num, + use_section_visual_separator, + ) + if tn_chapter_intro: + document_parts.append( + DocumentPart( + content=fmt_str.format(tn_book.resource_type_name), + is_rtl=tn_book + and tn_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=tn_chapter_intro, + is_rtl=tn_book + and tn_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=use_section_visual_separator, + ) + ) + if show_bc_chapter_commentary: + for bc_book in [ + bc_book + for bc_book in bc_books + if bc_book.book_code == book_code + ]: + bc_chapter_commentary = chapter_commentary( + bc_book, chapter_num, False + ) + if bc_chapter_commentary: + document_parts.append( + DocumentPart( + content=fmt_str.format(bc_book.resource_type_name), + is_rtl=bc_book + and bc_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=bc_chapter_commentary, + is_rtl=bc_book + and bc_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=use_section_visual_separator, + ) + ) + if show_rg_chapter_commentary: + rg_verses = None + for rg_book in [ + rg_book + for rg_book in rg_books + if rg_book.book_code == book_code + ]: + rg_verses = rg_chapter_verses( + rg_book, chapter_num, use_section_visual_separator + ) + if rg_verses: + document_parts.append( + DocumentPart( + content=fmt_str.format(rg_book.resource_type_name), + is_rtl=rg_book + and rg_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=rg_verses, + is_rtl=rg_book + and rg_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=use_section_visual_separator, + ) + ) + selected_usfm_books = [ + usfm_book + for usfm_book in usfm_books + if usfm_book.book_code == book_code + and usfm_book.lang_code == lang_code + ] + selected_tn_books = [ + tn_book + for tn_book in tn_books + if tn_book.book_code == book_code and tn_book.lang_code == lang_code + ] + selected_tq_books = [ + tq_book + for tq_book in tq_books + if tq_book.book_code == book_code and tq_book.lang_code == lang_code + ] + selected_tw_books = [ + tw_book + for tw_book in tw_books + if tw_book.book_code == book_code and tw_book.lang_code == lang_code + ] + usfm_book = None + usfm_book2 = None + usfm_chapter = None + usfm_chapter2 = None + if len(selected_usfm_books) == 1: + usfm_book = selected_usfm_books[0] + usfm_chapter = ( + usfm_book.chapters[chapter_num] + if chapter_num in usfm_book.chapters + else None + ) + elif len(selected_usfm_books) == 2: # Second USFM chosen, e.g., fr f10 + # TODO Later we might do resources types by clicked order at which point we would likely + # just use the else clause below. + # Assuming f10 should be treated as secondary to ulb for fr + if selected_usfm_books[0].resource_type_name in [ + resource_type_codes_and_names.get("f10", ""), + resource_type_codes_and_names.get("udb", ""), + ]: + usfm_book2 = selected_usfm_books[0] + usfm_chapter2 = ( + usfm_book2.chapters[chapter_num] + if chapter_num in usfm_book2.chapters + else None + ) + usfm_book = selected_usfm_books[1] + usfm_chapter = ( + usfm_book.chapters[chapter_num] + if chapter_num in usfm_book.chapters + else None + ) + else: + usfm_book = selected_usfm_books[0] + usfm_chapter = ( + usfm_book.chapters[chapter_num] + if chapter_num in usfm_book.chapters + else None + ) + usfm_book2 = selected_usfm_books[1] + usfm_chapter2 = ( + usfm_book2.chapters[chapter_num] + if chapter_num in usfm_book2.chapters + else None + ) + tn_chapter = ( + selected_tn_books[0].chapters[chapter_num] + if selected_tn_books + else None + ) + tq_chapter = ( + selected_tq_books[0].chapters[chapter_num] + if selected_tq_books + else None + ) + if usfm_book and usfm_chapter: + usfm_chapter.verses = handle_split_chapter_into_verses( + usfm_book, usfm_chapter + ) + document_parts.append( + DocumentPart( + content=fmt_str.format(usfm_book.resource_type_name), + is_rtl=usfm_book + and usfm_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + for verse_ref, verse in usfm_chapter.verses.items(): + document_parts.append( + DocumentPart( + content=fmt_str.format( + f"{usfm_book.national_book_name} {chapter_num}:{verse_ref}" + ), + is_rtl=usfm_book + and usfm_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=verse_span_fmt_str.format(verse), + is_rtl=usfm_book + and usfm_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=use_section_visual_separator, + ) + ) + if ( + selected_tn_books + and tn_chapter + and tn_chapter.verses + and verse_ref in tn_chapter.verses + ): + document_parts.append( + DocumentPart( + content=fmt_str.format( + selected_tn_books[0].resource_type_name + ), + is_rtl=selected_tn_books[0] + and selected_tn_books[0].lang_direction + == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=tn_chapter.verses[verse_ref], + is_rtl=selected_tn_books[0] + and selected_tn_books[0].lang_direction + == LangDirEnum.RTL, + use_section_visual_separator=use_section_visual_separator, + ) + ) + if ( + selected_tq_books + and tq_chapter + and tq_chapter.verses + and verse_ref in tq_chapter.verses + ): + document_parts.append( + DocumentPart( + content=fmt_str.format( + selected_tq_books[0].resource_type_name + ), + is_rtl=selected_tq_books[0] + and selected_tq_books[0].lang_direction + == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=tq_chapter.verses[verse_ref], + is_rtl=selected_tq_books[0] + and selected_tq_books[0].lang_direction + == LangDirEnum.RTL, + use_section_visual_separator=use_section_visual_separator, + ) + ) + if selected_tw_books: + tw_book = selected_tw_books[0] + words = translation_words_for_content(tw_book, verse) + unique_words = unique_list_of_strings(words) + if unique_words: + document_parts.append( + DocumentPart( + content=fmt_str.format( + tw_book.resource_type_name + ), + is_rtl=tw_book + and tw_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + if tw_word_list_vertical: + html = ( + "
      \n" + + "\n".join( + [ + f"
    • {localized_word}
    • " + for localized_word, word in unique_words + ] + ) + + "
    " + ) + else: + html = ", ".join( + [ + f"{localized_word}" + for localized_word, word in unique_words + ] + ) + logger.debug("tw links html: %s", html) + document_parts.append( + DocumentPart( + content=html, + is_rtl=tw_book + and tw_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=use_section_visual_separator, + ) + ) + if usfm_book2 and usfm_chapter2: + document_parts.append( + DocumentPart( + content=fmt_str.format( + usfm_book2.resource_type_name + ), + is_rtl=usfm_book2 + and usfm_book2.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + usfm_chapter2.verses = handle_split_chapter_into_verses( + usfm_book2, usfm_chapter2 + ) + if ( + usfm_chapter2.verses + and verse_ref in usfm_chapter2.verses + ): + document_parts.append( + DocumentPart( + content=fmt_str.format( + f"{usfm_book2.national_book_name} {chapter_num}:{verse_ref}" + ), + is_rtl=usfm_book2 + and usfm_book2.lang_direction + == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=verse_span_fmt_str.format( + usfm_chapter2.verses[verse_ref] + ), + is_rtl=usfm_book2 + and usfm_book2.lang_direction + == LangDirEnum.RTL, + use_section_visual_separator=use_section_visual_separator, + ) + ) return document_parts @@ -332,25 +878,28 @@ def assemble_tn_by_chapter( use_section_visual_separator: bool, use_two_column_layout_for_tn_notes: bool, use_two_column_layout_for_tq_notes: bool, + show_tn_book_intro: bool, + show_bc_book_intro: bool, + show_tn_chapter_intro: bool, book_chapters: Mapping[str, int] = BOOK_CHAPTERS, - show_tn_book_intro: bool = settings.SHOW_TN_BOOK_INTRO, + fmt_str: str = settings.LEFT_ALIGNED_HEADER_FMT_STR, ) -> list[DocumentPart]: """ Construct the HTML for a 'by chapter' strategy wherein at least tn_book_content_units exists. """ - - - - - document_parts: list[DocumentPart] = [] if show_tn_book_intro: - # Add book intros for each tn_book for tn_book in tn_books: if tn_book.book_intro: - book_intro_ = tn_book.book_intro - book_intro_adj = adjust_book_intro_headings(book_intro_) + book_intro_adj = adjust_book_intro_headings(tn_book.book_intro) + document_parts.append( + DocumentPart( + content=fmt_str.format(tn_book.resource_type_name), + is_rtl=tn_book and tn_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) document_parts.append( DocumentPart( content=book_intro_adj, @@ -358,46 +907,74 @@ def assemble_tn_by_chapter( use_section_visual_separator=use_section_visual_separator, ) ) - for bc_book in bc_books: - document_parts.append( - DocumentPart( - content=bc_book_intro(bc_book, use_section_visual_separator), - use_section_visual_separator=use_section_visual_separator, - ) - ) + if show_bc_book_intro: + for bc_book in bc_books: + bc_book_intro_ = bc_book_intro(bc_book, use_section_visual_separator) + if bc_book_intro_: + document_parts.append( + DocumentPart( + content=fmt_str.format(bc_book.resource_type_name), + is_rtl=bc_book and bc_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=bc_book_intro_, + use_section_visual_separator=use_section_visual_separator, + ) + ) book_codes = {tn_book.book_code for tn_book in tn_books} for book_code in book_codes: num_chapters = book_chapters[book_code] for chapter_num in range(1, num_chapters + 1): - for tn_book in [ - tn_book for tn_book in tn_books if tn_book.book_code == book_code - ]: - one_column_html = [] - if chapter_num in tn_book.chapters: - one_column_html.append( - chapter_intro( - tn_book, chapter_num, use_section_visual_separator - ) - ) - one_column_html_ = "".join(one_column_html) - if one_column_html_: - document_parts.append( - DocumentPart( - content=one_column_html_, - is_rtl=tn_book - and tn_book.lang_direction == LangDirEnum.RTL, - use_section_visual_separator=use_section_visual_separator, + if show_tn_chapter_intro: + for tn_book in [ + tn_book for tn_book in tn_books if tn_book.book_code == book_code + ]: + one_column_html = [] + if chapter_num in tn_book.chapters: + one_column_html.append( + chapter_intro( + tn_book, chapter_num, use_section_visual_separator ) ) + one_column_html_ = "".join(one_column_html) + if one_column_html_: + document_parts.append( + DocumentPart( + content=fmt_str.format(tn_book.resource_type_name), + is_rtl=tn_book + and tn_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=one_column_html_, + is_rtl=tn_book + and tn_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=use_section_visual_separator, + ) + ) for bc_book in [ bc_book for bc_book in bc_books if bc_book.book_code == book_code ]: - if chapter_num in bc_book.chapters: + bc_chapter_commentary = chapter_commentary( + bc_book, chapter_num, use_section_visual_separator + ) + if bc_chapter_commentary: document_parts.append( DocumentPart( - content=chapter_commentary( - bc_book, chapter_num, use_section_visual_separator - ), + content=fmt_str.format(bc_book.resource_type_name), + is_rtl=bc_book + and bc_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=bc_chapter_commentary, use_section_visual_separator=use_section_visual_separator, ) ) @@ -412,6 +989,14 @@ def assemble_tn_by_chapter( use_two_column_layout_for_tn_notes, ) if tn_verses: + document_parts.append( + DocumentPart( + content=fmt_str.format(tn_book.resource_type_name), + is_rtl=tn_book + and tn_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) document_parts.append( DocumentPart( content=tn_verses, @@ -419,12 +1004,15 @@ def assemble_tn_by_chapter( and tn_book.lang_direction == LangDirEnum.RTL, contained_in_two_column_section=use_two_column_layout_for_tn_notes, add_hr_p=False, - use_section_visual_separator=use_section_visual_separator, + use_section_visual_separator=False, ) ) + # This is a trick to make an hr after a two column section by tricking + # the html to docx parser into keeping this part using an HTML space + # rather than an empty string. document_parts.append( DocumentPart( - content="", + content=" ", use_section_visual_separator=use_section_visual_separator, ) ) @@ -438,6 +1026,14 @@ def assemble_tn_by_chapter( use_two_column_layout_for_tq_notes, ) if tq_verses: + document_parts.append( + DocumentPart( + content=fmt_str.format(tq_book.resource_type_name), + is_rtl=tq_book + and tq_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) document_parts.append( DocumentPart( content=tq_verses, @@ -445,12 +1041,15 @@ def assemble_tn_by_chapter( and tq_book.lang_direction == LangDirEnum.RTL, contained_in_two_column_section=use_two_column_layout_for_tq_notes, add_hr_p=False, - use_section_visual_separator=use_section_visual_separator, + use_section_visual_separator=False, ) ) + # This is a trick to make an hr after a two column section by tricking + # the html to docx parser into keeping this part using an HTML space + # rather than an empty string. document_parts.append( DocumentPart( - content="", + content=" ", use_section_visual_separator=use_section_visual_separator, ) ) @@ -461,6 +1060,14 @@ def assemble_tn_by_chapter( rg_book, chapter_num, use_section_visual_separator ) if rg_verses: + document_parts.append( + DocumentPart( + content=fmt_str.format(rg_book.resource_type_name), + is_rtl=rg_book + and rg_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) document_parts.append( DocumentPart( content=rg_verses, @@ -471,14 +1078,14 @@ def assemble_tn_by_chapter( use_section_visual_separator=use_section_visual_separator, ) ) - document_parts.append( - DocumentPart( - content="", - add_hr_p=False, - add_page_break=True, - use_section_visual_separator=use_section_visual_separator, - ) - ) + # document_parts.append( + # DocumentPart( + # content="", + # add_hr_p=False, + # add_page_break=True, + # use_section_visual_separator=use_section_visual_separator, + # ) + # ) return document_parts @@ -491,16 +1098,16 @@ def assemble_tq_by_chapter( rg_books: Sequence[RGBook], use_section_visual_separator: bool, use_two_column_layout_for_tq_notes: bool, + show_tn_book_intro: bool, + show_bc_book_intro: bool, + show_tn_chapter_intro: bool, book_chapters: Mapping[str, int] = BOOK_CHAPTERS, + fmt_str: str = settings.LEFT_ALIGNED_HEADER_FMT_STR, ) -> list[DocumentPart]: """ Construct the HTML for a 'by chapter' strategy wherein at least tq_book_content_units exists. """ - - - - document_parts: list[DocumentPart] = [] book_codes = {tq_book.book_code for tq_book in tq_books} for book_code in book_codes: @@ -511,11 +1118,19 @@ def assemble_tq_by_chapter( for bc_book in [ bc_book for bc_book in bc_books if bc_book.book_code == book_code ]: - one_column_html.append( - chapter_commentary( - bc_book, chapter_num, use_section_visual_separator - ) + chapter_commentary_ = chapter_commentary( + bc_book, chapter_num, use_section_visual_separator ) + if chapter_commentary_: + document_parts.append( + DocumentPart( + content=fmt_str.format(bc_book.resource_type_name), + is_rtl=bc_book + and bc_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + one_column_html.append(chapter_commentary_) if one_column_html: document_parts.append(DocumentPart(content="".join(one_column_html))) for tq_book in [ @@ -530,6 +1145,14 @@ def assemble_tq_by_chapter( use_two_column_layout_for_tq_notes, ) if tq_verses: + document_parts.append( + DocumentPart( + content=fmt_str.format(tq_book.resource_type_name), + is_rtl=tq_book + and tq_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) document_parts.append( DocumentPart( content=tq_verses, @@ -537,12 +1160,15 @@ def assemble_tq_by_chapter( and tq_book.lang_direction == LangDirEnum.RTL, contained_in_two_column_section=use_two_column_layout_for_tq_notes, add_hr_p=False, - use_section_visual_separator=use_section_visual_separator, + use_section_visual_separator=False, ) ) + # This is a trick to make an hr after a two column section by tricking + # the html to docx parser into keeping this part using an HTML space + # rather than an empty string. document_parts.append( DocumentPart( - content="", + content=" ", use_section_visual_separator=use_section_visual_separator, ) ) @@ -555,6 +1181,14 @@ def assemble_tq_by_chapter( rg_book, chapter_num, use_section_visual_separator ) if rg_verses: + document_parts.append( + DocumentPart( + content=fmt_str.format(rg_book.resource_type_name), + is_rtl=rg_book + and rg_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) document_parts.append( DocumentPart( content=rg_verses, @@ -562,9 +1196,9 @@ def assemble_tq_by_chapter( and rg_book.lang_direction == LangDirEnum.RTL, ) ) - document_parts.append( - DocumentPart(content="", add_hr_p=False, add_page_break=True) - ) + # document_parts.append( + # DocumentPart(content="", add_hr_p=False, add_page_break=True) + # ) return document_parts @@ -583,32 +1217,39 @@ def assemble_tw_by_chapter( bc_books: Sequence[BCBook], rg_books: Sequence[RGBook], use_section_visual_separator: bool, + show_bc_book_intro: bool, + fmt_str: str = settings.LEFT_ALIGNED_HEADER_FMT_STR, ) -> list[DocumentPart]: """Construct the HTML for BC and TW.""" document_parts: list[DocumentPart] = [] - - - for bc_book in bc_books: - document_parts.append( - DocumentPart( - content=bc_book.book_intro, - use_section_visual_separator=use_section_visual_separator, + if show_bc_book_intro and bc_book.book_intro: + document_parts.append( + DocumentPart( + content=fmt_str.format(bc_book.resource_type_name), + is_rtl=bc_book and bc_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) ) - ) - for chapter in bc_book.chapters.values(): document_parts.append( DocumentPart( - content=chapter.commentary, + content=bc_book.book_intro, use_section_visual_separator=use_section_visual_separator, ) ) + for chapter in bc_book.chapters.values(): document_parts.append( DocumentPart( - content="", - add_hr_p=False, - add_page_break=True, + content=chapter.commentary, use_section_visual_separator=use_section_visual_separator, ) ) + # document_parts.append( + # DocumentPart( + # content="", + # add_hr_p=False, + # add_page_break=True, + # use_section_visual_separator=use_section_visual_separator, + # ) + # ) return document_parts diff --git a/backend/doc/domain/assembly_strategies_docx/assembly_strategies_lang_then_book_by_chapter.py b/backend/doc/domain/assembly_strategies_docx/assembly_strategies_lang_then_book_by_chapter.py index 1c8883a3..a0a16619 100755 --- a/backend/doc/domain/assembly_strategies_docx/assembly_strategies_lang_then_book_by_chapter.py +++ b/backend/doc/domain/assembly_strategies_docx/assembly_strategies_lang_then_book_by_chapter.py @@ -21,13 +21,16 @@ TWBook, USFMBook, ) +from doc.domain.parsing import handle_split_chapter_into_verses from doc.reviewers_guide.model import RGBook +from doc.utils.list_utils import unique_list_of_strings +from doc.utils.tw_utils import translation_words_for_content logger = settings.logger(__name__) -def assemble_content_by_lang_then_book( +def assemble_content_by_book( usfm_books: Sequence[USFMBook], tn_books: Sequence[TNBook], tq_books: Sequence[TQBook], @@ -39,19 +42,30 @@ def assemble_content_by_lang_then_book( use_section_visual_separator: bool, use_two_column_layout_for_tn_notes: bool, use_two_column_layout_for_tq_notes: bool, + show_tn_book_intro: bool, + show_bc_book_intro: bool, + show_tn_chapter_intro: bool, + show_bc_chapter_commentary: bool, book_names: Mapping[str, str] = BOOK_NAMES, book_id_map: dict[str, int] = BOOK_ID_MAP, + resource_type_codes_and_names: Mapping[ + str, str + ] = settings.RESOURCE_TYPE_CODES_AND_NAMES, ) -> list[DocumentPart]: document_parts: list[DocumentPart] = [] - all_lang_codes = ( - {usfm_book.lang_code for usfm_book in usfm_books} - .union(tn_book.lang_code for tn_book in tn_books) - .union(tq_book.lang_code for tq_book in tq_books) - .union(tw_book.lang_code for tw_book in tw_books) - .union(bc_book.lang_code for bc_book in bc_books) - .union(rg_book.lang_code for rg_book in rg_books) + # Collect and duplicate max number of lang_codes + lang_codes = list( + dict.fromkeys( + [ + *[usfm_book.lang_code for usfm_book in usfm_books], + *[tn_book.lang_code for tn_book in tn_books], + *[tq_book.lang_code for tq_book in tq_books], + *[tw_book.lang_code for tw_book in tw_books], + *[bc_book.lang_code for bc_book in bc_books], + *[rg_book.lang_code for rg_book in rg_books], + ] + ) ) - most_lang_codes = list(all_lang_codes) all_book_codes = ( {usfm_book.book_code for usfm_book in usfm_books} .union(tn_book.book_code for tn_book in tn_books) @@ -60,28 +74,40 @@ def assemble_content_by_lang_then_book( .union(bc_book.book_code for bc_book in bc_books) .union(rg_book.book_code for rg_book in rg_books) ) - most_book_codes = list(all_book_codes) - book_codes_sorted = sorted( - most_book_codes, key=lambda book_code: book_id_map[book_code] - ) - for lang_code in most_lang_codes: + book_codes = list(all_book_codes) + book_codes_sorted = sorted(book_codes, key=lambda book_code: book_id_map[book_code]) + for lang_code in lang_codes: for book_code in book_codes_sorted: selected_usfm_books = [ usfm_book for usfm_book in usfm_books if usfm_book.lang_code == lang_code and usfm_book.book_code == book_code ] - usfm_book = selected_usfm_books[0] if selected_usfm_books else None - usfm_book2 = ( - selected_usfm_books[1] - if selected_usfm_books and len(selected_usfm_books) > 1 - else None - ) + usfm_book = None + usfm_book2 = None + if len(selected_usfm_books) == 1: + usfm_book = selected_usfm_books[0] + elif ( + len(selected_usfm_books) == 2 + ): # Second USFM chosen, e.g., fr f10. Assuming f10 should be treated as secondary to ulb for fr + # TODO Later we might do resources types by clicked order at which point we would likely + # just use the body of the else clause below. + if selected_usfm_books[0].resource_type_name in [ + resource_type_codes_and_names.get("f10", ""), + resource_type_codes_and_names.get("udb", ""), + ]: + usfm_book = selected_usfm_books[1] + usfm_book2 = selected_usfm_books[0] + else: + usfm_book = selected_usfm_books[0] + usfm_book2 = selected_usfm_books[1] selected_tn_books = [ tn_book for tn_book in tn_books if tn_book.lang_code == lang_code and tn_book.book_code == book_code ] + # TODO en tn and tn-condensed exist, so we need to admit the possibility + # of two tn_books not just one for en tn_book = selected_tn_books[0] if selected_tn_books else None selected_tq_books = [ tq_book @@ -124,6 +150,9 @@ def assemble_content_by_lang_then_book( use_section_visual_separator, use_two_column_layout_for_tn_notes, use_two_column_layout_for_tq_notes, + show_tn_book_intro, + show_bc_book_intro, + show_tn_chapter_intro, ) ) elif usfm_book is None and tn_book is not None: @@ -139,6 +168,9 @@ def assemble_content_by_lang_then_book( use_section_visual_separator, use_two_column_layout_for_tn_notes, use_two_column_layout_for_tq_notes, + show_tn_book_intro, + show_bc_book_intro, + show_tn_chapter_intro, ) ) elif usfm_book is None and tn_book is None and tq_book is not None: @@ -153,6 +185,7 @@ def assemble_content_by_lang_then_book( rg_book, use_section_visual_separator, use_two_column_layout_for_tq_notes, + show_bc_book_intro, ) ) elif ( @@ -171,6 +204,153 @@ def assemble_content_by_lang_then_book( bc_book, rg_book, use_section_visual_separator, + show_bc_book_intro, + ) + ) + return document_parts + + +def assemble_content_by_verse_book_at_a_time( + usfm_books: Sequence[USFMBook], + tn_books: Sequence[TNBook], + tq_books: Sequence[TQBook], + tw_books: Sequence[TWBook], + bc_books: Sequence[BCBook], + rg_books: Sequence[RGBook], + assembly_layout_kind: AssemblyLayoutEnum, + chunk_size: ChunkSizeEnum, + use_section_visual_separator: bool, + use_two_column_layout_for_tn_notes: bool, + use_two_column_layout_for_tq_notes: bool, + show_tn_book_intro: bool, + show_bc_book_intro: bool, + show_tn_chapter_intro: bool, + show_bc_chapter_commentary: bool, + show_rg_chapter_commentary: bool, + book_names: Mapping[str, str] = BOOK_NAMES, + book_id_map: dict[str, int] = BOOK_ID_MAP, + resource_type_codes_and_names: Mapping[ + str, str + ] = settings.RESOURCE_TYPE_CODES_AND_NAMES, +) -> list[DocumentPart]: + document_parts: list[DocumentPart] = [] + # Collect and duplicate max number of lang_codes + lang_codes = list( + dict.fromkeys( + [ + *[usfm_book.lang_code for usfm_book in usfm_books], + *[tn_book.lang_code for tn_book in tn_books], + *[tq_book.lang_code for tq_book in tq_books], + *[tw_book.lang_code for tw_book in tw_books], + *[bc_book.lang_code for bc_book in bc_books], + *[rg_book.lang_code for rg_book in rg_books], + ] + ) + ) + book_codes = list( + {usfm_book.book_code for usfm_book in usfm_books} + .union(tn_book.book_code for tn_book in tn_books) + .union(tq_book.book_code for tq_book in tq_books) + .union(tw_book.book_code for tw_book in tw_books) + .union(bc_book.book_code for bc_book in bc_books) + .union(rg_book.book_code for rg_book in rg_books) + ) + book_codes_sorted = sorted(book_codes, key=lambda book_code: book_id_map[book_code]) + for lang_code in lang_codes: + for book_code in book_codes_sorted: + selected_usfm_books = [ + usfm_book + for usfm_book in usfm_books + if usfm_book.lang_code == lang_code and usfm_book.book_code == book_code + ] + usfm_book = None + usfm_book2 = None + if len(selected_usfm_books) == 1: + usfm_book = selected_usfm_books[0] + elif len(selected_usfm_books) == 2: # Second USFM chosen, e.g., fr f10 + # TODO Later we might do resources types by clicked order at which point we would likely + # just use the else clause below. + # Assuming f10 should be treated as secondary to ulb for fr + if selected_usfm_books[0].resource_type_name in [ + resource_type_codes_and_names.get("f10", ""), + resource_type_codes_and_names.get("udb", ""), + ]: + usfm_book = selected_usfm_books[1] + usfm_book2 = selected_usfm_books[0] + else: + usfm_book = selected_usfm_books[0] + usfm_book2 = selected_usfm_books[1] + selected_tn_books = [ + tn_book + for tn_book in tn_books + if tn_book.lang_code == lang_code and tn_book.book_code == book_code + ] + tn_book = selected_tn_books[0] if selected_tn_books else None + selected_tq_books = [ + tq_book + for tq_book in tq_books + if tq_book.lang_code == lang_code and tq_book.book_code == book_code + ] + tq_book = selected_tq_books[0] if selected_tq_books else None + # TODO TWBook doesn't really need to have a book_code attribute + # because TW resources are language centric not book centric. + # We could do something about that later if desired for + # design cleanness sake. + selected_tw_books = [ + tw_book + for tw_book in tw_books + if tw_book.lang_code == lang_code and tw_book.book_code == book_code + ] + tw_book = selected_tw_books[0] if selected_tw_books else None + selected_bc_books = [ + bc_book + for bc_book in bc_books + if bc_book.lang_code == lang_code and bc_book.book_code == book_code + ] + bc_book = selected_bc_books[0] if selected_bc_books else None + selected_rg_books = [ + rg_book + for rg_book in rg_books + if rg_book.lang_code == lang_code and rg_book.book_code == book_code + ] + rg_book = selected_rg_books[0] if selected_rg_books else None + if usfm_book: + document_parts.extend( + assemble_usfm_by_verse_book_at_a_time( + usfm_book, + tn_book, + tq_book, + tw_book, + usfm_book2, + bc_book, + rg_book, + use_section_visual_separator, + use_two_column_layout_for_tn_notes, + use_two_column_layout_for_tq_notes, + show_tn_book_intro, + show_bc_book_intro, + show_tn_chapter_intro, + show_bc_chapter_commentary, + ) + ) + else: + document_parts.extend( + assemble_content_by_book( + usfm_books, + tn_books, + tq_books, + tw_books, + bc_books, + rg_books, + assembly_layout_kind, + chunk_size, + use_section_visual_separator, + use_two_column_layout_for_tn_notes, + use_two_column_layout_for_tq_notes, + show_tn_book_intro, + show_bc_book_intro, + show_tn_chapter_intro, + show_bc_chapter_commentary, ) ) return document_parts @@ -187,8 +367,12 @@ def assemble_usfm_by_book( use_section_visual_separator: bool, use_two_column_layout_for_tn_notes: bool, use_two_column_layout_for_tq_notes: bool, - show_tn_book_intro: bool = settings.SHOW_TN_BOOK_INTRO, + show_tn_book_intro: bool, + show_bc_book_intro: bool, + show_tn_chapter_intro: bool, fmt_str: str = settings.BOOK_NAME_FMT_STR, + resource_type_name_fmt_str: str = settings.LEFT_ALIGNED_HEADER_FMT_STR, + tw_word_list_vertical: bool = settings.TW_WORD_LIST_VERTICAL, ) -> list[DocumentPart]: """ Construct the HTML for a 'by book' strategy wherein at least @@ -196,6 +380,13 @@ def assemble_usfm_by_book( """ document_parts: list[DocumentPart] = [] if show_tn_book_intro and tn_book and tn_book.book_intro: + document_parts.append( + DocumentPart( + content=resource_type_name_fmt_str.format(tn_book.resource_type_name), + is_rtl=tn_book and tn_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) document_parts.append( DocumentPart( content=tn_book.book_intro, @@ -203,14 +394,20 @@ def assemble_usfm_by_book( use_section_visual_separator=use_section_visual_separator, ) ) - if bc_book: - if bc_book.book_intro: - document_parts.append( - DocumentPart( - content=bc_book.book_intro, - use_section_visual_separator=use_section_visual_separator, - ) + if show_bc_book_intro and bc_book and bc_book.book_intro: + document_parts.append( + DocumentPart( + content=resource_type_name_fmt_str.format(bc_book.resource_type_name), + is_rtl=bc_book and bc_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=bc_book.book_intro, + use_section_visual_separator=use_section_visual_separator, ) + ) if usfm_book: is_rtl = usfm_book and usfm_book.lang_direction == LangDirEnum.RTL # Add book name @@ -219,47 +416,27 @@ def assemble_usfm_by_book( content=fmt_str.format(usfm_book.national_book_name), is_rtl=is_rtl, add_hr_p=False, - use_section_visual_separator=use_section_visual_separator, + use_section_visual_separator=False, ) ) for ( chapter_num, chapter, ) in usfm_book.chapters.items(): - tn_verses: str = "" - tq_verses: str = "" - rg_verses: str = "" - chapter_intro_ = "" - chapter_commentary_ = "" chapter_intro_ = chapter_intro( tn_book, chapter_num, use_section_visual_separator ) - tn_verses = tn_chapter_verses( - tn_book, - chapter_num, - use_section_visual_separator, - use_two_column_layout_for_tn_notes, - ) - chapter_commentary_ = chapter_commentary( - bc_book, chapter_num, use_section_visual_separator - ) - tq_verses = tq_chapter_verses( - tq_book, - chapter_num, - use_section_visual_separator, - use_two_column_layout_for_tq_notes, - ) - rg_verses = rg_chapter_verses( - rg_book, chapter_num, use_section_visual_separator - ) - document_parts.append( - DocumentPart( - content=chapter.content, - is_rtl=is_rtl, - use_section_visual_separator=use_section_visual_separator, + if chapter_intro_ and tn_book: + document_parts.append( + DocumentPart( + content=resource_type_name_fmt_str.format( + tn_book.resource_type_name + ), + is_rtl=usfm_book + and usfm_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) ) - ) - if chapter_intro_: document_parts.append( DocumentPart( content=chapter_intro_, @@ -267,48 +444,162 @@ def assemble_usfm_by_book( use_section_visual_separator=use_section_visual_separator, ) ) - if chapter_commentary_: + chapter_commentary_ = chapter_commentary(bc_book, chapter_num, False) + if chapter_commentary_ and bc_book: + document_parts.append( + DocumentPart( + content=resource_type_name_fmt_str.format( + bc_book.resource_type_name + ), + is_rtl=usfm_book + and usfm_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) document_parts.append( DocumentPart( content=chapter_commentary_, is_rtl=is_rtl, - add_hr_p=False, + # add_hr_p=False, use_section_visual_separator=use_section_visual_separator, ) ) - if tn_verses: + document_parts.append( + DocumentPart( + content=resource_type_name_fmt_str.format( + usfm_book.resource_type_name + ), + is_rtl=usfm_book and usfm_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=chapter.content, + is_rtl=is_rtl, + use_section_visual_separator=use_section_visual_separator, + ) + ) + if tw_book: + words = translation_words_for_content(tw_book, chapter.content) + unique_words = unique_list_of_strings(words) + if unique_words: + document_parts.append( + DocumentPart( + content=resource_type_name_fmt_str.format( + tw_book.resource_type_name + ), + is_rtl=tw_book + and tw_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + if tw_word_list_vertical: + html = ( + "
      \n" + + "\n".join( + [ + f"
    • {localized_word}
    • " + for localized_word, word in unique_words + ] + ) + + "
    " + ) + else: + html = ", ".join( + [ + f"{localized_word}" + for localized_word, word in unique_words + ] + ) + document_parts.append( + DocumentPart( + content=html, + is_rtl=tw_book + and tw_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=use_section_visual_separator, + ) + ) + tn_verses = tn_chapter_verses( + tn_book, + chapter_num, + False, + use_two_column_layout_for_tn_notes, + ) + if tn_book and tn_verses: + document_parts.append( + DocumentPart( + content=resource_type_name_fmt_str.format( + tn_book.resource_type_name + ), + is_rtl=usfm_book + and usfm_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) document_parts.append( DocumentPart( content=tn_verses, is_rtl=is_rtl, - add_hr_p=False, contained_in_two_column_section=use_two_column_layout_for_tn_notes, - use_section_visual_separator=use_section_visual_separator, + use_section_visual_separator=False, ) ) + # This is a trick to make an hr after a two column section by tricking + # the html to docx parser into keeping this part using an HTML space + # rather than an empty string. document_parts.append( DocumentPart( - content="", + content=" ", use_section_visual_separator=use_section_visual_separator, ) ) - if tq_verses: + tq_verses = tq_chapter_verses( + tq_book, + chapter_num, + False, + use_two_column_layout_for_tq_notes, + ) + if tq_verses and tq_book: + document_parts.append( + DocumentPart( + content=resource_type_name_fmt_str.format( + tq_book.resource_type_name + ), + is_rtl=usfm_book + and usfm_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) document_parts.append( DocumentPart( content=tq_verses, is_rtl=is_rtl, - add_hr_p=False, contained_in_two_column_section=use_two_column_layout_for_tq_notes, - use_section_visual_separator=use_section_visual_separator, + use_section_visual_separator=False, ) ) + # This is a trick to make an hr after a two column section by tricking + # the html to docx parser into keeping this part using an HTML space + # rather than an empty string. document_parts.append( DocumentPart( - content="", + content=" ", use_section_visual_separator=use_section_visual_separator, ) ) - if rg_verses: + rg_verses = rg_chapter_verses(rg_book, chapter_num, False) + if rg_verses and rg_book: + document_parts.append( + DocumentPart( + content=resource_type_name_fmt_str.format( + rg_book.resource_type_name + ), + is_rtl=usfm_book + and usfm_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) document_parts.append( DocumentPart( content=rg_verses, @@ -318,6 +609,16 @@ def assemble_usfm_by_book( ) ) if usfm_book2: + document_parts.append( + DocumentPart( + content=resource_type_name_fmt_str.format( + usfm_book2.resource_type_name + ), + is_rtl=usfm_book + and usfm_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) document_parts.append( DocumentPart( content=usfm_book2.chapters[chapter_num].content, @@ -327,14 +628,283 @@ def assemble_usfm_by_book( use_section_visual_separator=use_section_visual_separator, ) ) - document_parts.append( - DocumentPart( - content="", - add_hr_p=False, - add_page_break=True, - use_section_visual_separator=use_section_visual_separator, + # document_parts.append( + # DocumentPart( + # content="", + # add_hr_p=False, + # add_page_break=True, + # use_section_visual_separator=use_section_visual_separator, + # ) + # ) + return document_parts + + +def assemble_usfm_by_verse_book_at_a_time( + usfm_book: Optional[USFMBook], + tn_book: Optional[TNBook], + tq_book: Optional[TQBook], + tw_book: Optional[TWBook], + usfm_book2: Optional[USFMBook], + bc_book: Optional[BCBook], + rg_book: Optional[RGBook], + use_section_visual_separator: bool, + use_two_column_layout_for_tn_notes: bool, + use_two_column_layout_for_tq_notes: bool, + show_tn_book_intro: bool, + show_bc_book_intro: bool, + show_tn_chapter_intro: bool, + show_bc_chapter_commentary: bool, + fmt_str: str = settings.LEFT_ALIGNED_HEADER_FMT_STR, + verse_span_fmt_str: str = settings.VERSE_SPAN_FMT_STR, + tw_word_list_vertical: bool = settings.TW_WORD_LIST_VERTICAL, + resource_type_codes_and_names: Mapping[ + str, str + ] = settings.RESOURCE_TYPE_CODES_AND_NAMES, +) -> list[DocumentPart]: + document_parts: list[DocumentPart] = [] + if show_tn_book_intro and tn_book and tn_book.book_intro: + document_parts.append( + DocumentPart( + content=fmt_str.format(tn_book.resource_type_name), + is_rtl=tn_book and tn_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=tn_book.book_intro, + is_rtl=tn_book and tn_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=use_section_visual_separator, + ) + ) + if show_bc_book_intro and bc_book and bc_book.book_intro: + document_parts.append( + DocumentPart( + content=fmt_str.format(bc_book.resource_type_name), + is_rtl=bc_book and bc_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=bc_book.book_intro, + is_rtl=bc_book and bc_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=use_section_visual_separator, + ) + ) + if usfm_book: + for ( + chapter_num, + chapter, + ) in usfm_book.chapters.items(): + chapter.verses = handle_split_chapter_into_verses(usfm_book, chapter) + tn_chapter = tn_book.chapters[chapter_num] if tn_book else None + tq_chapter = tq_book.chapters[chapter_num] if tq_book else None + tn_chapter_intro = chapter_intro(tn_book, chapter_num, False) + if show_tn_chapter_intro and tn_book and tn_chapter_intro: + document_parts.append( + DocumentPart( + content=fmt_str.format(tn_book.resource_type_name), + is_rtl=tn_book and tn_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=tn_chapter_intro, + is_rtl=tn_book and tn_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=use_section_visual_separator, + ) ) + chapter_commentary_ = chapter_commentary( + bc_book, chapter_num, use_section_visual_separator ) + if show_bc_chapter_commentary and bc_book and chapter_commentary_: + document_parts.append( + DocumentPart( + content=fmt_str.format(bc_book.resource_type_name), + is_rtl=bc_book and bc_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=chapter_commentary_, + is_rtl=bc_book and bc_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=use_section_visual_separator, + ) + ) + rg_verses = rg_chapter_verses( + rg_book, chapter_num, use_section_visual_separator + ) + if rg_book and rg_verses: + document_parts.append( + DocumentPart( + content=fmt_str.format(rg_book.resource_type_name), + is_rtl=rg_book and rg_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=rg_verses, + is_rtl=rg_book and rg_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=use_section_visual_separator, + ) + ) + if chapter.verses: + for verse_ref, verse in chapter.verses.items(): + document_parts.append( + DocumentPart( + content=fmt_str.format( + f"{usfm_book.national_book_name} {chapter_num}:{verse_ref}" + ), + is_rtl=usfm_book + and usfm_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=fmt_str.format(usfm_book.resource_type_name), + is_rtl=usfm_book + and usfm_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=verse_span_fmt_str.format(verse), + is_rtl=usfm_book + and usfm_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=use_section_visual_separator, + ) + ) + if ( + tn_book + and tn_chapter + and tn_chapter.verses + and verse_ref in tn_chapter.verses + ): + document_parts.append( + DocumentPart( + content=fmt_str.format(tn_book.resource_type_name), + is_rtl=tn_book + and tn_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=tn_chapter.verses[verse_ref], + is_rtl=tn_book + and tn_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=use_section_visual_separator, + ) + ) + if ( + tq_book + and tq_chapter + and tq_chapter.verses + and verse_ref in tq_chapter.verses + ): + document_parts.append( + DocumentPart( + content=fmt_str.format(tq_book.resource_type_name), + is_rtl=tq_book + and tq_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=tq_chapter.verses[verse_ref], + is_rtl=tq_book + and tq_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=use_section_visual_separator, + ) + ) + if tw_book: + words = translation_words_for_content(tw_book, verse) + unique_words = unique_list_of_strings(words) + if unique_words: + document_parts.append( + DocumentPart( + content=fmt_str.format(tw_book.resource_type_name), + is_rtl=tw_book + and tw_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + if tw_word_list_vertical: + html = ( + "
      \n" + + "\n".join( + [ + f"
    • {localized_word}
    • " + for localized_word, word in unique_words + ] + ) + + "
    " + ) + else: + html = ", ".join( + [ + f"{localized_word}" + for localized_word, word in unique_words + ] + ) + logger.debug("tw links html: %s", html) + document_parts.append( + DocumentPart( + content=html, + is_rtl=tw_book + and tw_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=use_section_visual_separator, + ) + ) + # If the user chose two USFM resource types for a language. e.g., fr: + # ulb, f10, show the second USFM content here + if usfm_book2: + usfm_book2_chapter = usfm_book2.chapters[chapter_num] + usfm_book2_chapter.verses = handle_split_chapter_into_verses( + usfm_book2, usfm_book2_chapter + ) + if usfm_book2_chapter.verses: + document_parts.append( + DocumentPart( + content=fmt_str.format( + usfm_book2.resource_type_name + ), + is_rtl=usfm_book2 + and usfm_book2.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=verse_span_fmt_str.format( + usfm_book2_chapter.verses[verse_ref] + ), + is_rtl=usfm_book2 + and usfm_book2.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=use_section_visual_separator, + ) + ) + # TODO How should we handle footnotes in a versified output? + # if ( + # not has_footnotes(chapter.content) + # and ( + # usfm_book2 is not None + # or tn_book is not None + # or tq_book is not None + # or rg_book is not None + # or tw_book is not None + # ) + # and use_section_visual_separator + # ): + # content.append(hr) + # content.append(end_of_chapter_html) return document_parts @@ -349,11 +919,24 @@ def assemble_tn_by_book( use_section_visual_separator: bool, use_two_column_layout_for_tn_notes: bool, use_two_column_layout_for_tq_notes: bool, - show_tn_book_intro: bool = settings.SHOW_TN_BOOK_INTRO, + show_tn_book_intro: bool, + show_bc_book_intro: bool, + show_tn_chapter_intro: bool, + # show_tn_book_intro: bool = settings.SHOW_TN_BOOK_INTRO, + resource_type_name_fmt_str: str = settings.LEFT_ALIGNED_HEADER_FMT_STR, ) -> list[DocumentPart]: document_parts: list[DocumentPart] = [] if tn_book: if show_tn_book_intro and tn_book.book_intro: + document_parts.append( + DocumentPart( + content=resource_type_name_fmt_str.format( + tn_book.resource_type_name + ), + is_rtl=tn_book and tn_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) document_parts.append( DocumentPart( content=tn_book.book_intro, @@ -361,29 +944,60 @@ def assemble_tn_by_book( use_section_visual_separator=use_section_visual_separator, ) ) - if bc_book and bc_book.book_intro: + if show_bc_book_intro and bc_book and bc_book.book_intro: + document_parts.append( + DocumentPart( + content=resource_type_name_fmt_str.format( + bc_book.resource_type_name + ), + is_rtl=tn_book and tn_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) document_parts.append(DocumentPart(content=bc_book.book_intro)) for chapter_num in tn_book.chapters: - one_column_html = [] - one_column_html.append(chapter_heading(chapter_num)) - one_column_html.append( - chapter_intro(tn_book, chapter_num, use_section_visual_separator) + if show_tn_chapter_intro: + one_column_html = [] + one_column_html.append(chapter_heading(chapter_num)) + one_column_html.append( + chapter_intro(tn_book, chapter_num, use_section_visual_separator) + ) + one_column_html_ = "".join(one_column_html) + if one_column_html_: + document_parts.append( + DocumentPart( + content=resource_type_name_fmt_str.format( + tn_book.resource_type_name + ), + is_rtl=tn_book + and tn_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=one_column_html_, + is_rtl=tn_book + and tn_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=use_section_visual_separator, + ) + ) + chapter_commentary_ = chapter_commentary( + bc_book, chapter_num, use_section_visual_separator ) - one_column_html_ = "".join(one_column_html) - if one_column_html_: + if bc_book and chapter_commentary_: document_parts.append( DocumentPart( - content=one_column_html_, + content=resource_type_name_fmt_str.format( + bc_book.resource_type_name + ), is_rtl=tn_book and tn_book.lang_direction == LangDirEnum.RTL, use_section_visual_separator=use_section_visual_separator, ) ) - if bc_book: document_parts.append( DocumentPart( - content=chapter_commentary( - bc_book, chapter_num, use_section_visual_separator - ), + content=chapter_commentary_, use_section_visual_separator=use_section_visual_separator, ) ) @@ -394,16 +1008,34 @@ def assemble_tn_by_book( use_two_column_layout_for_tn_notes, ) if tn_verses: + document_parts.append( + DocumentPart( + content=resource_type_name_fmt_str.format( + tn_book.resource_type_name + ), + is_rtl=tn_book and tn_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=use_section_visual_separator, + ) + ) document_parts.append( DocumentPart( content=tn_verses, is_rtl=tn_book and tn_book.lang_direction == LangDirEnum.RTL, add_hr_p=False, contained_in_two_column_section=use_two_column_layout_for_tn_notes, + use_section_visual_separator=False, + ) + ) + # document_parts.append(DocumentPart(content="")) + # This is a trick to make an hr after a two column section by tricking + # the html to docx parser into keeping this part using an HTML space + # rather than an empty string. + document_parts.append( + DocumentPart( + content=" ", use_section_visual_separator=use_section_visual_separator, ) ) - document_parts.append(DocumentPart(content="")) tq_verses = tq_chapter_verses( tq_book, chapter_num, @@ -411,40 +1043,67 @@ def assemble_tn_by_book( use_two_column_layout_for_tq_notes, ) if tq_book and tq_verses: + document_parts.append( + DocumentPart( + content=resource_type_name_fmt_str.format( + tq_book.resource_type_name + ), + is_rtl=tq_book and tq_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=use_section_visual_separator, + ) + ) document_parts.append( DocumentPart( content=tq_verses, is_rtl=tq_book and tq_book.lang_direction == LangDirEnum.RTL, contained_in_two_column_section=use_two_column_layout_for_tq_notes, + use_section_visual_separator=False, + ) + ) + # document_parts.append(DocumentPart(content="")) + # This is a trick to make an hr after a two column section by tricking + # the html to docx parser into keeping this part using an HTML space + # rather than an empty string. + document_parts.append( + DocumentPart( + content=" ", use_section_visual_separator=use_section_visual_separator, ) ) - document_parts.append(DocumentPart(content="")) rg_verses = rg_chapter_verses( rg_book, chapter_num, use_section_visual_separator ) if rg_book and rg_verses: document_parts.append( DocumentPart( - content=rg_verses, + content=resource_type_name_fmt_str.format( + rg_book.resource_type_name + ), is_rtl=rg_book and rg_book.lang_direction == LangDirEnum.RTL, use_section_visual_separator=use_section_visual_separator, ) ) document_parts.append( DocumentPart( - content="", + content=rg_verses, + is_rtl=rg_book and rg_book.lang_direction == LangDirEnum.RTL, use_section_visual_separator=use_section_visual_separator, ) ) - document_parts.append( - DocumentPart( - content="", - add_hr_p=False, - add_page_break=True, - use_section_visual_separator=use_section_visual_separator, - ) - ) + # document_parts.append( + # DocumentPart( + # content="", + # use_section_visual_separator=use_section_visual_separator, + # ) + # ) + # document_parts.append( + # DocumentPart( + # content="", + # add_hr_p=False, + # add_page_break=True, + # use_section_visual_separator=use_section_visual_separator, + # ) + # ) return document_parts @@ -458,19 +1117,41 @@ def assemble_tq_by_book( rg_book: Optional[RGBook], use_section_visual_separator: bool, use_two_column_layout_for_tq_notes: bool, + show_bc_book_intro: bool, + resource_type_name_fmt_str: str = settings.LEFT_ALIGNED_HEADER_FMT_STR, ) -> list[DocumentPart]: document_parts: list[DocumentPart] = [] if tq_book: for chapter_num in tq_book.chapters: - if bc_book: + + chapter_commentary_ = chapter_commentary( + bc_book, chapter_num, use_section_visual_separator + ) + if bc_book and chapter_commentary_: document_parts.append( DocumentPart( - content=chapter_commentary( - bc_book, chapter_num, use_section_visual_separator + content=resource_type_name_fmt_str.format( + bc_book.resource_type_name ), + is_rtl=bc_book and bc_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) + document_parts.append( + DocumentPart( + content=chapter_commentary_, use_section_visual_separator=use_section_visual_separator, ) ) + document_parts.append( + DocumentPart( + content=resource_type_name_fmt_str.format( + tq_book.resource_type_name + ), + is_rtl=tq_book and tq_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) document_parts.append( DocumentPart( content=chapter_heading(chapter_num), @@ -485,11 +1166,29 @@ def assemble_tq_by_book( use_two_column_layout_for_tq_notes, ) if tq_verses: + document_parts.append( + DocumentPart( + content=resource_type_name_fmt_str.format( + tq_book.resource_type_name + ), + is_rtl=tq_book and tq_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) document_parts.append( DocumentPart( content=tq_verses, is_rtl=tq_book and tq_book.lang_direction == LangDirEnum.RTL, contained_in_two_column_section=use_two_column_layout_for_tq_notes, + use_section_visual_separator=False, + ) + ) + # This is a trick to make an hr after a two column section by tricking + # the html to docx parser into keeping this part using an HTML space + # rather than an empty string. + document_parts.append( + DocumentPart( + content=" ", use_section_visual_separator=use_section_visual_separator, ) ) @@ -497,6 +1196,15 @@ def assemble_tq_by_book( rg_book, chapter_num, use_section_visual_separator ) if rg_book and rg_verses: + document_parts.append( + DocumentPart( + content=resource_type_name_fmt_str.format( + rg_book.resource_type_name + ), + is_rtl=rg_book and rg_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) + ) document_parts.append( DocumentPart( content=rg_verses, @@ -504,14 +1212,14 @@ def assemble_tq_by_book( use_section_visual_separator=use_section_visual_separator, ) ) - document_parts.append( - DocumentPart( - content="", - add_hr_p=False, - add_page_break=True, - use_section_visual_separator=use_section_visual_separator, - ) - ) + # document_parts.append( + # DocumentPart( + # content="", + # add_hr_p=False, + # add_page_break=True, + # use_section_visual_separator=use_section_visual_separator, + # ) + # ) return document_parts @@ -524,23 +1232,45 @@ def assemble_tw_by_book( bc_book: Optional[BCBook], rg_book: Optional[RGBook], use_section_visual_separator: bool, + show_bc_book_intro: bool, + resource_type_name_fmt_str: str = settings.LEFT_ALIGNED_HEADER_FMT_STR, ) -> list[DocumentPart]: document_parts: list[DocumentPart] = [] if bc_book: - document_parts.append(DocumentPart(content=bc_book.book_intro)) - for chapter in bc_book.chapters.values(): + if show_bc_book_intro and bc_book.book_intro: document_parts.append( DocumentPart( - content=chapter.commentary, - use_section_visual_separator=use_section_visual_separator, + content=resource_type_name_fmt_str.format( + bc_book.resource_type_name + ), + is_rtl=bc_book and bc_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, ) ) - document_parts.append( - DocumentPart( - content="", - add_hr_p=False, - add_page_break=True, - use_section_visual_separator=use_section_visual_separator, + document_parts.append(DocumentPart(content=bc_book.book_intro)) + for chapter in bc_book.chapters.values(): + if chapter.commentary: + document_parts.append( + DocumentPart( + content=resource_type_name_fmt_str.format( + bc_book.resource_type_name + ), + is_rtl=bc_book and bc_book.lang_direction == LangDirEnum.RTL, + use_section_visual_separator=False, + ) ) - ) + document_parts.append( + DocumentPart( + content=chapter.commentary, + use_section_visual_separator=use_section_visual_separator, + ) + ) + # document_parts.append( + # DocumentPart( + # content="", + # add_hr_p=False, + # add_page_break=True, + # use_section_visual_separator=use_section_visual_separator, + # ) + # ) return document_parts diff --git a/backend/doc/domain/assembly_strategies_docx/assembly_strategy_utils.py b/backend/doc/domain/assembly_strategies_docx/assembly_strategy_utils.py index 4fa0498a..5ead8485 100644 --- a/backend/doc/domain/assembly_strategies_docx/assembly_strategy_utils.py +++ b/backend/doc/domain/assembly_strategies_docx/assembly_strategy_utils.py @@ -11,9 +11,9 @@ from docx import Document # type: ignore from docx.enum.section import WD_SECTION # type: ignore from docx.enum.text import WD_BREAK # type: ignore +from docx.oxml import parse_xml # type: ignore from docx.oxml.ns import qn # type: ignore from docx.oxml.shared import OxmlElement # type: ignore -from docx.text.paragraph import Paragraph # type: ignore logger = settings.logger(__name__) @@ -183,47 +183,50 @@ def rg_chapter_verses( return "".join(content) -def add_hr(paragraph: Paragraph) -> None: - """Add a horizontal line at the end of the given paragraph.""" - p = paragraph._p # p is the XML element - pPr = p.get_or_add_pPr() - pBdr = OxmlElement("w:pBdr") - pPr.insert_element_before( - pBdr, - "w:shd", - "w:tabs", - "w:suppressAutoHyphens", - "w:kinsoku", - "w:wordWrap", - "w:overflowPunct", - "w:topLinePunct", - "w:autoSpaceDE", - "w:autoSpaceDN", - "w:bidi", - "w:adjustRightInd", - "w:snapToGrid", - "w:spacing", - "w:ind", - "w:contextualSpacing", - "w:mirrorIndents", - "w:suppressOverlap", - "w:jc", - "w:textDirection", - "w:textAlignment", - "w:textboxTightWrap", - "w:outlineLvl", - "w:divId", - "w:cnfStyle", - "w:rPr", - "w:sectPr", - "w:pPrChange", - ) - bottom = OxmlElement("w:bottom") - bottom.set(qn("w:val"), "single") - bottom.set(qn("w:sz"), "6") - bottom.set(qn("w:space"), "1") - bottom.set(qn("w:color"), "auto") - pBdr.append(bottom) +def add_full_width_hr(doc: Document) -> None: + """Add a full-width horizontal rule that spans the entire page width.""" + p = doc.add_paragraph() + run = p.add_run() + # Adjust this width to your page layout; 6.5" = 8.5" page minus 1" margins on each side + width_inches = 6.5 + hr_xml = f""" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + """ + drawing = parse_xml(hr_xml) + run._r.append(drawing) def set_docx_language( diff --git a/backend/doc/domain/document_generator.py b/backend/doc/domain/document_generator.py index 679dd977..cb4734f0 100755 --- a/backend/doc/domain/document_generator.py +++ b/backend/doc/domain/document_generator.py @@ -13,17 +13,19 @@ from doc.config import settings from doc.domain import parsing, resource_lookup, worker from doc.domain.assembly_strategies.assembly_strategies_book_then_lang_by_chapter import ( - assemble_content_by_book_then_lang, + assemble_content_by_chapter, + assemble_content_by_verse_chapter_at_a_time, ) from doc.domain.assembly_strategies.assembly_strategies_lang_then_book_by_chapter import ( - assemble_content_by_lang_then_book, + assemble_content_by_book, + assemble_content_by_verse_book_at_a_time, ) from doc.domain.assembly_strategies_docx import ( assembly_strategies_book_then_lang_by_chapter as book_then_lang, assembly_strategies_lang_then_book_by_chapter as lang_then_book, ) from doc.domain.assembly_strategies_docx.assembly_strategy_utils import ( - add_hr, + add_full_width_hr, add_one_column_section, add_page_break, add_two_column_section, @@ -47,7 +49,11 @@ USFMBook, ) from doc.reviewers_guide.model import RGBook -from doc.utils.docx_util import generate_docx_toc +from doc.utils.docx_util import ( + generate_docx_toc, + preprocess_html_for_internal_docx_links, + add_internal_docx_links, +) from doc.utils.file_utils import ( docx_filepath, epub_filepath, @@ -60,7 +66,7 @@ from doc.utils.tw_utils import ( contains_tw, filter_unique_by_lang_code, - translation_words_section, + translation_words_section_for_book, ) from docx import Document # type: ignore from docx.enum.section import WD_SECTION # type: ignore @@ -92,6 +98,11 @@ def initialize_document_request_and_key( document_request.use_section_visual_separator, document_request.use_two_column_layout_for_tn_notes, document_request.use_two_column_layout_for_tq_notes, + document_request.show_tn_book_intro, + document_request.show_tn_chapter_intro, + document_request.show_bc_book_intro, + document_request.show_bc_chapter_commentary, + document_request.show_rg_chapter_commentary, ) return document_request, document_request_key_ @@ -142,6 +153,7 @@ def locate_acquire_and_build_resource_objects( document_request.resource_requests, document_request.layout_for_print, document_request.use_chapter_labels, + document_request.generate_docx, ) t1 = time.time() logger.info("Time to parse all resource content: %s", t1 - t0) @@ -169,7 +181,7 @@ def generate_document( """ This is the main entry point for this module for non-docx generation. >>> from doc.domain import document_generator - >>> document_request_json = '{"email_address":null,"assembly_strategy_kind":"lbo","assembly_layout_kind":"1c","layout_for_print":false,"resource_requests":[{"lang_code":"es-419","resource_type":"ulb","book_code":"mat"}],"generate_pdf":true,"generate_epub":false,"generate_docx":false,"chunk_size":"chapter","limit_words":false,"include_tn_book_intros":false,"document_request_source":"ui"}' + >>> document_request_json = '{"email_address":null,"assembly_strategy_kind":"lbo","assembly_layout_kind":"1c","layout_for_print":false,"resource_requests":[{"lang_code":"es-419","resource_type":"ulb","book_code":"mat"}],"generate_pdf":true,"generate_epub":false,"generate_docx":false,"chunk_size":"chapter","limit_words":false,"show_tn_book_intro":false,"document_request_source":"ui"}' >>> document_generator.generate_document(document_request_json) """ current_task.update_state(state="Receiving request") @@ -292,7 +304,6 @@ def generate_docx_document( docx_filepath_, document_parts, document_request.layout_for_print, - document_request.use_section_visual_separator, title1, title2, ) @@ -327,6 +338,11 @@ def document_request_key( use_section_visual_separator: bool, use_two_column_layout_for_tn_notes: bool, use_two_column_layout_for_tq_notes: bool, + show_tn_book_intro: bool, + show_bc_book_intro: bool, + show_tn_chapter_intro: bool, + show_bc_chapter_commentary: bool, + show_rg_chapter_commentary: bool, max_filename_len: int = 240, underscore: str = "_", hyphen: str = "-", @@ -359,9 +375,9 @@ def document_request_key( ] ) if any(contains_tw(resource_request) for resource_request in resource_requests): - document_request_key = f'{resource_request_keys}_{assembly_strategy_kind.value}_{assembly_layout_kind.value}_{chunk_size.value}_{"clt" if use_chapter_labels else "clf"}_{"lwt" if limit_words else "lwf"}_{"sst" if use_section_visual_separator else "ssf"}_{"2ctn" if use_two_column_layout_for_tn_notes else "1ctn"}_{"2ctq" if use_two_column_layout_for_tq_notes else "1ctq"}' + document_request_key = f'{resource_request_keys}_{assembly_strategy_kind.value}_{assembly_layout_kind.value}_{chunk_size.value}_{"clt" if use_chapter_labels else "clf"}_{"lwt" if limit_words else "lwf"}_{"sst" if use_section_visual_separator else "ssf"}_{"2ctn" if use_two_column_layout_for_tn_notes else "1ctn"}_{"2ctq" if use_two_column_layout_for_tq_notes else "1ctq"}_{"tnbt" if show_tn_book_intro else "tnbf"}_{"bcbt" if show_bc_book_intro else "bcbf"}_{"tnct" if show_tn_chapter_intro else "tncf"}_{"bcct" if show_bc_chapter_commentary else "bccf"}_{"rgct" if show_rg_chapter_commentary else "rgcf"}' else: - document_request_key = f'{resource_request_keys}_{assembly_strategy_kind.value}_{assembly_layout_kind.value}_{chunk_size.value}_{"clt" if use_chapter_labels else "clf"}_{"sst" if use_section_visual_separator else "ssf"}_{"2ctn" if use_two_column_layout_for_tn_notes else "1ctn"}_{"2ctq" if use_two_column_layout_for_tq_notes else "1ctq"}' + document_request_key = f'{resource_request_keys}_{assembly_strategy_kind.value}_{assembly_layout_kind.value}_{chunk_size.value}_{"clt" if use_chapter_labels else "clf"}_{"sst" if use_section_visual_separator else "ssf"}_{"2ctn" if use_two_column_layout_for_tn_notes else "1ctn"}_{"2ctq" if use_two_column_layout_for_tq_notes else "1ctq"}_{"tnbt" if show_tn_book_intro else "tnbf"}_{"bcbt" if show_bc_book_intro else "bcbf"}_{"tnct" if show_tn_chapter_intro else "tncf"}_{"bcct" if show_bc_chapter_commentary else "bccf"}_{"rgct" if show_rg_chapter_commentary else "rgcf"}' if len(document_request_key) >= max_filename_len: # The generated filename could be too long for the OS where this is # running. Therefore, use the current time as a document_request_key @@ -435,6 +451,7 @@ def assemble_content( rg_books: Sequence[RGBook], found_resource_lookup_dtos: Sequence[ResourceLookupDto], hr: str = "
    ", + resource_assets_dir: str = settings.RESOURCE_ASSETS_DIR, ) -> list[str]: """ Assemble and return the content from all requested resources according to the @@ -445,10 +462,54 @@ def assemble_content( content = [] if ( document_request.assembly_strategy_kind - == AssemblyStrategyEnum.LANGUAGE_BOOK_ORDER + == AssemblyStrategyEnum.INTERLEAVE_BY_BOOK + ): + content.extend( + assemble_content_by_book( + usfm_books, + tn_books, + tq_books, + tw_books, + bc_books, + rg_books, + cast(AssemblyLayoutEnum, document_request.assembly_layout_kind), + document_request.use_section_visual_separator, + document_request.use_two_column_layout_for_tn_notes, + document_request.use_two_column_layout_for_tq_notes, + document_request.show_tn_book_intro, + document_request.show_bc_book_intro, + document_request.show_tn_chapter_intro, + ) + ) + elif ( + document_request.assembly_strategy_kind + == AssemblyStrategyEnum.INTERLEAVE_BY_VERSE_BOOK_AT_A_TIME + ): + content.extend( + assemble_content_by_verse_book_at_a_time( + usfm_books, + tn_books, + tq_books, + tw_books, + bc_books, + rg_books, + cast(AssemblyLayoutEnum, document_request.assembly_layout_kind), + document_request.use_section_visual_separator, + document_request.use_two_column_layout_for_tn_notes, + document_request.use_two_column_layout_for_tq_notes, + document_request.show_tn_book_intro, + document_request.show_bc_book_intro, + document_request.show_tn_chapter_intro, + document_request.show_bc_chapter_commentary, + document_request.show_rg_chapter_commentary, + ) + ) + elif ( + document_request.assembly_strategy_kind + == AssemblyStrategyEnum.INTERLEAVE_BY_CHAPTER ): content.extend( - assemble_content_by_lang_then_book( + assemble_content_by_chapter( usfm_books, tn_books, tq_books, @@ -459,14 +520,17 @@ def assemble_content( document_request.use_section_visual_separator, document_request.use_two_column_layout_for_tn_notes, document_request.use_two_column_layout_for_tq_notes, + document_request.show_tn_book_intro, + document_request.show_bc_book_intro, + document_request.show_tn_chapter_intro, ) ) elif ( document_request.assembly_strategy_kind - == AssemblyStrategyEnum.BOOK_LANGUAGE_ORDER + == AssemblyStrategyEnum.INTERLEAVE_BY_VERSE ): content.extend( - assemble_content_by_book_then_lang( + assemble_content_by_verse_chapter_at_a_time( usfm_books, tn_books, tq_books, @@ -477,6 +541,11 @@ def assemble_content( document_request.use_section_visual_separator, document_request.use_two_column_layout_for_tn_notes, document_request.use_two_column_layout_for_tq_notes, + document_request.show_tn_book_intro, + document_request.show_bc_book_intro, + document_request.show_tn_chapter_intro, + document_request.show_bc_chapter_commentary, + document_request.show_rg_chapter_commentary, ) ) t1 = time.time() @@ -486,10 +555,12 @@ def assemble_content( unique_tw_books = filter_unique_by_lang_code(tw_books) for tw_book in unique_tw_books: content.extend( - translation_words_section( + translation_words_section_for_book( tw_book, usfm_books, - document_request.limit_words, + # Not currently using limit tw words feature now because we want all + # interdocument tw links to work. + False, document_request.resource_requests, ) ) @@ -540,9 +611,9 @@ def assemble_docx_content( document_parts: list[DocumentPart] = [] if ( document_request.assembly_strategy_kind - == AssemblyStrategyEnum.LANGUAGE_BOOK_ORDER + == AssemblyStrategyEnum.INTERLEAVE_BY_BOOK ): - document_parts = lang_then_book.assemble_content_by_lang_then_book( + document_parts = lang_then_book.assemble_content_by_book( usfm_books, tn_books, tq_books, @@ -554,12 +625,16 @@ def assemble_docx_content( document_request.use_section_visual_separator, document_request.use_two_column_layout_for_tn_notes, document_request.use_two_column_layout_for_tq_notes, + document_request.show_tn_book_intro, + document_request.show_bc_book_intro, + document_request.show_tn_chapter_intro, + document_request.show_bc_chapter_commentary, ) elif ( document_request.assembly_strategy_kind - == AssemblyStrategyEnum.BOOK_LANGUAGE_ORDER + == AssemblyStrategyEnum.INTERLEAVE_BY_VERSE_BOOK_AT_A_TIME ): - document_parts = book_then_lang.assemble_content_by_book_then_lang( + document_parts = lang_then_book.assemble_content_by_verse_book_at_a_time( usfm_books, tn_books, tq_books, @@ -571,6 +646,53 @@ def assemble_docx_content( document_request.use_section_visual_separator, document_request.use_two_column_layout_for_tn_notes, document_request.use_two_column_layout_for_tq_notes, + document_request.show_tn_book_intro, + document_request.show_bc_book_intro, + document_request.show_tn_chapter_intro, + document_request.show_bc_chapter_commentary, + document_request.show_rg_chapter_commentary, + ) + elif ( + document_request.assembly_strategy_kind + == AssemblyStrategyEnum.INTERLEAVE_BY_CHAPTER + ): + document_parts = book_then_lang.assemble_content_by_chapter( + usfm_books, + tn_books, + tq_books, + tw_books, + bc_books, + rg_books, + cast(AssemblyLayoutEnum, document_request.assembly_layout_kind), + document_request.chunk_size, + document_request.use_section_visual_separator, + document_request.use_two_column_layout_for_tn_notes, + document_request.use_two_column_layout_for_tq_notes, + document_request.show_tn_book_intro, + document_request.show_bc_book_intro, + document_request.show_tn_chapter_intro, + ) + elif ( + document_request.assembly_strategy_kind + == AssemblyStrategyEnum.INTERLEAVE_BY_VERSE + ): + document_parts = book_then_lang.assemble_content_by_verse_chapter_at_a_time( + usfm_books, + tn_books, + tq_books, + tw_books, + bc_books, + rg_books, + cast(AssemblyLayoutEnum, document_request.assembly_layout_kind), + # document_request.chunk_size, + document_request.use_section_visual_separator, + document_request.use_two_column_layout_for_tn_notes, + document_request.use_two_column_layout_for_tq_notes, + document_request.show_tn_book_intro, + document_request.show_bc_book_intro, + document_request.show_tn_chapter_intro, + document_request.show_bc_chapter_commentary, + document_request.show_rg_chapter_commentary, ) t1 = time.time() logger.info("Time for interleaving document: %s", t1 - t0) @@ -581,11 +703,14 @@ def assemble_docx_content( for tw_book in unique_tw_books: document_parts.append( DocumentPart( - content=translation_words_section( - tw_book, - usfm_books, - document_request.limit_words, - document_request.resource_requests, + content="".join( + translation_words_section_for_book( + tw_book, + usfm_books, + False, + # document_request.limit_words, + document_request.resource_requests, + ) ), use_section_visual_separator=document_request.use_section_visual_separator, ) @@ -672,32 +797,31 @@ def convert_html_to_epub( def compose_docx_document( - document_parts: list[DocumentPart], use_section_visual_separator: bool + document_parts: list[DocumentPart], ) -> Document: + """ + Convert a sequence of HTML parts into one DOCX Document, + performing preprocessing and optional separators. + """ doc = Document() html_to_docx = HtmlToDocx() t0 = time.time() for part in document_parts: if part.contained_in_two_column_section: add_two_column_section(doc) - try: - html_to_docx.add_html_to_document(part.content, doc) - except ValueError as e: - logger.exception(e) else: add_one_column_section(doc) - try: - html_to_docx.add_html_to_document(part.content, doc) - except ValueError as e: - logger.exception(e) - # Set the language for spellcheck - # set_docx_language(doc, lang_code) - if use_section_visual_separator and part.add_hr_p: - add_hr(doc.paragraphs[-1]) + try: + processed_html = preprocess_html_for_internal_docx_links(part.content) + html_to_docx.add_html_to_document(processed_html, doc) + except ValueError as e: + logger.exception("Error converting HTML to docx: %s", e) + if part.use_section_visual_separator and part.add_hr_p: + add_full_width_hr(doc) if part.add_page_break: add_page_break(doc) t1 = time.time() - logger.info("Time for converting HTML to Docx: %s", t1 - t0) + logger.info("Time for converting HTML to Docx: %.2f seconds", t1 - t0) return doc @@ -706,7 +830,6 @@ def convert_html_to_docx( docx_filepath: str, document_parts: list[DocumentPart], layout_for_print: bool, - use_section_visual_separator: bool, title1: str = "title1", title2: str = "title2", title3: str = "", @@ -736,7 +859,9 @@ def convert_html_to_docx( new_section = doc.add_section(WD_SECTION.CONTINUOUS) new_section.start_type master = Composer(doc) - master.append(compose_docx_document(document_parts, use_section_visual_separator)) + doc2 = compose_docx_document(document_parts) + add_internal_docx_links(doc2) + master.append(doc2) master.save(docx_filepath) t1 = time.time() logger.info("Time for converting HTML to Docx: %s", t1 - t0) @@ -752,8 +877,8 @@ def cover_filepath( def select_assembly_layout_kind( document_request: DocumentRequest, usfm_resource_types: Sequence[str] = settings.USFM_RESOURCE_TYPES, - language_book_order: AssemblyStrategyEnum = AssemblyStrategyEnum.LANGUAGE_BOOK_ORDER, - book_language_order: AssemblyStrategyEnum = AssemblyStrategyEnum.BOOK_LANGUAGE_ORDER, + language_book_order: AssemblyStrategyEnum = AssemblyStrategyEnum.INTERLEAVE_BY_BOOK, + book_language_order: AssemblyStrategyEnum = AssemblyStrategyEnum.INTERLEAVE_BY_CHAPTER, stet_strategy: AssemblyStrategyEnum = AssemblyStrategyEnum.STET_STRATEGY, one_column_compact: AssemblyLayoutEnum = AssemblyLayoutEnum.ONE_COLUMN_COMPACT, sl_sr: AssemblyLayoutEnum = AssemblyLayoutEnum.TWO_COLUMN_SCRIPTURE_LEFT_SCRIPTURE_RIGHT, diff --git a/backend/doc/domain/model.py b/backend/doc/domain/model.py index ea32b046..fec5c529 100644 --- a/backend/doc/domain/model.py +++ b/backend/doc/domain/model.py @@ -14,6 +14,7 @@ from pydantic import BaseModel, EmailStr, HttpUrl from pydantic.functional_validators import model_validator + # These type aliases give us more self-documenting code, but of course # aren't strictly necessary. VerseRef = str @@ -37,8 +38,10 @@ @final class AssemblyStrategyEnum(str, Enum): - LANGUAGE_BOOK_ORDER = "lbo" - BOOK_LANGUAGE_ORDER = "blo" + INTERLEAVE_BY_BOOK = "lbo" + INTERLEAVE_BY_CHAPTER = "blo" + INTERLEAVE_BY_VERSE_BOOK_AT_A_TIME = "lvo" # Interleave by verse one book at a time + INTERLEAVE_BY_VERSE = "bvo" # Interleave by verse one chapter at a time STET_STRATEGY = "stet" @@ -207,12 +210,13 @@ class DocumentRequest(BaseModel): use_two_column_layout_for_tn_notes: bool = False # Some languages, e.g., Khmer, don't layout well in 2 column use_two_column_layout_for_tq_notes: bool = False - # Indicate whether to show visual separator between sections, e.g., hr element use_section_visual_separator: bool = False - # Indicate whether TN book intros should be included. Currently, - # the content team does not want them included. - include_tn_book_intros: bool = False + show_tn_book_intro: bool = True + show_bc_book_intro: bool = True + show_tn_chapter_intro: bool = True + show_bc_chapter_commentary: bool = True + show_rg_chapter_commentary: bool = True # Indicate where the document request originated from. We default to # TEST so that tests don't have to specify and every other client, e.g., # UI, should specify in order for @@ -286,7 +290,7 @@ def ensure_valid_document_request(self) -> "DocumentRequest": # ) ) if ( - self.assembly_strategy_kind != AssemblyStrategyEnum.BOOK_LANGUAGE_ORDER + self.assembly_strategy_kind != AssemblyStrategyEnum.INTERLEAVE_BY_CHAPTER and self.assembly_layout_kind == AssemblyLayoutEnum.TWO_COLUMN_SCRIPTURE_LEFT_SCRIPTURE_RIGHT ): @@ -294,7 +298,7 @@ def ensure_valid_document_request(self) -> "DocumentRequest": "Two column scripture left, scripture right layout is only compatible with book language order assembly strategy." ) elif ( - self.assembly_strategy_kind == AssemblyStrategyEnum.BOOK_LANGUAGE_ORDER + self.assembly_strategy_kind == AssemblyStrategyEnum.INTERLEAVE_BY_CHAPTER and self.assembly_layout_kind == AssemblyLayoutEnum.TWO_COLUMN_SCRIPTURE_LEFT_SCRIPTURE_RIGHT # Because book content for different languages will be side by side for @@ -307,7 +311,7 @@ def ensure_valid_document_request(self) -> "DocumentRequest": "Two column scripture left, scripture right layout requires a non-zero even number of languages. For an uneven number of languages you'll want to use the one column layout kind." ) elif ( - self.assembly_strategy_kind == AssemblyStrategyEnum.BOOK_LANGUAGE_ORDER + self.assembly_strategy_kind == AssemblyStrategyEnum.INTERLEAVE_BY_CHAPTER and self.assembly_layout_kind == AssemblyLayoutEnum.TWO_COLUMN_SCRIPTURE_LEFT_SCRIPTURE_RIGHT # Because book content for different languages will be side by side for @@ -434,8 +438,9 @@ class TWNameContentPair: HTML content. """ - def __init__(self, localized_word: str, content: str): + def __init__(self, localized_word: str, path: str, content: str): self.localized_word = localized_word + self.path = path self.content = content @@ -447,7 +452,7 @@ class TWBook(NamedTuple): resource_type_name: str lang_direction: LangDirEnum name_content_pairs: list[TWNameContentPair] = [] - # uses: dict[str, list[TWUse]] = {} + uses: dict[str, list[TWUse]] = {} @final diff --git a/backend/doc/domain/parsing.py b/backend/doc/domain/parsing.py index ef32ecbb..10234005 100644 --- a/backend/doc/domain/parsing.py +++ b/backend/doc/domain/parsing.py @@ -12,6 +12,7 @@ import mistune import requests +from bs4 import BeautifulSoup from doc.config import settings from doc.domain.assembly_strategies.assembly_strategy_utils import ( adjust_commentary_headings, @@ -46,8 +47,10 @@ from doc.markdown_transforms import markdown_transformer from doc.reviewers_guide.model import RGBook from doc.reviewers_guide.parser import get_rg_books +from doc.utils.docx_util import preprocess_html_for_internal_docx_links from doc.utils.file_utils import read_file from doc.utils.text_utils import ( + maybe_correct_book_name, chapter_label_numeric_part, chapter_label_sans_numeric_part, normalize_localized_book_name, @@ -60,7 +63,7 @@ ) from doc.utils.url_utils import ( get_last_segment, - get_book_names_from_title_file, + get_book_name_from_title_file, book_codes_and_names_from_manifest, ) from pydantic import HttpUrl @@ -70,6 +73,7 @@ H1, H2, H3, H4, H5 = "h1", "h2", "h3", "h4", "h5" + # fmt: off BC_ARTICLE_URL_FMT_STR: str = "https://content.bibletranslationtools.org/WycliffeAssociates/en_bc/src/branch/master/{}" # fmt: on @@ -467,6 +471,10 @@ def usfm_book_content( localized_book_name = get_localized_book_name( frontmatter, resource_dir, resource_lookup_dto ) + localized_book_name = maybe_correct_book_name( + resource_lookup_dto.lang_code, localized_book_name + ) + logger.debug("localized_book_name: %s", localized_book_name) for chapter_marker, chapter_usfm in zip(chapter_markers, chapters_usfm): chapter_num = get_chapter_num(chapter_usfm) if chapter_num == -1: @@ -538,12 +546,9 @@ def get_localized_book_name( len(repo_components) > 2 and resource_lookup_dto.resource_type in usfm_resource_types ): - book_names_from_title_file = get_book_names_from_title_file( + localized_book_name = get_book_name_from_title_file( resource_dir, resource_lookup_dto.lang_code, repo_components ) - localized_book_name = book_names_from_title_file.get( - resource_lookup_dto.book_code, "" - ) return localized_book_name @@ -584,6 +589,7 @@ def tn_chapter_verses( chapter_intro = tn_chapter_intro(chapter_dir) chapter_intro_html = "" if chapter_intro: + chapter_intro = markdown_transformer.remove_sections(chapter_intro) tw_resource_dir_ = tw_resource_dir(lang_code) translation_words_dict_ = translation_words_dict(tw_resource_dir_) chapter_intro = markdown_transformer.transform_tw_links( @@ -790,30 +796,55 @@ def tw_name_content_pairs( resource_dir: str, lang_code: str, resource_requests: Sequence[ResourceRequest], + generate_docx: bool, h1: str = H1, h2: str = H2, h3: str = H3, h4: str = H4, ) -> list[TWNameContentPair]: - translation_word_filepaths_: list[str] = translation_word_filepaths(resource_dir) - name_content_pairs: list[TWNameContentPair] = [] + translation_word_filepaths_ = translation_word_filepaths(resource_dir) + name_content_pairs = [] + translation_words_dict_ = translation_words_dict(resource_dir) for translation_word_filepath in translation_word_filepaths_: translation_word_content = read_file(translation_word_filepath) + # if "daughtersofzion" in translation_word_filepath: + # logger.debug("translation_word_content: %s", translation_word_content) + # French has a single double quote at the start of some + # translation words which disturbs expected alphabetization, + # remove it if present. Other languages may have the same defect. + if translation_word_content.startswith('# "'): + translation_word_content = "# {translation_word_content[3:]}" localized_translation_word_ = localized_translation_word( translation_word_content ) + if not localized_translation_word_: # language doesn't provide data + continue translation_word_content = markdown_transformer.remove_sections( translation_word_content ) translation_word_content = markdown_transformer.transform_ta_and_tn_links( translation_word_content, lang_code, resource_requests ) + translation_word_content = markdown_transformer.transform_tw_links( + translation_word_content, + lang_code, + resource_requests, + translation_words_dict_, + ) html_word_content = mistune.markdown(translation_word_content) html_word_content = re.sub(h2, h4, html_word_content) html_word_content = re.sub(h1, h3, html_word_content) - name_content_pairs.append( - TWNameContentPair(localized_translation_word_, html_word_content) + if generate_docx: + html_word_content = preprocess_html_for_internal_docx_links( + html_word_content + ) + pair = TWNameContentPair( + localized_translation_word_, + translation_word_filepath, + html_word_content, ) + # logger.debug("tw_name_content_pair: %s", f"{pair.localized_word}, {pair.path}") + name_content_pairs.append(pair) return sorted(name_content_pairs, key=tw_sort_key) @@ -822,9 +853,10 @@ def tw_book_content( resource_dir: str, resource_requests: Sequence[ResourceRequest], layout_for_print: bool, + generate_docx: bool, ) -> TWBook: name_content_pairs = tw_name_content_pairs( - resource_dir, resource_lookup_dto.lang_code, resource_requests + resource_dir, resource_lookup_dto.lang_code, resource_requests, generate_docx ) return TWBook( lang_code=resource_lookup_dto.lang_code, @@ -958,6 +990,7 @@ def books( resource_requests: Sequence[ResourceRequest], layout_for_print: bool, use_chapter_labels: bool, + generate_docx: bool, usfm_resource_types: Sequence[str] = settings.USFM_RESOURCE_TYPES, tn_resource_type: str = TN_RESOURCE_TYPE, en_tn_condensed_resource_type: str = EN_TN_CONDENSED_RESOURCE_TYPE, @@ -1007,7 +1040,11 @@ def books( tq_books.append(tq_book) elif resource_lookup_dto.resource_type == tw_resource_type: tw_book = tw_book_content( - resource_lookup_dto, resource_dir, resource_requests, layout_for_print + resource_lookup_dto, + resource_dir, + resource_requests, + layout_for_print, + generate_docx, ) tw_books.append(tw_book) elif resource_lookup_dto.resource_type == bc_resource_type: @@ -1274,3 +1311,131 @@ def split_chapter_into_verses(chapter: USFMChapter) -> dict[str, str]: # Add to the dictionary with verse number as the key and verse text as the value verse_dict[verse_number_] = verse_text return verse_dict + + +def handle_split_chapter_into_verses( + usfm_book: USFMBook, + usfm_chapter: USFMChapter, + resource_type_codes_and_names: Mapping[ + str, str + ] = settings.RESOURCE_TYPE_CODES_AND_NAMES, +) -> dict[VerseRef, str]: + if ( + usfm_book.lang_code == "fr" + and usfm_book.resource_type_name == resource_type_codes_and_names["f10"] + ): + return split_chapter_into_verses_with_formatting_for_f10(usfm_chapter) + else: + return split_chapter_into_verses_with_formatting(usfm_chapter) + + +def split_chapter_into_verses_with_formatting( + chapter: USFMChapter, +) -> dict[VerseRef, str]: + """ + Given a USFMChapter instance, return the same instance with its + verses attribute set to a dictionary where the key is the verse + number and the value is the verse HTML. + + Sample HTML content with multiple verse elements: + + >>> html_content = ''' + >>> + >>> 19 + >>> For through the law I died to the law, so that I might live for God. I have been crucified with Christ. + >>> 1 + >>>
    + >>>
    + >>> + >>> 20 + >>> I have been crucified with Christ and I no longer live, but Christ lives in me. The life I now live in the body, I live by faith in the Son of God, who loved me and gave himself for me. + >>> 2 + >>>
    + >>>
    + >>> ''' + >>> from doc.domain.parsing import split_chapter_into_verses_with_formatting + >>> chapter = USFMChapter(content=html_content) + >>> chapter.verses = split_chapter_into_verses_with_formatting(chapter) + >>> chapter.verses["19"] + + 19 + For through the law I died to the law, so that I might live for God. I have been crucified with Christ. + 1 +
    +
    + """ + # TODO What to do about footnote targets? Perhaps have the value be a + # tuple with first element of the verse HTML (which includes the + # footnote callers) and the second element the target footnotes HTML? + verse_dict = {} + # Find all verse spans + verse_spans = re.findall( + r'(.*?)', chapter.content, re.DOTALL + ) + for verse_span in verse_spans: + # Extract the verse number from the versemarker + verse_number = re.search(r'(\d+)', verse_span) + if verse_number: + verse_number_ = verse_number.group(1) + # Add to the dictionary with verse number as the key and verse text as the value + verse_dict[verse_number_] = verse_span + return verse_dict + + +def split_chapter_into_verses_with_formatting_for_f10( + chapter: USFMChapter, +) -> dict[str, str]: + """ + Parse chapter.content as HTML, extract each , + unwrap elements (preserving their text), + and return a dict mapping verse number -> cleaned HTML fragment for that verse. + """ + soup = BeautifulSoup(chapter.content, "html.parser") + verse_dict: dict[str, str] = {} + # find all verse spans (parser handles nesting correctly) + for verse_span in soup.find_all("span", class_="verse"): + # find the verse number from NN + sup = verse_span.find("sup", class_="versemarker") + if not sup or not sup.string: + continue + verse_number = sup.string.strip() + # unwrap all word-entry spans: replace X + # with X (preserving whitespace/punctuation) + for we in verse_span.find_all("span", class_="word-entry"): + we.unwrap() + # Option: normalize whitespace (optional) + # If you want to preserve original spacing/punctuation exactly, skip this. + # cleaned_html = "".join(str(c) for c in verse_span.contents) + cleaned_html = str(verse_span) + # Fix spacing issues introduced by inner spans + cleaned_html = re.sub( + r"\s+([,;:.!?])", r"\1", cleaned_html + ) # remove space before punctuation + cleaned_html = re.sub( + r"\s+'", "'", cleaned_html + ) # remove space before apostrophe + cleaned_html = re.sub( + r"'\s+", "'", cleaned_html + ) # remove space after apostrophe + cleaned_html = re.sub( + r"\s*-\s*", "-", cleaned_html + ) # normalize spaces around hyphens + cleaned_html = re.sub(r"\s{2,}", " ", cleaned_html) # collapse double spaces + cleaned_html = cleaned_html.strip() + # if you want plain text instead, use: cleaned_text = verse_span.get_text(" ", strip=True) + # store cleaned HTML fragment (still contains etc.) + verse_dict[verse_number] = cleaned_html + return verse_dict + + +if __name__ == "__main__": + + # To run the doctests in this module, in the root of the project do: + # python backend/document/domain/resource_lookup.py + # or + # python backend/document/domain/resource_lookup.py -v + # See https://docs.python.org/3/library/doctest.html + # for more details. + import doctest + + doctest.testmod() diff --git a/backend/doc/domain/resource_lookup.py b/backend/doc/domain/resource_lookup.py index 509e3d76..a8810443 100644 --- a/backend/doc/domain/resource_lookup.py +++ b/backend/doc/domain/resource_lookup.py @@ -39,10 +39,10 @@ read_file, ) from doc.utils.list_utils import unique_tuples, unique_book_codes -from doc.utils.text_utils import normalize_localized_book_name +from doc.utils.text_utils import maybe_correct_book_name, normalize_localized_book_name from doc.utils.url_utils import ( get_last_segment, - get_book_names_from_title_file, + get_book_name_from_title_file, book_codes_and_names_from_manifest, ) from fastapi import HTTPException, status @@ -54,28 +54,6 @@ fetch_source_data_cache: TTLCache[str, SourceData] = TTLCache(maxsize=1, ttl=180) -# This can be expanded to include any additional types (if -# there are any) that we want to be available to users. These are all -# that I found of relevance in the data API. -RESOURCE_TYPE_CODES_AND_NAMES: Mapping[str, str] = { - "ayt": "Bahasa Indonesian Bible", - "bc": "Bible Commentary", - "blv": "Portuguese Bíblia Livre", - "cuv": "新标点和合本", - "f10": "French Louis Segond 1910 Bible", - "nav": "New Arabic Version (Ketab El Hayat)", - "reg": "Regular", - "rg": "NT Survey Reviewers' Guide", - "tn": "Translation Notes", - "tn-condensed": "Condensed Translation Notes", - "tq": "Translation Questions", - "tw": "Translation Words", - # "udb": "Unlocked Dynamic Bible", # Content team doesn't want udb used - "ugnt": "unfoldingWord® Greek New Testament", - "uhb": "unfoldingWord® Hebrew Bible", - "ulb": "Unlocked Literal Bible", -} - # This is only used to see if a lang_code is in the collection # otherwise it is a heart language. Eventually the graphql data api may # provide gateway/heart boolean value. @@ -178,14 +156,6 @@ "zlm", ] -BOOK_NAME_CORRECTION_TABLE: dict[tuple[str, str], str] = { - ("es-419", "I juan"): "1 Juan", - ("fr", "Ephésiens"): "Éphésiens", - ("pt-br", "1 Corintios"): "1 Coríntios", - ("sw", "Matendo ya mitume"): "Matendo ya Mitume", - ("sw", "Luke"): "Luka", - ("sw", "Waraka wa yakobo"): "Yakobo", -} # List of languages which do not have USFM available for any books. We use this # to filter these out of STET's list of source and target @@ -355,7 +325,7 @@ def repos_to_clone( resource_assets_dir: str = settings.RESOURCE_ASSETS_DIR, dcs_mirror_git_username: str = "DCS-Mirror", resource_type_codes_and_names: Sequence[str] = list( - RESOURCE_TYPE_CODES_AND_NAMES.keys() + settings.RESOURCE_TYPE_CODES_AND_NAMES.keys() ), ) -> list[tuple[HttpUrl, str, str]]: repo_clone_list: list[tuple[HttpUrl, str, str]] = [] @@ -394,7 +364,9 @@ def get_resource_types( usfm_resource_types: Sequence[str] = settings.USFM_RESOURCE_TYPES, docx_file_path: str = "en_rg_nt_survey.docx", en_rg: str = settings.EN_RG_DIR, - resource_type_codes_and_names: Mapping[str, str] = RESOURCE_TYPE_CODES_AND_NAMES, + resource_type_codes_and_names: Mapping[ + str, str + ] = settings.RESOURCE_TYPE_CODES_AND_NAMES, ) -> list[tuple[str, str]]: resource_types = [] for url, resource_filepath, resource_type in repo_clone_list: @@ -696,7 +668,9 @@ def update_repo_components( repo_components: list[str], usfm_resource_types: Sequence[str] = settings.USFM_RESOURCE_TYPES, non_usfm_resource_types: Sequence[str] = NON_USFM_RESOURCE_TYPES, - resource_type_codes_and_names: Mapping[str, str] = RESOURCE_TYPE_CODES_AND_NAMES, + resource_type_codes_and_names: Mapping[ + str, str + ] = settings.RESOURCE_TYPE_CODES_AND_NAMES, ) -> list[str]: last_component = repo_components[-1] # Some DCS-Mirror URLs have an unusual pattern wherein a non resource type is the last component @@ -790,20 +764,6 @@ def make_entry(url: HttpUrl, resource_type: str, lang: Language) -> RepoEntry: return repos_info -def maybe_correct_book_name( - lang_code: str, - book_name: str, - book_name_correction_table: dict[tuple[str, str], str] = BOOK_NAME_CORRECTION_TABLE, -) -> str: - """ - Translate incorrect or undesirable book names to a preferred form. - """ - book_name_ = BOOK_NAME_CORRECTION_TABLE.get((lang_code, book_name), "") - if not book_name_: - book_name_ = book_name - return book_name_ - - def get_book_codes_for_lang( lang_code: str, usfm_only: bool = False, @@ -901,26 +861,28 @@ def get_book_codes_for_lang_( and len(repo_components) > 2 and resource_type in usfm_resource_types ): - book_codes_and_names_localized_from_title_file = ( - get_book_names_from_title_file( - resource_filepath, - lang_code, - repo_components, - ) + book_name_ = get_book_name_from_title_file( + resource_filepath, + lang_code, + repo_components, ) logger.debug( "book_codes_and_names_localized_from_title_file: %s", - book_codes_and_names_localized_from_title_file, + book_name_, ) - for code, name in book_codes_and_names_localized_from_title_file.items(): - book_codes_and_names_localized.append( - ( - code, - maybe_correct_book_name( - lang_code, normalize_localized_book_name(name) - ), - ) + logger.debug("book_code: %s", repo_components[1]) + logger.debug( + "normalize_localized_book_name(book_name_): %s", + normalize_localized_book_name(book_name_), + ) + book_codes_and_names_localized.append( + ( + repo_components[1], + maybe_correct_book_name( + lang_code, normalize_localized_book_name(book_name_) + ), ) + ) if ( not usfm_only or not book_codes_and_names_localized @@ -1067,7 +1029,9 @@ def resource_lookup_dto( book_code: str, dcs_mirror_git_username: str = "DCS-Mirror", zmq_git_username: str = "faustin_azaza", - resource_type_codes_and_names: Mapping[str, str] = RESOURCE_TYPE_CODES_AND_NAMES, + resource_type_codes_and_names: Mapping[ + str, str + ] = settings.RESOURCE_TYPE_CODES_AND_NAMES, ) -> Optional[ResourceLookupDto]: """ >>> from doc.domain import resource_lookup diff --git a/backend/doc/markdown_transforms/link_regexes.py b/backend/doc/markdown_transforms/link_regexes.py index ac979811..cf3c3d03 100644 --- a/backend/doc/markdown_transforms/link_regexes.py +++ b/backend/doc/markdown_transforms/link_regexes.py @@ -13,6 +13,18 @@ ) ) +# ceb language erroneously uses obe in its rc links in TW content +TW_OBE_RC_LINK_RE = re.compile( + r"\[\[rc:\/\/(?P[^\[\]\(\)\/]+?)\/obe\/(?:kt|names|other)\/(?P[^\[\]\(\)]+?)\]\]" +) + +# RC_QUESTION_LINK_RE = re.compile( +# r"\[\[rc:\/\/(?P[^\[\]\(\)\/]+?)\/bible\/questions\/comprehension\/[^\[\]\(\)\/]+?\/[^\[\]\(\)\/]+?\]\]" +# ) +RC_QUESTION_LINK_RE = re.compile( + r"\[\[rc:\/\/(?P[^\[\]\(\)\/]+)\/bible\/questions\/comprehension\/(?P[^\[\]\(\)\/]+)\/(?P[^\[\]\(\)\/]+)\]\]" +) + # Regex pattern to match TW STAR markdown style links and capture the last segment TW_STAR_RC_LINK_RE = re.compile(r"\[\[rc://[^/]+/[^/]+/[^/]+/[^/]+/(?P[^/]+)\]\]") @@ -51,7 +63,7 @@ # e.g., [foo](../kt/foo.md) links. # NOTE See id:regex_transformation_order above TW_MARKDOWN_LINK_RE = re.compile( - r"\[(?P[^\[\]\(\)]+?)\]\(\.+\/(?:kt|names|other)\/(?P[^\[\]\(\)]+?)\.md\)" + r"\[(?P[^\]]+?)\]\(\.*/(?:kt|names|other)/(?P[^\)]+?)\.md\)" ) diff --git a/backend/doc/markdown_transforms/markdown_transformer.py b/backend/doc/markdown_transforms/markdown_transformer.py index 1f3ab1ff..b0d1e66e 100644 --- a/backend/doc/markdown_transforms/markdown_transformer.py +++ b/backend/doc/markdown_transforms/markdown_transformer.py @@ -7,6 +7,7 @@ from doc.domain.bible_books import BOOK_NUMBERS from doc.domain.model import ResourceRequest from doc.markdown_transforms.link_regexes import ( + RC_QUESTION_LINK_RE, TA_MARKDOWN_HTTPS_LINK_RE, TA_PREFIXED_MARKDOWN_HTTPS_LINK_RE, TA_PREFIXED_MARKDOWN_LINK_RE, @@ -19,6 +20,7 @@ TN_MARKDOWN_SCRIPTURE_LINK_RE, TN_OBS_MARKDOWN_LINK_RE, TW_MARKDOWN_LINK_RE, + TW_OBE_RC_LINK_RE, TW_RC_LINK_RE, TW_STAR_RC_LINK_RE, TW_WIKI_PREFIXED_RC_LINK_RE, @@ -119,6 +121,9 @@ def transform_tw_links( source = transform_tw_markdown_links( source, lang_code, resource_requests, translation_words_dict ) + source = transform_rc_obe_tw_links( + source, lang_code, resource_requests, translation_words_dict + ) return source @@ -152,6 +157,19 @@ def transform_ta_and_tn_links( ) source = transform_tn_missing_book_code_markdown_links_no_paren(source) source = transform_tn_obs_markdown_links(source) + source = transform_rc_question_links(source) + return source + + +def transform_rc_question_links( + source: str, rc_question_link_re: re.Pattern[str] = RC_QUESTION_LINK_RE +) -> str: + """ + Remove question links in CEB language (and any other languages that have them). + """ + for match in finditer(rc_question_link_re, source): + # For now, remove match text the source text. + source = source.replace(match.group(0), "") return source @@ -243,13 +261,67 @@ def transform_tw_markdown_links( if filename_sans_suffix in translation_words_dict and tw_resources_requests: file_content = read_file(translation_words_dict[filename_sans_suffix]) localized_translation_word_ = localized_translation_word(file_content) - logger.debug("filename_sans_suffix: %s", filename_sans_suffix) + # logger.debug("filename_sans_suffix: %s", filename_sans_suffix) + # logger.debug("localized_translation_word_: %s", localized_translation_word_) source = source.replace( match_text, fmt_str.format( - localized_translation_word_, + localized_translation_word_, # e.g., Jewish authorities + lang_code, + filename_sans_suffix, # e.g., jewishleaders + # "".join(localized_translation_word_.split()), + ), + ) + else: + logger.debug( + "TW file for filename_sans_suffix: %s not found for lang_code: %s", + filename_sans_suffix, + lang_code, + ) + # Search for translation word relative link + # and remove it along with any trailing comma from + # the source text. + # NOTE Theoretically, this will leave a trailing comma after the link + # if the link is not the last link in a list of links. I haven't + # yet seen such a case in practice though. + # match_text_plus_preceding_dot_utf8_char = "· {}".format(match_text) + # source = source.replace(match_text_plus_preceding_dot_utf8_char, "") + return source + + +def transform_rc_obe_tw_links( + source: str, + lang_code: str, + resource_requests: Sequence[ResourceRequest], + translation_words_dict: dict[str, str], + tw: str = "tw", + fmt_str: str = TRANSLATION_WORD_ANCHOR_LINK_FMT_STR, + tw_link_re: re.Pattern[str] = TW_OBE_RC_LINK_RE, +) -> str: + """ + Transform the translation word relative file link into a + source anchor link pointing to a destination anchor link for + the translation word definition. + """ + tw_resources_requests = [ + resource_request + for resource_request in resource_requests + if tw in resource_request.resource_type + ] + for match in finditer(tw_link_re, source): + match_text = match.group(0) + filename_sans_suffix = match.group("word") + if filename_sans_suffix in translation_words_dict and tw_resources_requests: + file_content = read_file(translation_words_dict[filename_sans_suffix]) + localized_translation_word_ = localized_translation_word(file_content) + # logger.debug("filename_sans_suffix: %s", filename_sans_suffix) + # logger.debug("localized_translation_word_: %s", localized_translation_word_) + source = source.replace( + match_text, + fmt_str.format( + localized_translation_word_, # e.g., Jewish authorities lang_code, - filename_sans_suffix, + filename_sans_suffix, # e.g., jewishleaders # "".join(localized_translation_word_.split()), ), ) @@ -265,8 +337,8 @@ def transform_tw_markdown_links( # NOTE Theoretically, this will leave a trailing comma after the link # if the link is not the last link in a list of links. I haven't # yet seen such a case in practice though. - match_text_plus_preceding_dot_utf8_char = "· {}".format(match_text) - source = source.replace(match_text_plus_preceding_dot_utf8_char, "") + # match_text_plus_preceding_dot_utf8_char = "· {}".format(match_text) + # source = source.replace(match_text_plus_preceding_dot_utf8_char, "") return source @@ -429,7 +501,9 @@ def transform_tw_star_rc_link( url = url.replace(match.group(0), filename_sans_suffix) regexp = r"\[\[{}\]\]".format(wikilink.url) for match2 in finditer(regexp, source): - source = source.replace(match2.group(0), url) + source = source.replace( + match2.group(0), fmt_str.format("#{lang_code}-{url}") + ) return source @@ -691,6 +765,7 @@ def transform_tn_prefixed_markdown_links( ) ) if exists(path): # file path to TN note exists + # TODO Is this still good with new USFM parser? # Create anchor link to translation note new_link = fmt_str.format( scripture_ref, diff --git a/backend/doc/utils/docx_util.py b/backend/doc/utils/docx_util.py index dc05e276..180d35a3 100644 --- a/backend/doc/utils/docx_util.py +++ b/backend/doc/utils/docx_util.py @@ -1,8 +1,11 @@ +import re from pathlib import Path from docx import Document # type: ignore from docx.oxml import OxmlElement # type: ignore from docx.oxml.ns import qn # type: ignore +from docx.text.paragraph import Paragraph # type: ignore +from docx.text.run import Run # type: ignore def generate_docx_toc(docx_filepath: str) -> str: @@ -37,3 +40,151 @@ def generate_docx_toc(docx_filepath: str) -> str: r_element.append(fldChar4) document.save(toc_path) return toc_path + + +def preprocess_html_for_internal_docx_links(html: str) -> str: + """ + Replace internal HTML anchors and headings with markers that survive HTML→DOCX conversion. + Example: +

    → {{BOOKMARK:intro}} + Christ → {{LINK_START:intro}}Christ{{LINK_END}} + """ + # Mark bookmarks + html = re.sub( + r'', + r"{{BOOKMARK:\1}}

    ", + html, + flags=re.IGNORECASE, + ) + # Replace links + html = re.sub( + r'(.*?)', + r"{{LINK_START:\1}}\2{{LINK_END}}", + html, + flags=re.IGNORECASE | re.DOTALL, + ) + html = re.sub( + r'(.*?)', + r"{{LINK_START:\1}}\2{{LINK_END}}", + html, + flags=re.IGNORECASE | re.DOTALL, + ) + return html + + +def _make_text_run(text: str) -> OxmlElement: + """Create a plain text run that preserves spaces.""" + r = OxmlElement("w:r") + t = OxmlElement("w:t") + t.text = text + # Ensure Word preserves leading/trailing spaces + t.set("{http://www.w3.org/XML/1998/namespace}space", "preserve") + r.append(t) + return r + + +def _make_internal_hyperlink_element(text: str, bookmark_name: str) -> OxmlElement: + """Create an internal hyperlink element to an existing bookmark.""" + hyperlink = OxmlElement("w:hyperlink") + hyperlink.set(qn("w:anchor"), bookmark_name) # internal anchor, no '#' + hyperlink.set(qn("w:history"), "1") + r = OxmlElement("w:r") + r_pr = OxmlElement("w:rPr") + r_style = OxmlElement("w:rStyle") + r_style.set(qn("w:val"), "Hyperlink") + r_pr.append(r_style) + r.append(r_pr) + t = OxmlElement("w:t") + t.text = text + t.set("{http://www.w3.org/XML/1998/namespace}space", "preserve") + r.append(t) + hyperlink.append(r) + return hyperlink + + +def _add_bookmark_to_run(run: Run, bookmark_name: str) -> None: + """Add a DOCX bookmark around the given run in-place.""" + r = run._r + p = r.getparent() + start = OxmlElement("w:bookmarkStart") + start.set(qn("w:id"), "0") + start.set(qn("w:name"), bookmark_name) + end = OxmlElement("w:bookmarkEnd") + end.set(qn("w:id"), "0") + p.insert(p.index(r), start) + p.insert(p.index(r) + 1, end) + + +def _replace_runs(para: Paragraph, new_elems: list[OxmlElement]) -> None: + """ + Replace all runs in a paragraph with the provided XML elements. + (Keeps paragraph element intact and appends supplied elements.) + """ + # remove existing run XML elements + for run in list(para.runs): + p_r = run._r + p = p_r.getparent() + if p is not None and p_r in p: + p.remove(p_r) + # append new elements + for elem in new_elems: + para._p.append(elem) + + +def add_internal_docx_links(doc: Document) -> None: + """ + Convert {{BOOKMARK:name}} markers into bookmarks, and + convert {{LINK_START:name}}...{{LINK_END}} sequences into internal links. + Operates paragraph-by-paragraph using paragraph text aggregated + from runs so punctuation/spaces are preserved. + """ + bookmark_map: dict[str, str] = {} + # Pass 1 — find and create bookmarks inside runs (remove marker text) + bookmark_pattern = re.compile(r"\{\{BOOKMARK:([^}]+)\}\}") + for para in doc.paragraphs: + for run in para.runs: + m = bookmark_pattern.search(run.text) + if not m: + continue + name = m.group(1) + # remove marker from run text + run.text = bookmark_pattern.sub("", run.text).strip() + # add bookmark around this run + _add_bookmark_to_run(run, name) + bookmark_map[name] = name + # Pass 2 — replace LINK_START/LINK_END sequences at paragraph level + # pattern matches sequences like {{LINK_START:name}}...{{LINK_END}} + link_pattern = re.compile( + r"\{\{LINK_START:([^}]+)\}\}(.*?)\{\{LINK_END\}\}", flags=re.DOTALL + ) + for para in doc.paragraphs: + # combine paragraph text from runs to preserve exact punctuation/spacing + combined_text = "".join(run.text for run in para.runs) + if "{{LINK_START:" not in combined_text: + # nothing to do for this paragraph + continue + new_elements: list[OxmlElement] = [] + cursor = 0 + for m in link_pattern.finditer(combined_text): + start, end = m.span() + target = m.group(1) + link_text = m.group(2) + # add literal text before this link (commas, spaces, etc.) + if start > cursor: + literal = combined_text[cursor:start] + if literal: + new_elements.append(_make_text_run(literal)) + # add hyperlink element or fallback to plain text if bookmark missing + if target in bookmark_map: + new_elements.append(_make_internal_hyperlink_element(link_text, target)) + else: + new_elements.append(_make_text_run(link_text)) + cursor = end + # trailing text after last link + if cursor < len(combined_text): + tail = combined_text[cursor:] + if tail: + new_elements.append(_make_text_run(tail)) + # replace the paragraph's runs with our constructed elements + if new_elements: + _replace_runs(para, new_elements) diff --git a/backend/doc/utils/list_utils.py b/backend/doc/utils/list_utils.py index 7243aa07..0c75d22c 100644 --- a/backend/doc/utils/list_utils.py +++ b/backend/doc/utils/list_utils.py @@ -1,4 +1,4 @@ -from typing import TypeVar +from typing import Sequence, TypeVar T = TypeVar("T", tuple[str, str], tuple[str, str, bool]) @@ -26,3 +26,15 @@ def unique_book_codes(lst: list[T]) -> list[T]: if key not in seen: seen[key] = item return list(seen.values()) + + +def unique_list_of_strings( + elements: Sequence[tuple[str, str]] +) -> Sequence[tuple[str, str]]: + unique_strs = [] + added_strs = set() + for key, val in elements: + if key not in added_strs: + unique_strs.append((key, val)) + added_strs.add(key) + return unique_strs diff --git a/backend/doc/utils/text_utils.py b/backend/doc/utils/text_utils.py index f0d65699..97be6488 100644 --- a/backend/doc/utils/text_utils.py +++ b/backend/doc/utils/text_utils.py @@ -16,6 +16,19 @@ def normalize_spaces(text: str) -> str: "III": "3", } +BOOK_NAME_CORRECTION_TABLE: dict[tuple[str, str], str] = { + ("es-419", "I juan"): "1 Juan", + ("fr", "Ephésiens"): "Éphésiens", + ("pt-br", "1 Corintios"): "1 Coríntios", + ( + "rmp", + "Galasians sapta 1. v/1 da-h pol. dal goad phi da-h dululan, ne dal mai-h phi da-h apostel ipais ag mayaib. phi. je-su krais mai-h mam gad pha, nug krais matmat ag mau sen pha, nug da-h ipais ag malan. v/2 da-h ayaid amayaid da-h pha dade, hit jain hen ohvu iu- an sios galesia e-h hagaug. v/3 gad mam hita, hayaug je-su krais pha, nug-te hagaug he-eh phadu ne mab hogad nauha-h da-h-du. v/4", + ): "Galasians", + ("sw", "Matendo ya mitume"): "Matendo ya Mitume", + ("sw", "Luke"): "Luka", + ("sw", "Waraka wa yakobo"): "Yakobo", +} + def normalize_localized_book_name(localized_book_name: str) -> str: """ @@ -87,6 +100,20 @@ def chapter_label_numeric_part(s: str) -> int: return result +def maybe_correct_book_name( + lang_code: str, + book_name: str, + book_name_correction_table: dict[tuple[str, str], str] = BOOK_NAME_CORRECTION_TABLE, +) -> str: + """ + Translate incorrect or undesirable book names to a preferred form. + """ + book_name_ = BOOK_NAME_CORRECTION_TABLE.get((lang_code, book_name), "") + if not book_name_: + book_name_ = book_name + return book_name_ + + if __name__ == "__main__": # To run the doctests in this module, in the root of the project do: diff --git a/backend/doc/utils/tw_utils.py b/backend/doc/utils/tw_utils.py index 0c58fee7..ae0e102a 100644 --- a/backend/doc/utils/tw_utils.py +++ b/backend/doc/utils/tw_utils.py @@ -3,23 +3,21 @@ resources that we use in multiple places. """ -import os -import pathlib import re import time from glob import glob -from typing import Optional, Sequence +from os.path import basename +from pathlib import Path +from typing import Mapping, Optional, Sequence from doc.config import settings -from doc.domain import parsing, resource_lookup -from doc.domain.model import ResourceRequest, TWBook, TWNameContentPair, USFMBook +from doc.domain import parsing, resource_lookup, bible_books +from doc.domain.model import ResourceRequest, TWBook, TWNameContentPair, TWUse, USFMBook logger = settings.logger(__name__) TW = "tw" -OPENING_H3_FMT_STR: str = "

    {}" -OPENING_H3_WITH_ID_FMT_STR: str = '

    {}' def translation_word_filepaths(resource_dir: str) -> list[str]: @@ -106,19 +104,20 @@ def translation_words_dict(tw_resource_dir: Optional[str]) -> dict[str, str]: if tw_resource_dir is not None: filepaths = translation_word_filepaths(tw_resource_dir) translation_words_dict = { - pathlib.Path(os.path.basename(word_filepath)).stem: word_filepath + Path(basename(word_filepath)).stem: word_filepath for word_filepath in filepaths } return translation_words_dict -def translation_words_section( +def translation_words_section_for_book( tw_book: TWBook, usfm_books: Optional[Sequence[USFMBook]], limit_words: bool, resource_requests: Sequence[ResourceRequest], + include_uses_section: bool = True, resource_type_name_fmt_str: str = "

    {}

    ", -) -> str: +) -> Sequence[str]: """ Build and return the translation words definition section, i.e., the list of all translation words for this language, book combination. @@ -128,16 +127,48 @@ def translation_words_section( """ content = [] if tw_book.name_content_pairs: - content.append(resource_type_name_fmt_str.format(tw_book.resource_type_name)) - selected_name_content_pairs = get_selected_name_content_pairs( + lang_codes = list( + dict.fromkeys( + resource_request.lang_code for resource_request in resource_requests + ) + ) + if len(lang_codes) > 1: + # More than one language was requested so we should + # differentiate translation word sections by adding the IETF code to the + # resource type name used as a header. + heading = resource_type_name_fmt_str.format( + f"{tw_book.resource_type_name} ({tw_book.lang_code})" + ) + else: + heading = resource_type_name_fmt_str.format(tw_book.resource_type_name) + content.append(heading) + selected_name_content_pairs = get_selected_name_content_pairs_for_book( tw_book, usfm_books, limit_words, resource_requests ) for name_content_pair in selected_name_content_pairs: - content.append(name_content_pair_content(name_content_pair, tw_book)) - return "".join(content) + content.append( + name_content_pair_content_for_book( + name_content_pair, tw_book, include_uses_section + ) + ) + return content + + +def translation_words_for_content( + tw_book: TWBook, + content: str, + resource_type_name_fmt_str: str = "

    {}

    ", +) -> Sequence[tuple[str, str]]: + selected_name_content_pairs = get_selected_name_content_pairs_for_content( + tw_book, content + ) + return [ + (pair.localized_word, Path(pair.path).stem) + for pair in selected_name_content_pairs + ] -def get_selected_name_content_pairs( +def get_selected_name_content_pairs_for_book( tw_book: TWBook, usfm_books: Optional[Sequence[USFMBook]], limit_words: bool, @@ -146,13 +177,22 @@ def get_selected_name_content_pairs( ) -> list[TWNameContentPair]: selected_name_content_pairs = [] if usfm_books and limit_words: - selected_name_content_pairs = filter_name_content_pairs(tw_book, usfm_books) + selected_name_content_pairs = filter_name_content_pairs_for_book( + tw_book, usfm_books + ) elif ( not usfm_books and limit_words ): # This branch is necessarily expensive computationally and in IO t0 = time.time() - usfm_books = fetch_usfm_book_content_units(resource_requests) - selected_name_content_pairs = filter_name_content_pairs(tw_book, usfm_books) + # USFM resource was not requested by user, but they chose resources that + # are still associated with books, e.g., TN, so we have to still fetch + # USFM if limit_words was chosen to see what words appear in USFM so + # that we can limit the words to that collection of words rather than + # all of them. + usfm_books = fetch_usfm_books(resource_requests) + selected_name_content_pairs = filter_name_content_pairs_for_book( + tw_book, usfm_books + ) t1 = time.time() logger.info( "Time for acquiring and filtering TW content based on books chosen: %s", @@ -163,23 +203,50 @@ def get_selected_name_content_pairs( return selected_name_content_pairs -def filter_name_content_pairs( - tw_book: TWBook, usfm_books: Optional[Sequence[USFMBook]] +def get_selected_name_content_pairs_for_content( + tw_book: TWBook, + content: str, +) -> list[TWNameContentPair]: + selected_name_content_pairs = [] + selected_name_content_pairs = filter_name_content_pairs_for_content( + tw_book, content + ) + return selected_name_content_pairs + + +def filter_name_content_pairs_for_book( + tw_book: TWBook, usfm_books: Sequence[USFMBook] +) -> list[TWNameContentPair]: + selected_name_content_pairs = [] + added_pairs = set() + for name_content_pair in tw_book.name_content_pairs: + for usfm_book in usfm_books: + for chapter in usfm_book.chapters.values(): + if re.search( + re.escape(name_content_pair.localized_word), + chapter.content, + ): + if name_content_pair not in added_pairs: + selected_name_content_pairs.append(name_content_pair) + added_pairs.add(name_content_pair) + break + return selected_name_content_pairs + + +def filter_name_content_pairs_for_content( + tw_book: TWBook, content: str ) -> list[TWNameContentPair]: selected_name_content_pairs = [] added_pairs = set() - if usfm_books: - for name_content_pair in tw_book.name_content_pairs: - for usfm_book in usfm_books: - for chapter in usfm_book.chapters.values(): - if re.search( - re.escape(name_content_pair.localized_word), - chapter.content, - ): - if name_content_pair not in added_pairs: - selected_name_content_pairs.append(name_content_pair) - added_pairs.add(name_content_pair) - break + for name_content_pair in tw_book.name_content_pairs: + if re.search( + r"\b" + re.escape(name_content_pair.localized_word) + r"\b", + content, + flags=re.IGNORECASE, + ): + if name_content_pair not in added_pairs: + selected_name_content_pairs.append(name_content_pair) + added_pairs.add(name_content_pair) return selected_name_content_pairs @@ -189,21 +256,31 @@ def contains_tw(resource_request: ResourceRequest, tw_regex: str = "tw.*") -> bo return value -def name_content_pair_content( +def name_content_pair_content_for_book( + name_content_pair: TWNameContentPair, + tw_book: TWBook, + include_uses_section: bool = False, +) -> str: + name_content_pair.content = modify_content_for_anchors(name_content_pair, tw_book) + uses_section_ = "" + # TODO tw_book.uses is no longer populated - look at git history to see how I used to do it + if include_uses_section and name_content_pair.localized_word in tw_book.uses: + uses_section_ = uses_section(tw_book.uses[name_content_pair.localized_word]) + name_content_pair.content = f"{name_content_pair.content}{uses_section_}" + return name_content_pair.content + + +def name_content_pair_content_for_verse( name_content_pair: TWNameContentPair, tw_book: TWBook, - # include_uses_section: bool, + include_uses_section: bool = False, ) -> str: name_content_pair.content = modify_content_for_anchors(name_content_pair, tw_book) - # uses_section_ = "" - # if ( - # include_uses_section - # and name_content_pair.localized_word in book_content_unit.uses - # ): - # uses_section_ = uses_section( - # book_content_unit.uses[name_content_pair.localized_word] - # ) - # name_content_pair.content = f"{name_content_pair.content}{uses_section_}" + uses_section_ = "" + # TODO + if include_uses_section and name_content_pair.localized_word in tw_book.uses: + uses_section_ = uses_section(tw_book.uses[name_content_pair.localized_word]) + name_content_pair.content = f"{name_content_pair.content}{uses_section_}" return name_content_pair.content @@ -221,20 +298,23 @@ def filter_unique_by_lang_code(tw_books: Sequence[TWBook]) -> list[TWBook]: def modify_content_for_anchors( name_content_pair: TWNameContentPair, book_content_unit: TWBook, - opening_h3_fmt_str: str = OPENING_H3_FMT_STR, - opening_h3_with_id_fmt_str: str = OPENING_H3_WITH_ID_FMT_STR, + opening_h3_fmt_str: str = "

    {}", + opening_h3_with_id_fmt_str: str = '

    {}', ) -> str: - return name_content_pair.content.replace( + content = name_content_pair.content.replace( opening_h3_fmt_str.format(name_content_pair.localized_word), opening_h3_with_id_fmt_str.format( book_content_unit.lang_code, - name_content_pair.localized_word, + Path(name_content_pair.path).stem, + # "".join(name_content_pair.localized_word.split()).lower(), name_content_pair.localized_word, ), ) + # logger.debug("tw content: %s", content) + return content -def fetch_usfm_book_content_units( +def fetch_usfm_books( resource_requests: Sequence[ResourceRequest], usfm_resource_types: Sequence[str] = settings.USFM_RESOURCE_TYPES, ) -> list[USFMBook]: @@ -276,35 +356,59 @@ def fetch_usfm_book_content_units( return usfm_book_content_units -# def uses_section( -# uses: Sequence[TWUse], -# translation_word_verse_section_header_str: str = settings.TRANSLATION_WORD_VERSE_SECTION_HEADER_STR, -# unordered_list_begin_str: str = settings.UNORDERED_LIST_BEGIN_STR, -# translation_word_verse_ref_item_fmt_str: str = settings.TRANSLATION_WORD_VERSE_REF_ITEM_FMT_STR, -# unordered_list_end_str: str = settings.UNORDERED_LIST_END_STR, -# book_numbers: Mapping[str, str] = bible_books.BOOK_NUMBERS, -# book_names: Mapping[str, str] = bible_books.BOOK_NAMES, -# num_zeros: int = 3, -# ) -> str: -# """ -# Construct and return the 'Uses:' section which comes at the end of -# a translation word definition and wherein each item points to -# verses (as targeted by lang_code, book_id, chapter_num, and -# verse_num) wherein the word occurs. -# """ -# html: list[str] = [] -# html.append(translation_word_verse_section_header_str) -# html.append(unordered_list_begin_str) -# for use in uses: -# html_content_str = translation_word_verse_ref_item_fmt_str.format( -# use.lang_code, -# book_numbers[use.book_id].zfill(num_zeros), -# str(use.chapter_num).zfill(num_zeros), -# str(use.verse_num).zfill(num_zeros), -# book_names[use.book_id], -# use.chapter_num, -# use.verse_num, -# ) -# html.append(html_content_str) -# html.append(unordered_list_end_str) -# return "\n".join(html) +def fetch_usfm_book( + lang_code: str, + book_code: str, + resource_type: str, +) -> Optional[USFMBook]: + usfm_book = None + resource_lookup_dto = resource_lookup.resource_lookup_dto( + lang_code, + resource_type, + book_code, + ) + if resource_lookup_dto and resource_lookup_dto.url: + t0 = time.time() + resource_dir = resource_lookup.prepare_resource_filepath(resource_lookup_dto) + resource_lookup.provision_asset_files(resource_lookup_dto.url, resource_dir) + t1 = time.time() + logger.debug( + "Time to provision USFM asset files (acquire and write to disk) for TW resource: %s", + t1 - t0, + ) + usfm_book = parsing.usfm_book_content(resource_lookup_dto, resource_dir, False) + return usfm_book + + +def uses_section( + uses: Sequence[TWUse], + translation_word_verse_section_header_str: str = settings.TRANSLATION_WORD_VERSE_SECTION_HEADER_STR, + unordered_list_begin_str: str = settings.UNORDERED_LIST_BEGIN_STR, + translation_word_verse_ref_item_fmt_str: str = settings.TRANSLATION_WORD_VERSE_REF_ITEM_FMT_STR, + unordered_list_end_str: str = settings.UNORDERED_LIST_END_STR, + book_numbers: Mapping[str, str] = bible_books.BOOK_NUMBERS, + book_names: Mapping[str, str] = bible_books.BOOK_NAMES, + num_zeros: int = 3, +) -> str: + """ + Construct and return the 'Uses:' section which comes at the end of + a translation word definition and wherein each item points to + verses (as targeted by lang_code, book_code, chapter_num, and + verse_num) wherein the word occurs. + """ + html: list[str] = [] + html.append(translation_word_verse_section_header_str) + html.append(unordered_list_begin_str) + for use in uses: + html_content_str = translation_word_verse_ref_item_fmt_str.format( + use.lang_code, + book_numbers[use.book_id].zfill(num_zeros), + str(use.chapter_num).zfill(num_zeros), + str(use.verse_num).zfill(num_zeros), + book_names[use.book_id], + use.chapter_num, + use.verse_num, + ) + html.append(html_content_str) + html.append(unordered_list_end_str) + return "\n".join(html) diff --git a/backend/doc/utils/url_utils.py b/backend/doc/utils/url_utils.py index 28d0cbb4..71a249c2 100644 --- a/backend/doc/utils/url_utils.py +++ b/backend/doc/utils/url_utils.py @@ -129,30 +129,31 @@ def get_last_segment(url: HttpUrl, lang_code: str) -> str: return normalize_last_segment(lang_code, last_segment) -def get_book_names_from_title_file( +def get_book_name_from_title_file( resource_filepath: str, lang_code: str, repo_components: list[str], -) -> dict[str, str]: +) -> str: """ Book names in front/title.txt files may or may not be localized, it depends on the translation work done for lang_code. """ - book_codes_and_names_localized: dict[str, str] = {} + # book_codes_and_names_localized: dict[str, str] = {} + book_name = "" book_name_file = join(resource_filepath, "front", "title.txt") if exists(book_name_file): with open(book_name_file, "r") as fin: book_name = fin.read() logger.debug("book_name: %s", book_name) - if book_name: - # Moved this code to the caller - # localized_book_name_ = normalize_localized_book_name(book_name) - # localized_book_name = maybe_correct_book_name( - # lang_code, localized_book_name_ - # ) - book_code = repo_components[1] - book_codes_and_names_localized[book_code] = book_name - return book_codes_and_names_localized + # if book_name: + # Moved this code to the caller + # localized_book_name_ = normalize_localized_book_name(book_name) + # localized_book_name = maybe_correct_book_name( + # lang_code, localized_book_name_ + # ) + # book_code = repo_components[1] + # book_codes_and_names_localized[book_code] = book_name + return book_name def load_manifest(file_path: str) -> str: diff --git a/backend/passages/domain/document_generator.py b/backend/passages/domain/document_generator.py index ae4c4a5b..a19b774d 100644 --- a/backend/passages/domain/document_generator.py +++ b/backend/passages/domain/document_generator.py @@ -10,9 +10,7 @@ from doc.domain.model import Attachment from doc.domain.parsing import split_chapter_into_verses, usfm_book_content from doc.domain.resource_lookup import ( - RESOURCE_TYPE_CODES_AND_NAMES, book_codes_for_lang_from_usfm_only, - maybe_correct_book_name, prepare_resource_filepath, provision_asset_files, resource_lookup_dto, @@ -20,9 +18,9 @@ ) from doc.reviewers_guide.model import BibleReference from doc.utils.file_utils import docx_filepath, file_needs_update +from doc.utils.text_utils import maybe_correct_book_name from docx import Document # type: ignore -from docx.oxml import OxmlElement # type: ignore -from docx.oxml import parse_xml +from docx.oxml import OxmlElement, parse_xml # type: ignore from docx.shared import Inches # type: ignore from docx.table import _Cell # type: ignore from htmldocx import HtmlToDocx # type: ignore @@ -32,6 +30,7 @@ from passages.utils.docx_utils import add_footer, add_header from pydantic import Json + logger = settings.logger(__name__) @@ -44,7 +43,9 @@ def generate_docx_document( working_dir: str = settings.WORKING_DIR, output_dir: str = settings.DOCUMENT_OUTPUT_DIR, usfm_resource_types: Sequence[str] = settings.USFM_RESOURCE_TYPES, - resource_type_codes_and_names: Mapping[str, str] = RESOURCE_TYPE_CODES_AND_NAMES, + resource_type_codes_and_names: Mapping[ + str, str + ] = settings.RESOURCE_TYPE_CODES_AND_NAMES, ) -> str: """ Generate the scriptural terms evaluation document. diff --git a/backend/passages/domain/model.py b/backend/passages/domain/model.py index d7af948e..13dce47a 100644 --- a/backend/passages/domain/model.py +++ b/backend/passages/domain/model.py @@ -1,6 +1,7 @@ +from typing import Optional, NamedTuple, final + from doc.domain.model import ChapterNum from pydantic import BaseModel, EmailStr -from typing import Optional, NamedTuple, final @final diff --git a/backend/passages/domain/parser.py b/backend/passages/domain/parser.py index aeb32721..455d9ec2 100644 --- a/backend/passages/domain/parser.py +++ b/backend/passages/domain/parser.py @@ -1,9 +1,11 @@ from typing import Mapping -from passages.domain.model import BibleReference -from doc.domain.parsing import lookup_verse_text -from doc.domain.model import USFMBook -from doc.domain.bible_books import BOOK_CHAPTER_VERSES + from doc.config import settings +from doc.domain.bible_books import BOOK_CHAPTER_VERSES +from doc.domain.model import USFMBook +from doc.domain.parsing import lookup_verse_text +from passages.domain.model import BibleReference + logger = settings.logger(__name__) diff --git a/backend/passages/domain/stet_verse_list_parser.py b/backend/passages/domain/stet_verse_list_parser.py index 22bfe84a..bb983937 100644 --- a/backend/passages/domain/stet_verse_list_parser.py +++ b/backend/passages/domain/stet_verse_list_parser.py @@ -1,5 +1,6 @@ import json import re + from doc.domain.bible_books import BOOK_NAMES diff --git a/backend/passages/entrypoints/routes.py b/backend/passages/entrypoints/routes.py index a06111ea..636e4dc2 100644 --- a/backend/passages/entrypoints/routes.py +++ b/backend/passages/entrypoints/routes.py @@ -10,6 +10,7 @@ from passages.domain import document_generator, model from passages.domain.document_generator import stet_exhaustive_verse_list + router = APIRouter() logger = settings.logger(__name__) diff --git a/backend/requirements.in b/backend/requirements.in index 43b0dcbf..85426b56 100644 --- a/backend/requirements.in +++ b/backend/requirements.in @@ -5,6 +5,7 @@ # cython # For pydantic: https://pydantic-docs.helpmanual.io/install/ # TODO do we still need aiofiles? aiofiles +beautifulsoup4 cachetools celery celery-types diff --git a/backend/stet/domain/document_generator.py b/backend/stet/domain/document_generator.py index ba7eb8f6..616e99d4 100644 --- a/backend/stet/domain/document_generator.py +++ b/backend/stet/domain/document_generator.py @@ -13,14 +13,13 @@ usfm_book_content, ) from doc.domain.resource_lookup import ( - RESOURCE_TYPE_CODES_AND_NAMES, - maybe_correct_book_name, prepare_resource_filepath, provision_asset_files, resource_lookup_dto, resource_types, ) from doc.utils.file_utils import docx_filepath, file_needs_update +from doc.utils.text_utils import maybe_correct_book_name from docx import Document # type: ignore from docx.enum.text import WD_PARAGRAPH_ALIGNMENT # type: ignore from docx.oxml import OxmlElement # type: ignore @@ -46,6 +45,7 @@ ) from stet.utils.util import extract_chapter_and_beyond + logger = settings.logger(__name__) @@ -57,7 +57,9 @@ def generate_docx_document( working_dir: str = settings.WORKING_DIR, output_dir: str = settings.DOCUMENT_OUTPUT_DIR, usfm_resource_types: Sequence[str] = settings.USFM_RESOURCE_TYPES, - resource_type_codes_and_names: Mapping[str, str] = RESOURCE_TYPE_CODES_AND_NAMES, + resource_type_codes_and_names: Mapping[ + str, str + ] = settings.RESOURCE_TYPE_CODES_AND_NAMES, ) -> str: """ Generate the scriptural terms evaluation document. diff --git a/backend/stet/domain/model.py b/backend/stet/domain/model.py index e5556ce5..8ae61adf 100644 --- a/backend/stet/domain/model.py +++ b/backend/stet/domain/model.py @@ -1,5 +1,6 @@ from dataclasses import dataclass, field from typing import NamedTuple, Optional, final + from pydantic import BaseModel, EmailStr diff --git a/backend/stet/domain/parser.py b/backend/stet/domain/parser.py index d218808c..de49f80e 100644 --- a/backend/stet/domain/parser.py +++ b/backend/stet/domain/parser.py @@ -3,9 +3,10 @@ from doc.config import settings from doc.domain.bible_books import BOOK_NAMES from doc.domain.resource_lookup import book_codes_for_lang_from_usfm_only +from docx import Document # type: ignore from stet.domain.model import VerseReferenceDto, WordEntryDto from stet.utils.util import is_valid_int -from docx import Document # type: ignore + logger = settings.logger(__name__) diff --git a/frontend/src/lib/ResourceTypeBasket.svelte b/frontend/src/lib/ResourceTypeBasket.svelte index 57203088..a2dcb948 100644 --- a/frontend/src/lib/ResourceTypeBasket.svelte +++ b/frontend/src/lib/ResourceTypeBasket.svelte @@ -1,6 +1,6 @@