diff --git a/CHANGELOG.md b/CHANGELOG.md index 713e9ae1..d554fe40 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,9 +4,19 @@ [Full Changelog](https://github.com/unfoldingWord/uw-content-validation/compare/2.2.5...HEAD) +**Implemented enhancements:** + +- Detect missing footnote closer [\#207](https://github.com/unfoldingWord/uw-content-validation/issues/207) + +**Fixed bugs:** + +- Searches Door43-Catalog for new repos [\#208](https://github.com/unfoldingWord/uw-content-validation/issues/208) + **Closed issues:** +- TWL CV Results for Book of Acts [\#221](https://github.com/unfoldingWord/uw-content-validation/issues/221) - Problems with TWL [\#220](https://github.com/unfoldingWord/uw-content-validation/issues/220) +- Possible false notices for the tN resource for book of Acts [\#218](https://github.com/unfoldingWord/uw-content-validation/issues/218) ## [2.2.5](https://github.com/unfoldingWord/uw-content-validation/tree/2.2.5) (2021-09-28) diff --git a/noticeList.txt b/noticeList.txt index 9aa0fa4c..2c5c8d0a 100644 --- a/noticeList.txt +++ b/noticeList.txt @@ -1,5 +1,5 @@ -Last updated 2021-11-01 13:39:34.399155 by makeNoticeList.py -Got 635 notices: +Last updated 2021-12-08 11:51:53.651083 by makeNoticeList.py +Got 647 notices: standardisedNoticeList.push( 1, `Reduced numbers of similar and hidden messages because of large list ($standardisedNoticeList.length.toLocaleString())`, location: " during notice processing" from notice-processing-functions.js line 505 previousObject.hiddenNotices.push( thisNotice.priority, maximumHiddenNoticesMessage from notice-processing-functions.js line 629 previousObject.hiddenNotices.push( thisNotice.priority, maximumHiddenNoticesMessage from notice-processing-functions.js line 645 @@ -7,62 +7,63 @@ Got 635 notices: previousObject.hiddenNotices.push( thisNotice.priority, maximumHiddenNoticesMessage from notice-processing-functions.js line 776 previousObject.hiddenNotices.push( thisNotice.priority, maximumHiddenNoticesMessage from notice-processing-functions.js line 792 previousObject.hiddenNotices.push( thisNotice.priority, maximumHiddenNoticesMessage from notice-processing-functions.js line 873 - checkFileResultObject.noticeList.unshift( 982, "File extension is not recognized, so treated as markdown.", filename: filepath, location: ourCFLocation from checkFileContents.js line 119 - checkFileResultObject.noticeList.unshift( 995, "File extension is not recognized, so treated as plain text.", filename: filepath, location: ourCFLocation from checkFileContents.js line 122 - thisRepoCode === 'SN' || thisRepoCode === 'SQ' ? 196 : 996, "Unable to load book package file", username: adjustedUsername, repoCode: thisRepoCode, repoName, filename, location: repoLocation, extra: thisRepoCode ; from checkBookPackage.js line 454 - checkRepoResult.noticeList.push( 997, "Repository doesn’t exist", username, repoCode, repoName, location: givenLocation, extra: repoCode from checkRepo.js line 319 - expectedMarker === 'mt1' ? 921 : 519, "Missing expected USFM line", excerpt: `missing \\$expectedMarker`, location: fileLocation from usfm-text-check.js line 690 - languageCode === 'en' || languageCode === 'fr' ? 490 : 190, "Expected header field to contain a mixed-case string", fieldName: `\\$marker`, excerpt: rest, lineNumber, C, V, location: lineLocation from usfm-text-check.js line 1,395 - marker === 's5' ? 111 : 809, `$marker === 's5' ? 'Deprecated' : 'Unexpected' '\\$marker' marker at start of line`, C, V, lineNumber, characterIndex: 1, location: lineLocation from usfm-text-check.js line 1,433 - line[0] === ' ' || line[0] === '"' ? 180 : 880, C, V, "Expected line to start with backslash", lineNumber: n, characterIndex: 0, excerpt: line[0], location: ourLocation from usfm-text-check.js line 1,573 - C === '1' ? 657 : 457, C, V, "Paragraph marker expected before first verse", lineNumber: n, characterIndex: 1, details: `'\\$marker' after '\\$lastMarker'`, location: ourLocation from usfm-text-check.js line 1,667 + checkFileResultObject.noticeList.unshift( 982, "File extension is not recognized, so treated as markdown.", filename: filepath, location: ourCFLocation from checkFileContents.js line 118 + checkFileResultObject.noticeList.unshift( 995, "File extension is not recognized, so treated as plain text.", filename: filepath, location: ourCFLocation from checkFileContents.js line 121 + thisRepoCode === 'SN' || thisRepoCode === 'SQ' ? 196 : 996, "Unable to load book package file", username: adjustedUsername, repoCode: thisRepoCode, repoName, filename, location: repoLocation, extra: thisRepoCode ; from checkBookPackage.js line 457 + checkRepoResult.noticeList.push( 997, "Repository doesn’t exist", username, repoCode, repoName, location: givenLocation, extra: repoCode from checkRepo.js line 324 + expectedMarker === 'mt1' ? 921 : 519, "Missing expected USFM line", excerpt: `missing \\$expectedMarker`, location: fileLocation from usfm-text-check.js line 698 + languageCode === 'en' || languageCode === 'fr' ? 490 : 190, "Expected header field to contain a mixed-case string", fieldName: `\\$marker`, excerpt: rest, lineNumber, C, V, location: lineLocation from usfm-text-check.js line 1,452 + marker === 's5' ? 111 : 809, `$marker === 's5' ? 'Deprecated' : 'Unexpected' '\\$marker' marker at start of line`, C, V, lineNumber, characterIndex: 1, location: lineLocation from usfm-text-check.js line 1,490 + line[0] === ' ' || line[0] === '"' ? 180 : 880, C, V, "Expected line to start with backslash", lineNumber: n, characterIndex: 0, excerpt: line[0], location: ourLocation from usfm-text-check.js line 1,630 + C === '1' ? 657 : 457, C, V, "Paragraph marker expected before first verse", lineNumber: n, characterIndex: 1, details: `'\\$marker' after '\\$lastMarker’`, location: ourLocation from usfm-text-check.js line 1,724 (punctCharBeingChecked === '—' || punctCharBeingChecked === '/') && fieldType.startsWith('markdown') ? 72 : 192, `Unexpected space after $punctCharBeingChecked$optionalName character`, excerpt, location: ourLocation ; from field-text-check.js line 357 - thisPriority, `Mismatched $leftChar$rightChar characters`, details: `left=$leftCount.toLocaleString(), right=$rightCount.toLocaleString()`, location: ourLocation from field-text-check.js line 502 - thisPriority, thisMessage, excerpt: regexMatchObject[0], location: ourLocation from field-text-check.js line 517 - foundQuoteSegment.indexOf(' ') !== -1 || fullVerseText.search(` $foundQuoteSegment`) === -1 ? 909 : 389, "Seems original language quote might not start at the beginning of a word", details, characterIndex: 0, excerpt, location from orig-quote-check.js line 348 - foundQuoteSegment.indexOf(' ') !== -1 || fullVerseText.search(followingRegex) === -1 ? 908 : 388, "Seems original language quote might not finish at the end of a word", details, characterIndex: foundQuoteSegment.length, excerpt, location from orig-quote-check.js line 368 - languageCode === 'en' ? 237 : 37, "File contains straight double-quote(s)", characterIndex, excerpt, location: ourLocation from plain-text-check.js line 190 - leftChar === '“' ? 162 : 462, `Mismatched $leftChar$rightChar characters`, details: `left=$leftCount.toLocaleString(), right=$rightCount.toLocaleString()`, location: ourLocation from plain-text-check.js line 277 + thisPriority, `Mismatched $leftChar$rightChar characters`, details: `left=$leftCount.toLocaleString(), right=$rightCount.toLocaleString()`, location: ourLocation from field-text-check.js line 505 + thisPriority, thisMessage, excerpt: regexMatchObject[0], location: ourLocation from field-text-check.js line 520 + foundQuoteSegment.indexOf(' ') !== -1 || fullVerseText.search(` $foundQuoteSegment`) === -1 ? 909 : 389, "Seems original language quote might not start at the beginning of a word", details, characterIndex: 0, excerpt, location from orig-quote-check.js line 358 + foundQuoteSegment.indexOf(' ') !== -1 || fullVerseText.search(followingRegex) === -1 ? 908 : 388, "Seems original language quote might not finish at the end of a word", details, characterIndex: foundQuoteSegment.length, excerpt, location from orig-quote-check.js line 378 + languageCode === 'en' ? 237 : 37, "File contains straight double-quote(s)", characterIndex, excerpt, location: ourLocation from plain-text-check.js line 195 + leftChar === '“' ? 162 : 462, `Mismatched $leftChar$rightChar characters`, details: `left=$leftCount.toLocaleString(), right=$rightCount.toLocaleString()`, location: ourLocation from plain-text-check.js line 298 + ['en'].includes(languageCode) ? 197 : 97, "Sentence may not start with capital letter", details, excerpt, location: ourLocation from plain-text-check.js line 310 repoCode === 'SQ' ? 919 : 119, "Missing Quote field", details: `should Occurrence be zero instead of $occurrence`, fieldName: 'Quote', rowID, location: ourRowLocation from questions-tsv7-row-check.js line 424 intV2 < lastintV ? from questions-tsv7-table-check.js line 237 - optionalB1 === 'Song of Solomon' ? from notes-links-check.js line 738 - optionalB1 === 'Song of Solomon' ? from notes-links-check.js line 806 - optionalB1 === 'Song of Solomon' ? from notes-links-check.js line 862 - optionalB1 === 'Song of Solomon' ? from notes-links-check.js line 1,012 - B1 === 'Song of Solomon' ? from notes-links-check.js line 1,070 - optionalB1 === 'Song of Solomon' ? from notes-links-check.js line 1,134 - optionalB1 === 'Song of Solomon' ? from notes-links-check.js line 1,199 - B1 === 'Song of Solomon' ? from notes-links-check.js line 1,253 - B1 === 'Song of Solomon' ? from notes-links-check.js line 1,311 - isUW ? 782 : 182, `Error loading link`, details: "please double-check link—there may be no problem", excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,510 - isUW ? 781 : 181, "Linked web page seems empty", excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,516 + optionalB1 === 'Song of Solomon' ? from notes-links-check.js line 749 + optionalB1 === 'Song of Solomon' ? from notes-links-check.js line 817 + optionalB1 === 'Song of Solomon' ? from notes-links-check.js line 873 + optionalB1 === 'Song of Solomon' ? from notes-links-check.js line 1,023 + B1 === 'Song of Solomon' ? from notes-links-check.js line 1,081 + optionalB1 === 'Song of Solomon' ? from notes-links-check.js line 1,145 + optionalB1 === 'Song of Solomon' ? from notes-links-check.js line 1,210 + B1 === 'Song of Solomon' ? from notes-links-check.js line 1,264 + B1 === 'Song of Solomon' ? from notes-links-check.js line 1,322 + isUW ? 782 : 182, `Error loading link`, details: "please double-check link—there may be no problem", excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,521 + isUW ? 781 : 181, "Linked web page seems empty", excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,527 999, "checkRepo function FAILED", repoName, excerpt: checkRepoError, location: repoName from RepoCheck.js line 144 - 997, "Repository doesn’t exist", username, repoCode, repoName, location: manifestLocation, extra: repoCode from checkBookPackage.js line 200 - 997, "Repository doesn’t exist", username, repoCode, repoName, location: markdownLocation, extra: repoCode from checkBookPackage.js line 265 - 997, "Repository doesn’t exist", username: adjustedUsername, repoCode: thisRepoCode, repoName, location: repoLocation, extra: thisRepoCode from checkBookPackage.js line 452 - 997, "Repository doesn’t exist", details, username, repoCode, repoName, location: generalLocation, extra: repoCode from checkBookPackage.js line 676 - 997, "Repository doesn’t exist", username, repoCode, repoName, location: generalLocation, extra: repoCode from checkBookPackage.js line 701 - 996, "Unable to load file", username, repoName, filename: STANDARD_MANIFEST_FILENAME, location: manifestLocation, extra: repoCode ; from checkBookPackage.js line 202 - 996, "Unable to load file", username, repoName, filename, location: markdownLocation, extra: repoCode ; from checkBookPackage.js line 267 - 996, "Unable to load file", details, bookID, location: generalLocation, extra: repoCode from checkBookPackage.js line 678 - 996, "Unable to load file", username, bookID, C, V, filename: thisPath, location: `$generalLocation $thisPath `, extra: repoCode ; from checkBookPackage.js line 703 - 996, "Unable to load file", username, bookID: ourBookID, filename: thisFilename, location: `$givenLocation $thisFilepath`, extra: repoName ; from checkRepo.js line 321 - 994, "USFM file must start with a valid \\id line", lineNumber: 1, location: ourLocation from usfm-text-check.js line 1,532 + 997, "Repository doesn’t exist", username, repoCode, repoName, location: manifestLocation, extra: repoCode from checkBookPackage.js line 203 + 997, "Repository doesn’t exist", username, repoCode, repoName, location: markdownLocation, extra: repoCode from checkBookPackage.js line 268 + 997, "Repository doesn’t exist", username: adjustedUsername, repoCode: thisRepoCode, repoName, location: repoLocation, extra: thisRepoCode from checkBookPackage.js line 455 + 997, "Repository doesn’t exist", details, username, repoCode, repoName, location: generalLocation, extra: repoCode from checkBookPackage.js line 680 + 997, "Repository doesn’t exist", username, repoCode, repoName, location: generalLocation, extra: repoCode from checkBookPackage.js line 705 + 996, "Unable to load file", username, repoName, filename: STANDARD_MANIFEST_FILENAME, location: manifestLocation, extra: repoCode ; from checkBookPackage.js line 205 + 996, "Unable to load file", username, repoName, filename, location: markdownLocation, extra: repoCode ; from checkBookPackage.js line 270 + 996, "Unable to load file", details, bookID, location: generalLocation, extra: repoCode from checkBookPackage.js line 682 + 996, "Unable to load file", username, bookID, C, V, filename: thisPath, location: `$generalLocation $thisPath `, extra: repoCode ; from checkBookPackage.js line 707 + 996, "Unable to load file", username, bookID: ourBookID, filename: thisFilename, location: `$givenLocation $thisFilepath`, extra: repoName ; from checkRepo.js line 326 + 994, "USFM file must start with a valid \\id line", lineNumber: 1, location: ourLocation from usfm-text-check.js line 1,589 993, "Unresolved GIT conflict", characterIndex, excerpt, location: ourLocation from field-text-check.js line 132 - 993, "Unresolved GIT conflict", characterIndex, excerpt, location: ourLocation from plain-text-check.js line 152 + 993, "Unresolved GIT conflict", characterIndex, excerpt, location: ourLocation from plain-text-check.js line 157 992, "Unresolved GIT conflict", characterIndex, excerpt, location: ourLocation from field-text-check.js line 137 - 992, "Unresolved GIT conflict", characterIndex, excerpt, location: ourLocation from plain-text-check.js line 156 + 992, "Unresolved GIT conflict", characterIndex, excerpt, location: ourLocation from plain-text-check.js line 161 991, "Unresolved GIT conflict", characterIndex, excerpt, location: ourLocation from field-text-check.js line 142 - 991, "Unresolved GIT conflict", characterIndex, excerpt, location: ourLocation from plain-text-check.js line 160 + 991, "Unresolved GIT conflict", characterIndex, excerpt, location: ourLocation from plain-text-check.js line 165 990, "Unable to load file", username, repoName, filename, location: givenLocation ], elapsedSeconds: 0 ; from FileCheck.js line 66 - 989, "Unable to find/load repository", location: ourLocation from checkRepo.js line 222 - 988, "Bad TSV header", details: `expected '$EXPECTED_TN_HEADING_LINE'`, excerpt: lines[0], lineNumber: 1, location: ourLocation from tn-tsv9-table-check.js line 138 - 988, "Bad TSV header", details: `expected '$EXPECTED_TWL_HEADING_LINE'`, excerpt: lines[0], lineNumber: 1, location: ourLocation from twl-tsv6-table-check.js line 130 - 988, "Bad TSV header", details: `expected '$EXPECTED_NOTES_HEADING_LINE'`, excerpt: lines[0], lineNumber: 1, location: ourLocation from notes-tsv7-table-check.js line 131 - 988, "Bad TSV header", details: `expected '$EXPECTED_QUESTIONS_HEADING_LINE'`, excerpt: lines[0], lineNumber: 1, location: ourLocation from questions-tsv7-table-check.js line 130 - 987, C, V, "Expected \\id line to start with book identifier", lineNumber: n, characterIndex: 4, excerpt, location: ourLocation from usfm-text-check.js line 1,651 - 986, "Repository doesn’t seem to exist", username, location: givenLocation, extra: repoName from checkRepo.js line 202 - 985, `Field does not match schema $errorObject.keyword`, details: errorObject.message, fieldName: errorObject.dataPath, location: ourLocation from manifest-text-check.js line 728 + 989, "Unable to find/load repository", location: ourLocation from checkRepo.js line 227 + 988, "Bad TSV header", details: `expected ‘$EXPECTED_TN_HEADING_LINE’`, excerpt: lines[0], lineNumber: 1, location: ourLocation from tn-tsv9-table-check.js line 138 + 988, "Bad TSV header", details: `expected ‘$EXPECTED_TWL_HEADING_LINE’`, excerpt: lines[0], lineNumber: 1, location: ourLocation from twl-tsv6-table-check.js line 130 + 988, "Bad TSV header", details: `expected ‘$EXPECTED_NOTES_HEADING_LINE’`, excerpt: lines[0], lineNumber: 1, location: ourLocation from notes-tsv7-table-check.js line 131 + 988, "Bad TSV header", details: `expected ‘$EXPECTED_QUESTIONS_HEADING_LINE’`, excerpt: lines[0], lineNumber: 1, location: ourLocation from questions-tsv7-table-check.js line 130 + 987, C, V, "Expected USFM \\id line to start with book identifier", details: `expected bookID='$bookID'`, lineNumber: n, characterIndex: 4, excerpt, location: ourLocation from usfm-text-check.js line 1,708 + 986, "Repository doesn’t seem to exist", username, location: givenLocation, extra: repoName from checkRepo.js line 203 + 985, `Field does not match schema $errorObject.keyword`, details: errorObject.message, fieldName: errorObject.dataPath, location: ourLocation from manifest-text-check.js line 731 984, `Found wrong number of TSV fields (expected $NUM_EXPECTED_TWL_TSV_FIELDS)`, details: `found $fields.length field$fields.length === 1 ? '' : 's'`, rowID, location: ourRowLocation from twl-tsv6-row-check.js line 453 984, `Found wrong number of TSV fields (expected $NUM_EXPECTED_TN_TSV_FIELDS)`, details: `found $fields.length field$fields.length === 1 ? '' : 's'`, rowID, location: ourRowLocation from tn-tsv9-row-check.js line 529 984, `Found wrong number of TSV fields (expected $NUM_EXPECTED_QUESTIONS_TSV_FIELDS)`, details: `found $fields.length field$fields.length === 1 ? '' : 's'`, rowID, location: ourRowLocation from questions-tsv7-row-check.js line 522 @@ -71,22 +72,23 @@ Got 635 notices: 983, `Wrong number of tabbed fields (expected $NUM_EXPECTED_TWL_TSV_FIELDS)`, excerpt: `Found $fields.length field$fields.length === 1 ? '' : 's'`, C, V, rowID, lineNumber: n + 1, location: ourLocation from twl-tsv6-table-check.js line 269 983, `Wrong number of tabbed fields (expected $NUM_EXPECTED_NOTES_TSV_FIELDS)`, excerpt: `Found $fields.length field$fields.length === 1 ? '' : 's'`, C, V, rowID, lineNumber: n + 1, location: ourLocation from notes-tsv7-table-check.js line 270 983, `Wrong number of tabbed fields (expected $NUM_EXPECTED_QUESTIONS_TSV_FIELDS)`, excerpt: `Found $fields.length field$fields.length === 1 ? '' : 's'`, C, V, rowID, lineNumber: n + 1, location: ourLocation from questions-tsv7-table-check.js line 274 + 980, "Unexpected repo name", details: `expected ‘g$repoNamePart2.slice(1)’`, excerpt: repoNamePart2, location: ourLocation from checkRepo.js line 218 979, "Invalid book identifier passed to checkTWL_TSV6DataRow", location: ` '$bookID' in first parameter: $tlcNCerror` from twl-tsv6-row-check.js line 264 979, "Invalid book identifier passed to checkTN_TSV9DataRow", location: ` '$bookID' in first parameter: $tlcNCerror` from tn-tsv9-row-check.js line 308 979, "Invalid book identifier passed to checkQuestionsTSV7DataRow", location: ` '$bookID' in first parameter: $tlcNCerror` from questions-tsv7-row-check.js line 275 979, "Invalid book identifier passed to checkNotesTSV7DataRow", location: ` '$bookID' in first parameter: $tlcNCerror` from notes-tsv7-row-check.js line 302 - 978, "Wrong book identifier", details: `expected '$bookID'`, fieldName: 'Book', rowID, excerpt: B, location: ourRowLocation from tn-tsv9-row-check.js line 321 + 978, "Wrong book identifier", details: `expected ‘$bookID’`, fieldName: 'Book', rowID, excerpt: B, location: ourRowLocation from tn-tsv9-row-check.js line 321 977, "Missing book identifier", characterIndex: 0, rowID, location: ourRowLocation from tn-tsv9-row-check.js line 324 - 976, "Wrong chapter number", details: `expected '$givenC'`, fieldName: 'Reference', rowID, excerpt: C, location: ourRowLocation from twl-tsv6-row-check.js line 283 - 976, "Wrong chapter number", details: `expected '$givenC'`, fieldName: 'Chapter', rowID, excerpt: C, location: ourRowLocation from tn-tsv9-row-check.js line 329 - 976, "Wrong chapter number", details: `expected '$givenC'`, fieldName: 'Reference', rowID, excerpt: C, location: ourRowLocation from questions-tsv7-row-check.js line 298 - 976, "Wrong chapter number", details: `expected '$givenC'`, fieldName: 'Reference', rowID, excerpt: C, location: ourRowLocation from notes-tsv7-row-check.js line 321 - 975, "Wrong verse number", details: `expected '$givenV'`, rowID, fieldName: 'Reference', excerpt: V, location: ourRowLocation from twl-tsv6-row-check.js line 319 - 975, "Wrong verse number", details: `expected '$givenV'`, rowID, fieldName: 'Verse', excerpt: V, location: ourRowLocation from tn-tsv9-row-check.js line 361 - 975, "Wrong verse number", details: `expected '$givenV'`, rowID, fieldName: 'Reference', excerpt: V, location: ourRowLocation from questions-tsv7-row-check.js line 336 - 975, "Wrong verse number", details: `expected '$givenV' to be inside range`, rowID, fieldName: 'Reference', excerpt: V, location: ourRowLocation from questions-tsv7-row-check.js line 359 - 975, "Wrong verse number", details: `expected '$givenV'`, rowID, fieldName: 'Reference', excerpt: V, location: ourRowLocation from notes-tsv7-row-check.js line 357 - 973, `Mismatched $opener$closer fields`, details: `(opening=$lCount.toLocaleString(), closing=$rCount.toLocaleString())`, excerpt: rest, lineNumber, C, V, location: lineLocation from usfm-text-check.js line 1,404 + 976, "Wrong chapter number", details: `expected ‘$givenC’`, fieldName: 'Reference', rowID, excerpt: C, location: ourRowLocation from twl-tsv6-row-check.js line 283 + 976, "Wrong chapter number", details: `expected ‘$givenC’`, fieldName: 'Chapter', rowID, excerpt: C, location: ourRowLocation from tn-tsv9-row-check.js line 329 + 976, "Wrong chapter number", details: `expected ‘$givenC’`, fieldName: 'Reference', rowID, excerpt: C, location: ourRowLocation from questions-tsv7-row-check.js line 298 + 976, "Wrong chapter number", details: `expected ‘$givenC’`, fieldName: 'Reference', rowID, excerpt: C, location: ourRowLocation from notes-tsv7-row-check.js line 321 + 975, "Wrong verse number", details: `expected ‘$givenV’`, rowID, fieldName: 'Reference', excerpt: V, location: ourRowLocation from twl-tsv6-row-check.js line 319 + 975, "Wrong verse number", details: `expected ‘$givenV’`, rowID, fieldName: 'Verse', excerpt: V, location: ourRowLocation from tn-tsv9-row-check.js line 361 + 975, "Wrong verse number", details: `expected ‘$givenV’`, rowID, fieldName: 'Reference', excerpt: V, location: ourRowLocation from questions-tsv7-row-check.js line 336 + 975, "Wrong verse number", details: `expected ‘$givenV' to be inside range`, rowID, fieldName: 'Reference', excerpt: V, location: ourRowLocation from questions-tsv7-row-check.js line 359 + 975, "Wrong verse number", details: `expected ‘$givenV’`, rowID, fieldName: 'Reference', excerpt: V, location: ourRowLocation from notes-tsv7-row-check.js line 357 + 973, `Mismatched $opener$closer fields`, details: `(opening=$lCount.toLocaleString(), closing=$rCount.toLocaleString())`, excerpt: rest, lineNumber, C, V, location: lineLocation from usfm-text-check.js line 1,461 971, "Unexpected line break in single-line field", fieldName: 'GLQuote', rowID, characterIndex: characterIndex, excerpt, location: ourRowLocation from twl-tsv6-row-check.js line 362 971, "Unexpected line break in single-line field", fieldName: 'GLQuote', rowID, characterIndex: characterIndex, excerpt, location: ourRowLocation from twl-tsv6-row-check.js line 374 971, "Unexpected line break in single-line field", fieldName: 'GLQuote', rowID, characterIndex: characterIndex, excerpt, location: ourRowLocation from twl-tsv6-row-check.js line 389 @@ -101,20 +103,20 @@ Got 635 notices: 971, "Unexpected line break in single-line field", fieldName: 'GLQuote', rowID, characterIndex, excerpt, location: ourRowLocation from notes-tsv7-row-check.js line 414 971, "Unexpected line break in single-line field", fieldName: 'GLQuote', rowID, characterIndex: characterIndex, excerpt, location: ourRowLocation from notes-tsv7-row-check.js line 442 971, "Unexpected line break in single-line field", fieldName: 'GLQuote', rowID, characterIndex: characterIndex, excerpt, location: ourRowLocation from notes-tsv7-row-check.js line 457 - 956, "Got empty manifest file", repoName, filename: STANDARD_MANIFEST_FILENAME, location: manifestLocation, extra: `$repoCode MANIFEST` from checkBookPackage.js line 226 - 956, "Got empty markdown file", repoName, filename, location: markdownLocation, extra: repoCode from checkBookPackage.js line 301 - 950, "tC cannot yet process '*' language code", characterIndex, excerpt, location: ourLocation from notes-links-check.js line 367 - 950, "tC cannot yet process '*' language code", characterIndex, excerpt, location: ourLocation from notes-links-check.js line 580 - 947, "Missing manifest.yaml", location: ourLocation, extra: `$repoName MANIFEST` from checkRepo.js line 350 - 946, "Missing LICENSE.md", location: ourLocation, extra: `$repoName LICENSE` from checkRepo.js line 348 + 956, "Got empty manifest file", repoName, filename: STANDARD_MANIFEST_FILENAME, location: manifestLocation, extra: `$repoCode MANIFEST` from checkBookPackage.js line 229 + 956, "Got empty markdown file", repoName, filename, location: markdownLocation, extra: repoCode from checkBookPackage.js line 304 + 950, "tC cannot yet process '*' language code", characterIndex, excerpt, location: ourLocation from notes-links-check.js line 378 + 950, "tC cannot yet process '*' language code", characterIndex, excerpt, location: ourLocation from notes-links-check.js line 591 + 947, "Missing manifest.yaml", location: ourLocation, extra: `$repoName MANIFEST` from checkRepo.js line 355 + 946, "Missing LICENSE.md", location: ourLocation, extra: `$repoName LICENSE` from checkRepo.js line 353 944, `USFM3 Grammar Check ($strictnessString mode) doesn’t pass`, filename, location: ourLocation from BCS-usfm-grammar-check.js line 233 943, `USFM3 toJSON Check doesn’t pass`, location: ourLocation from usfm-js-check.js line 95 - 939, "Key is missing for project", details: keyName, excerpt: JSON.stringify(projectEntry), location: ourLocation from manifest-text-check.js line 743 - 938, `Unable to find project file mentioned in manifest`, excerpt: projectFilepath, location: ourLocation from manifest-text-check.js line 768 - 937, `Linked project file seems empty`, excerpt: projectFilepath, location: ourLocation from manifest-text-check.js line 770 - 936, `Error loading manifest project link`, details: trcGCerror, excerpt: projectFilepath, location: ourLocation from manifest-text-check.js line 772 - 934, "'language' key or 'idenfier' subkey is missing", location: ourLocation from manifest-text-check.js line 698 - 933, "Manifest' language' 'identifier' doesn’t match", details: `expected '$languageCode' but manifest has '$languageIdentifier'`, location: ourLocation from manifest-text-check.js line 695 + 939, "Key is missing for project", details: keyName, excerpt: JSON.stringify(projectEntry), location: ourLocation from manifest-text-check.js line 746 + 938, `Unable to find project file mentioned in manifest`, excerpt: projectFilepath, location: ourLocation from manifest-text-check.js line 771 + 937, `Linked project file seems empty`, excerpt: projectFilepath, location: ourLocation from manifest-text-check.js line 773 + 936, `Error loading manifest project link`, details: trcGCerror, excerpt: projectFilepath, location: ourLocation from manifest-text-check.js line 775 + 934, "'language' key or 'idenfier' subkey is missing", location: ourLocation from manifest-text-check.js line 701 + 933, "Manifest' language' 'identifier' doesn’t match", details: `expected ‘$languageCode’ but manifest has ‘$languageIdentifier’`, location: ourLocation from manifest-text-check.js line 698 932, C, V, "Missing row ID", fieldName: 'ID', lineNumber: n + 1, location: ourLocation from tn-tsv9-table-check.js line 250 932, C, V, "Missing row ID", fieldName: 'ID', lineNumber: n + 1, location: ourLocation from twl-tsv6-table-check.js line 254 932, C, V, "Missing row ID", fieldName: 'ID', lineNumber: n + 1, location: ourLocation from notes-tsv7-table-check.js line 255 @@ -123,127 +125,127 @@ Got 635 notices: 931, "Missing row ID field", fieldName: 'Verse', location: ourRowLocation from tn-tsv9-row-check.js line 382 931, "Missing row ID field", fieldName: 'Reference', location: ourRowLocation from questions-tsv7-row-check.js line 380 931, "Missing row ID field", fieldName: 'Reference', location: ourRowLocation from notes-tsv7-row-check.js line 378 - 930, "'relation' key is missing", location: ourLocation from manifest-text-check.js line 809 - 929, "'projects' key is missing", location: ourLocation from manifest-text-check.js line 681 - 928, "'dublin_core' key is missing", location: ourLocation from manifest-text-check.js line 679 + 930, "'relation' key is missing", location: ourLocation from manifest-text-check.js line 812 + 929, "'projects' key is missing", location: ourLocation from manifest-text-check.js line 684 + 928, "'dublin_core' key is missing", location: ourLocation from manifest-text-check.js line 682 920, yamlError.message, location: ourLocation ) from yaml-text-check.js line 195 919, "Missing OrigWords field", details: `should Occurrence be zero instead of $occurrence`, fieldName: 'OrigWords', rowID, location: ourRowLocation from twl-tsv6-row-check.js line 384 - 919, "Missing OrigQuote field", details: `should Occurrence be zero instead of $occurrence with SR='$supportReference'`, fieldName: 'OrigQuote', rowID, location: ourRowLocation from tn-tsv9-row-check.js line 442 - 919, "Missing Quote field", details: `should Occurrence be zero instead of $occurrence with SR='$supportReference'`, fieldName: 'Quote', rowID, location: ourRowLocation from notes-tsv7-row-check.js line 452 - 918, `Seems like the wrong divider for discontiguous quote segments`, details: `expected ◗$discontiguousDivider◖`, characterIndex, excerpt, location: ourLocation from orig-quote-check.js line 600 - 917, "Unable to find duplicate original language quote in verse text", details: `occurrence=$occurrenceString but $actualOccurrencesText occurrence$actualNumOccurrences === 1 ? '' : 's' found, passage ◗$verseText◖`, excerpt, location: ourLocation from orig-quote-check.js line 715 - 917, "Unable to find duplicate original language quote in verse text", details: `occurrence=$occurrenceString but $actualOccurrencesText occurrence$actualNumOccurrences === 1 ? '' : 's' found, passage ◗$verseText◖`, excerpt, location: ourLocation from orig-quote-check.js line 783 - 916, "Unable to find original language quote in verse text", details: "quote which starts with a space" + (noBreakSpaceText ? ' ' + noBreakSpaceText : ''), excerpt, location: warnLocationString from orig-quote-check.js line 528 - 916, "Unable to find original language quote in verse text", details: "quote which ends with a space" + (noBreakSpaceText ? ' ' + noBreakSpaceText : ''), excerpt, location: warnLocationString from orig-quote-check.js line 531 - 916, "Unable to find original language quote in verse text", details: "quote which starts with word joiner (u2060) character'" + (noBreakSpaceText ? ' ' + noBreakSpaceText : ''), excerpt, location: warnLocationString from orig-quote-check.js line 534 - 916, "Unable to find original language quote in verse text", details: "quote which ends with word joiner (u2060) character" + (noBreakSpaceText ? ' ' + noBreakSpaceText : ''), excerpt, location: warnLocationString from orig-quote-check.js line 537 - 916, "Unable to find original language quote in verse text", details: "quote which starts with zero-width space (u200B) character" + (noBreakSpaceText ? ' ' + noBreakSpaceText : ''), excerpt, location: warnLocationString from orig-quote-check.js line 540 - 916, "Unable to find original language quote in verse text", details: "quote which ends with zero-width space (u200B) character" + (noBreakSpaceText ? ' ' + noBreakSpaceText : ''), excerpt, location: warnLocationString from orig-quote-check.js line 543 - 916, "Unable to find original language quote in verse text", details: "quote which starts with zero-width joiner (u200D) character" + (noBreakSpaceText ? ' ' + noBreakSpaceText : ''), excerpt, location: warnLocationString from orig-quote-check.js line 546 - 916, "Unable to find original language quote in verse text", details: "quote which ends with zero-width joiner (u200D) character" + (noBreakSpaceText ? ' ' + noBreakSpaceText : ''), excerpt, location: warnLocationString from orig-quote-check.js line 549 - 916, "Unable to find original language quote in verse text", details: noBreakSpaceText ? noBreakSpaceText : `verse text ◗$fullVerseTextString◖`, excerpt, location: warnLocationString from orig-quote-check.js line 558 - 914, "Unable to find original language quote portion in the right place in the verse text", details: `verse text ◗$verseText◖`, excerpt, location: ourLocation from orig-quote-check.js line 692 - 914, "Unable to find original language quote portion in the right place in the verse text", details: `verse text ◗$verseText◖`, excerpt, location: ourLocation from orig-quote-check.js line 758 - 912, 'Missing | character in \\w line', lineNumber, C, V, characterIndex, excerpt, location: lineLocation from usfm-text-check.js line 835 - 911, 'Missing | character in \\w field', details, lineNumber, C, V, characterIndex, excerpt, location: lineLocation from usfm-text-check.js line 893 - 911, 'Missing | character in \\+w field', details, lineNumber, C, V, characterIndex, excerpt, location: lineLocation from usfm-text-check.js line 914 - 909, "Seems original language quote might not start at the beginning of a word", details: `It seems to follow '$possibleOffendingChar' in verse text ◗$fullVerseTextString◖`, characterIndex: 0, excerpt, location: warnLocationString from orig-quote-check.js line 552 - 908, "Seems original language quote might not finish at the end of a word", details: `It seems to precede '$possibleOffendingChar' in verse text ◗$fullVerseTextString◖`, characterIndex: 0, excerpt, location: warnLocationString from orig-quote-check.js line 555 - 905, "Unexpected Hebrew cantillation mark in lemma field", details: `found $regexMatchObject.length '$regexMatchObject'`, lineNumber, C, V, excerpt: attributeValue, location: lineLocation from usfm-text-check.js line 1,085 - 904, "Unexpected Hebrew cantillation mark in original language field", details: `found $match.length '$match'`, C, V, excerpt: fieldText, location: ourLocation from orig-quote-check.js line 587 - 903, "Bad function call: should be given a valid book abbreviation", excerpt: bookID, location: ourLocation from usfm-text-check.js line 1,505 - 902, "Bad function call: should be given a valid book abbreviation", excerpt: bookID, location: ` (not '$bookID')$generalLocation` ); return checkBookPackageResult; from checkBookPackage.js line 332 + 919, "Missing OrigQuote field", details: `should Occurrence be zero instead of $occurrence with SR=‘$supportReference’`, fieldName: 'OrigQuote', rowID, location: ourRowLocation from tn-tsv9-row-check.js line 442 + 919, "Missing Quote field", details: `should Occurrence be zero instead of $occurrence with SR=‘$supportReference’`, fieldName: 'Quote', rowID, location: ourRowLocation from notes-tsv7-row-check.js line 452 + 918, `Seems like the wrong divider for discontiguous quote segments`, details: `expected ◗$discontiguousDivider◖`, characterIndex, excerpt, location: ourLocation from orig-quote-check.js line 610 + 917, "Unable to find duplicate original language quote in verse text", details: `occurrence=$occurrenceString but $actualOccurrencesText occurrence$actualNumOccurrences === 1 ? '' : 's' found, passage ◗$verseText◖`, excerpt, location: ourLocation from orig-quote-check.js line 725 + 917, "Unable to find duplicate original language quote in verse text", details: `occurrence=$occurrenceString but $actualOccurrencesText occurrence$actualNumOccurrences === 1 ? '' : 's' found, passage ◗$verseText◖`, excerpt, location: ourLocation from orig-quote-check.js line 793 + 916, "Unable to find original language quote in verse text", details: "quote which starts with a space" + (noBreakSpaceText ? ' ' + noBreakSpaceText : ''), excerpt, location: warnLocationString from orig-quote-check.js line 538 + 916, "Unable to find original language quote in verse text", details: "quote which ends with a space" + (noBreakSpaceText ? ' ' + noBreakSpaceText : ''), excerpt, location: warnLocationString from orig-quote-check.js line 541 + 916, "Unable to find original language quote in verse text", details: "quote which starts with word joiner (u2060) character'" + (noBreakSpaceText ? ' ' + noBreakSpaceText : ''), excerpt, location: warnLocationString from orig-quote-check.js line 544 + 916, "Unable to find original language quote in verse text", details: "quote which ends with word joiner (u2060) character" + (noBreakSpaceText ? ' ' + noBreakSpaceText : ''), excerpt, location: warnLocationString from orig-quote-check.js line 547 + 916, "Unable to find original language quote in verse text", details: "quote which starts with zero-width space (u200B) character" + (noBreakSpaceText ? ' ' + noBreakSpaceText : ''), excerpt, location: warnLocationString from orig-quote-check.js line 550 + 916, "Unable to find original language quote in verse text", details: "quote which ends with zero-width space (u200B) character" + (noBreakSpaceText ? ' ' + noBreakSpaceText : ''), excerpt, location: warnLocationString from orig-quote-check.js line 553 + 916, "Unable to find original language quote in verse text", details: "quote which starts with zero-width joiner (u200D) character" + (noBreakSpaceText ? ' ' + noBreakSpaceText : ''), excerpt, location: warnLocationString from orig-quote-check.js line 556 + 916, "Unable to find original language quote in verse text", details: "quote which ends with zero-width joiner (u200D) character" + (noBreakSpaceText ? ' ' + noBreakSpaceText : ''), excerpt, location: warnLocationString from orig-quote-check.js line 559 + 916, "Unable to find original language quote in verse text", details: noBreakSpaceText ? noBreakSpaceText : `verse text ◗$fullVerseTextString◖`, excerpt, location: warnLocationString from orig-quote-check.js line 568 + 914, "Unable to find original language quote portion in the right place in the verse text", details: `verse text ◗$verseText◖`, excerpt, location: ourLocation from orig-quote-check.js line 702 + 914, "Unable to find original language quote portion in the right place in the verse text", details: `verse text ◗$verseText◖`, excerpt, location: ourLocation from orig-quote-check.js line 768 + 912, 'Missing | character in \\w line', lineNumber, C, V, characterIndex, excerpt, location: lineLocation from usfm-text-check.js line 853 + 911, 'Missing | character in \\w field', details, lineNumber, C, V, characterIndex, excerpt, location: lineLocation from usfm-text-check.js line 911 + 911, 'Missing | character in \\+w field', details, lineNumber, C, V, characterIndex, excerpt, location: lineLocation from usfm-text-check.js line 932 + 909, "Seems original language quote might not start at the beginning of a word", details: `It seems to follow '$possibleOffendingChar' in verse text ◗$fullVerseTextString◖`, characterIndex: 0, excerpt, location: warnLocationString from orig-quote-check.js line 562 + 908, "Seems original language quote might not finish at the end of a word", details: `It seems to precede '$possibleOffendingChar' in verse text ◗$fullVerseTextString◖`, characterIndex: 0, excerpt, location: warnLocationString from orig-quote-check.js line 565 + 905, "Unexpected Hebrew cantillation mark in lemma field", details: `found $regexMatchObject.length ‘$regexMatchObject’`, lineNumber, C, V, excerpt: attributeValue, location: lineLocation from usfm-text-check.js line 1,103 + 904, "Unexpected Hebrew cantillation mark in original language field", details: `found $match.length '$match’`, C, V, excerpt: fieldText, location: ourLocation from orig-quote-check.js line 597 + 903, "Bad function call: should be given a valid book abbreviation", excerpt: bookID, location: ourLocation from usfm-text-check.js line 1,562 + 902, "Bad function call: should be given a valid book abbreviation", excerpt: bookID, location: ` (not '$bookID')$generalLocation` ); return checkBookPackageResult; from checkBookPackage.js line 335 901, "Unexpected reference field", details: "expected C:V", fieldName: 'Reference', rowID, excerpt: reference, location: ourRowLocation from questions-tsv7-row-check.js line 293 900, "Bad parameter: should be given a valid book abbreviation", excerpt: bookIDList, location: ` (not '$bookIDList')` from checkBookPackages.js line 79 - 899, C, V, "Have USFM text not in a paragraph", lineNumber: n, characterIndex: 1, details: `'\\$lastMarker' before '\\$marker'`, location: ourLocation from usfm-text-check.js line 1,669 + 899, C, V, "Have USFM text not in a paragraph", lineNumber: n, characterIndex: 1, details: `'\\$lastMarker' before '\\$marker’`, location: ourLocation from usfm-text-check.js line 1,726 898, "Unexpected typographical double-quote character", characterIndex, excerpt, location: ourLocation from yaml-text-check.js line 137 895, "Field contains zero-width space(s)", details: `$charCount occurrence$charCount === 1 ? '' : 's' found`, characterIndex, excerpt, location: ourLocation from field-text-check.js line 119 889, "Unable to find linked TA article", details: `linked from TN $fieldName`, excerpt: fieldText, location: `$ourLocation $filepath` from ta-reference-check.js line 115 889, "Unable to find/load linked TA article", details: `linked from TN $fieldName`, excerpt: fieldText, location: `$ourLocation $filepath` from ta-reference-check.js line 125 888, "Error loading linked TA article", details: `linked from TN $fieldName`, excerpt: fieldText, location: `$ourLocation $filepath: $trcGCerror` from ta-reference-check.js line 130 887, "Linked TA article seems empty", details: `linked from TN $fieldName`, excerpt: fieldText, location: `$ourLocation $filepath` from ta-reference-check.js line 127 - 886, "Unable to find linked TA article", details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 385 - 886, "Unable to find/load linked TA article", details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 399 - 886, "Unable to find linked TA article", details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 459 - 886, "Unable to find/load linked TA article", details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 473 - 886, "Unable to find linked TA article", details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 522 - 886, "Unable to find/load linked TA article", details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 536 - 886, "Unable to find linked TA article", details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 598 - 886, "Unable to find/load linked TA article", details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 613 - 886, "Unable to find/load linked TA article", details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: `$ourLocation $filepath` from notes-links-check.js line 1,455 - 885, `Error loading TA article`, details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: `$ourLocation $filepath: $trcGCerror` from notes-links-check.js line 394 - 885, `Error loading TA article`, details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: `$ourLocation $filepath: $trcGCerror` from notes-links-check.js line 468 - 885, `Error loading TA article`, details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: `$ourLocation $filepath: $trcGCerror` from notes-links-check.js line 531 - 885, `Error loading TA article`, details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: `$ourLocation $filepath: $trcGCerror` from notes-links-check.js line 608 - 885, `Error loading TA article`, details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: `$ourLocation $filepath: $trcGCerror` from notes-links-check.js line 1,450 - 884, `TA article seems empty`, details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 401 - 884, "Linked TA article seems empty", details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 475 - 884, "Linked TA article seems empty", details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 538 - 884, "Linked TA article seems empty", details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 615 - 884, "Linked TA article seems empty", details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: `$ourLocation $filepath` from notes-links-check.js line 1,457 - 883, "Unable to find linked TW article", details: `$twRepoUsername $twRepoName $twRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 309 - 883, "Unable to find/load linked TW article", details: `$twRepoUsername $twRepoName $twRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 321 - 883, "Unable to find linked TW article", details: `$twRepoUsername $twRepoName $twRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 670 - 883, "Unable to find/load linked TW article", details: `$twRepoUsername $twRepoName $twRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 683 - 882, `Error loading TW article`, details: `$twRepoUsername $twRepoName $twRepoBranch $filepath`, excerpt: totalLink, location: `$ourLocation $filepath: $trcGCerror` from notes-links-check.js line 318 - 882, `Error loading TW article`, details: `$twRepoUsername $twRepoName $twRepoBranch $filepath: $trcGCerror`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 680 - 881, `TW article seems empty`, details: `$twRepoUsername $twRepoName $twRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 324 - 881, `TW article seems empty`, details: `$twRepoUsername $twRepoName $twRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 686 + 886, "Unable to find linked TA article", details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 396 + 886, "Unable to find/load linked TA article", details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 410 + 886, "Unable to find linked TA article", details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 470 + 886, "Unable to find/load linked TA article", details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 484 + 886, "Unable to find linked TA article", details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 533 + 886, "Unable to find/load linked TA article", details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 547 + 886, "Unable to find linked TA article", details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 609 + 886, "Unable to find/load linked TA article", details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 624 + 886, "Unable to find/load linked TA article", details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: `$ourLocation $filepath` from notes-links-check.js line 1,466 + 885, `Error loading TA article`, details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: `$ourLocation $filepath: $trcGCerror` from notes-links-check.js line 405 + 885, `Error loading TA article`, details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: `$ourLocation $filepath: $trcGCerror` from notes-links-check.js line 479 + 885, `Error loading TA article`, details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: `$ourLocation $filepath: $trcGCerror` from notes-links-check.js line 542 + 885, `Error loading TA article`, details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: `$ourLocation $filepath: $trcGCerror` from notes-links-check.js line 619 + 885, `Error loading TA article`, details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: `$ourLocation $filepath: $trcGCerror` from notes-links-check.js line 1,461 + 884, `TA article seems empty`, details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 412 + 884, "Linked TA article seems empty", details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 486 + 884, "Linked TA article seems empty", details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 549 + 884, "Linked TA article seems empty", details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 626 + 884, "Linked TA article seems empty", details: `$taRepoUsername $taRepoName $taRepoBranch $filepath`, excerpt: totalLink, location: `$ourLocation $filepath` from notes-links-check.js line 1,468 + 883, "Unable to find linked TW article", details: `$twRepoUsername $twRepoName $twRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 320 + 883, "Unable to find/load linked TW article", details: `$twRepoUsername $twRepoName $twRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 332 + 883, "Unable to find linked TW article", details: `$twRepoUsername $twRepoName $twRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 681 + 883, "Unable to find/load linked TW article", details: `$twRepoUsername $twRepoName $twRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 694 + 882, `Error loading TW article`, details: `$twRepoUsername $twRepoName $twRepoBranch $filepath`, excerpt: totalLink, location: `$ourLocation $filepath: $trcGCerror` from notes-links-check.js line 329 + 882, `Error loading TW article`, details: `$twRepoUsername $twRepoName $twRepoBranch $filepath: $trcGCerror`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 691 + 881, `TW article seems empty`, details: `$twRepoUsername $twRepoName $twRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 335 + 881, `TW article seems empty`, details: `$twRepoUsername $twRepoName $twRepoBranch $filepath`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 697 879, `Badly formatted Resource Container link`, excerpt: fieldText, location: `$ourLocation $filepath` from ta-reference-check.js line 101 878, `Lexicon entry seems empty`, details: `$username $repoName $repoBranch $lexiconPathname`, excerpt: fieldText, location: ourLocation from strongs-field-check.js line 272 - 875, "Unexpected USFM field", details, lineNumber, C, V, excerpt, location: lineLocation from usfm-text-check.js line 960 - 873, `Mismatched $opener$closer fields`, details: `(opening=$lCount.toLocaleString(), closing=$rCount.toLocaleString())`, location: fileLocation from usfm-text-check.js line 679 - 869, "Chapter number out of range", C: chapterNumberString, excerpt: `$bookID $chapterNumberString`, location: CVlocation from usfm-text-check.js line 509 - 868, "Verse number out of range", C: chapterNumberString, V: verseNumberString, excerpt: `$bookID $chapterNumberString:$verseNumberString`, location: CVlocation from usfm-text-check.js line 548 - 867, C: chapterNumberString, V: `$v`, "Verse appears to be missing", location: CVlocation from usfm-text-check.js line 562 - 866, C: chapterNumberString, V: `$v`, "Verse seems to have no text", location: CVlocation from usfm-text-check.js line 567 - 865, "Unexpected Hebrew character before shin/sin dot", details: `found $regexMatchObject.length '$regexMatchObject'`, lineNumber, C, V, characterIndex, excerpt, location: lineLocation from usfm-text-check.js line 733 - 864, "Unexpected Hebrew dagesh after vowel", details: `found $regexMatchObject.length '$regexMatchObject'`, lineNumber, C, V, characterIndex, excerpt, location: lineLocation from usfm-text-check.js line 739 - 863, "Unexpected Hebrew character before dagesh or mappiq", details: `found $regexMatchObject.length '$regexMatchObject'`, lineNumber, C, V, characterIndex, excerpt, location: lineLocation from usfm-text-check.js line 745 - 862, "Unexpected Hebrew cantillation mark before dagesh", details: `found $regexMatchObject.length '$regexMatchObject'`, lineNumber, C, V, characterIndex, excerpt, location: lineLocation from usfm-text-check.js line 751 - 861, "Unexpected Hebrew vowel after cantillation mark", details: `found $regexMatchObject.length '$regexMatchObject'`, lineNumber, C, V, characterIndex, excerpt, location: lineLocation from usfm-text-check.js line 764 - 860, "Unexpected Hebrew final consonant not at word end", details: `found $regexMatchObject.length '$regexMatchObject'`, lineNumber, C, V, characterIndex, excerpt, location: lineLocation from usfm-text-check.js line 774 - 859, `Unexpected unclosed paired punctuation at beginning of quote`, details: `Found '$fieldText[0]' at start, but no matching '$expected_closing_char'`, characterIndex: 0, excerpt, location: ourLocation from orig-quote-check.js line 614 - 858, `Unexpected unopened paired punctuation at end of quote`, details: `Found '$fieldText.slice(-1)' at end, but no matching '$expected_opening_char'`, characterIndex: fieldText.length - 1, excerpt, location: ourLocation from orig-quote-check.js line 621 - 857, "Unexpected first original \\w attribute", details: "expected 'lemma'", lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,063 - 856, "Unexpected second original \\w attribute", details: "expected 'strong'", lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,066 - 855, "Unexpected third original \\w attribute", details: "expected 'x-morph'", lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,069 - 854, "Unexpected fourth original \\w attribute", details: "expected 'x-tw'", lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,072 - 854, "Unexpected fifth original \\w attribute", details: "expected second 'x-tw'", lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,075 - 854, "Unexpected sixth original \\w attribute", details: "expected third 'x-tw'", lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,078 - 853, "Unexpected extra original \\w attribute", details, lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,080 - 852, "Unexpected original \\w x-morph language prefix", details: "Expected 'He,' 'Ar,' or 'Gr,'", lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,090 - 851, bookID === 'OBS' ? "Unable to load original OBS story text" : "Unable to load original language verse text", location: ourLocation from orig-quote-check.js line 661 + 875, "Unexpected USFM field", details, lineNumber, C, V, excerpt, location: lineLocation from usfm-text-check.js line 978 + 873, `Mismatched $opener$closer fields`, details: `(opening=$lCount.toLocaleString(), closing=$rCount.toLocaleString())`, location: fileLocation from usfm-text-check.js line 686 + 869, "Chapter number out of range", C: chapterNumberString, excerpt: `$bookID $chapterNumberString`, location: CVlocation from usfm-text-check.js line 511 + 868, "Verse number out of range", C: chapterNumberString, V: verseNumberString, excerpt: `$bookID $chapterNumberString:$verseNumberString`, location: CVlocation from usfm-text-check.js line 550 + 867, C: chapterNumberString, V: `$v`, "Verse appears to be missing", location: CVlocation from usfm-text-check.js line 564 + 866, C: chapterNumberString, V: `$v`, "Verse seems to have no text", location: CVlocation from usfm-text-check.js line 569 + 865, "Unexpected Hebrew character before shin/sin dot", details: `found $regexMatchObject.length ‘$regexMatchObject’`, lineNumber, C, V, characterIndex, excerpt, location: lineLocation from usfm-text-check.js line 751 + 864, "Unexpected Hebrew dagesh after vowel", details: `found $regexMatchObject.length ‘$regexMatchObject’`, lineNumber, C, V, characterIndex, excerpt, location: lineLocation from usfm-text-check.js line 757 + 863, "Unexpected Hebrew character before dagesh or mappiq", details: `found $regexMatchObject.length ‘$regexMatchObject’`, lineNumber, C, V, characterIndex, excerpt, location: lineLocation from usfm-text-check.js line 763 + 862, "Unexpected Hebrew cantillation mark before dagesh", details: `found $regexMatchObject.length ‘$regexMatchObject’`, lineNumber, C, V, characterIndex, excerpt, location: lineLocation from usfm-text-check.js line 769 + 861, "Unexpected Hebrew vowel after cantillation mark", details: `found $regexMatchObject.length ‘$regexMatchObject’`, lineNumber, C, V, characterIndex, excerpt, location: lineLocation from usfm-text-check.js line 782 + 860, "Unexpected Hebrew final consonant not at word end", details: `found $regexMatchObject.length ‘$regexMatchObject’`, lineNumber, C, V, characterIndex, excerpt, location: lineLocation from usfm-text-check.js line 792 + 859, `Unexpected unclosed paired punctuation at beginning of quote`, details: `Found '$fieldText[0]' at start, but no matching '$expected_closing_char’`, characterIndex: 0, excerpt, location: ourLocation from orig-quote-check.js line 624 + 858, `Unexpected unopened paired punctuation at end of quote`, details: `Found '$fieldText.slice(-1)' at end, but no matching '$expected_opening_char’`, characterIndex: fieldText.length - 1, excerpt, location: ourLocation from orig-quote-check.js line 631 + 857, "Unexpected first original \\w attribute", details: "expected 'lemma'", lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,081 + 856, "Unexpected second original \\w attribute", details: "expected 'strong'", lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,084 + 855, "Unexpected third original \\w attribute", details: "expected 'x-morph'", lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,087 + 854, "Unexpected fourth original \\w attribute", details: "expected 'x-tw'", lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,090 + 854, "Unexpected fifth original \\w attribute", details: "expected second 'x-tw'", lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,093 + 854, "Unexpected sixth original \\w attribute", details: "expected third 'x-tw'", lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,096 + 853, "Unexpected extra original \\w attribute", details, lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,098 + 852, "Unexpected original \\w x-morph language prefix", details: "Expected 'He,' 'Ar,' or 'Gr,'", lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,108 + 851, bookID === 'OBS' ? "Unable to load original OBS story text" : "Unable to load original language verse text", location: ourLocation from orig-quote-check.js line 671 850, "Unable to find lexicon entry", details:lexiconRepoCode, username, excerpt: fetchLinkDescription, location: ourLocation from strongs-field-check.js line 250 850, "Unable to find/load lexicon entry", details, username, excerpt: fetchLinkDescription, location: ourLocation from strongs-field-check.js line 268 849, `Unexpected '$badCharCombination' character combination`, characterIndex, excerpt, location: ourLocation from field-text-check.js line 388 - 848, "Unexpected first translation \\w attribute", details: "expected 'x-occurrence'", lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,096 - 847, "Unexpected second translation \\w attribute", details: "expected 'x-occurrences'", lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,099 - 846, "Unexpected extra translation \\w attribute", details, lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,101 - 845, `Mismatched [[ ]] link characters`, details: `left=$leftCount.toLocaleString(), right=$rightCount.toLocaleString()`, location: ourLocation from notes-links-check.js line 1,621 - 844, `Mismatched [[rc:// ]] link characters`, details: `left=$leftCount.toLocaleString(), right=$rightCount.toLocaleString()`, location: ourLocation from notes-links-check.js line 1,625 - 843, `Mismatched [ ]( ) link characters`, details: `left=$leftCount.toLocaleString(), middle=$middleCount.toLocaleString(), right=$rightCount.toLocaleString()`, location: ourLocation from notes-links-check.js line 1,632 + 848, "Unexpected first translation \\w attribute", details: "expected 'x-occurrence'", lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,114 + 847, "Unexpected second translation \\w attribute", details: "expected 'x-occurrences'", lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,117 + 846, "Unexpected extra translation \\w attribute", details, lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,119 + 845, `Mismatched [[ ]] link characters`, details: `left=$leftCount.toLocaleString(), right=$rightCount.toLocaleString()`, location: ourLocation from notes-links-check.js line 1,632 + 844, `Mismatched [[rc:// ]] link characters`, details: `left=$leftCount.toLocaleString(), right=$rightCount.toLocaleString()`, location: ourLocation from notes-links-check.js line 1,636 + 843, `Mismatched [ ]( ) link characters`, details: `left=$leftCount.toLocaleString(), middle=$middleCount.toLocaleString(), right=$rightCount.toLocaleString()`, location: ourLocation from notes-links-check.js line 1,643 842, "No text in Strongs field", location: ourLocation from strongs-field-check.js line 185 841, "Strongs field must start with 'H'", location: ourLocation from strongs-field-check.js line 196 841, "Strongs field must start with 'G'", location: ourLocation from strongs-field-check.js line 205 - 839, "Unexpected first \\k-s attribute", details: "expected 'x-tw'", lineNumber, C, V, excerpt: regexMatchObject2[0], location: lineLocation from usfm-text-check.js line 1,350 - 838, "Unexpected extra \\k-s attribute", details, lineNumber, C, V, excerpt: regexMatchObject2[0], location: lineLocation from usfm-text-check.js line 1,352 - 837, "Seems too few original \\w attributes", details: `expected 3-4 attributes but only found $attributeCounter`, lineNumber, C, V, excerpt: regexMatchObject1[0], location: lineLocation from usfm-text-check.js line 1,108 - 836, "Seems too few translation \\w attributes", details: `expected two attributes but only found $attributeCounter`, lineNumber, C, V, excerpt: regexMatchObject1[0], location: lineLocation from usfm-text-check.js line 1,110 - 835, "Seems too few original \\k-s attributes", details: `expected one attribute but only found $attributeCounter`, lineNumber, C, V, excerpt: regexMatchObject1[0], location: lineLocation from usfm-text-check.js line 1,355 - 834, "Seems too few translation \\zaln-s attributes", details: `expected six attributes but only found $attributeCounter`, lineNumber, C, V, excerpt: regexMatchObject1[0], location: lineLocation from usfm-text-check.js line 1,272 - 833, "Unexpected extra \\zaln-s attribute", details, lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,269 - 832, `Seems filename is missing from the manifest project list`, excerpt: repoFilepath, location: ourLocation from manifest-text-check.js line 792 + 839, "Unexpected first \\k-s attribute", details: "expected 'x-tw'", lineNumber, C, V, excerpt: regexMatchObject2[0], location: lineLocation from usfm-text-check.js line 1,407 + 838, "Unexpected extra \\k-s attribute", details, lineNumber, C, V, excerpt: regexMatchObject2[0], location: lineLocation from usfm-text-check.js line 1,409 + 837, "Seems too few original \\w attributes", details: `expected 3-4 attributes but only found $attributeCounter`, lineNumber, C, V, excerpt: regexMatchObject1[0], location: lineLocation from usfm-text-check.js line 1,126 + 836, "Seems too few translation \\w attributes", details: `expected two attributes but only found $attributeCounter`, lineNumber, C, V, excerpt: regexMatchObject1[0], location: lineLocation from usfm-text-check.js line 1,128 + 835, "Seems too few original \\k-s attributes", details: `expected one attribute but only found $attributeCounter`, lineNumber, C, V, excerpt: regexMatchObject1[0], location: lineLocation from usfm-text-check.js line 1,412 + 834, "Seems too few translation \\zaln-s attributes", details: `expected 6-7 attributes but only found $attributeCounter`, lineNumber, C, V, excerpt: regexMatchObject1[0], location: lineLocation from usfm-text-check.js line 1,306 + 833, "Unexpected extra \\zaln-s attribute", details, lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,303 + 832, `Seems filename is missing from the manifest project list`, excerpt: repoFilepath, location: ourLocation from manifest-text-check.js line 795 831, C, V, `Duplicate '$rowID' ID`, fieldName: 'ID', rowID, lineNumber: n + 1, location: ourLocation from tn-tsv9-table-check.js line 247 831, C, V, `Duplicate '$rowID' ID`, fieldName: 'ID', rowID, lineNumber: n + 1, location: ourLocation from twl-tsv6-table-check.js line 251 831, C, V, `Duplicate '$rowID' ID`, fieldName: 'ID', rowID, lineNumber: n + 1, location: ourLocation from notes-tsv7-table-check.js line 252 831, C, V, `Duplicate '$rowID' ID`, fieldName: 'ID', rowID, lineNumber: n + 1, location: ourLocation from questions-tsv7-table-check.js line 256 - 830, "Unexpected first \\zaln-s attribute", details, lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,252 - 829, "Unexpected second \\zaln-s attribute", details, lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,255 - 828, "Unexpected third \\zaln-s attribute", details, lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,258 - 827, "Unexpected fourth \\zaln-s attribute", details, lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,261 - 826, "Unexpected fifth \\zaln-s attribute", details, lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,264 - 825, "Unexpected sixth \\zaln-s attribute", details, lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,267 + 830, "Unexpected first \\zaln-s attribute", details, lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,283 + 829, "Unexpected second \\zaln-s attribute", details, lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,286 + 828, "Unexpected third \\zaln-s attribute", details, lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,289 + 827, "Unexpected fourth \\zaln-s attribute", details, lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,292 + 826, "Unexpected fifth \\zaln-s attribute", details, lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,295 + 825, "Unexpected sixth \\zaln-s attribute", details, lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,298 824, `Invalid zero chapter number`, excerpt: C, rowID, fieldName: 'Reference', location: ourRowLocation from twl-tsv6-row-check.js line 288 824, `Invalid zero chapter number`, excerpt: C, rowID, fieldName: 'Chapter', location: ourRowLocation from tn-tsv9-row-check.js line 334 824, `Invalid zero chapter number`, excerpt: C, rowID, fieldName: 'Reference', location: ourRowLocation from questions-tsv7-row-check.js line 303 @@ -253,8 +255,8 @@ Got 635 notices: 823, `Invalid large chapter number`, excerpt: C, rowID, fieldName: 'Reference', location: ourRowLocation from questions-tsv7-row-check.js line 308 823, `Invalid large chapter number`, excerpt: C, rowID, fieldName: 'Reference', location: ourRowLocation from notes-tsv7-row-check.js line 331 822, "Unable to check chapter number", excerpt: C, rowID, fieldName: 'Reference', location: ourRowLocation from twl-tsv6-row-check.js line 306 - 822, "Expected field to contain an integer", characterIndex: 3, excerpt: `\\c $rest`, lineNumber, C, V, location: lineLocation from usfm-text-check.js line 1,387 - 822, "Expected field to contain an integer", characterIndex: 3, excerpt: `\\v $rest`, lineNumber, C, V, location: lineLocation from usfm-text-check.js line 1,391 + 822, "Expected field to contain an integer", characterIndex: 3, excerpt: `\\c $rest`, lineNumber, C, V, location: lineLocation from usfm-text-check.js line 1,444 + 822, "Expected field to contain an integer", characterIndex: 3, excerpt: `\\v $rest`, lineNumber, C, V, location: lineLocation from usfm-text-check.js line 1,448 822, "Unable to check chapter number", excerpt: C, rowID, fieldName: 'Chapter', location: ourRowLocation from tn-tsv9-row-check.js line 349 822, "Unable to check chapter number", excerpt: C, rowID, fieldName: 'Reference', location: ourRowLocation from questions-tsv7-row-check.js line 322 822, "Unable to check chapter number", excerpt: C, rowID, fieldName: 'Reference', location: ourRowLocation from notes-tsv7-row-check.js line 344 @@ -266,12 +268,13 @@ Got 635 notices: 820, "Missing chapter number", rowID, fieldName: 'Chapter', location: ` ?:$V$ourRowLocation` from tn-tsv9-row-check.js line 357 820, "Missing chapter number", rowID, fieldName: 'Reference', excerpt: `?:$V`, location: ourRowLocation from questions-tsv7-row-check.js line 331 820, "Missing chapter number", rowID, fieldName: 'Reference', location: ` ?:$V$ourRowLocation` from notes-tsv7-row-check.js line 353 + 819, "Unexpected seventh \\zaln-s attribute", details, lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation from usfm-text-check.js line 1,301 818, "Strongs field has wrong number of digits", details: `expected five digits`, location: ourLocation from strongs-field-check.js line 200 818, "Strongs field has wrong number of digits", details: `expected six digits`, location: ourLocation from strongs-field-check.js line 208 - 817, `UHB 'relation' is missing`, details: JSON.stringify(relationList), location: ourLocation from manifest-text-check.js line 812 - 816, `UGNT 'relation' is missing`, details: JSON.stringify(relationList), location: ourLocation from manifest-text-check.js line 814 - 815, "Divider without surrounding snippet", location: ourLocation from orig-quote-check.js line 705 - 815, "Divider without surrounding snippet", location: ourLocation from orig-quote-check.js line 771 + 817, `UHB 'relation' is missing`, details: JSON.stringify(relationList), location: ourLocation from manifest-text-check.js line 815 + 816, `UGNT 'relation' is missing`, details: JSON.stringify(relationList), location: ourLocation from manifest-text-check.js line 817 + 815, "Divider without surrounding snippet", location: ourLocation from orig-quote-check.js line 715 + 815, "Divider without surrounding snippet", location: ourLocation from orig-quote-check.js line 781 814, "Invalid zero verse number", rowID, fieldName: 'Reference', excerpt: V, location: ourRowLocation from twl-tsv6-row-check.js line 324 814, "Invalid zero verse number", rowID, fieldName: 'Verse', excerpt: V, location: ourRowLocation from tn-tsv9-row-check.js line 366 814, "Invalid zero verse number", rowID, fieldName: 'Reference', excerpt: V, location: ourRowLocation from questions-tsv7-row-check.js line 341 @@ -298,17 +301,23 @@ Got 635 notices: 808, "Bad verse range", details: "Too many hyphens", rowID, fieldName: 'Reference', excerpt: V, location: ourRowLocation from questions-tsv7-row-check.js line 354 808, "Bad verse range", details: "Second digits should be greater", rowID, fieldName: 'Reference', excerpt: V, location: ourRowLocation from questions-tsv7-row-check.js line 361 808, "Bad verse range", details: "Should be digits", rowID, fieldName: 'Reference', excerpt: V, location: ourRowLocation from questions-tsv7-row-check.js line 372 - 806, "Aligned x-lemma doesn’t match original", details: `$originalLanguageRepoCode had '$vwolLemma'`, lineNumber, C, V, excerpt: zalnContents, location: lineLocation from usfm-text-check.js line 1,317 - 805, "Aligned x-strong number doesn’t match original", details: `$originalLanguageRepoCode had '$vwolStrongs'`, lineNumber, C, V, excerpt: zalnContents, location: lineLocation from usfm-text-check.js line 1,312 - 804, "Aligned x-morph doesn’t match original", details: `$originalLanguageRepoCode had '$vwolMorph'`, lineNumber, C, V, excerpt: zalnContents, location: lineLocation from usfm-text-check.js line 1,322 - 803, "Word can’t be found in original text", details: `found NO occurrences of '$oWord' instead of $oOccurrence from $verseWordList.join(', ')`, lineNumber, C, V, excerpt: zalnContents, location: lineLocation from usfm-text-check.js line 1,306 - 802, "AAA Aligned x-occurrence for original word is too high", details: `only found $oWordCount occurrences of '$oWord' instead of $oOccurrence`, lineNumber, C, V, excerpt: zalnContents, location: lineLocation from usfm-text-check.js line 1,296 - 802, "Aligned x-occurrence for original word is too high", details: `only found $gotCount occurrence$gotCount === 1 ? '' : 's' of '$oWord' instead of $oOccurrence from $verseWordList.join(', ')`, lineNumber, C, V, excerpt: zalnContents, location: lineLocation from usfm-text-check.js line 1,308 - 801, "Aligned x-occurrence for original word is higher than Occurrences", details: `$oOccurrence > $oOccurrences`, lineNumber, C, V, excerpt: zalnContents, location: lineLocation from usfm-text-check.js line 1,292 + 807, "Aligned x-ref should contain C:V", lineNumber, C, V, excerpt: zalnContents, location: lineLocation from usfm-text-check.js line 1,325 + 806, "Aligned x-lemma doesn’t match original", details: `$originalLanguageRepoCode had ‘$vwolLemma’`, lineNumber, C, V, excerpt: zalnContents, location: lineLocation from usfm-text-check.js line 1,374 + 805, "Aligned x-strong number doesn’t match original", details: `$originalLanguageRepoCode had ‘$vwolStrongs’`, lineNumber, C, V, excerpt: zalnContents, location: lineLocation from usfm-text-check.js line 1,369 + 804, "Aligned x-morph doesn’t match original", details: `$originalLanguageRepoCode had ‘$vwolMorph’`, lineNumber, C, V, excerpt: zalnContents, location: lineLocation from usfm-text-check.js line 1,379 + 803, "Aligned word can’t be found in original text", details: `found NO occurrences of '$oWord' instead of $oOccurrence from $originalLanguageVerseWordList.join(', ')`, lineNumber, C, V, excerpt: zalnContents, location: lineLocation from usfm-text-check.js line 1,363 + 802, "AAA Aligned x-occurrence for original word is too high", details: `only found $oWordCount occurrences of '$oWord' instead of $oOccurrence`, lineNumber, C, V, excerpt: zalnContents, location: lineLocation from usfm-text-check.js line 1,338 + 802, "Aligned x-occurrence for original word is too high", details: `only found $gotCount occurrence$gotCount === 1 ? '' : 's' of '$oWord' instead of $oOccurrence from $originalLanguageVerseWordList.join(', ')`, lineNumber, C, V, excerpt: zalnContents, location: lineLocation from usfm-text-check.js line 1,365 + 801, "Aligned x-occurrence for original word is higher than Occurrences", details: `$oOccurrence > $oOccurrences`, lineNumber, C, V, excerpt: zalnContents, location: lineLocation from usfm-text-check.js line 1,334 799, "Missing TWLink field", fieldName: 'TWLink', rowID, location: ourRowLocation from twl-tsv6-row-check.js line 441 - 798, "Field doesn’t contain expected TW link", details: `should start with 'rc://*/tw/dict/bible/'`, fieldName: 'TWLink', rowID, excerpt, location: ourRowLocation from twl-tsv6-row-check.js line 425 - 797, "Field doesn’t contain proper TW link", details: `should be 'kt', 'names', or 'other'`, fieldName: 'TWLink', rowID, characterIndex, excerpt, location: ourRowLocation from twl-tsv6-row-check.js line 432 + 798, "Field doesn’t contain expected TW link", details: `should start with ‘rc://*/tw/dict/bible/’`, fieldName: 'TWLink', rowID, excerpt, location: ourRowLocation from twl-tsv6-row-check.js line 425 + 797, "Field doesn’t contain proper TW link", details: `should be ‘kt', ‘names', or ‘other’`, fieldName: 'TWLink', rowID, characterIndex, excerpt, location: ourRowLocation from twl-tsv6-row-check.js line 432 796, "Field is only whitespace", fieldName: 'TWLink', rowID, location: ourRowLocation from twl-tsv6-row-check.js line 421 + 795, "Aligned x-ref expected to be in the same chapter", details: `found x-ref="$oRef" but C=$C`, lineNumber, C, V, excerpt: zalnContents, location: lineLocation from usfm-text-check.js line 1,328 + 794, C, V, "Bad verse number", rowID, lineNumber: n + 1, location: ourLocation from tn-tsv9-table-check.js line 239 + 794, C, V, "Bad verse number", rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation from twl-tsv6-table-check.js line 243 + 794, C, V, "Bad verse number", rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation from notes-tsv7-table-check.js line 244 + 794, C, V, "Bad verse number", rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation from questions-tsv7-table-check.js line 247 792, `Invalid occurrence field`, fieldName: 'Occurrence', rowID, excerpt: occurrence, location: ourRowLocation from twl-tsv6-row-check.js line 401 792, `Invalid occurrence field`, fieldName: 'Occurrence', rowID, excerpt: occurrence, location: ourRowLocation from tn-tsv9-row-check.js line 456 792, `Invalid occurrence field`, fieldName: 'Occurrence', rowID, excerpt: occurrence, location: ourRowLocation from questions-tsv7-row-check.js line 441 @@ -329,32 +338,35 @@ Got 635 notices: 787, "Link to TA should also be in Note", fieldName: 'SupportReference', excerpt: supportReference, rowID, location: ourRowLocation from notes-tsv7-row-check.js line 428 786, "Shouldn’t have multiple TA links in OccurrenceNote", details, rowID, fieldName: 'OccurrenceNote', excerpt, location: ourRowLocation from tn-tsv9-row-check.js line 508 786, "Shouldn’t have multiple TA links in Note", details, rowID, fieldName: 'OccurrenceNote', excerpt, location: ourRowLocation from notes-tsv7-row-check.js line 507 - 785, "Unexpected trailing whitespace in link field", excerpt, characterIndex: fieldText.length - 1, location: ourLocation from notes-links-check.js line 226 - 784, "Unexpected leading whitespace in link field", excerpt, characterIndex: 0, location: ourLocation from notes-links-check.js line 222 - 783, "Unable to find/load unfoldingWord link", excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,569 - 781, "Linked unfoldingWord article seems empty", excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,572 + 785, "Unexpected trailing whitespace in link field", excerpt, characterIndex: fieldText.length - 1, location: ourLocation from notes-links-check.js line 228 + 784, "Unexpected leading whitespace in link field", excerpt, characterIndex: 0, location: ourLocation from notes-links-check.js line 224 + 783, "Unable to find/load unfoldingWord link", excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,580 + 781, "Linked unfoldingWord article seems empty", excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,583 + 780, "Markdown header has no text", lineNumber: n, characterIndex: 0, excerpt: line, location: ourLocation from markdown-text-check.js line 322 + 779, "Markdown header is missing the following space", lineNumber: n, characterIndex: 0, excerpt, location: ourLocation from markdown-text-check.js line 326 778, "Row ID should be exactly 4 characters", details: `not $rowID.length`, rowID, fieldName: 'ID', excerpt: rowID, location: ourRowLocation from twl-tsv6-row-check.js line 343 778, "Row ID should be exactly 4 characters", details: `not $rowID.length`, rowID, fieldName: 'ID', excerpt: rowID, location: ourRowLocation from tn-tsv9-row-check.js line 385 778, "Row ID should be exactly 4 characters", details: `not $rowID.length`, rowID, fieldName: 'ID', excerpt: rowID, location: ourRowLocation from questions-tsv7-row-check.js line 383 778, "Row ID should be exactly 4 characters", details: `not $rowID.length`, rowID, fieldName: 'ID', excerpt: rowID, location: ourRowLocation from notes-tsv7-row-check.js line 381 - 777, `Bad punctuation nesting: $char closing character doesn’t match`, details, lineNumber: n, characterIndex, excerpt, location: ourLocation from plain-text-check.js line 236 - 776, 'Unexpected " straight quote character', details, lineNumber, C, V, excerpt, location: lineLocation from usfm-text-check.js line 948 - 775, "Unexpected ' straight quote character", details, lineNumber, C, V, excerpt, location: lineLocation from usfm-text-check.js line 953 - 774, `Unexpected $char closing character (no matching opener)`, lineNumber: n, characterIndex, excerpt, location: ourLocation from plain-text-check.js line 243 + 777, `Bad punctuation nesting: $char closing character doesn’t match`, details, lineNumber: n, characterIndex, excerpt, location: ourLocation from plain-text-check.js line 257 + 776, 'Unexpected " straight quote character', details, lineNumber, C, V, excerpt, location: lineLocation from usfm-text-check.js line 966 + 775, "Unexpected ' straight quote character", details, lineNumber, C, V, excerpt, location: lineLocation from usfm-text-check.js line 971 + 774, `Unexpected $char closing character (no matching opener)`, lineNumber: n, characterIndex, excerpt, location: ourLocation from plain-text-check.js line 264 773, `Unexpected trailing zero-width joiner (u200D) character`, characterIndex: 0, excerpt, location: ourLocation from field-text-check.js line 177 772, `Unexpected trailing word-joiner (u2060) character`, characterIndex: 0, excerpt, location: ourLocation from field-text-check.js line 173 771, `Unexpected leading zero-width joiner (u200D) character`, characterIndex: 0, excerpt, location: ourLocation from field-text-check.js line 159 770, `Unexpected leading word-joiner (u2060) character`, characterIndex: 0, excerpt, location: ourLocation from field-text-check.js line 155 - 769, C, V, "Verse bridge numbers not in ascending order", lineNumber: n, characterIndex: 3, excerpt: `$rest.slice(0, Math.max(9, excerptLength))$rest.length > excerptLength ? '…' : '' ($firstV → $secondV)`, location: ourLocation from usfm-text-check.js line 1,626 - 768, `At end of text with unclosed $char opening character`, details, lineNumber: n, characterIndex: x, excerpt, location: ourLocation from plain-text-check.js line 261 - 766, C, V, "Bridged verse numbers didn’t increment correctly", lineNumber: n, characterIndex: 3, excerpt: `$rest.slice(0, Math.max(9, excerptLength))$rest.length > excerptLength ? '…' : '' ($lastV → $firstV)`, location: ourLocation from usfm-text-check.js line 1,628 - 765, "Unexpected link", characterIndex, excerpt, location: ourLocation from field-text-check.js line 544 - 764, C, V, "Chapter number didn’t increment correctly", lineNumber: n, characterIndex: 3, excerpt: `$rest.slice(0, excerptHalfLength)$rest.length > excerptHalfLength ? '…' : '' ($lastC ? lastC : '0' → $C)`, location: ourLocation from usfm-text-check.js line 1,599 - 763, C, V, "Verse number didn’t increment correctly", lineNumber: n, characterIndex: 3, excerpt: `$rest.slice(0, excerptHalfLength)$rest.length > excerptHalfLength ? '…' : '' ($lastV ? lastV : '0' → $V)`, location: ourLocation from usfm-text-check.js line 1,612 - 762, "Unable to convert verse bridge numbers to integers", C: chapterNumberString, V: verseNumberString, characterIndex: 3, excerpt: verseNumberString, location: `$CVlocation with $usfmVIerror` from usfm-text-check.js line 536 - 762, C, V, "Unable to convert verse bridge numbers to integers", lineNumber: n, characterIndex: 3, excerpt: `$rest.slice(0, Math.max(9, excerptLength))$rest.length > excerptLength ? '…' : ''`, location: ourLocation from usfm-text-check.js line 1,622 - 761, C, V, "Verse number didn’t increment correctly", lineNumber: n, characterIndex: 3, excerpt: `$restRest.slice(0, excerptHalfLength)$restRest.length > excerptHalfLength ? '…' : '' ($lastV ? lastV : '0' → $V)`, location: ourLocation from usfm-text-check.js line 1,644 - 752, "Verse numbers of markdown TN link don’t match", details: `$V1 vs $linkVerseInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,385 + 769, C, V, "Verse bridge numbers not in ascending order", lineNumber: n, characterIndex: 3, excerpt: `$rest.slice(0, Math.max(9, excerptLength))$rest.length > excerptLength ? '…' : '' ($firstV → $secondV)`, location: ourLocation from usfm-text-check.js line 1,683 + 768, `At end of text with unclosed $char opening character`, details, lineNumber: n, characterIndex: x, excerpt, location: ourLocation from plain-text-check.js line 282 + 766, C, V, "Bridged verse numbers didn’t increment correctly", lineNumber: n, characterIndex: 3, excerpt: `$rest.slice(0, Math.max(9, excerptLength))$rest.length > excerptLength ? '…' : '' ($lastV → $firstV)`, location: ourLocation from usfm-text-check.js line 1,685 + 765, "Unexpected link", characterIndex, excerpt, location: ourLocation from field-text-check.js line 547 + 764, C, V, "Chapter number didn’t increment correctly", lineNumber: n, characterIndex: 3, excerpt: `$rest.slice(0, excerptHalfLength)$rest.length > excerptHalfLength ? '…' : '' ($lastC ? lastC : '0' → $C)`, location: ourLocation from usfm-text-check.js line 1,656 + 763, C, V, "Verse number didn’t increment correctly", lineNumber: n, characterIndex: 3, excerpt: `$rest.slice(0, excerptHalfLength)$rest.length > excerptHalfLength ? '…' : '' ($lastV ? lastV : '0' → $V)`, location: ourLocation from usfm-text-check.js line 1,669 + 762, "Unable to convert verse bridge numbers to integers", C: chapterNumberString, V: verseNumberString, characterIndex: 3, excerpt: verseNumberString, location: `$CVlocation with $usfmVIerror` from usfm-text-check.js line 538 + 762, C, V, "Unable to convert verse bridge numbers to integers", lineNumber: n, characterIndex: 3, excerpt: `$rest.slice(0, Math.max(9, excerptLength))$rest.length > excerptLength ? '…' : ''`, location: ourLocation from usfm-text-check.js line 1,679 + 761, C, V, "Verse number didn’t increment correctly", lineNumber: n, characterIndex: 3, excerpt: `$restRest.slice(0, excerptHalfLength)$restRest.length > excerptHalfLength ? '…' : '' ($lastV ? lastV : '0' → $V)`, location: ourLocation from usfm-text-check.js line 1,701 + 753, "Link target is missing a forward slash", excerpt, location: ourLocation from notes-links-check.js line 240 + 752, "Verse numbers of markdown TN link don’t match", details: `$V1 vs $linkVerseInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,396 751, "Invalid zero occurrence field when we have an original quote", fieldName: 'Occurrence', rowID, excerpt: occurrence, location: ourRowLocation from twl-tsv6-row-check.js line 393 751, "Invalid zero occurrence field when we have an original quote", fieldName: 'Occurrence', rowID, excerpt: occurrence, location: ourRowLocation from tn-tsv9-row-check.js line 448 751, "Invalid zero occurrence field when we have an original quote", fieldName: 'Occurrence', rowID, excerpt: occurrence, location: ourRowLocation from questions-tsv7-row-check.js line 433 @@ -363,58 +375,54 @@ Got 635 notices: 750, "Missing occurrence field when we have an original quote", fieldName: 'Occurrence', rowID, location: ourRowLocation from tn-tsv9-row-check.js line 438 750, "Missing occurrence field when we have an original quote", fieldName: 'Occurrence', rowID, location: ourRowLocation from questions-tsv7-row-check.js line 420 750, "Missing occurrence field when we have an original quote", fieldName: 'Occurrence', rowID, location: ourRowLocation from notes-tsv7-row-check.js line 448 - 749, "Markdown image link seems faulty", excerpt: fetchLink, location: ourLocation from notes-links-check.js line 240 - 749, "Markdown image link seems faulty", excerpt: fetchLink, location: ourLocation from notes-links-check.js line 261 - 748, "Error fetching markdown image link", excerpt: fetchLink, location: ourLocation from notes-links-check.js line 249 - 748, "Error fetching markdown image link", excerpt: fetchLink, location: ourLocation from notes-links-check.js line 270 + 749, "Markdown image link seems faulty", excerpt: fetchLink, location: ourLocation from notes-links-check.js line 251 + 749, "Markdown image link seems faulty", excerpt: fetchLink, location: ourLocation from notes-links-check.js line 272 + 748, "Error fetching markdown image link", excerpt: fetchLink, location: ourLocation from notes-links-check.js line 260 + 748, "Error fetching markdown image link", excerpt: fetchLink, location: ourLocation from notes-links-check.js line 281 747, "Bad function call: should be given a valid book abbreviation", excerpt: bookID, location: ` (not '$bookID')$ourLocation` from tn-tsv9-table-check.js line 123 747, "Bad function call: should be given a valid book abbreviation", excerpt: bookID, location: ` (not '$bookID')$ourLocation` from twl-tsv6-table-check.js line 114 747, "Bad function call: should be given a valid book abbreviation", excerpt: bookID, location: ` (not '$bookID')$ourLocation` from notes-tsv7-table-check.js line 115 747, "Bad function call: should be given a valid book abbreviation", excerpt: bookID, location: ` (not '$bookID')$ourLocation` from questions-tsv7-table-check.js line 114 745, C, V, `Wrong '$B' book identifier (expected '$bookID')`, rowID, lineNumber: n + 1, location: ourLocation from tn-tsv9-table-check.js line 193 744, C, V, "Missing book identifier", rowID, lineNumber: n + 1, location: ourLocation from tn-tsv9-table-check.js line 196 - 743, "Chapter numbers of markdown TN link don’t match", details: `$C1 vs $linkChapterInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 749 - 743, "Chapter numbers of markdown TN link don’t match", details: `$C1 vs $linkChapterInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 817 - 743, "Chapter numbers of markdown Bible link don’t match", details: `$C1 vs $givenCint`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 880 - 743, "Chapter numbers of markdown Bible link don’t match", details: `$C1 vs $linkChapterInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,022 - 743, "Chapter numbers of markdown Bible link don’t match", details: `$C1 vs $linkChapterInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,080 - 743, "Chapter numbers of markdown Bible link don’t match", details: `$C1 vs $linkChapterInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,145 - 743, "Chapter numbers of markdown Bible link don’t match", details: `$C1 vs $linkChapterInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,263 - 743, "Chapter numbers of markdown Bible link don’t match", details: `$C1 vs $linkChapterInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,321 - 743, "Chapter numbers of markdown TN link don’t match", details: `$C1 vs $linkChapterInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,379 - 742, "Verse numbers of markdown TN link don’t match", details: `$V1 vs $linkVerseInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 755 - 742, "Verse numbers of markdown Bible link don’t match", details: `$V1 vs $linkVerseInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 886 - 742, "Verse numbers of markdown Bible link don’t match", details: `$V1 vs $V2`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 926 - 742, "Verse numbers of markdown Bible link don’t match", details: `$V1a vs $V2`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 968 - 742, "Verse numbers of markdown Bible link don’t match", details: `$V1 vs $linkVerseInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,028 - 742, "Verse numbers of markdown Bible link don’t match", details: `$V1a vs $linkVerseInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,086 - 742, "Verse numbers of markdown Bible link don’t match", details: `$V1a vs $linkVerseInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,151 - 742, "Verse numbers of markdown Bible link don’t match", details: `$V1a vs $linkVerseInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,210 - 742, "Verse numbers of markdown Bible link don’t match", details: `$V1 vs $linkVerseInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,269 - 742, "Verse numbers of markdown Bible link don’t match", details: `$V1 vs $linkVerseInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,327 - 741, "Verse numbers of markdown Bible link range out of order", details: `$V1a to $V1b`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 973 - 741, "Verse numbers of markdown Bible link range out of order", details: `$V1a to $V1b`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,092 - 741, "Verse numbers of markdown Bible link range out of order", details: `$V1a to $V1b`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,157 - 741, "Verse numbers of markdown Bible link range out of order", details: `$V1a to $V1b`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,216 - 740, "Unrecognized tag", details: `found '$thisTag' but expected 'keyterm' or 'name'`, excerpt: tags, fieldName: 'Tags', rowID, location: ourRowLocation from twl-tsv6-row-check.js line 367 + 743, "Chapter numbers of markdown TN link don’t match", details: `$C1 vs $linkChapterInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 760 + 743, "Chapter numbers of markdown TN link don’t match", details: `$C1 vs $linkChapterInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 828 + 743, "Chapter numbers of markdown Bible link don’t match", details: `$C1 vs $givenCint`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 891 + 743, "Chapter numbers of markdown Bible link don’t match", details: `$C1 vs $linkChapterInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,033 + 743, "Chapter numbers of markdown Bible link don’t match", details: `$C1 vs $linkChapterInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,091 + 743, "Chapter numbers of markdown Bible link don’t match", details: `$C1 vs $linkChapterInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,156 + 743, "Chapter numbers of markdown Bible link don’t match", details: `$C1 vs $linkChapterInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,274 + 743, "Chapter numbers of markdown Bible link don’t match", details: `$C1 vs $linkChapterInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,332 + 743, "Chapter numbers of markdown TN link don’t match", details: `$C1 vs $linkChapterInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,390 + 742, "Verse numbers of markdown TN link don’t match", details: `$V1 vs $linkVerseInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 766 + 742, "Verse numbers of markdown Bible link don’t match", details: `$V1 vs $linkVerseInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 897 + 742, "Verse numbers of markdown Bible link don’t match", details: `$V1 vs $V2`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 937 + 742, "Verse numbers of markdown Bible link don’t match", details: `$V1a vs $V2`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 979 + 742, "Verse numbers of markdown Bible link don’t match", details: `$V1 vs $linkVerseInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,039 + 742, "Verse numbers of markdown Bible link don’t match", details: `$V1a vs $linkVerseInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,097 + 742, "Verse numbers of markdown Bible link don’t match", details: `$V1a vs $linkVerseInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,162 + 742, "Verse numbers of markdown Bible link don’t match", details: `$V1a vs $linkVerseInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,221 + 742, "Verse numbers of markdown Bible link don’t match", details: `$V1 vs $linkVerseInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,280 + 742, "Verse numbers of markdown Bible link don’t match", details: `$V1 vs $linkVerseInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,338 + 741, "Verse numbers of markdown Bible link range out of order", details: `$V1a to $V1b`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 984 + 741, "Verse numbers of markdown Bible link range out of order", details: `$V1a to $V1b`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,103 + 741, "Verse numbers of markdown Bible link range out of order", details: `$V1a to $V1b`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,168 + 741, "Verse numbers of markdown Bible link range out of order", details: `$V1a to $V1b`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,227 + 740, "Unrecognized tag", details: `found '$thisTag' but expected 'keyterm' or 'name’`, excerpt: tags, fieldName: 'Tags', rowID, location: ourRowLocation from twl-tsv6-row-check.js line 367 740, "Unrecognized tag", details: thisTag, excerpt: tags, fieldName: 'Tags', rowID, location: ourRowLocation from questions-tsv7-row-check.js line 407 740, "Unrecognized tag", details: thisTag, excerpt: tags, fieldName: 'Tags', rowID, location: ourRowLocation from notes-tsv7-row-check.js line 405 739, C, V, "Missing chapter number", rowID, lineNumber: n + 1, location: ` after $lastC:$V$ourLocation` from tn-tsv9-table-check.js line 220 739, C, V, "Missing chapter number", rowID, lineNumber: n + 1, location: ` after $lastC:$V$ourLocation` from twl-tsv6-table-check.js line 209 739, C, V, "Missing chapter number", rowID, lineNumber: n + 1, location: ` after $lastC:$V$ourLocation` from notes-tsv7-table-check.js line 210 739, C, V, "Missing chapter number", rowID, lineNumber: n + 1, location: ` after $lastC:$V$ourLocation` from questions-tsv7-table-check.js line 209 - 738, C, V, "Bad verse number", rowID, lineNumber: n + 1, location: ourLocation from tn-tsv9-table-check.js line 239 - 738, C, V, "Bad verse number", rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation from twl-tsv6-table-check.js line 243 - 738, C, V, "Bad verse number", rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation from notes-tsv7-table-check.js line 244 - 738, C, V, "Bad verse number", rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation from questions-tsv7-table-check.js line 247 737, C, V, "Invalid large chapter number", rowID, lineNumber: n + 1, excerpt: C, location: ourLocation from tn-tsv9-table-check.js line 207 737, C, V, "Invalid large chapter number", rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation from twl-tsv6-table-check.js line 196 737, C, V, "Invalid large chapter number", rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation from notes-tsv7-table-check.js line 197 737, C, V, "Invalid large chapter number", rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation from questions-tsv7-table-check.js line 196 - 736, C, V, "Receding chapter number", details: `'$C' after '$lastC'`, rowID, lineNumber: n + 1, location: ourLocation from tn-tsv9-table-check.js line 211 - 736, C, V, "Receding chapter number", details: `'$C' after '$lastC'`, rowID, lineNumber: n + 1, location: ourLocation from twl-tsv6-table-check.js line 200 - 736, C, V, "Receding chapter number", details: `'$C' after '$lastC'`, rowID, lineNumber: n + 1, location: ourLocation from notes-tsv7-table-check.js line 201 - 736, C, V, "Receding chapter number", details: `'$C' after '$lastC'`, rowID, lineNumber: n + 1, location: ourLocation from questions-tsv7-table-check.js line 200 + 736, C, V, "Receding chapter number", details: `'$C' after '$lastC’`, rowID, lineNumber: n + 1, location: ourLocation from tn-tsv9-table-check.js line 211 + 736, C, V, "Receding chapter number", details: `'$C' after '$lastC’`, rowID, lineNumber: n + 1, location: ourLocation from twl-tsv6-table-check.js line 200 + 736, C, V, "Receding chapter number", details: `'$C' after '$lastC’`, rowID, lineNumber: n + 1, location: ourLocation from notes-tsv7-table-check.js line 201 + 736, C, V, "Receding chapter number", details: `'$C' after '$lastC’`, rowID, lineNumber: n + 1, location: ourLocation from questions-tsv7-table-check.js line 200 735, C, V, "Advancing chapter number", details: `'$C' after '$lastC'`.rowID, lineNumber: n + 1, location: ourLocation from tn-tsv9-table-check.js line 213 735, C, V, "Advancing chapter number", details: `'$C' after '$lastC'`.rowID, lineNumber: n + 1, location: ourLocation from twl-tsv6-table-check.js line 202 735, C, V, "Advancing chapter number", details: `'$C' after '$lastC'`.rowID, lineNumber: n + 1, location: ourLocation from notes-tsv7-table-check.js line 203 @@ -440,66 +448,67 @@ Got 635 notices: 732, C, V, "Verse range in wrong order", details: `detected $intV1 before $intV2`, rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation from twl-tsv6-table-check.js line 231 732, C, V, "Verse range in wrong order", details: `detected $intV1 before $intV2`, rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation from notes-tsv7-table-check.js line 232 732, C, V, "Verse range in wrong order", details: `detected $intV1 before $intV2`, rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation from questions-tsv7-table-check.js line 231 - 731, `OBS link has internal mismatch`, details: `$storyNumberA:$frameNumberA should equal $storyNumberB/$frameNumberA`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,425 - 730, `OBS link has out-of-range values`, details: `$NUM_OBS_STORIES stories, max of $MAX_OBS_FRAMES frames`, excerpt: `$storyNumberA/$frameNumberA`, location: ourLocation from notes-links-check.js line 1,428 - 729, "Expected verse one for whole chapter link", details: `not verse $linkVerseInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 822 - 724, C, V, "Unable to convert chapter number to integer", lineNumber: n, characterIndex: 3, excerpt: `$rest.slice(0, excerptHalfLength)$rest.length > excerptHalfLength ? '…' : ''`, location: ourLocation from usfm-text-check.js line 1,595 - 723, C, V, "Unable to convert verse number to integer", lineNumber: n, characterIndex: 3, excerpt: `$rest.slice(0, excerptHalfLength)$rest.length > excerptHalfLength ? '…' : ''`, location: ourLocation from usfm-text-check.js line 1,608 - 720, C, V, "Unable to convert internal verse number to integer", lineNumber: n, characterIndex: 3, excerpt: `$restRest.slice(0, excerptHalfLength)$restRest.length > excerptHalfLength ? '…' : ''`, location: ourLocation from usfm-text-check.js line 1,640 - 719, "USFM file is recommended to have \\ide line", lineNumber: ideIndex + 1, location: ourLocation from usfm-text-check.js line 1,536 - 716, `Misplaced $rightChar character`, excerpt: regexMatchObject[0], location: ourLocation from field-text-check.js line 525 - 711, "Expected compulsory content", C, V, lineNumber, characterIndex: marker.length, location: ` after \\$marker marker$lineLocation` from usfm-text-check.js line 1,430 - 703, C, V, "Unexpected CarriageReturn character", lineNumber: n, characterIndex, excerpt, location: ourLocation from usfm-text-check.js line 1,559 + 731, `OBS link has internal mismatch`, details: `$storyNumberA:$frameNumberA should equal $storyNumberB/$frameNumberA`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,436 + 730, `OBS link has out-of-range values`, details: `$NUM_OBS_STORIES stories, max of $MAX_OBS_FRAMES frames`, excerpt: `$storyNumberA/$frameNumberA`, location: ourLocation from notes-links-check.js line 1,439 + 729, "Expected verse one for whole chapter link", details: `not verse $linkVerseInt`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 833 + 724, C, V, "Unable to convert chapter number to integer", lineNumber: n, characterIndex: 3, excerpt: `$rest.slice(0, excerptHalfLength)$rest.length > excerptHalfLength ? '…' : ''`, location: ourLocation from usfm-text-check.js line 1,652 + 723, C, V, "Unable to convert verse number to integer", lineNumber: n, characterIndex: 3, excerpt: `$rest.slice(0, excerptHalfLength)$rest.length > excerptHalfLength ? '…' : ''`, location: ourLocation from usfm-text-check.js line 1,665 + 720, C, V, "Unable to convert internal verse number to integer", lineNumber: n, characterIndex: 3, excerpt: `$restRest.slice(0, excerptHalfLength)$restRest.length > excerptHalfLength ? '…' : ''`, location: ourLocation from usfm-text-check.js line 1,697 + 719, "USFM file is recommended to have \\ide line", lineNumber: ideIndex + 1, location: ourLocation from usfm-text-check.js line 1,593 + 716, `Misplaced $rightChar character`, excerpt: regexMatchObject[0], location: ourLocation from field-text-check.js line 528 + 711, "Expected compulsory content", C, V, lineNumber, characterIndex: marker.length, location: ` after \\$marker marker$lineLocation` from usfm-text-check.js line 1,487 + 703, C, V, "Unexpected CarriageReturn character", lineNumber: n, characterIndex, excerpt, location: ourLocation from usfm-text-check.js line 1,616 674, "Field contains HTML
field(s)", details: `$charCount occurrence$charCount === 1 ? '' : 's' found—should be '\\n' instead`, fieldName: 'Question', rowID, location: ourRowLocation from questions-tsv7-row-check.js line 453 674, "Field contains HTML
field(s)", details: `$charCount occurrence$charCount === 1 ? '' : 's' found—should be '\\n' instead`, fieldName: 'Response', rowID, location: ourRowLocation from questions-tsv7-row-check.js line 483 674, "Field contains HTML
field(s)", details: `$charCount occurrence$charCount === 1 ? '' : 's' found—should be '\\n' instead`, fieldName: 'Note', rowID, location: ourRowLocation from notes-tsv7-row-check.js line 481 - 669, "Unexpected language code in link", details: `resource language code is '$languageCode'`, excerpt: Lg, location: ourLocation from notes-links-check.js line 727 - 669, "Unexpected language code in link", details: `resource language code is '$languageCode'`, excerpt: Lg, location: ourLocation from notes-links-check.js line 795 - 656, "Bad chapter number in markdown TN link", details: `$linkBookCode $linkChapterInt vs $numChaptersThisBook chapters`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,404 - 655, "Bad story number in markdown OBS help link", details: `$linkBookCode $linkChapterInt vs $numStories chapters`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 763 - 655, "Bad chapter number in markdown TN help link", details: `$linkBookCode $linkChapterInt vs $numChaptersThisBook chapters`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 780 - 655, "Bad story number in markdown OBS help link", details: `$linkBookCode $linkChapterInt vs $numStories chapters`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 827 - 655, "Bad chapter number in markdown TN help link", details: `$linkBookCode $linkChapterInt vs $numChaptersThisBook chapters`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 839 - 655, "Bad chapter number in markdown Bible link", details: `$linkBookCode $givenCint vs $numChaptersThisBook chapters`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 905 - 655, "Bad chapter number in markdown Bible link", details: `$linkBookCode $linkChapterInt vs $numChaptersThisBook chapters`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 945 - 655, "Bad chapter number in markdown Bible link", details: `$linkBookCode $linkChapterInt vs $numChaptersThisBook chapters`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 989 - 655, "Bad chapter number in markdown Bible link", details: `$linkBookCode $linkChapterInt vs $numChaptersThisBook chapters`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,047 - 655, "Bad chapter number in markdown Bible link", details: `$linkBookCode $linkChapterInt vs $numChaptersThisBook chapters`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,111 - 655, "Bad chapter number in markdown Bible link", details: `$linkBookCode $linkChapterInt vs $numChaptersThisBook chapters`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,176 - 655, "Bad chapter number in markdown Bible link", details: `$linkBookCode $linkChapterInt vs $numChaptersThisBook chapters`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,288 - 655, "Bad chapter number in markdown Bible link", details: `$linkBookCode $linkChapterInt vs $numChaptersThisBook chapters`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,346 - 654, "Bad verse number in markdown TN link", details: `$linkBookCode $linkChapterInt:$linkVerseInt vs $numVersesThisChapter verses`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,406 - 653, "Bad frame number in markdown OBS help link", details: `$linkBookCode $linkChapterInt:$linkVerseInt vs $numFramesThisStory verses`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 765 - 653, "Bad verse number in markdown TN help link", details: `$linkBookCode $linkChapterInt:$linkVerseInt vs $numVersesThisChapter verses`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 782 - 653, "Bad verse number in markdown Bible link", details: `$linkBookCode $givenCint:$linkVerseInt vs $numVersesThisChapter verses`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 907 - 653, "Bad verse number in markdown Bible link", details: `$linkBookCode $linkChapterInt:$linkVerseInt vs $numVersesThisChapter verses`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 947 - 653, "Bad verse number in markdown Bible link", details: `$linkBookCode $linkChapterInt:$linkVerseInt vs $numVersesThisChapter verses`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 991 - 653, "Bad verse number in markdown Bible link", details: `$linkBookCode $linkChapterInt:$linkVerseInt vs $numVersesThisChapter verses`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,049 - 653, "Bad verse number in markdown Bible link", details: `$linkBookCode $linkChapterInt:$linkVerseInt vs $numVersesThisChapter verses`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,113 - 653, "Bad verse number in markdown Bible link", details: `$linkBookCode $linkChapterInt:$linkVerseInt vs $numVersesThisChapter verses`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,178 - 653, "Bad verse number in markdown Bible link", details: `$linkBookCode $givenC:$linkVerseInt vs $numVersesThisChapter verses`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,232 - 653, "Bad verse number in markdown Bible link", details: `$linkBookCode $linkChapterInt:$linkVerseInt vs $numVersesThisChapter verses`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,290 - 653, "Bad verse number in markdown Bible link", details: `$linkBookCode $linkChapterInt:$linkVerseInt vs $numVersesThisChapter verses`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,348 - 649, "Unusual [[ ]] link(s)—not a recognized TA or TW link", details: `need to carefully check $doublePartLeftoverLinksList.length === 1 ? '"' + doublePartLeftoverLinksList[0] + '"' : JSON.stringify(doublePartLeftoverLinksList)`, location: ourLocation from notes-links-check.js line 1,613 - 648, "Unusual [ ]( ) link(s)—not a recognized Bible, OBS, or TA, TN, or TW link", details: `need to carefully check $singlePartLeftoverLinksList.length === 1 ? '"' + singlePartLeftoverLinksList[0] + '"' : JSON.stringify(singlePartLeftoverLinksList)`, location: ourLocation from notes-links-check.js line 1,604 - 644, "USFM3 Grammar Check (relaxed mode) doesn’t pass either", location: fileLocation from usfm-text-check.js line 345 + 669, "Unexpected language code in link", details: `resource language code is ‘$languageCode’`, excerpt: Lg, location: ourLocation from notes-links-check.js line 738 + 669, "Unexpected language code in link", details: `resource language code is '$languageCode’`, excerpt: Lg, location: ourLocation from notes-links-check.js line 806 + 656, "Bad chapter number in markdown TN link", details: `$linkBookCode $linkChapterInt vs $numChaptersThisBook chapters`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,415 + 655, "Bad story number in markdown OBS help link", details: `$linkBookCode $linkChapterInt vs $numStories chapters`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 774 + 655, "Bad chapter number in markdown TN help link", details: `$linkBookCode $linkChapterInt vs $numChaptersThisBook chapters`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 791 + 655, "Bad story number in markdown OBS help link", details: `$linkBookCode $linkChapterInt vs $numStories chapters`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 838 + 655, "Bad chapter number in markdown TN help link", details: `$linkBookCode $linkChapterInt vs $numChaptersThisBook chapters`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 850 + 655, "Bad chapter number in markdown Bible link", details: `$linkBookCode $givenCint vs $numChaptersThisBook chapters`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 916 + 655, "Bad chapter number in markdown Bible link", details: `$linkBookCode $linkChapterInt vs $numChaptersThisBook chapters`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 956 + 655, "Bad chapter number in markdown Bible link", details: `$linkBookCode $linkChapterInt vs $numChaptersThisBook chapters`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,000 + 655, "Bad chapter number in markdown Bible link", details: `$linkBookCode $linkChapterInt vs $numChaptersThisBook chapters`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,058 + 655, "Bad chapter number in markdown Bible link", details: `$linkBookCode $linkChapterInt vs $numChaptersThisBook chapters`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,122 + 655, "Bad chapter number in markdown Bible link", details: `$linkBookCode $linkChapterInt vs $numChaptersThisBook chapters`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,187 + 655, "Bad chapter number in markdown Bible link", details: `$linkBookCode $linkChapterInt vs $numChaptersThisBook chapters`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,299 + 655, "Bad chapter number in markdown Bible link", details: `$linkBookCode $linkChapterInt vs $numChaptersThisBook chapters`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,357 + 654, "Bad verse number in markdown TN link", details: `$linkBookCode $linkChapterInt:$linkVerseInt vs $numVersesThisChapter verses`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,417 + 653, "Bad frame number in markdown OBS help link", details: `$linkBookCode $linkChapterInt:$linkVerseInt vs $numFramesThisStory verses`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 776 + 653, "Bad verse number in markdown TN help link", details: `$linkBookCode $linkChapterInt:$linkVerseInt vs $numVersesThisChapter verses`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 793 + 653, "Bad verse number in markdown Bible link", details: `$linkBookCode $givenCint:$linkVerseInt vs $numVersesThisChapter verses`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 918 + 653, "Bad verse number in markdown Bible link", details: `$linkBookCode $linkChapterInt:$linkVerseInt vs $numVersesThisChapter verses`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 958 + 653, "Bad verse number in markdown Bible link", details: `$linkBookCode $linkChapterInt:$linkVerseInt vs $numVersesThisChapter verses`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,002 + 653, "Bad verse number in markdown Bible link", details: `$linkBookCode $linkChapterInt:$linkVerseInt vs $numVersesThisChapter verses`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,060 + 653, "Bad verse number in markdown Bible link", details: `$linkBookCode $linkChapterInt:$linkVerseInt vs $numVersesThisChapter verses`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,124 + 653, "Bad verse number in markdown Bible link", details: `$linkBookCode $linkChapterInt:$linkVerseInt vs $numVersesThisChapter verses`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,189 + 653, "Bad verse number in markdown Bible link", details: `$linkBookCode $givenC:$linkVerseInt vs $numVersesThisChapter verses`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,243 + 653, "Bad verse number in markdown Bible link", details: `$linkBookCode $linkChapterInt:$linkVerseInt vs $numVersesThisChapter verses`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,301 + 653, "Bad verse number in markdown Bible link", details: `$linkBookCode $linkChapterInt:$linkVerseInt vs $numVersesThisChapter verses`, excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,359 + 649, "Unusual [[ ]] link(s)—not a recognized TA or TW link", details: `need to carefully check $doublePartLeftoverLinksList.length === 1 ? '"' + doublePartLeftoverLinksList[0] + '"' : JSON.stringify(doublePartLeftoverLinksList)`, location: ourLocation from notes-links-check.js line 1,624 + 648, "Unusual [ ]( ) link(s)—not a recognized Bible, OBS, or TA, TN, or TW link", details: `need to carefully check $singlePartLeftoverLinksList.length === 1 ? '"' + singlePartLeftoverLinksList[0] + '"' : JSON.stringify(singlePartLeftoverLinksList)`, location: ourLocation from notes-links-check.js line 1,615 + 644, "USFM3 Grammar Check (relaxed mode) doesn’t pass either", location: fileLocation from usfm-text-check.js line 347 638, "Only found whitespace", location: ourLocation from field-text-check.js line 124 - 638, "Only found whitespace", location: ourLocation from plain-text-check.js line 144 + 638, "Only found whitespace", location: ourLocation from plain-text-check.js line 149 630, `Expected lexicon lemma on first line`, except: lines[0], location: ourLocation from lexicon-file-contents-check.js line 143 620, `Expected lexicon lemma on first line`, except: lines[0], location: ourLocation from lexicon-file-contents-check.js line 149 - 619, "USFM \\ide field is recommended to be set to 'UTF-8'", lineNumber: ideIndex + 1, characterIndex: 5, excerpt: lines[ideIndex], location: ourLocation from usfm-text-check.js line 1,538 - 603, "USFM marker doesn’t end with space", C, V, lineNumber, characterIndex, excerpt, location: ourLocation from usfm-text-check.js line 1,519 - 601, "Unable to load file", details: `error=$gcUHBerror`, username, filename, location: ourLocation, extra: originalLanguageRepoName from usfm-text-check.js line 1,160 - 601, "Unable to load file", details: `error=$gcUGNTerror`, username, filename, location: ourLocation, extra: originalLanguageRepoName from usfm-text-check.js line 1,168 - 601, "Unable to load file", details: `error=$gcUHBerror`, username, OBSPathname, location: ourLocation, extra: OBSRepoName from orig-quote-check.js line 143 - 601, "Unable to load file", details: `error=$gcUHBerror`, username, filename, location: ourLocation, extra: originalLanguageRepoName from orig-quote-check.js line 177 - 601, "Unable to load file", details: `error=$gcUGNTerror`, username, filename, location: ourLocation, extra: originalLanguageRepoName from orig-quote-check.js line 185 + 619, "USFM \\ide field is recommended to be set to 'UTF-8'", lineNumber: ideIndex + 1, characterIndex: 5, excerpt: lines[ideIndex], location: ourLocation from usfm-text-check.js line 1,595 + 603, "USFM marker doesn’t end with space", C, V, lineNumber, characterIndex, excerpt, location: ourLocation from usfm-text-check.js line 1,576 + 602, "Aligned word occurrences in original text is wrong", details: V.indexOf('-') === -1 || oRef ? `found $wordTotalCount occurrences of '$oWord' instead of $oOccurrences from $originalLanguageVerseWordList.join(', ')` : "THIS TEXT NEEDS RE-ALIGNING", lineNumber, C, V, excerpt: zalnContents, location: lineLocation from usfm-text-check.js line 1,359 + 601, "Unable to load file", details: `error=$gcUHBerror`, username: originalLanguageRepoUsername, filename, location: ourLocation, extra: originalLanguageRepoName from usfm-text-check.js line 1,182 + 601, "Unable to load file", details: `error=$gcUGNTerror`, username: originalLanguageRepoUsername, filename, location: ourLocation, extra: originalLanguageRepoName from usfm-text-check.js line 1,190 + 601, "Unable to load file", details: `error=$gcUHBerror`, username, OBSPathname, location: ourLocation, extra: OBSRepoName from orig-quote-check.js line 142 + 601, "Unable to load file", details: `error=$gcUHBerror`, username, filename, location: ourLocation, extra: originalLanguageRepoName from orig-quote-check.js line 176 + 601, "Unable to load file", details: `error=$gcUGNTerror`, username, filename, location: ourLocation, extra: originalLanguageRepoName from orig-quote-check.js line 184 600, `$regexResultsArray.length link target$regexResultsArray.length === 1 ? ' is' : 's are' still being checked…`, location: ourLocation from field-link-check.js line 182 583, "Unexpected newLine character", characterIndex, excerpt, location: ourLocation from field-text-check.js line 241 582, "Unexpected carriageReturn character", characterIndex, excerpt, location: ourLocation from field-text-check.js line 246 581, "Unexpected non-break space (u00A0) character", characterIndex, excerpt, location: ourLocation from field-text-check.js line 254 580, "Unexpected narrow non-break space (u202F) character", excerpt, location: ourLocation ; from field-text-check.js line 260 - 555, "Possible missing chapter number in markdown Bible link", excerpt: totalLink, location: ourLocation from notes-links-check.js line 874 + 555, "Possible missing chapter number in markdown Bible link", excerpt: totalLink, location: ourLocation from notes-links-check.js line 885 552, C, V, "Invalid zero verse number", details: `for chapter $C`, rowID, lineNumber: n + 1, excerpt: V, location: ourLocation from tn-tsv9-table-check.js line 227 552, C, V, "Invalid zero verse number", details: `for chapter $C`, rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation from twl-tsv6-table-check.js line 216 552, C, V, "Invalid zero verse number", details: `for chapter $C`, rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation from notes-tsv7-table-check.js line 217 @@ -508,22 +517,23 @@ Got 635 notices: 551, C, V, `Invalid zero chapter number`, rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation from twl-tsv6-table-check.js line 194 551, C, V, `Invalid zero chapter number`, rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation from notes-tsv7-table-check.js line 195 551, C, V, `Invalid zero chapter number`, rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation from questions-tsv7-table-check.js line 194 - 539, "File starts with empty line", characterIndex, excerpt, location: ourLocation from plain-text-check.js line 166 - 538, "File ends without newline character", characterIndex, excerpt, location: ourLocation from plain-text-check.js line 171 - 518, "Missing expected USFM line", excerpt: `missing \\$expectedMarker`, location: fileLocation from usfm-text-check.js line 698 - 517, "Missing expected USFM line", excerpt: `missing \\$expectedMarker`, location: fileLocation from usfm-text-check.js line 694 - 450, "Resource container link should have '*' language code", details: `not '$foundLanguageCode'`, characterIndex, excerpt, location: ourLocation from notes-links-check.js line 362 - 450, "Resource container link should have '*' language code", details: `not '$foundLanguageCode'`, characterIndex, excerpt, location: ourLocation from notes-links-check.js line 575 - 444, "Shouldn’t have consecutive word fields without a space", details: badCount > 1 ? details + `$badCount occurrences found in line` : details, lineNumber, C, V, characterIndex, excerpt, location: lineLocation from usfm-text-check.js line 789 - 443, "Shouldn’t have a footnote after a space", details: badCount > 1 ? details + `$badCount occurrences found in line` : details, lineNumber, C, V, characterIndex, excerpt, location: lineLocation from usfm-text-check.js line 798 - 442, "Shouldn’t have a cross-reference after a space", details: badCount > 1 ? details + `$badCount occurrences found in line` : details, lineNumber, C, V, characterIndex, excerpt, location: lineLocation from usfm-text-check.js line 805 + 539, "File starts with empty line", characterIndex, excerpt, location: ourLocation from plain-text-check.js line 171 + 538, "File ends without newline character", characterIndex, excerpt, location: ourLocation from plain-text-check.js line 176 + 518, "Missing expected USFM line", excerpt: `missing \\$expectedMarker`, location: fileLocation from usfm-text-check.js line 706 + 517, "Missing expected USFM line", excerpt: `missing \\$expectedMarker`, location: fileLocation from usfm-text-check.js line 702 + 498, "Found separated digits", excerpt: regexMatchObject[0], lineNumber: n, location: ourLocation from plain-text-check.js line 224 + 450, "Resource container link should have '*' language code", details: `not ‘$foundLanguageCode’`, characterIndex, excerpt, location: ourLocation from notes-links-check.js line 373 + 450, "Resource container link should have '*' language code", details: `not ‘$foundLanguageCode’`, characterIndex, excerpt, location: ourLocation from notes-links-check.js line 586 + 444, "Shouldn’t have consecutive word fields without a space", details: badCount > 1 ? details + `$badCount occurrences found in line` : details, lineNumber, C, V, characterIndex, excerpt, location: lineLocation from usfm-text-check.js line 807 + 443, "Shouldn’t have a footnote after a space", details: badCount > 1 ? details + `$badCount occurrences found in line` : details, lineNumber, C, V, characterIndex, excerpt, location: lineLocation from usfm-text-check.js line 816 + 442, "Shouldn’t have a cross-reference after a space", details: badCount > 1 ? details + `$badCount occurrences found in line` : details, lineNumber, C, V, characterIndex, excerpt, location: lineLocation from usfm-text-check.js line 823 441, `Unknown linkType parameter`, excerpt: linkType from field-link-check.js line 164 439, "Error fetching link", location: ` $uri` from field-link-check.js line 51 438, `Blank field / missing link (expected $linkOptions.expectedCount link$linkOptions.expectedCount === 1 ? "" : "s")`, location: ourLocation from field-link-check.js line 136 - 401, `Unexpected content after \\$marker marker`, C, V, lineNumber, characterIndex: marker.length, excerpt: rest, location: lineLocation from usfm-text-check.js line 1,428 - 400, "USFMGrammar failed to run", details: `for $bookID got $e`, location: fileLocation from usfm-text-check.js line 313 - 399, C, V, "Useless paragraph marker", lineNumber: n, characterIndex: 1, details: `'\\$lastMarker' before '\\$marker'`, location: ourLocation from usfm-text-check.js line 1,664 - 378, `Possible mismatched '$thisField' markdown formatting pairs`, details: `$count.toLocaleString() total occurrence$count === 1 ? '' : 's'`, characterIndex, excerpt, location: ourLocation from markdown-text-check.js line 404 + 401, `Unexpected content after \\$marker marker`, C, V, lineNumber, characterIndex: marker.length, excerpt: rest, location: lineLocation from usfm-text-check.js line 1,485 + 400, "USFMGrammar failed to run", details: `for $bookID got $e`, location: fileLocation from usfm-text-check.js line 315 + 399, C, V, "Useless USFM paragraph marker", lineNumber: n, characterIndex: 1, details: `'\\$lastMarker' before '\\$marker’`, location: ourLocation from usfm-text-check.js line 1,721 + 378, `Possible mismatched '$thisField' markdown formatting pairs`, details: `$count.toLocaleString() total occurrence$count === 1 ? '' : 's'`, characterIndex, excerpt, location: ourLocation from markdown-text-check.js line 413 374, "Field contains zero-width space(s)", details: `$charCount occurrence$charCount === 1 ? '' : 's' found`, fieldName: 'TWLink', rowID, location: ourRowLocation from twl-tsv6-row-check.js line 418 374, "Field contains zero-width space(s)", details: `$charCount occurrence$charCount === 1 ? '' : 's' found`, fieldName: 'SupportReference', rowID, location: ourRowLocation from tn-tsv9-row-check.js line 422 374, "Field contains zero-width space(s)", details: `$charCount occurrence$charCount === 1 ? '' : 's' found`, fieldName: 'GLQuote', rowID, location: ourRowLocation from tn-tsv9-row-check.js line 471 @@ -539,27 +549,28 @@ Got 635 notices: 373, "Field is only whitespace", fieldName: 'Response', rowID, location: ourRowLocation from questions-tsv7-row-check.js line 490 373, "Field is only whitespace", fieldName: 'SupportReference', rowID, location: ourRowLocation from notes-tsv7-row-check.js line 411 373, "Field is only whitespace", fieldName: 'Note', rowID, location: ourRowLocation from notes-tsv7-row-check.js line 488 - 348, "Markdown image link has no title text", excerpt: totalLink, location: ourLocation from notes-links-check.js line 259 + 348, "Markdown image link has no title text", excerpt: totalLink, location: ourLocation from notes-links-check.js line 270 330, `Expected lexicon entry status on third line`, except: lines[2], location: ourLocation from lexicon-file-contents-check.js line 145 - 329, `Unexpected bad character combination`, details, characterIndex, excerpt, location: ourLocation from field-text-check.js line 448 - 312, 'Possible unclosed footnote', details, lineNumber, C, V, location: lineLocation from usfm-text-check.js line 859 - 301, `Unexpected whitespace after \\$marker marker`, C, V, lineNumber, characterIndex: marker.length, excerpt: rest, location: lineLocation from usfm-text-check.js line 1,426 + 329, `Unexpected bad character combination`, details, characterIndex, excerpt, location: ourLocation from field-text-check.js line 449 + 312, 'Possible unclosed footnote', details, lineNumber, C, V, location: lineLocation from usfm-text-check.js line 877 + 301, `Unexpected whitespace after \\$marker marker`, C, V, lineNumber, characterIndex: marker.length, excerpt: rest, location: lineLocation from usfm-text-check.js line 1,483 287, `Not enough links (expected $linkOptions.expectedCount link$linkOptions.expectedCount === 1 ? "" : "s")`, location: ` (only found $regexResultsArray.length)$ourLocation` from field-link-check.js line 178 - 282, "Nesting of header levels seems confused", details: `recent indent levels=$JSON.stringify(indentLevels) but now $numLeadingSpaces`, lineNumber: n, characterIndex: 0, location: ourLocation ; from markdown-text-check.js line 356 + 282, "Nesting of header levels seems confused", details: `recent indent levels=$JSON.stringify(indentLevels) but now $numLeadingSpaces`, lineNumber: n, characterIndex: 0, location: ourLocation ; from markdown-text-check.js line 365 274, "Missing OccurrenceNote field", fieldName: 'OccurrenceNote', rowID, location: ourRowLocation from tn-tsv9-row-check.js line 515 274, "Missing Question field", fieldName: 'Question', rowID, location: ourRowLocation from questions-tsv7-row-check.js line 478 274, "Missing Response field", fieldName: 'Response', rowID, location: ourRowLocation from questions-tsv7-row-check.js line 508 274, "Missing Note field", fieldName: 'Note', rowID, location: ourRowLocation from notes-tsv7-row-check.js line 515 - 256, "Possibly missing current copyright year", details: `possibly expecting '$fullYearString'`, username, repoName, filename, location: markdownLocation, extra: repoCode from checkBookPackage.js line 294 + 256, "Possibly missing current copyright year", details: `possibly expecting ‘$fullYearString’`, username, repoName, filename, location: markdownLocation, extra: repoCode from checkBookPackage.js line 297 252, "Markdown headers should be preceded by a blank line", lineNumber: n, location: ourLocation ; from markdown-text-check.js line 303 251, "Markdown headers should be followed by a blank line", lineNumber: n, location: ourLocation ; from markdown-text-check.js line 310 - 250, "Multiple blank lines are not expected in markdown", lineNumber: n, location: ourLocation ; from markdown-text-check.js line 373 - 238, C, V, "Can't handle verse list yet", rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation from questions-tsv7-table-check.js line 245 + 250, "Multiple blank lines are not expected in markdown", lineNumber: n, location: ourLocation ; from markdown-text-check.js line 382 + 238, C, V, "Checker can’t handle verse list yet", rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation from questions-tsv7-table-check.js line 245 224, "Multiple unexpected double spaces", details: `$doubleCount occurrences—only first is displayed`, excerpt, location: ourLocation ; from field-text-check.js line 232 - 218, "Using deprecated USFM marker", excerpt: `\\$deprecatedMarker`, location: fileLocation from usfm-text-check.js line 701 - 201, "File contains both Arabic and other commas", location: ourLocation from plain-text-check.js line 195 - 199, "Markdown image link has no alternative text", excerpt: totalLink, location: ourLocation from notes-links-check.js line 238 - 199, "Markdown image link has no alternative text", excerpt: totalLink, location: ourLocation from notes-links-check.js line 257 + 218, "Using deprecated USFM marker", excerpt: `\\$deprecatedMarker`, location: fileLocation from usfm-text-check.js line 709 + 201, "File contains both Arabic and other commas", location: ourLocation from plain-text-check.js line 200 + 199, "Markdown image link has no alternative text", excerpt: totalLink, location: ourLocation from notes-links-check.js line 249 + 199, "Markdown image link has no alternative text", excerpt: totalLink, location: ourLocation from notes-links-check.js line 268 + 198, "Found possible separated digits", excerpt: regexMatchObject[0], lineNumber: n, location: ourLocation from plain-text-check.js line 226 195, `Unexpected $punctCharBeingChecked character at start of line`, characterIndex, excerpt, location: ourLocation from field-text-check.js line 334 193, `Unexpected $punctChar character at end of line`, excerpt, location: ourLocation ; from field-text-check.js line 375 191 /* can be lowered to 71 */, `Unexpected $punctCharBeingChecked$optionalName character after space`, excerpt, location: ourLocation ; from field-text-check.js line 319 @@ -582,24 +593,24 @@ Got 635 notices: 173, "Row ID characters should only be lowercase letters, digits, or hypen", fieldName: 'ID', characterIndex: 2, rowID, excerpt: rowID, location: ourRowLocation from tn-tsv9-row-check.js line 398 173, "Row ID characters should only be lowercase letters, digits, or hypen", fieldName: 'ID', characterIndex: 2, rowID, excerpt: rowID, location: ourRowLocation from questions-tsv7-row-check.js line 396 173, "Row ID characters should only be lowercase letters, digits, or hypen", fieldName: 'ID', characterIndex: 2, rowID, excerpt: rowID, location: ourRowLocation from notes-tsv7-row-check.js line 394 - 172, "Header levels should only increment by one", details: `Going from level $currentHeaderLevel to level $thisHeaderLevel`, lineNumber: n, characterIndex: 0, excerpt, location: ourLocation ; from markdown-text-check.js line 325 + 172, "Header levels should only increment by one", details: `Going from level $currentHeaderLevel to level $thisHeaderLevel`, lineNumber: n, characterIndex: 0, excerpt, location: ourLocation ; from markdown-text-check.js line 334 171, "Possible bad lexicon link in TW Strong's line", excerpt: bit, location: ourLocation from markdown-file-contents-check.js line 236 - 159, "Should use proper ellipse character (not periods)", characterIndex, excerpt, location: ourLocation from orig-quote-check.js line 606 - 158, `Unexpected space(s) beside divider $discontiguousDivider`, characterIndex, excerpt, location: ourLocation from orig-quote-check.js line 631 - 156, "Unexpected space(s) beside ellipse characters", characterIndex, excerpt, location: ourLocation from orig-quote-check.js line 645 - 152, "Should http link be https", excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,581 - 148, "'checking' key is missing", location: ourLocation from manifest-text-check.js line 683 - 144, "Unknown Bible book name in TN link", details: totalLink, excerpt: optionalB1, location: ourLocation from notes-links-check.js line 1,370 - 143, "Unknown Bible book name in TN RC link", details: totalLink, excerpt: optionalB1, location: ourLocation from notes-links-check.js line 740 - 143, "Unknown Bible book name in TN RC link", details: totalLink, excerpt: optionalB1, location: ourLocation from notes-links-check.js line 808 - 143, "Unknown Bible book name in Bible link", details: totalLink, excerpt: optionalB1, location: ourLocation from notes-links-check.js line 864 - 143, "Unknown Bible book name in relative Bible link", details: totalLink, excerpt: optionalB1, location: ourLocation from notes-links-check.js line 1,014 - 143, "Unknown Bible book name in Bible link", details: totalLink, excerpt: B1, location: ourLocation from notes-links-check.js line 1,072 - 143, "Unknown Bible book name in Bible link", details: totalLink, excerpt: optionalB1, location: ourLocation from notes-links-check.js line 1,136 - 143, "Unknown Bible book name in Bible link", details: totalLink, excerpt: optionalB1, location: ourLocation from notes-links-check.js line 1,201 - 143, "Unknown Bible book name in Bible link", details: totalLink, excerpt: B1, location: ourLocation from notes-links-check.js line 1,255 - 143, "Unknown Bible book name in Bible link", details: totalLink, excerpt: B1, location: ourLocation from notes-links-check.js line 1,313 - 138, "File ends with additional blank line(s)", characterIndex, excerpt, location: ourLocation from plain-text-check.js line 176 + 159, "Should use proper ellipse character (not periods)", characterIndex, excerpt, location: ourLocation from orig-quote-check.js line 616 + 158, `Unexpected space(s) beside divider $discontiguousDivider`, characterIndex, excerpt, location: ourLocation from orig-quote-check.js line 641 + 156, "Unexpected space(s) beside ellipse characters", characterIndex, excerpt, location: ourLocation from orig-quote-check.js line 655 + 152, "Should http link be https", excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,592 + 148, "'checking' key is missing", location: ourLocation from manifest-text-check.js line 686 + 144, "Unknown Bible book name in TN link", details: totalLink, excerpt: optionalB1, location: ourLocation from notes-links-check.js line 1,381 + 143, "Unknown Bible book name in TN RC link", details: totalLink, excerpt: optionalB1, location: ourLocation from notes-links-check.js line 751 + 143, "Unknown Bible book name in TN RC link", details: totalLink, excerpt: optionalB1, location: ourLocation from notes-links-check.js line 819 + 143, "Unknown Bible book name in Bible link", details: totalLink, excerpt: optionalB1, location: ourLocation from notes-links-check.js line 875 + 143, "Unknown Bible book name in relative Bible link", details: totalLink, excerpt: optionalB1, location: ourLocation from notes-links-check.js line 1,025 + 143, "Unknown Bible book name in Bible link", details: totalLink, excerpt: B1, location: ourLocation from notes-links-check.js line 1,083 + 143, "Unknown Bible book name in Bible link", details: totalLink, excerpt: optionalB1, location: ourLocation from notes-links-check.js line 1,147 + 143, "Unknown Bible book name in Bible link", details: totalLink, excerpt: optionalB1, location: ourLocation from notes-links-check.js line 1,212 + 143, "Unknown Bible book name in Bible link", details: totalLink, excerpt: B1, location: ourLocation from notes-links-check.js line 1,266 + 143, "Unknown Bible book name in Bible link", details: totalLink, excerpt: B1, location: ourLocation from notes-links-check.js line 1,324 + 138, "File ends with additional blank line(s)", characterIndex, excerpt, location: ourLocation from plain-text-check.js line 181 133, C, V, "Possible receding verse number", details: `'$V' after '$lastV for chapter $C`, rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation from questions-tsv7-table-check.js line 239 124, "Unexpected double spaces", excerpt, location: ourLocation ; from field-text-check.js line 230 111, `Bad options for checkFieldLinks: expectedCount=$linkOptions.expectedCount but allowedCount=$linkOptions.allowedCount` from field-link-check.js line 146 @@ -607,30 +618,31 @@ Got 635 notices: 109, `Unexpected leading space`, characterIndex: 0, excerpt, location: ourLocation from field-text-check.js line 152 107, "Unexpected leading line break", characterIndex: 0, excerpt, location: ourLocation from field-text-check.js line 187 104, "Unexpected trailing line break", characterIndex: fieldText.length - 1, excerpt, location: ourLocation from field-text-check.js line 217 - 102, `USFMGrammar: $warningString`, location: fileLocation from usfm-text-check.js line 337 + 102, `USFMGrammar: $warningString`, location: fileLocation from usfm-text-check.js line 339 101, `USFMGrammar: $warningString`, filename, location: ourLocation from BCS-usfm-grammar-check.js line 241 95, "Unexpected trailing space(s)", excerpt, location: ourLocation ; from field-text-check.js line 198 94, "Unexpected trailing space(s) before break", characterIndex, excerpt, location: ourLocation from field-text-check.js line 205 93, "Unexpected trailing space(s) before line break", characterIndex, excerpt, location: ourLocation from field-text-check.js line 209 - 92, `Unexpected leading zero`, characterIndex, excerpt, location: ourLocation from field-text-check.js line 465 - 87, C, V, "Expected \\toc2 line to follow \\toc1", lineNumber: n, characterIndex: 1, details: `not '\\$lastMarker'`, location: ourLocation from usfm-text-check.js line 1,657 - 87, C, V, "Expected \\toc3 line to follow \\toc2", lineNumber: n, characterIndex: 1, details: `not '\\$lastMarker'`, location: ourLocation from usfm-text-check.js line 1,659 - 82, `Error loading unfoldingWord link`, details: "please double-check link—there may be no problem", excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,553 + 92, `Unexpected leading zero`, characterIndex, excerpt, location: ourLocation from field-text-check.js line 468 + 91, "Possible missing separator in digit string", excerpt: regexMatchObject[0], lineNumber: n, location: ourLocation from plain-text-check.js line 232 + 87, C, V, "Expected USFM \\toc2 line to follow \\toc1", lineNumber: n, characterIndex: 1, details: `not '\\$lastMarker’`, location: ourLocation from usfm-text-check.js line 1,714 + 87, C, V, "Expected USFM \\toc3 line to follow \\toc2", lineNumber: n, characterIndex: 1, details: `not '\\$lastMarker’`, location: ourLocation from usfm-text-check.js line 1,716 + 82, `Error loading unfoldingWord link`, details: "please double-check link—there may be no problem", excerpt: totalLink, location: ourLocation from notes-links-check.js line 1,564 70, "Possible unusual TW Strong's line", details: "expected line to start with '* Strong’s: '", excerpt: line.slice(0, excerptLength - 1), location: ourLocation from markdown-file-contents-check.js line 240 - 67, C: chapterNumberString, V: `$v`, "Verse appears to be left out", location: CVlocation from usfm-text-check.js line 560 + 67, C: chapterNumberString, V: `$v`, "Verse appears to be left out", location: CVlocation from usfm-text-check.js line 562 64, "Unexpected leading space(s) after break", characterIndex, excerpt, location: ourLocation from field-text-check.js line 164 63, "Unexpected leading space(s) after line break", characterIndex, excerpt, location: ourLocation from field-text-check.js line 168 - 50, "Is this quote/occurrence correct???", details: `occurrence=$occurrence`, excerpt: fieldText, location: ourLocation from orig-quote-check.js line 673 - 43, "Unexpected Bible book name in TN RC link", details: `expected 'Song of Songs' in $totalLink`, excerpt: optionalB1, location: ourLocation : from notes-links-check.js line 739 - 43, "Unexpected Bible book name in TN RC link", details: `expected 'Song of Songs' in $totalLink`, excerpt: optionalB1, location: ourLocation : from notes-links-check.js line 807 - 43, "Unexpected Bible book name in Bible link", details: `expected 'Song of Songs' in $totalLink`, excerpt: optionalB1, location: ourLocation : from notes-links-check.js line 863 - 43, "Unexpected Bible book name in relative Bible link", details: `expected 'Song of Songs' in $totalLink`, excerpt: optionalB1, location: ourLocation : from notes-links-check.js line 1,013 - 43, "Unexpected Bible book name in Bible link", details: `expected 'Song of Songs' in $totalLink`, excerpt: B1, location: ourLocation : from notes-links-check.js line 1,071 - 43, "Unexpected Bible book name in Bible link", details: `expected 'Song of Songs' in $totalLink`, excerpt: optionalB1, location: ourLocation : from notes-links-check.js line 1,135 - 43, "Unexpected Bible book name in Bible link", details: `expected 'Song of Songs' in $totalLink`, excerpt: optionalB1, location: ourLocation : from notes-links-check.js line 1,200 - 43, "Unexpected Bible book name in Bible link", details: `expected 'Song of Songs' in $totalLink`, excerpt: B1, location: ourLocation : from notes-links-check.js line 1,254 - 43, "Unexpected Bible book name in Bible link", details: `expected 'Song of Songs' in $totalLink`, excerpt: B1, location: ourLocation : from notes-links-check.js line 1,312 - 25, "Note: skipped running BCS USFMGrammar checker for large book", details: `$numChapters chapters ($kB.toLocaleString() KB)`, location: ourLocation from usfm-text-check.js line 1,724 + 50, "Is this quote/occurrence correct???", details: `occurrence=$occurrence`, excerpt: fieldText, location: ourLocation from orig-quote-check.js line 683 + 43, "Unexpected Bible book name in TN RC link", details: `expected 'Song of Songs' in $totalLink`, excerpt: optionalB1, location: ourLocation : from notes-links-check.js line 750 + 43, "Unexpected Bible book name in TN RC link", details: `expected 'Song of Songs' in $totalLink`, excerpt: optionalB1, location: ourLocation : from notes-links-check.js line 818 + 43, "Unexpected Bible book name in Bible link", details: `expected 'Song of Songs' in $totalLink`, excerpt: optionalB1, location: ourLocation : from notes-links-check.js line 874 + 43, "Unexpected Bible book name in relative Bible link", details: `expected 'Song of Songs' in $totalLink`, excerpt: optionalB1, location: ourLocation : from notes-links-check.js line 1,024 + 43, "Unexpected Bible book name in Bible link", details: `expected 'Song of Songs' in $totalLink`, excerpt: B1, location: ourLocation : from notes-links-check.js line 1,082 + 43, "Unexpected Bible book name in Bible link", details: `expected 'Song of Songs' in $totalLink`, excerpt: optionalB1, location: ourLocation : from notes-links-check.js line 1,146 + 43, "Unexpected Bible book name in Bible link", details: `expected 'Song of Songs' in $totalLink`, excerpt: optionalB1, location: ourLocation : from notes-links-check.js line 1,211 + 43, "Unexpected Bible book name in Bible link", details: `expected 'Song of Songs' in $totalLink`, excerpt: B1, location: ourLocation : from notes-links-check.js line 1,265 + 43, "Unexpected Bible book name in Bible link", details: `expected 'Song of Songs' in $totalLink`, excerpt: B1, location: ourLocation : from notes-links-check.js line 1,323 + 25, "Note: skipped running BCS USFMGrammar checker for large book", details: `$numChapters chapters ($kB.toLocaleString() KB)`, location: ourLocation from usfm-text-check.js line 1,781 20, "Note that 'disableAllLinkFetchingFlag' was set so link targets were not checked", location: ourLocation from tn-tsv9-table-check.js line 276 20, "Note that 'disableAllLinkFetchingFlag' was set so link targets were not checked", location: ourLocation from twl-tsv6-table-check.js line 280 20, "Note that 'disableAllLinkFetchingFlag' was set so link targets were not checked", location: ourLocation from notes-tsv7-table-check.js line 281 diff --git a/package.json b/package.json index 02368656..3e3e5439 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "uw-content-validation", - "description": "Functions for Checking Door43.org Scriptural Content/Resources.", - "version": "3.3.0", + "description": "Functions for Checking Door43.org Content/Resources.", + "version": "3.1.0", "private": false, "homepage": "https://unfoldingword.github.io/uw-content-validation/", "repository": { diff --git a/src/__tests__/__snapshots__/book-package-check.test.js.snap b/src/__tests__/__snapshots__/book-package-check.test.js.snap index 6d7c90c1..14af177f 100644 --- a/src/__tests__/__snapshots__/book-package-check.test.js.snap +++ b/src/__tests__/__snapshots__/book-package-check.test.js.snap @@ -68,6 +68,132 @@ Object { "en_tq", ], "noticeList": Array [ + Object { + "C": "1", + "V": "1", + "bookID": "RUT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-tw=\\"rc…", + "extra": "UHB", + "fieldName": "\\\\k-s", + "filename": "08-RUT.usfm", + "lineNumber": 23, + "location": " in en RUT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "UHB", + "repoName": "hbo_uhb", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "2", + "bookID": "RUT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-tw=\\"rc…", + "extra": "UHB", + "fieldName": "\\\\k-s", + "filename": "08-RUT.usfm", + "lineNumber": 47, + "location": " in en RUT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "UHB", + "repoName": "hbo_uhb", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "6", + "bookID": "RUT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-tw=\\"rc…", + "extra": "UHB", + "fieldName": "\\\\k-s", + "filename": "08-RUT.usfm", + "lineNumber": 105, + "location": " in en RUT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "UHB", + "repoName": "hbo_uhb", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "19", + "bookID": "RUT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-tw=\\"rc…", + "extra": "UHB", + "fieldName": "\\\\k-s", + "filename": "08-RUT.usfm", + "lineNumber": 295, + "location": " in en RUT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "UHB", + "repoName": "hbo_uhb", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "19", + "bookID": "RUT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-tw=\\"rc…", + "extra": "UHB", + "fieldName": "\\\\k-s", + "filename": "08-RUT.usfm", + "lineNumber": 300, + "location": " in en RUT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "UHB", + "repoName": "hbo_uhb", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "22", + "bookID": "RUT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-tw=\\"rc…", + "extra": "UHB", + "fieldName": "\\\\k-s", + "filename": "08-RUT.usfm", + "lineNumber": 354, + "location": " in en RUT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "UHB", + "repoName": "hbo_uhb", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "4", + "bookID": "RUT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-tw=\\"rc…", + "extra": "UHB", + "fieldName": "\\\\k-s", + "filename": "08-RUT.usfm", + "lineNumber": 414, + "location": " in en RUT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "UHB", + "repoName": "hbo_uhb", + "username": "unfoldingWord", + }, Object { "C": "4", "V": "11", @@ -85,6 +211,24 @@ Object { "repoName": "hbo_uhb", "username": "unfoldingWord", }, + Object { + "C": "4", + "V": "11", + "bookID": "RUT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-tw=\\"rc…", + "extra": "UHB", + "fieldName": "\\\\k-s", + "filename": "08-RUT.usfm", + "lineNumber": 1196, + "location": " in en RUT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "UHB", + "repoName": "hbo_uhb", + "username": "unfoldingWord", + }, Object { "bookID": "RUT", "branch": "master", @@ -107,180 +251,392 @@ Object { "username": "unfoldingWord", }, Object { - "C": "4", - "V": "4", + "C": "2", + "V": "1", "bookID": "RUT", "branch": "master", - "details": "line marker='\\\\w'", - "excerpt": "it,'", + "characterIndex": 82, + "excerpt": "…ew␣Ketiv)␣", "extra": "LT", + "fieldName": "adjusted text from \\\\f", "filename": "08-RUT.usfm", - "lineNumber": 2218, + "lineNumber": 754, "location": " in en RUT book package from unfoldingWord master branch", - "message": "Unexpected ' straight quote character", - "priority": 775, + "message": "Unexpected trailing space(s)", + "priority": 95, "repoCode": "LT", "repoName": "en_ult", "username": "unfoldingWord", }, Object { + "C": "2", + "V": "7", "bookID": "RUT", "branch": "master", - "characterIndex": 311926, - "excerpt": "…*\\\\zaln-e\\\\*\\\\zaln-e\\\\*.", + "characterIndex": 48, + "excerpt": "…uncertain␣", "extra": "LT", + "fieldName": "adjusted text from \\\\f", "filename": "08-RUT.usfm", + "lineNumber": 944, "location": " in en RUT book package from unfoldingWord master branch", - "message": "File ends without newline character", - "priority": 538, + "message": "Unexpected trailing space(s)", + "priority": 95, "repoCode": "LT", "repoName": "en_ult", "username": "unfoldingWord", }, Object { + "C": "3", + "V": "3", "bookID": "RUT", "branch": "master", + "characterIndex": 48, + "excerpt": "…rew␣Qere)␣", "extra": "LT", + "fieldName": "adjusted text from \\\\f", "filename": "08-RUT.usfm", + "lineNumber": 1651, "location": " in en RUT book package from unfoldingWord master branch", - "message": "USFMGrammar: Attribute value empty for x-lemma", - "priority": 102, + "message": "Unexpected trailing space(s)", + "priority": 95, "repoCode": "LT", "repoName": "en_ult", "username": "unfoldingWord", }, Object { - "C": "1", - "V": "3", + "C": "3", + "V": "15", "bookID": "RUT", "branch": "master", - "details": "line marker='\\\\zaln-s'", - "excerpt": "Naomi's", - "extra": "ST", + "characterIndex": 66, + "excerpt": "…uscripts)␣", + "extra": "LT", + "fieldName": "adjusted text from \\\\f", "filename": "08-RUT.usfm", - "lineNumber": 110, + "lineNumber": 2024, "location": " in en RUT book package from unfoldingWord master branch", - "message": "Unexpected ' straight quote character", - "priority": 775, - "repoCode": "ST", - "repoName": "en_ust", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", "username": "unfoldingWord", }, Object { - "C": "1", - "V": "8", + "C": "4", + "V": "4", "bookID": "RUT", "branch": "master", - "details": "line marker='\\\\zaln-s'", - "excerpt": "…s-in-law,␣\\"Each", - "extra": "ST", + "details": "line marker='\\\\w'", + "excerpt": "it,'", + "extra": "LT", "filename": "08-RUT.usfm", - "lineNumber": 244, + "lineNumber": 2218, "location": " in en RUT book package from unfoldingWord master branch", - "message": "Unexpected \\" straight quote character", - "priority": 776, - "repoCode": "ST", - "repoName": "en_ust", + "message": "Unexpected ' straight quote character", + "priority": 775, + "repoCode": "LT", + "repoName": "en_ult", "username": "unfoldingWord", }, Object { - "C": "1", - "V": "8", + "C": "4", + "V": "4", "bookID": "RUT", "branch": "master", - "characterIndex": 17, - "excerpt": "…rs-in-law, \\"Each", - "extra": "ST", - "fieldName": "adjusted text from \\\\zaln-s", + "characterIndex": 90, + "excerpt": "…uscripts)␣", + "extra": "LT", + "fieldName": "adjusted text from \\\\f", "filename": "08-RUT.usfm", - "lineNumber": 244, + "lineNumber": 2283, "location": " in en RUT book package from unfoldingWord master branch", - "message": "Unexpected \\" character after space", - "priority": 191, - "repoCode": "ST", - "repoName": "en_ust", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", "username": "unfoldingWord", }, Object { - "C": "1", - "V": "8", + "C": "4", + "V": "4", "bookID": "RUT", "branch": "master", - "characterIndex": 271, - "excerpt": "…\\\\zaln-e\\\\*, \\"\\\\zaln-s …", - "extra": "ST", - "fieldName": "\\\\zaln-s", + "characterIndex": 59, + "excerpt": "…rew␣Qere)␣", + "extra": "LT", + "fieldName": "adjusted text from \\\\f", "filename": "08-RUT.usfm", - "lineNumber": 244, + "lineNumber": 2284, "location": " in en RUT book package from unfoldingWord master branch", - "message": "Unexpected \\" character after space", - "priority": 191, - "repoCode": "ST", - "repoName": "en_ust", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", "username": "unfoldingWord", }, Object { - "C": "1", - "V": "8", + "C": "4", + "V": "5", "bookID": "RUT", "branch": "master", - "details": "line marker='\\\\w'", - "excerpt": "mother's", - "extra": "ST", + "characterIndex": 67, + "excerpt": "…ew␣Ketiv)␣", + "extra": "LT", + "fieldName": "adjusted text from \\\\f", "filename": "08-RUT.usfm", - "lineNumber": 255, + "lineNumber": 2329, "location": " in en RUT book package from unfoldingWord master branch", - "message": "Unexpected ' straight quote character", - "priority": 775, - "repoCode": "ST", - "repoName": "en_ust", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", "username": "unfoldingWord", }, Object { - "C": "1", - "V": "9", "bookID": "RUT", "branch": "master", - "details": "line marker='\\\\zaln-s'", - "excerpt": "home.\\"", - "extra": "ST", + "characterIndex": 311926, + "excerpt": "…*\\\\zaln-e\\\\*\\\\zaln-e\\\\*.", + "extra": "LT", "filename": "08-RUT.usfm", - "lineNumber": 298, "location": " in en RUT book package from unfoldingWord master branch", - "message": "Unexpected \\" straight quote character", - "priority": 776, - "repoCode": "ST", - "repoName": "en_ust", + "message": "File ends without newline character", + "priority": 538, + "repoCode": "LT", + "repoName": "en_ult", "username": "unfoldingWord", }, Object { - "C": "1", - "V": "10", "bookID": "RUT", "branch": "master", - "details": "line marker='\\\\w'", - "excerpt": "said,␣\\"No!", - "extra": "ST", + "characterIndex": 54, + "details": "'‘' opened on line 2,217 character 179", + "excerpt": "…\\\\zaln-e\\\\*.”", + "extra": "LT", "filename": "08-RUT.usfm", - "lineNumber": 311, + "lineNumber": 2274, "location": " in en RUT book package from unfoldingWord master branch", - "message": "Unexpected \\" straight quote character", - "priority": 776, - "repoCode": "ST", - "repoName": "en_ust", + "message": "Bad punctuation nesting: ” closing character doesn’t match", + "priority": 777, + "repoCode": "LT", + "repoName": "en_ult", "username": "unfoldingWord", }, Object { - "C": "1", - "V": "10", "bookID": "RUT", "branch": "master", - "characterIndex": 5, - "excerpt": "said, \\"No!", - "extra": "ST", - "fieldName": "adjusted text from \\\\w", + "characterIndex": 178, + "details": "2 unclosed sets", + "excerpt": "…zaln-e\\\\*, ‘\\\\zaln-s |…", + "extra": "LT", "filename": "08-RUT.usfm", - "lineNumber": 311, + "lineNumber": 2217, + "location": " in en RUT book package from unfoldingWord master branch", + "message": "At end of text with unclosed ‘ opening character", + "priority": 768, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "bookID": "RUT", + "branch": "master", + "details": "left=4, right=3", + "extra": "LT", + "filename": "08-RUT.usfm", + "location": " in en RUT book package from unfoldingWord master branch", + "message": "Mismatched ‘’ characters", + "priority": 462, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "bookID": "RUT", + "branch": "master", + "details": "'‘' opened on line 47 character 241", + "excerpt": "…after you.” ", + "extra": "LT", + "filename": "text extracted from 08-RUT.usfm", + "location": " in en RUT book package from unfoldingWord master branch", + "message": "Bad punctuation nesting: ” closing character doesn’t match", + "priority": 777, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "bookID": "RUT", + "branch": "master", + "details": "2 unclosed sets", + "excerpt": "…, saying, ‘Buy it,' …", + "extra": "LT", + "filename": "text extracted from 08-RUT.usfm", + "location": " in en RUT book package from unfoldingWord master branch", + "message": "At end of text with unclosed ‘ opening character", + "priority": 768, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "bookID": "RUT", + "branch": "master", + "details": "left=4, right=3", + "extra": "LT", + "filename": "text extracted from 08-RUT.usfm", + "location": " in en RUT book package from unfoldingWord master branch", + "message": "Mismatched ‘’ characters", + "priority": 462, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "bookID": "RUT", + "branch": "master", + "extra": "LT", + "filename": "08-RUT.usfm", + "location": " in en RUT book package from unfoldingWord master branch", + "message": "USFMGrammar: Attribute value empty for x-lemma", + "priority": 102, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "3", + "bookID": "RUT", + "branch": "master", + "details": "line marker='\\\\zaln-s'", + "excerpt": "Naomi's", + "extra": "ST", + "filename": "08-RUT.usfm", + "lineNumber": 110, + "location": " in en RUT book package from unfoldingWord master branch", + "message": "Unexpected ' straight quote character", + "priority": 775, + "repoCode": "ST", + "repoName": "en_ust", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "8", + "bookID": "RUT", + "branch": "master", + "details": "line marker='\\\\zaln-s'", + "excerpt": "…s-in-law, \\"Each", + "extra": "ST", + "filename": "08-RUT.usfm", + "lineNumber": 244, + "location": " in en RUT book package from unfoldingWord master branch", + "message": "Unexpected \\" straight quote character", + "priority": 776, + "repoCode": "ST", + "repoName": "en_ust", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "8", + "bookID": "RUT", + "branch": "master", + "characterIndex": 17, + "excerpt": "…rs-in-law, \\"Each", + "extra": "ST", + "fieldName": "adjusted text from \\\\zaln-s", + "filename": "08-RUT.usfm", + "lineNumber": 244, + "location": " in en RUT book package from unfoldingWord master branch", + "message": "Unexpected \\" character after space", + "priority": 191, + "repoCode": "ST", + "repoName": "en_ust", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "8", + "bookID": "RUT", + "branch": "master", + "characterIndex": 271, + "excerpt": "…\\\\zaln-e\\\\*, \\"\\\\zaln-s …", + "extra": "ST", + "fieldName": "\\\\zaln-s", + "filename": "08-RUT.usfm", + "lineNumber": 244, + "location": " in en RUT book package from unfoldingWord master branch", + "message": "Unexpected \\" character after space", + "priority": 191, + "repoCode": "ST", + "repoName": "en_ust", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "8", + "bookID": "RUT", + "branch": "master", + "details": "line marker='\\\\w'", + "excerpt": "mother's", + "extra": "ST", + "filename": "08-RUT.usfm", + "lineNumber": 255, + "location": " in en RUT book package from unfoldingWord master branch", + "message": "Unexpected ' straight quote character", + "priority": 775, + "repoCode": "ST", + "repoName": "en_ust", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "9", + "bookID": "RUT", + "branch": "master", + "details": "line marker='\\\\zaln-s'", + "excerpt": "home.\\"", + "extra": "ST", + "filename": "08-RUT.usfm", + "lineNumber": 298, + "location": " in en RUT book package from unfoldingWord master branch", + "message": "Unexpected \\" straight quote character", + "priority": 776, + "repoCode": "ST", + "repoName": "en_ust", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "10", + "bookID": "RUT", + "branch": "master", + "details": "line marker='\\\\w'", + "excerpt": "said, \\"No!", + "extra": "ST", + "filename": "08-RUT.usfm", + "lineNumber": 311, + "location": " in en RUT book package from unfoldingWord master branch", + "message": "Unexpected \\" straight quote character", + "priority": 776, + "repoCode": "ST", + "repoName": "en_ust", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "10", + "bookID": "RUT", + "branch": "master", + "characterIndex": 5, + "excerpt": "said, \\"No!", + "extra": "ST", + "fieldName": "adjusted text from \\\\w", + "filename": "08-RUT.usfm", + "lineNumber": 311, "location": " in en RUT book package from unfoldingWord master branch", "message": "Unexpected \\" character after space", "priority": 191, @@ -329,7 +685,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\zaln-s'", - "excerpt": "said,␣\\"No,", + "excerpt": "said, \\"No,", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 325, @@ -399,7 +755,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "her,␣\\"Look!", + "excerpt": "her, \\"Look!", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 456, @@ -469,7 +825,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\zaln-s'", - "excerpt": "replied,␣\\"No!", + "excerpt": "replied, \\"No!", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 477, @@ -539,7 +895,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "…xclaimed,␣\\"It", + "excerpt": "…xclaimed, \\"It", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 601, @@ -609,7 +965,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "them,␣\\"You", + "excerpt": "them, \\"You", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 613, @@ -662,7 +1018,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "means␣'pleasant.…", + "excerpt": "means 'pleasant.…", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 623, @@ -715,7 +1071,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "means␣'bitter.'", + "excerpt": "means 'bitter.'", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 630, @@ -819,7 +1175,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\zaln-s'", - "excerpt": "Naomi,␣\\"Let", + "excerpt": "Naomi, \\"Let", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 741, @@ -889,7 +1245,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "replied,␣\\"Go", + "excerpt": "replied, \\"Go", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 768, @@ -976,7 +1332,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\zaln-s'", - "excerpt": "saying,␣\\"May", + "excerpt": "saying, \\"May", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 814, @@ -1046,7 +1402,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "replied,␣\\"May", + "excerpt": "replied, \\"May", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 820, @@ -1116,7 +1472,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "foreman,␣\\"Who", + "excerpt": "foreman, \\"Who", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 834, @@ -1186,7 +1542,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "replied,␣\\"She", + "excerpt": "replied, \\"She", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 843, @@ -1239,7 +1595,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "me,␣'Please", + "excerpt": "me, 'Please", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 859, @@ -1326,7 +1682,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\zaln-s'", - "excerpt": "Ruth,␣\\"Young", + "excerpt": "Ruth, \\"Young", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 898, @@ -1396,7 +1752,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "…xclaimed,␣\\"Why", + "excerpt": "…xclaimed, \\"Why", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 988, @@ -1466,7 +1822,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "replied,␣\\"People", + "excerpt": "replied, \\"People", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 1013, @@ -1536,7 +1892,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "replied,␣\\"Sir,", + "excerpt": "replied, \\"Sir,", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 1091, @@ -1606,7 +1962,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "her,␣\\"Come", + "excerpt": "her, \\"Come", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 1135, @@ -1676,7 +2032,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "workers,␣\\"Even", + "excerpt": "workers, \\"Even", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 1193, @@ -1746,7 +2102,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\zaln-s'", - "excerpt": "her,␣\\"Where", + "excerpt": "her, \\"Where", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 1320, @@ -1816,7 +2172,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "said,␣\\"The", + "excerpt": "said, \\"The", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 1360, @@ -1886,7 +2242,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "…r-in-law,␣\\"May", + "excerpt": "…r-in-law, \\"May", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 1379, @@ -1956,7 +2312,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\zaln-s'", - "excerpt": "added,␣\\"That", + "excerpt": "added, \\"That", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 1404, @@ -2026,7 +2382,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\zaln-s'", - "excerpt": "said,␣\\"He", + "excerpt": "said, \\"He", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 1435, @@ -2079,7 +2435,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\zaln-s'", - "excerpt": "me,␣'Stay", + "excerpt": "me, 'Stay", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 1438, @@ -2166,7 +2522,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\zaln-s'", - "excerpt": "Ruth,␣\\"My", + "excerpt": "Ruth, \\"My", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 1460, @@ -2270,7 +2626,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "Ruth,␣\\"My", + "excerpt": "Ruth, \\"My", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 1537, @@ -2357,7 +2713,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "replied,␣\\"I", + "excerpt": "replied, \\"I", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 1678, @@ -2427,7 +2783,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "her,␣\\"Who", + "excerpt": "her, \\"Who", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 1787, @@ -2497,7 +2853,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "replied,␣\\"I", + "excerpt": "replied, \\"I", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 1791, @@ -2584,7 +2940,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "replied,␣\\"May", + "excerpt": "replied, \\"May", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 1818, @@ -2671,7 +3027,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "added,␣\\"It", + "excerpt": "added, \\"It", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 1994, @@ -2741,7 +3097,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "her,␣\\"Bring", + "excerpt": "her, \\"Bring", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 2038, @@ -2811,7 +3167,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "her,␣\\"Is", + "excerpt": "her, \\"Is", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 2081, @@ -2881,7 +3237,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "Naomi,␣\\"He", + "excerpt": "Naomi, \\"He", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 2103, @@ -2934,7 +3290,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\zaln-s'", - "excerpt": "saying,␣'I", + "excerpt": "saying, 'I", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 2109, @@ -3021,7 +3377,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "said,␣\\"My", + "excerpt": "said, \\"My", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 2123, @@ -3091,7 +3447,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "said,␣\\"Come", + "excerpt": "said, \\"Come", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 2188, @@ -3161,7 +3517,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "them,␣\\"Please", + "excerpt": "them, \\"Please", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 2217, @@ -3231,7 +3587,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "relative,␣\\"Did", + "excerpt": "relative, \\"Did", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 2237, @@ -3301,7 +3657,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "replied,␣\\"I", + "excerpt": "replied, \\"I", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 2332, @@ -3371,7 +3727,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "him,␣\\"When", + "excerpt": "him, \\"When", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 2341, @@ -3458,7 +3814,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\zaln-s'", - "excerpt": "said,␣\\"Then", + "excerpt": "said, \\"Then", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 2385, @@ -3545,7 +3901,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "Boaz,␣\\"You", + "excerpt": "Boaz, \\"You", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 2474, @@ -3615,7 +3971,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "there,␣\\"Today", + "excerpt": "there, \\"Today", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 2510, @@ -3719,7 +4075,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\w'", - "excerpt": "said,␣\\"Yes,", + "excerpt": "said, \\"Yes,", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 2619, @@ -3789,7 +4145,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\zaln-s'", - "excerpt": "Naomi,␣\\"Praise", + "excerpt": "Naomi, \\"Praise", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 2742, @@ -3859,7 +4215,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\zaln-s'", - "excerpt": "said,␣\\"It", + "excerpt": "said, \\"It", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 2832, @@ -3946,7 +4302,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\v'", - "excerpt": "19␣Hezron's", + "excerpt": "19 Hezron's", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 2871, @@ -3980,7 +4336,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\v'", - "excerpt": "…␣Amminadab's", + "excerpt": "… Amminadab's", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 2879, @@ -4014,7 +4370,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\v'", - "excerpt": "21␣Salmon's", + "excerpt": "21 Salmon's", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 2887, @@ -4048,7 +4404,7 @@ Object { "bookID": "RUT", "branch": "master", "details": "line marker='\\\\v'", - "excerpt": "22␣Obed's", + "excerpt": "22 Obed's", "extra": "ST", "filename": "08-RUT.usfm", "lineNumber": 2895, @@ -4090,6 +4446,19 @@ Object { "repoName": "en_ust", "username": "unfoldingWord", }, + Object { + "bookID": "RUT", + "branch": "master", + "excerpt": "…\\"Each of you should …", + "extra": "ST", + "filename": "text extracted from 08-RUT.usfm", + "location": " in en RUT book package from unfoldingWord master branch", + "message": "File contains straight double-quote(s)", + "priority": 237, + "repoCode": "ST", + "repoName": "en_ust", + "username": "unfoldingWord", + }, Object { "bookID": "RUT", "branch": "master", @@ -4156,7 +4525,7 @@ Object { "V": "6", "bookID": "RUT", "branch": "master", - "details": "SR='figs-idiom'", + "details": "SR=‘figs-idiom’", "excerpt": "figs-synecdoche", "extra": "TN", "fieldName": "OccurrenceNote", @@ -4537,6 +4906,20 @@ Object { "repoName": "en_tq", "username": "unfoldingWord", }, + Object { + "C": "3", + "V": "9", + "bookID": "RUT", + "details": "left=0, right=1", + "extra": "TQ1", + "filename": "rut/03/09.md", + "location": " in unfoldingWord (master)", + "message": "Mismatched “” characters", + "priority": 162, + "repoCode": "TQ1", + "repoName": "en_tq", + "username": "unfoldingWord", + }, Object { "C": "4", "V": "5", @@ -4789,7 +5172,7 @@ Object { "V": "5", "bookID": "TIT", "branch": "master", - "details": "SR='figs-activepassive'—found 2 TA links", + "details": "SR=‘figs-activepassive’—found 2 TA links", "excerpt": "[\\"figs-activepassive\\",\\"figs-metonymy\\"]", "extra": "TN", "fieldName": "OccurrenceNote", @@ -4990,6 +5373,12786 @@ Object { "repoName": "en_twl", "username": "unfoldingWord", }, + Object { + "C": "1", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "1 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 13, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 14, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 16, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 18, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 19, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 21, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 23, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 24, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 25, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 27, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 31, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 33, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 34, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 36, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 39, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 40, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "odliness,␣", + "extra": "LT", + "fieldName": "adjusted text from \\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 42, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 181, + "excerpt": "…zaln-e\\\\*,␣", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 42, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 42, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "2 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 43, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 44, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 47, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 48, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 49, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 50, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 51, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 52, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 53, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 56, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 57, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 58, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 61, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 5, + "excerpt": "time.␣", + "extra": "LT", + "fieldName": "adjusted text from \\\\w", + "filename": "57-TIT.usfm", + "lineNumber": 62, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 52, + "excerpt": "…zaln-e\\\\*.␣", + "extra": "LT", + "fieldName": "\\\\w", + "filename": "57-TIT.usfm", + "lineNumber": 62, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "3 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 63, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 64, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 66, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 67, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 68, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 70, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 71, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 72, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 73, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 75, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 76, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 77, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 80, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 81, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 83, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 84, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 85, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 86, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "4 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 89, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 91, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 92, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 93, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 94, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 95, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 97, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 98, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 99, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 100, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 101, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 102, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 103, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 105, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 106, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 107, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 108, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 109, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "5 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 111, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 113, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 114, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 116, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 117, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 118, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 119, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 120, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 125, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 126, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 129, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 130, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 131, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 132, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 134, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 135, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 136, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 137, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 138, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "6 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 141, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 142, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 143, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 144, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 145, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 147, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 148, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 149, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 150, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 151, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 152, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 153, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 154, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 155, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 158, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "ebellion.␣", + "extra": "LT", + "fieldName": "adjusted text from \\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 159, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 185, + "excerpt": "…zaln-e\\\\*.␣", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 159, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 159, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "7 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 160, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 161, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 162, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 163, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 164, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 165, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 166, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 167, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 170, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 172, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 173, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 174, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 175, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 177, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 178, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 181, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 182, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 184, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 186, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "8 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 191, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 192, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 196, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 202, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 203, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 204, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 205, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 16, + "excerpt": "ntrolled.␣", + "extra": "LT", + "fieldName": "adjusted text from \\\\w", + "filename": "57-TIT.usfm", + "lineNumber": 206, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 104, + "excerpt": "…zaln-e\\\\*.␣", + "extra": "LT", + "fieldName": "\\\\w", + "filename": "57-TIT.usfm", + "lineNumber": 206, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "9 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 207, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 212, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 213, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 214, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 215, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 220, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 221, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 222, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 224, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 227, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 228, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 229, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 232, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 233, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 234, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 235, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 236, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 237, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 239, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 11, + "excerpt": "…0 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 244, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 245, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 247, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 248, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 250, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 252, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 253, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 254, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 255, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 256, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 257, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 13, + "excerpt": "umcision.␣", + "extra": "LT", + "fieldName": "adjusted text from \\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 258, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 184, + "excerpt": "…zaln-e\\\\*.␣", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 258, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 258, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 11, + "excerpt": "…1 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 259, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 262, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 264, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 265, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 266, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 268, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 269, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 270, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 271, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 272, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 274, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 275, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 279, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 280, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 11, + "excerpt": "…2 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 283, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 284, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 285, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 286, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 288, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 289, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 290, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 62, + "excerpt": "… “\\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\w", + "filename": "57-TIT.usfm", + "lineNumber": 291, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 292, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 293, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 294, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 295, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 296, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 297, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 9, + "excerpt": "bellies.”␣", + "extra": "LT", + "fieldName": "adjusted text from \\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 298, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 177, + "excerpt": "…aln-e\\\\*.”␣", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 298, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 298, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 11, + "excerpt": "…3 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 299, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 300, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 301, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 302, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 303, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 304, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 305, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 306, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 307, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 308, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 309, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 311, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 315, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 316, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 6, + "excerpt": "faith,␣", + "extra": "LT", + "fieldName": "adjusted text from \\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 317, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 172, + "excerpt": "…zaln-e\\\\*,␣", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 317, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 317, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 11, + "excerpt": "…4 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 318, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 319, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 322, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 323, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 324, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 325, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 326, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 329, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 331, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 335, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 336, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 11, + "excerpt": "…5 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 339, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 341, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 343, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 346, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 348, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 349, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 352, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 354, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 355, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 356, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 357, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 359, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 360, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 361, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 362, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 363, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 364, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 365, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 366, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "orrupted.␣", + "extra": "LT", + "fieldName": "adjusted text from \\\\w", + "filename": "57-TIT.usfm", + "lineNumber": 368, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 57, + "excerpt": "…zaln-e\\\\*.␣", + "extra": "LT", + "fieldName": "\\\\w", + "filename": "57-TIT.usfm", + "lineNumber": 368, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "16", + "bookID": "TIT", + "branch": "master", + "characterIndex": 11, + "excerpt": "…6 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 369, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "16", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 371, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "16", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 373, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "16", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 374, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "16", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 375, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "16", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 378, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "16", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 379, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "16", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 380, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "16", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 381, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "16", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 383, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "16", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 384, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "16", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 385, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "16", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 386, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "16", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 387, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "16", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 388, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "16", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 389, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "16", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 390, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "1", + "V": "16", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 391, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "1 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 396, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 397, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 398, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 399, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 400, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 401, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 402, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 9, + "excerpt": "teaching.␣", + "extra": "LT", + "fieldName": "adjusted text from \\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 403, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 183, + "excerpt": "…zaln-e\\\\*.␣", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 403, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 403, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "2 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 404, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 406, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 409, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 410, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 411, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 412, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 413, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 414, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 415, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 416, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 417, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 419, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "3 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 422, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 424, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 428, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 429, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 430, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 431, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 432, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 433, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 434, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 436, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 437, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 438, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 439, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 5, + "excerpt": "good.␣", + "extra": "LT", + "fieldName": "adjusted text from \\\\w", + "filename": "57-TIT.usfm", + "lineNumber": 446, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 52, + "excerpt": "…zaln-e\\\\*.␣", + "extra": "LT", + "fieldName": "\\\\w", + "filename": "57-TIT.usfm", + "lineNumber": 446, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "4 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 447, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 450, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 453, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 454, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 456, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 458, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 462, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 9, + "excerpt": "children,␣", + "extra": "LT", + "fieldName": "adjusted text from \\\\w", + "filename": "57-TIT.usfm", + "lineNumber": 466, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 56, + "excerpt": "…zaln-e\\\\*,␣", + "extra": "LT", + "fieldName": "\\\\w", + "filename": "57-TIT.usfm", + "lineNumber": 466, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "5 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 467, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 470, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 471, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 472, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 473, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 475, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 476, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 477, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 478, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 479, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 481, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 482, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 483, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 484, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 485, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 486, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 487, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "6 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 491, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 495, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 496, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 497, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 499, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 9, + "excerpt": "sensible.␣", + "extra": "LT", + "fieldName": "adjusted text from \\\\w", + "filename": "57-TIT.usfm", + "lineNumber": 501, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 56, + "excerpt": "…zaln-e\\\\*.␣", + "extra": "LT", + "fieldName": "\\\\w", + "filename": "57-TIT.usfm", + "lineNumber": 501, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "7 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 502, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 503, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 505, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 506, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 507, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 510, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 511, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 512, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 513, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 514, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 515, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 516, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 518, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 8, + "excerpt": "dignity,␣", + "extra": "LT", + "fieldName": "adjusted text from \\\\w", + "filename": "57-TIT.usfm", + "lineNumber": 519, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 55, + "excerpt": "…zaln-e\\\\*,␣", + "extra": "LT", + "fieldName": "\\\\w", + "filename": "57-TIT.usfm", + "lineNumber": 519, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "8 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 520, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 522, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 523, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 524, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 528, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 530, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 531, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 532, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 535, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 536, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 537, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 538, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 540, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 541, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "9 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 544, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 545, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 549, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 550, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 552, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 553, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 554, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 555, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 557, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 558, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 560, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 6, + "excerpt": "argue,␣", + "extra": "LT", + "fieldName": "adjusted text from \\\\w", + "filename": "57-TIT.usfm", + "lineNumber": 561, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 53, + "excerpt": "…zaln-e\\\\*,␣", + "extra": "LT", + "fieldName": "\\\\w", + "filename": "57-TIT.usfm", + "lineNumber": 561, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 11, + "excerpt": "…0 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 562, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 563, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 565, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 567, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 569, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 570, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 571, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 572, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 574, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 575, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 577, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 582, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 583, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 584, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 586, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 587, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 588, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 589, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 11, + "excerpt": "…1 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 592, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 593, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 594, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 595, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 596, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 597, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 599, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 601, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 602, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 7, + "excerpt": "people,␣", + "extra": "LT", + "fieldName": "adjusted text from \\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 603, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 178, + "excerpt": "…zaln-e\\\\*,␣", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 603, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 603, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 11, + "excerpt": "…2 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 604, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 605, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 606, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 608, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 609, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 610, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 611, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 612, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 613, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 616, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 619, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 620, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 621, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 622, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 624, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 625, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 626, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 4, + "excerpt": "age,␣", + "extra": "LT", + "fieldName": "adjusted text from \\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 627, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 167, + "excerpt": "…zaln-e\\\\*,␣", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 627, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 627, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 11, + "excerpt": "…3 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 628, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 634, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 635, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 636, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 637, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 638, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 639, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 640, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 641, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 642, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 643, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 644, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 645, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 646, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 647, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 648, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 649, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 11, + "excerpt": "…4 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 652, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 653, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 654, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 655, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 656, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 657, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 659, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 661, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 662, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 663, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 664, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 665, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 666, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 668, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 670, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 671, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 672, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 673, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 674, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 675, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 676, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 11, + "excerpt": "…5 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 680, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 681, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 684, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 685, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 686, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 687, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 688, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 689, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 690, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 691, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 692, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 694, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "2", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 695, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "1 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 700, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 701, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 702, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 704, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 706, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 708, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 711, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 713, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 714, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 715, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 716, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 5, + "excerpt": "work,␣", + "extra": "LT", + "fieldName": "adjusted text from \\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 717, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 169, + "excerpt": "…zaln-e\\\\*,␣", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 717, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "1", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 717, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "2 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 718, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 720, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 722, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 724, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 725, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 726, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 727, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 728, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 729, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 730, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "2", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 731, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "3 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 734, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 735, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 736, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 737, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 738, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 739, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 740, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 742, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 746, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 748, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 749, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 750, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 751, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 752, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 753, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 755, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 756, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 757, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 758, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 759, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 760, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "3", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 762, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "4 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 766, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 767, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 768, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 769, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 770, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 771, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 772, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 773, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 774, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 775, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 776, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 9, + "excerpt": "appeared,␣", + "extra": "LT", + "fieldName": "adjusted text from \\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 779, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 178, + "excerpt": "…zaln-e\\\\*,␣", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 779, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "4", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 779, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "5 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 780, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 783, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 784, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 785, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 786, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 787, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 788, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 789, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 790, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 791, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 792, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 793, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 794, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 797, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 798, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 799, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 801, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 804, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 805, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 806, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 808, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "5", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 809, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "6 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 812, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 813, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 814, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 815, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 816, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 817, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 818, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 819, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 820, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 821, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 7, + "excerpt": "Christ,␣", + "extra": "LT", + "fieldName": "adjusted text from \\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 822, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 175, + "excerpt": "…zaln-e\\\\*,␣", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 822, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "6", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 822, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "7 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 823, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 825, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 828, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 829, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 830, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 831, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 834, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 835, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 837, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 840, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 841, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "7", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 842, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "8 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 845, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 846, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 847, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 849, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 850, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 852, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 853, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 855, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 856, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 858, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 860, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 862, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 864, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 865, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 868, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 871, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 872, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 873, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 874, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 876, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 877, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 878, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 879, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 880, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "8", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 881, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "9 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 884, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 885, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 886, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 887, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 888, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 889, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 890, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 891, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 892, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 893, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 894, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 897, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 898, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 900, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 901, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 10, + "excerpt": "orthless.␣", + "extra": "LT", + "fieldName": "adjusted text from \\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 902, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 178, + "excerpt": "…zaln-e\\\\*.␣", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 902, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "9", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 902, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 11, + "excerpt": "…0 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 903, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 904, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 905, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 906, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 907, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 908, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 909, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 910, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 9, + "excerpt": "warnings,␣", + "extra": "LT", + "fieldName": "adjusted text from \\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 911, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 180, + "excerpt": "…zaln-e\\\\*,␣", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 911, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "10", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 911, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 11, + "excerpt": "…1 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 912, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 913, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 914, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 917, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 923, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 924, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 926, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "11", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 927, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 11, + "excerpt": "…2 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 931, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 932, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 934, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 935, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 936, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 937, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 938, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 939, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 940, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 942, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 943, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 944, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 945, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 946, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 947, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 950, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 6, + "excerpt": "there.␣", + "extra": "LT", + "fieldName": "adjusted text from \\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 954, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 168, + "excerpt": "…zaln-e\\\\*.␣", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 954, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected trailing space(s)", + "priority": 95, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "12", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 954, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 11, + "excerpt": "…3 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 955, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 956, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 960, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 961, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 962, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 963, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 964, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 965, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 967, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 968, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "13", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 969, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 11, + "excerpt": "…4 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 972, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 973, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 974, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 975, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 977, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 980, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 981, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 982, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 983, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 984, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 985, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 986, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 988, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 989, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "14", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 991, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 11, + "excerpt": "…5 \\\\zaln-s | x-strong…", + "extra": "LT", + "fieldName": "\\\\v", + "filename": "57-TIT.usfm", + "lineNumber": 995, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 996, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 999, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 1000, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 1001, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 1002, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 1003, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 1004, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 1006, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 1007, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 1008, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 1009, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 1010, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 1011, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 1013, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, + Object { + "C": "3", + "V": "15", + "bookID": "TIT", + "branch": "master", + "characterIndex": 0, + "excerpt": "| x-strong…", + "extra": "LT", + "fieldName": "\\\\zaln-s", + "filename": "57-TIT.usfm", + "lineNumber": 1014, + "location": " in en TIT book package from unfoldingWord master branch", + "message": "Unexpected space after | character", + "priority": 192, + "repoCode": "LT", + "repoName": "en_ult", + "username": "unfoldingWord", + }, Object { "bookID": "TIT", "branch": "master", @@ -5118,7 +18281,7 @@ Object { "V": "5", "bookID": "TIT", "branch": "master", - "details": "SR='figs-activepassive'—found 2 TA links", + "details": "SR=‘figs-activepassive’—found 2 TA links", "excerpt": "[\\"figs-activepassive\\",\\"figs-metonymy\\"]", "extra": "TN", "fieldName": "OccurrenceNote", diff --git a/src/__tests__/__snapshots__/plain-text-check.test.js.snap b/src/__tests__/__snapshots__/plain-text-check.test.js.snap new file mode 100644 index 00000000..c537ad7f --- /dev/null +++ b/src/__tests__/__snapshots__/plain-text-check.test.js.snap @@ -0,0 +1,97 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`checkPlainText() - short snippet tests - might fail on tabbed line 1`] = ` +Object { + "noticeList": Array [], + "successList": Array [ + "Checked all 2 lines from test snippet", + "No errors or warnings found by checkPlainText v1.0.2", + ], +} +`; + +exports[`checkPlainText() - short snippet tests - should fail on empty string 1`] = ` +Object { + "noticeList": Array [ + Object { + "characterIndex": -1, + "excerpt": "", + "location": " from test snippet", + "message": "File ends without newline character", + "priority": 538, + }, + ], + "successList": Array [ + "Checked all 1 line from test snippet", + "checkPlainText v1.0.2 finished with 1 notice", + ], +} +`; + +exports[`checkPlainText() - short snippet tests - should fail on long digit string 1`] = ` +Object { + "noticeList": Array [ + Object { + "excerpt": " 5000", + "lineNumber": 1, + "location": " from test snippet", + "message": "Possible missing separator in digit string", + "priority": 91, + }, + Object { + "excerpt": " 456789", + "lineNumber": 1, + "location": " from test snippet", + "message": "Possible missing separator in digit string", + "priority": 91, + }, + ], + "successList": Array [ + "Checked all 2 lines from test snippet", + "checkPlainText v1.0.2 finished with 2 notices", + ], +} +`; + +exports[`checkPlainText() - short snippet tests - should fail on separated digits 1`] = ` +Object { + "noticeList": Array [ + Object { + "characterIndex": 12, + "excerpt": "…sus fed 5, 000 peopl…", + "lineNumber": 1, + "location": " from test snippet", + "message": "Unexpected leading zero", + "priority": 92, + }, + Object { + "excerpt": "5, 000", + "lineNumber": 1, + "location": " from test snippet", + "message": "Found separated digits", + "priority": 498, + }, + Object { + "excerpt": "4, 999", + "lineNumber": 1, + "location": " from test snippet", + "message": "Found possible separated digits", + "priority": 198, + }, + ], + "successList": Array [ + "Checked all 2 lines from test snippet", + "checkPlainText v1.0.2 finished with 3 notices", + ], +} +`; + +exports[`checkPlainText() - short snippet tests - should pass on smallest snippet 1`] = ` +Object { + "noticeList": Array [], + "successList": Array [ + "Checked all 2 lines from test snippet", + "No errors or warnings found by checkPlainText v1.0.2", + ], +} +`; diff --git a/src/__tests__/__snapshots__/tn-tsv7-table-row-check.test.js.snap b/src/__tests__/__snapshots__/tn-tsv7-table-row-check.test.js.snap index 7a8034a4..38299203 100644 --- a/src/__tests__/__snapshots__/tn-tsv7-table-row-check.test.js.snap +++ b/src/__tests__/__snapshots__/tn-tsv7-table-row-check.test.js.snap @@ -91,7 +91,7 @@ Object { "C": "1", "V": "2", "bookID": "GEN", - "details": "SR='figs-imperative'", + "details": "SR=‘figs-imperative’", "excerpt": "figs-imperative", "fieldName": "OccurrenceNote", "location": " from test line", @@ -122,7 +122,7 @@ Object { "C": "1", "V": "2", "bookID": "GEN", - "details": "SR='figs-imperative'", + "details": "SR=‘figs-imperative’", "excerpt": "figs-imperative", "fieldName": "OccurrenceNote", "location": " from test line", @@ -143,7 +143,7 @@ Object { "V": "2", "bookID": "GEN", "characterIndex": 0, - "excerpt": "‼וְ‼חֹ֖שֶׁךְ", + "excerpt": "‡וְ‡חֹ֖שֶׁךְ", "fieldName": "Quote", "location": " from test line", "message": "Unexpected leading word-joiner (u2060) character", @@ -154,7 +154,7 @@ Object { "C": "1", "V": "2", "bookID": "GEN", - "details": "SR='figs-imperative'", + "details": "SR=‘figs-imperative’", "excerpt": "figs-imperative", "fieldName": "OccurrenceNote", "location": " from test line", @@ -175,7 +175,7 @@ Object { "V": "2", "bookID": "GEN", "characterIndex": 0, - "excerpt": "‼וְ⁠חֹ֖שֶׁךְ", + "excerpt": "‡וְ⁠חֹ֖שֶׁךְ", "fieldName": "Quote", "location": " from test line", "message": "Unexpected leading zero-width joiner (u200D) character", @@ -186,7 +186,7 @@ Object { "C": "1", "V": "2", "bookID": "GEN", - "details": "SR='figs-imperative'", + "details": "SR=‘figs-imperative’", "excerpt": "figs-imperative", "fieldName": "OccurrenceNote", "location": " from test line", @@ -206,7 +206,7 @@ Object { "C": "1", "V": "2", "bookID": "GEN", - "details": "SR='figs-imperative'", + "details": "SR=‘figs-imperative’", "excerpt": "figs-imperative", "fieldName": "OccurrenceNote", "location": " from test line", @@ -237,7 +237,7 @@ Object { "C": "1", "V": "2", "bookID": "GEN", - "details": "SR='figs-imperative'", + "details": "SR=‘figs-imperative’", "excerpt": "figs-imperative", "fieldName": "OccurrenceNote", "location": " from test line", @@ -258,7 +258,7 @@ Object { "V": "2", "bookID": "GEN", "characterIndex": 0, - "excerpt": "וְ‼חֹ֖שֶׁךְ‼", + "excerpt": "וְ‡חֹ֖שֶׁךְ‡", "fieldName": "Quote", "location": " from test line", "message": "Unexpected trailing word-joiner (u2060) character", @@ -269,7 +269,7 @@ Object { "C": "1", "V": "2", "bookID": "GEN", - "details": "SR='figs-imperative'", + "details": "SR=‘figs-imperative’", "excerpt": "figs-imperative", "fieldName": "OccurrenceNote", "location": " from test line", @@ -290,7 +290,7 @@ Object { "V": "2", "bookID": "GEN", "characterIndex": 0, - "excerpt": "וְ⁠חֹ֖שֶׁךְ‼", + "excerpt": "וְ⁠חֹ֖שֶׁךְ‡", "fieldName": "Quote", "location": " from test line", "message": "Unexpected trailing zero-width joiner (u200D) character", @@ -301,7 +301,7 @@ Object { "C": "1", "V": "2", "bookID": "GEN", - "details": "SR='figs-imperative'", + "details": "SR=‘figs-imperative’", "excerpt": "figs-imperative", "fieldName": "OccurrenceNote", "location": " from test line", @@ -321,7 +321,7 @@ Object { "C": "1", "V": "2", "bookID": "GEN", - "details": "SR='figs-imperative'", + "details": "SR=‘figs-imperative’", "excerpt": "figs-imperative", "fieldName": "OccurrenceNote", "location": " from test line", @@ -359,7 +359,7 @@ Object { "C": "1", "V": "3", "bookID": "GEN", - "details": "should Occurrence be zero instead of 1 with SR='figs-imperative'", + "details": "should Occurrence be zero instead of 1 with SR=‘figs-imperative’", "fieldName": "Quote", "location": " from test line", "message": "Missing Quote field", @@ -370,7 +370,7 @@ Object { "C": "1", "V": "3", "bookID": "GEN", - "details": "SR='figs-imperative'", + "details": "SR=‘figs-imperative’", "excerpt": "figs-imperative", "fieldName": "OccurrenceNote", "location": " from test line", @@ -401,7 +401,7 @@ Object { "C": "1", "V": "2", "bookID": "GEN", - "details": "SR='figs-imperative'", + "details": "SR=‘figs-imperative’", "excerpt": "figs-imperative", "fieldName": "OccurrenceNote", "location": " from test line", @@ -429,7 +429,7 @@ Object { "C": "1", "V": "2", "bookID": "GEN", - "details": "SR='figs-imperative'", + "details": "SR=‘figs-imperative’", "excerpt": "figs-imperative", "fieldName": "OccurrenceNote", "location": " from test line", @@ -460,7 +460,7 @@ Object { "C": "1", "V": "2", "bookID": "GEN", - "details": "SR='figs-imperative'", + "details": "SR=‘figs-imperative’", "excerpt": "figs-imperative", "fieldName": "OccurrenceNote", "location": " from test line", @@ -720,7 +720,7 @@ Object { "C": "2", "V": "12", "bookID": "RUT", - "details": "SR='figs-parallelism'", + "details": "SR=‘figs-parallelism’", "excerpt": "figs-parallelism", "fieldName": "OccurrenceNote", "location": " from test line", @@ -739,7 +739,7 @@ Object { "C": "1", "V": "9", "bookID": "GEN", - "details": "SR='figs-activepassive'—found 2 TA links", + "details": "SR=‘figs-activepassive’—found 2 TA links", "excerpt": "[\\"figs-activepassivez\\",\\"figs-imperative\\"]", "fieldName": "OccurrenceNote", "location": " from test line", @@ -778,7 +778,7 @@ Object { "C": "1", "V": "9", "bookID": "GEN", - "details": "SR='figs-activepassive'—found 2 TA links", + "details": "SR=‘figs-activepassive’—found 2 TA links", "excerpt": "[\\"figs-activepassive\\",\\"figs-imperativez\\"]", "fieldName": "OccurrenceNote", "location": " from test line", @@ -917,7 +917,7 @@ Object { "C": "2", "V": "3", "bookID": "GEN", - "details": "should Occurrence be zero instead of 1 with SR='Laugh'", + "details": "should Occurrence be zero instead of 1 with SR=‘Laugh’", "fieldName": "Quote", "location": " from test line", "message": "Missing Quote field", @@ -947,7 +947,7 @@ Object { "C": "1", "V": "2", "bookID": "GEN", - "details": "SR='figs-imperative\\\\n'", + "details": "SR=‘figs-imperative\\\\n’", "excerpt": "figs-imperative", "fieldName": "OccurrenceNote", "location": " from test line", @@ -966,7 +966,22 @@ Object { "C": "1", "V": "2", "bookID": "EXO", - "details": "SR='figs-imperative'", + "characterIndex": 90, + "details": "not ‘en’", + "excerpt": "…e: [[rc://en/ta/man/…", + "fieldName": "Note", + "lineNumber": 1, + "location": " from test line", + "message": "Resource container link should have '*' language code", + "priority": 450, + "repoCode": "TN2", + "rowID": "u7qw", + }, + Object { + "C": "1", + "V": "2", + "bookID": "EXO", + "details": "SR=‘figs-imperative’", "excerpt": "figs-imperative", "fieldName": "OccurrenceNote", "location": " from test line", @@ -985,7 +1000,7 @@ Object { "C": "1", "V": "2", "bookID": "GEN", - "details": "SR='figs-imperative'", + "details": "SR=‘figs-imperative’", "excerpt": "figs-imperative", "fieldName": "OccurrenceNote", "location": " from test line", @@ -1004,7 +1019,7 @@ Object { "C": "22", "V": "33", "bookID": "GEN", - "details": "expected '22'", + "details": "expected ‘22’", "excerpt": "2", "fieldName": "Reference", "location": " from test line", @@ -1016,7 +1031,7 @@ Object { "C": "22", "V": "33", "bookID": "GEN", - "details": "expected '33'", + "details": "expected ‘33’", "excerpt": "3", "fieldName": "Reference", "location": " from test line", @@ -1028,7 +1043,7 @@ Object { "C": "22", "V": "33", "bookID": "GEN", - "details": "SR='figs-imperative'", + "details": "SR=‘figs-imperative’", "excerpt": "figs-imperative", "fieldName": "OccurrenceNote", "location": " from test line", diff --git a/src/__tests__/__snapshots__/tn-tsv9-table-row-check.test.js.snap b/src/__tests__/__snapshots__/tn-tsv9-table-row-check.test.js.snap index 4067dea1..c0046a38 100644 --- a/src/__tests__/__snapshots__/tn-tsv9-table-row-check.test.js.snap +++ b/src/__tests__/__snapshots__/tn-tsv9-table-row-check.test.js.snap @@ -7,7 +7,7 @@ Object { "C": "1", "V": "2", "bookID": "GEN", - "details": "expected 'GEN'", + "details": "expected ‘GEN’", "excerpt": "RUT", "fieldName": "Book", "location": " from test line", @@ -40,7 +40,7 @@ Object { "C": "2", "V": "3", "bookID": "GEN", - "details": "should Occurrence be zero instead of 1 with SR=''", + "details": "should Occurrence be zero instead of 1 with SR=‘’", "fieldName": "OrigQuote", "location": " from test line", "message": "Missing OrigQuote field", @@ -210,7 +210,7 @@ Object { "V": "2", "bookID": "GEN", "characterIndex": 0, - "excerpt": "‼וְ‼חֹ֖שֶׁךְ", + "excerpt": "‡וְ‡חֹ֖שֶׁךְ", "fieldName": "OrigQuote", "location": " from test line", "message": "Unexpected leading word-joiner (u2060) character", @@ -244,7 +244,7 @@ Object { "V": "2", "bookID": "GEN", "characterIndex": 0, - "excerpt": "‼וְ⁠חֹ֖שֶׁךְ", + "excerpt": "‡וְ⁠חֹ֖שֶׁךְ", "fieldName": "OrigQuote", "location": " from test line", "message": "Unexpected leading zero-width joiner (u200D) character", @@ -333,7 +333,7 @@ Object { "V": "2", "bookID": "GEN", "characterIndex": 0, - "excerpt": "וְ‼חֹ֖שֶׁךְ‼", + "excerpt": "וְ‡חֹ֖שֶׁךְ‡", "fieldName": "OrigQuote", "location": " from test line", "message": "Unexpected trailing word-joiner (u2060) character", @@ -367,7 +367,7 @@ Object { "V": "2", "bookID": "GEN", "characterIndex": 0, - "excerpt": "וְ⁠חֹ֖שֶׁךְ‼", + "excerpt": "וְ⁠חֹ֖שֶׁךְ‡", "fieldName": "OrigQuote", "location": " from test line", "message": "Unexpected trailing zero-width joiner (u200D) character", @@ -440,7 +440,7 @@ Object { "C": "1", "V": "3", "bookID": "GEN", - "details": "should Occurrence be zero instead of 1 with SR='figs-imperative'", + "details": "should Occurrence be zero instead of 1 with SR=‘figs-imperative’", "fieldName": "OrigQuote", "location": " from test line", "message": "Missing OrigQuote field", @@ -858,7 +858,7 @@ Object { "C": "1", "V": "9", "bookID": "GEN", - "details": "SR='figs-activepassive'—found 2 TA links", + "details": "SR=‘figs-activepassive’—found 2 TA links", "excerpt": "[\\"figs-activepassivez\\",\\"figs-imperative\\"]", "fieldName": "OccurrenceNote", "location": " from test line", @@ -925,7 +925,7 @@ Object { "C": "1", "V": "9", "bookID": "GEN", - "details": "SR='figs-activepassive'—found 2 TA links", + "details": "SR=‘figs-activepassive’—found 2 TA links", "excerpt": "[\\"figs-activepassive\\",\\"figs-imperativez\\"]", "fieldName": "OccurrenceNote", "location": " from test line", @@ -1017,7 +1017,7 @@ Object { "C": "1", "V": "2", "bookID": "GEN", - "details": "expected 'GEN'", + "details": "expected ‘GEN’", "excerpt": "GIN", "fieldName": "Book", "location": " from test line", @@ -1029,7 +1029,7 @@ Object { "C": "1", "V": "2", "bookID": "GEN", - "details": "expected '1'", + "details": "expected ‘1’", "excerpt": "200", "fieldName": "Chapter", "location": " from test line", @@ -1052,7 +1052,7 @@ Object { "C": "1", "V": "2", "bookID": "GEN", - "details": "expected '2'", + "details": "expected ‘2’", "excerpt": "9", "fieldName": "Verse", "location": " from test line", @@ -1108,7 +1108,7 @@ Object { "C": "1", "V": "2", "bookID": "GEN", - "details": "should Occurrence be zero instead of 17 with SR='Laugh'", + "details": "should Occurrence be zero instead of 17 with SR=‘Laugh’", "fieldName": "OrigQuote", "location": " from test line", "message": "Missing OrigQuote field", @@ -1215,7 +1215,7 @@ Object { "C": "2", "V": "3", "bookID": "GEN", - "details": "should Occurrence be zero instead of 1 with SR='Laugh'", + "details": "should Occurrence be zero instead of 1 with SR=‘Laugh’", "fieldName": "OrigQuote", "location": " from test line", "message": "Missing OrigQuote field", @@ -1259,7 +1259,7 @@ Object { "C": "1", "V": "2", "bookID": "GEN", - "details": "SR='figs-imperative
'", + "details": "SR=‘figs-imperative
’", "excerpt": "figs-imperative", "fieldName": "OccurrenceNote", "location": " from test line", @@ -1284,7 +1284,7 @@ Object { "C": "1", "V": "2", "bookID": "GEN", - "details": "expected 'GEN'", + "details": "expected ‘GEN’", "excerpt": "EXO", "fieldName": "Book", "location": " from test line", @@ -1317,7 +1317,7 @@ Object { "C": "22", "V": "33", "bookID": "GEN", - "details": "expected '22'", + "details": "expected ‘22’", "excerpt": "2", "fieldName": "Chapter", "location": " from test line", @@ -1329,7 +1329,7 @@ Object { "C": "22", "V": "33", "bookID": "GEN", - "details": "expected '33'", + "details": "expected ‘33’", "excerpt": "3", "fieldName": "Verse", "location": " from test line", diff --git a/src/__tests__/__snapshots__/usfm-helpers.test.js.snap b/src/__tests__/__snapshots__/usfm-helpers.test.js.snap new file mode 100644 index 00000000..7647ac1f --- /dev/null +++ b/src/__tests__/__snapshots__/usfm-helpers.test.js.snap @@ -0,0 +1,6 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`check_USFM_Helpers() - Should pass 1`] = ` +"‹v25› Eat everything that is sold in the market without asking for the sake of the conscience. For “the earth is the Lord’s, and the fullness of it.” +" +`; diff --git a/src/__tests__/__snapshots__/usfm-text-check.test.js.snap b/src/__tests__/__snapshots__/usfm-text-check.test.js.snap new file mode 100644 index 00000000..c5114290 --- /dev/null +++ b/src/__tests__/__snapshots__/usfm-text-check.test.js.snap @@ -0,0 +1,419 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`checkUSFMText() - short snippet tests - should fail on empty string 1`] = ` +Object { + "noticeList": Array [ + Object { + "bookID": "RUT", + "filename": "test.usfm", + "lineNumber": 1, + "location": " from test snippet", + "message": "USFM file must start with a valid \\\\id line", + "priority": 994, + }, + Object { + "bookID": "RUT", + "filename": "test.usfm", + "lineNumber": 2, + "location": " from test snippet", + "message": "USFM file is recommended to have \\\\ide line", + "priority": 719, + }, + Object { + "bookID": "RUT", + "excerpt": "missing \\\\usfm", + "filename": "test.usfm", + "location": " from test snippet", + "message": "Missing expected USFM line", + "priority": 519, + }, + Object { + "bookID": "RUT", + "excerpt": "missing \\\\mt1", + "filename": "test.usfm", + "location": " from test snippet", + "message": "Missing expected USFM line", + "priority": 921, + }, + Object { + "bookID": "RUT", + "filename": "text extracted from test.usfm", + "location": " from test snippet", + "message": "Only found whitespace", + "priority": 638, + }, + Object { + "bookID": "RUT", + "characterIndex": 0, + "details": " +> 1 | + ^ +Expected \\"\\\\\\\\\\"", + "excerpt": "", + "filename": "test.usfm", + "lineNumber": 1, + "location": " from test snippet", + "message": "USFMGrammar check failed", + "priority": 840, + }, + ], + "successList": Array [ + "Checked all 1 line for RUT from test snippet", + "Checked C:V patterns for RUT from test snippet", + "Checked USFM Grammar (strict mode) (but the USFM DIDN’T validate)", + ], +} +`; + +exports[`checkUSFMText() - short snippet tests - should fail on gap between "5, 000" 1`] = ` +Object { + "noticeList": Array [ + Object { + "C": "1", + "V": "13", + "bookID": "2JN", + "characterIndex": 3, + "excerpt": "13 (\\\\zaln-… (1 → 13)", + "filename": "test.usfm", + "lineNumber": 7, + "location": " from test snippet", + "message": "Verse number didn’t increment correctly", + "priority": 763, + }, + Object { + "bookID": "2JN", + "excerpt": "5, 000", + "filename": "text extracted from test.usfm", + "location": " from test snippet", + "message": "Found separated digits", + "priority": 498, + }, + ], + "successList": Array [ + "Checked all 14 lines for 2JN from test snippet", + "Checked C:V patterns for 2JN from test snippet", + "Checked USFM Grammar (strict mode) without errors", + ], +} +`; + +exports[`checkUSFMText() - short snippet tests - should fail on no ID line 1`] = ` +Object { + "noticeList": Array [ + Object { + "bookID": "RUT", + "filename": "test.usfm", + "lineNumber": 1, + "location": " from test snippet", + "message": "USFM file must start with a valid \\\\id line", + "priority": 994, + }, + Object { + "bookID": "RUT", + "filename": "test.usfm", + "lineNumber": 2, + "location": " from test snippet", + "message": "USFM file is recommended to have \\\\ide line", + "priority": 719, + }, + Object { + "bookID": "RUT", + "excerpt": "missing \\\\usfm", + "filename": "test.usfm", + "location": " from test snippet", + "message": "Missing expected USFM line", + "priority": 519, + }, + Object { + "bookID": "RUT", + "excerpt": "missing \\\\mt1", + "filename": "test.usfm", + "location": " from test snippet", + "message": "Missing expected USFM line", + "priority": 921, + }, + Object { + "bookID": "RUT", + "filename": "text extracted from test.usfm", + "location": " from test snippet", + "message": "Only found whitespace", + "priority": 638, + }, + Object { + "bookID": "RUT", + "characterIndex": 3, + "details": " +> 1 | \\\\ide UTF-8 + ^ + 2 | +Expected \\" \\"", + "excerpt": "\\\\ide UTF-8", + "filename": "test.usfm", + "lineNumber": 1, + "location": " from test snippet", + "message": "USFMGrammar check failed", + "priority": 840, + }, + ], + "successList": Array [ + "Checked all 2 lines for RUT from test snippet", + "Checked C:V patterns for RUT from test snippet", + "Checked USFM Grammar (strict mode) (but the USFM DIDN’T validate)", + ], +} +`; + +exports[`checkUSFMText() - short snippet tests - should fail on non-USFM 1`] = ` +Object { + "noticeList": Array [ + Object { + "bookID": "RUT", + "filename": "test.usfm", + "lineNumber": 1, + "location": " from test snippet", + "message": "USFM file must start with a valid \\\\id line", + "priority": 994, + }, + Object { + "bookID": "RUT", + "filename": "test.usfm", + "lineNumber": 2, + "location": " from test snippet", + "message": "USFM file is recommended to have \\\\ide line", + "priority": 719, + }, + Object { + "C": "0", + "V": "1", + "bookID": "RUT", + "characterIndex": 0, + "excerpt": "2", + "filename": "test.usfm", + "lineNumber": 1, + "location": " from test snippet", + "message": "Expected line to start with backslash", + "priority": 880, + }, + Object { + "C": "0", + "V": "1", + "bookID": "RUT", + "characterIndex": 208, + "excerpt": "…See: [[rc://*/ta/man…", + "fieldName": "\\\\NONE", + "filename": "test.usfm", + "lineNumber": 1, + "location": " from test snippet", + "message": "Unexpected doubled / characters", + "priority": 177, + }, + Object { + "C": "0", + "V": "1", + "bookID": "RUT", + "characterIndex": 203, + "excerpt": "…ve” (See: [[rc://*/t…", + "fieldName": "\\\\NONE", + "filename": "test.usfm", + "lineNumber": 1, + "location": " from test snippet", + "message": "Unexpected doubled [ characters", + "priority": 177, + }, + Object { + "C": "0", + "V": "1", + "bookID": "RUT", + "characterIndex": 245, + "excerpt": "…arallelism]], [Doubl…", + "fieldName": "\\\\NONE", + "filename": "test.usfm", + "lineNumber": 1, + "location": " from test snippet", + "message": "Unexpected doubled ] characters", + "priority": 177, + }, + Object { + "C": "0", + "V": "1", + "bookID": "RUT", + "characterIndex": 259, + "excerpt": "…[Doublet](../figs-do…", + "fieldName": "\\\\NONE", + "filename": "test.usfm", + "lineNumber": 1, + "location": " from test snippet", + "message": "Unexpected doubled . characters", + "priority": 177, + }, + Object { + "C": "0", + "V": "1", + "bookID": "RUT", + "characterIndex": 280, + "excerpt": "…blet/01.md))", + "fieldName": "\\\\NONE", + "filename": "test.usfm", + "lineNumber": 1, + "location": " from test snippet", + "message": "Unexpected doubled ) characters", + "priority": 177, + }, + Object { + "C": "0", + "V": "1", + "bookID": "RUT", + "characterIndex": 207, + "excerpt": "…(See: [[rc://*/ta/ma…", + "fieldName": "\\\\NONE", + "filename": "test.usfm", + "lineNumber": 1, + "location": " from test snippet", + "message": "Unexpected link", + "priority": 765, + }, + Object { + "bookID": "RUT", + "excerpt": "missing \\\\usfm", + "filename": "test.usfm", + "location": " from test snippet", + "message": "Missing expected USFM line", + "priority": 519, + }, + Object { + "bookID": "RUT", + "excerpt": "missing \\\\mt1", + "filename": "test.usfm", + "location": " from test snippet", + "message": "Missing expected USFM line", + "priority": 921, + }, + Object { + "bookID": "RUT", + "characterIndex": 0, + "details": " +> 1 | 2:12 gnn5 figs-parallelism שְׁלֵמָ֗ה 1 This is a poetic expression that is very similar to the previous sentence. Alternate translation: “May Yahweh fully give to you everything that you deserve” (See: [[rc://*/ta/man/translate/figs-parallelism]], [Doublet](../figs-doublet/01.md)) + ^ + 2 | +Expected \\"\\\\\\\\\\"", + "excerpt": "2:12 gnn5 …", + "filename": "test.usfm", + "lineNumber": 1, + "location": " from test snippet", + "message": "USFMGrammar check failed", + "priority": 840, + }, + ], + "successList": Array [ + "Checked all 2 lines for RUT from test snippet", + "Checked C:V patterns for RUT from test snippet", + "Checked USFM Grammar (strict mode) (but the USFM DIDN’T validate)", + ], +} +`; + +exports[`checkUSFMText() - short snippet tests - should fail on wrong book code 1`] = ` +Object { + "noticeList": Array [ + Object { + "bookID": "RUT", + "filename": "test.usfm", + "lineNumber": 2, + "location": " from test snippet", + "message": "USFM file is recommended to have \\\\ide line", + "priority": 719, + }, + Object { + "C": "0", + "V": "1", + "bookID": "RUT", + "characterIndex": 4, + "details": "expected bookID='RUT'", + "excerpt": "GEN", + "filename": "test.usfm", + "lineNumber": 1, + "location": " from test snippet", + "message": "Expected USFM \\\\id line to start with book identifier", + "priority": 987, + }, + Object { + "bookID": "RUT", + "excerpt": "missing \\\\usfm", + "filename": "test.usfm", + "location": " from test snippet", + "message": "Missing expected USFM line", + "priority": 519, + }, + Object { + "bookID": "RUT", + "excerpt": "missing \\\\mt1", + "filename": "test.usfm", + "location": " from test snippet", + "message": "Missing expected USFM line", + "priority": 921, + }, + Object { + "bookID": "RUT", + "filename": "text extracted from test.usfm", + "location": " from test snippet", + "message": "Only found whitespace", + "priority": 638, + }, + Object { + "bookID": "RUT", + "characterIndex": 0, + "details": " + 1 | \\\\id GEN +> 2 | + ^ +Expected \\"\\\\\\\\\\"", + "excerpt": "", + "filename": "test.usfm", + "lineNumber": 2, + "location": " from test snippet", + "message": "USFMGrammar check failed", + "priority": 840, + }, + ], + "successList": Array [ + "Checked all 2 lines for RUT from test snippet", + "Checked C:V patterns for RUT from test snippet", + "Checked USFM Grammar (strict mode) (but the USFM DIDN’T validate)", + ], +} +`; + +exports[`checkUSFMText() - short snippet tests - should not fail on gap between "5, 000" 1`] = ` +Object { + "noticeList": Array [ + Object { + "C": "1", + "V": "13", + "bookID": "2JN", + "characterIndex": 3, + "excerpt": "13 (\\\\zaln-… (1 → 13)", + "filename": "test.usfm", + "lineNumber": 7, + "location": " from test snippet", + "message": "Verse number didn’t increment correctly", + "priority": 763, + }, + ], + "successList": Array [ + "Checked all 13 lines for 2JN from test snippet", + "Checked C:V patterns for 2JN from test snippet", + "Checked USFM Grammar (strict mode) without errors", + ], +} +`; + +exports[`checkUSFMText() - short snippet tests - should pass on smallest snippet 1`] = ` +Object { + "noticeList": Array [], + "successList": Array [ + "Checked all 7 lines for 2JN from test snippet", + "Checked C:V patterns for 2JN from test snippet", + "Checked USFM Grammar (strict mode) without errors", + ], +} +`; diff --git a/src/__tests__/__snapshots__/wrapper.test.js.snap b/src/__tests__/__snapshots__/wrapper.test.js.snap index 084e79e7..0fbb192a 100644 --- a/src/__tests__/__snapshots__/wrapper.test.js.snap +++ b/src/__tests__/__snapshots__/wrapper.test.js.snap @@ -17,7 +17,7 @@ Object { "successList": Array [ "Checked TSV header ", "Checked all 10 data lines", - "internalCheckTN_TSV9Table v0.5.0 finished with 1 notice", + "internalCheckTN_TSV9Table v1.0.0 finished with 1 notice", ], } `; @@ -54,7 +54,7 @@ Object { "successList": Array [ "Checked TSV header ", "Checked all 6 data lines", - "checkNotesTSV7Table v0.4.2 finished with 2 notices", + "checkNotesTSV7Table v1.0.0 finished with 2 notices", ], } `; @@ -76,7 +76,7 @@ Object { "successList": Array [ "Checked TSV header ", "Checked all 5 data lines", - "checkQuestionsTSV7Table v0.3.3 finished with 1 notice", + "checkQuestionsTSV7Table v1.0.0 finished with 1 notice", ], } `; @@ -181,7 +181,7 @@ Object { "successList": Array [ "Checked TSV header ", "Checked all 3 data lines", - "checkNotesTSV7Table v0.4.2 finished with 2 notices", + "checkNotesTSV7Table v1.0.0 finished with 2 notices", ], } `; @@ -287,7 +287,7 @@ Object { "successList": Array [ "Checked TSV header ", "Checked all 7 data lines", - "checkQuestionsTSV7Table v0.3.3 finished with 7 notices", + "checkQuestionsTSV7Table v1.0.0 finished with 7 notices", ], } `; @@ -321,7 +321,7 @@ Object { "successList": Array [ "Checked TSV header ", "Checked all 6 data lines", - "internalCheckTWL_TSV6Table v0.2.1 finished with 1 notice", + "internalCheckTWL_TSV6Table v1.0.0 finished with 1 notice", ], } `; diff --git a/src/__tests__/plain-text-check.test.js b/src/__tests__/plain-text-check.test.js new file mode 100644 index 00000000..3fc4cc49 --- /dev/null +++ b/src/__tests__/plain-text-check.test.js @@ -0,0 +1,74 @@ +/* eslint-env jest */ + +import { checkPlainText } from '../core/plain-text-check'; +import Path from "path"; +import fs from 'fs-extra'; + +const optionalCheckingOptions = { + originalLanguageRepoUsername: 'unfoldingWord', + taRepoUsername: 'unfoldingWord', + disableAllLinkFetchingFlag: true, // until we can solve localforage error: No available storage method found + // The following flags have no meaning if the above is set to true + disableLinkedTAArticlesCheckFlag: true, + disableLinkedTWArticlesCheckFlag: true, + disableLexiconLinkFetchingFlag: true, + disableLinkedLexiconEntriesCheckFlag: true, + getFile: params => { + const { username, repository, path } = params; + // console.log(`plain-text-check.test getFile(${username}, ${repository}, ${path})`) + const filePath = Path.join('./src/__tests__/fixtures', username, repository, path); + if (fs.existsSync(filePath)) { + return fs.readFileSync(filePath).toString(); + } + // eslint-disable-next-line no-throw-literal + throw `plain-text-check.test getFile(): Could not find ${filePath}`; + } +} + +describe('checkPlainText() - ', () => { + const username = 'unfoldingWord'; + const languageCode = 'en'; + const repoCode = 'LT'; + + describe('short snippet tests - ', () => { + it('should pass on smallest snippet', async () => { + const plainText = `This is a short sentence that's all grammatically correct. +`; + const rawResults = await checkPlainText(username, languageCode, repoCode, 'text', 'snippet', plainText, 'from test snippet', optionalCheckingOptions); + // console.log(`checkPlainText from plainText='${plainText}' got rawResults=${JSON.stringify(rawResults)}`); + expect(rawResults.noticeList.length).toEqual(0); + expect(rawResults).toMatchSnapshot(); + }); + + it('should fail on empty string', async () => { + const rawResults = await checkPlainText(username, languageCode, repoCode, 'text', 'snippet', "", 'from test snippet', optionalCheckingOptions); + // console.log(`checkPlainText rawResults=${JSON.stringify(rawResults)}`); + expect(rawResults.noticeList.length).toEqual(1); + expect(rawResults).toMatchSnapshot(); + }); + + it('might fail on tabbed line', async () => { + const plainText = "2:12\tgnn5\t\tfigs-parallelism\tשְׁלֵמָ֗ה\t1\tThis is a poetic expression that is very similar to the previous sentence. Alternate translation: “May Yahweh fully give to you everything that you deserve” (See: [[rc://*/ta/man/translate/figs-parallelism]], [Doublet](../figs-doublet/01.md))\n"; + const rawResults = await checkPlainText(username, languageCode, repoCode, 'text', 'snippet', plainText, 'from test snippet', optionalCheckingOptions); + // console.log(`checkPlainText from plainText='${plainText}' got rawResults=${JSON.stringify(rawResults)}`); + expect(rawResults.noticeList.length).toEqual(0); + expect(rawResults).toMatchSnapshot(); + }); + + it('should fail on separated digits', async () => { + const rawResults = await checkPlainText(username, languageCode, repoCode, 'text', 'snippet', "Jesus fed 5, 000 people (or was it 4, 999?).\n", 'from test snippet', optionalCheckingOptions); + // console.log(`checkPlainText rawResults=${JSON.stringify(rawResults)}`); + expect(rawResults.noticeList.length).toEqual(3); + expect(rawResults).toMatchSnapshot(); + }); + + it('should fail on long digit string', async () => { + const rawResults = await checkPlainText(username, languageCode, repoCode, 'text', 'snippet', "Jesus fed 5000 people (or was it 456789?).\n", 'from test snippet', optionalCheckingOptions); + // console.log(`checkPlainText rawResults=${JSON.stringify(rawResults)}`); + expect(rawResults.noticeList.length).toEqual(2); + expect(rawResults).toMatchSnapshot(); + }); + + }); + +}); diff --git a/src/__tests__/tn-tsv7-table-row-check.test.js b/src/__tests__/tn-tsv7-table-row-check.test.js index 07e3c6cb..0fe6527a 100644 --- a/src/__tests__/tn-tsv7-table-row-check.test.js +++ b/src/__tests__/tn-tsv7-table-row-check.test.js @@ -368,7 +368,7 @@ describe('checkNotesTSV7DataRow() - ', () => { it('should find language code instead of asterisk', async () => { const chosenLine = "1:2\tu7qw\t\tfigs-imperative\t\t0\tThis is a command. By commanding that light should exist, God made it exist. (See: [[rc://en/ta/man/translate/figs-imperative]])"; const rawResults = await checkNotesTSV7DataRow(username, languageCode, repoCode, chosenLine, 'EXO', '1', '2', 'from test line', optionalCheckingOptions); - expect(rawResults.noticeList.length).toEqual(1); + expect(rawResults.noticeList.length).toEqual(2); expect(rawResults).toMatchSnapshot(); }); diff --git a/src/__tests__/usfm-helpers.test.js b/src/__tests__/usfm-helpers.test.js new file mode 100644 index 00000000..1385c320 --- /dev/null +++ b/src/__tests__/usfm-helpers.test.js @@ -0,0 +1,43 @@ +/* eslint-env jest */ + +import { extractTextFromComplexUSFM } from '../core/usfm-helpers'; + +// These are just very short tests to make sure that the USFM helper functions run + + +describe('check_USFM_Helpers() - ', () => { + it('Should pass', async () => { // Don't know how to change from async + const usfmSnippet = `\\ts\\* +\\v 25 \\zaln-s |x-strong="G20680" x-lemma="ἐσθίω" x-morph="Gr,V,MPA2,,P," x-occurrence="1" x-occurrences="1" x-content="ἐσθίετε"\\*\\w Eat|x-occurrence="1" x-occurrences="1"\\w*\\zaln-e\\* +\\zaln-s |x-strong="G39560" x-lemma="πᾶς" x-morph="Gr,RI,,,,ANS," x-occurrence="1" x-occurrences="1" x-content="πᾶν"\\*\\w everything|x-occurrence="1" x-occurrences="1"\\w*\\zaln-e\\* +\\zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,RD,,,,ANS," x-occurrence="1" x-occurrences="1" x-content="τὸ"\\*\\w that|x-occurrence="1" x-occurrences="1"\\w*\\zaln-e\\* +\\zaln-s |x-strong="G44530" x-lemma="πωλέω" x-morph="Gr,V,PPP,ANS," x-occurrence="1" x-occurrences="1" x-content="πωλούμενον"\\*\\w is|x-occurrence="1" x-occurrences="1"\\w* +\\w sold|x-occurrence="1" x-occurrences="1"\\w*\\zaln-e\\* +\\zaln-s |x-strong="G17220" x-lemma="ἐν" x-morph="Gr,P,,,,,D,,," x-occurrence="1" x-occurrences="1" x-content="ἐν"\\*\\w in|x-occurrence="1" x-occurrences="1"\\w*\\zaln-e\\* +\\zaln-s |x-strong="G31110" x-lemma="μάκελλον" x-morph="Gr,N,,,,,DNS," x-occurrence="1" x-occurrences="1" x-content="μακέλλῳ"\\*\\w the|x-occurrence="1" x-occurrences="3"\\w* +\\w market|x-occurrence="1" x-occurrences="1"\\w*\\zaln-e\\* +\\zaln-s |x-strong="G33670" x-lemma="μηδείς" x-morph="Gr,RI,,,,ANS," x-occurrence="1" x-occurrences="1" x-content="μηδὲν"\\*\\w without|x-occurrence="1" x-occurrences="1"\\w*\\zaln-e\\* +\\zaln-s |x-strong="G03500" x-lemma="ἀνακρίνω" x-morph="Gr,V,PPA,NMP," x-occurrence="1" x-occurrences="1" x-content="ἀνακρίνοντες"\\*\\w asking|x-occurrence="1" x-occurrences="1"\\w*\\zaln-e\\* +\\zaln-s |x-strong="G12230" x-lemma="διά" x-morph="Gr,P,,,,,A,,," x-occurrence="1" x-occurrences="1" x-content="διὰ"\\*\\w for|x-occurrence="1" x-occurrences="1"\\w* +\\w the|x-occurrence="2" x-occurrences="3"\\w* +\\w sake|x-occurrence="1" x-occurrences="1"\\w* +\\w of|x-occurrence="1" x-occurrences="1"\\w*\\zaln-e\\* +\\zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="τὴν"\\*\\w the|x-occurrence="3" x-occurrences="3"\\w*\\zaln-e\\* +\\zaln-s |x-strong="G48930" x-lemma="συνείδησις" x-morph="Gr,N,,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="συνείδησιν"\\*\\w conscience|x-occurrence="1" x-occurrences="1"\\w*\\zaln-e\\*. +\\v 26 \\zaln-s |x-strong="G10630" x-lemma="γάρ" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="γὰρ"\\*\\w For|x-occurrence="1" x-occurrences="1"\\w*\\zaln-e\\* “\\zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,NFS," x-occurrence="1" x-occurrences="1" x-content="ἡ"\\*\\w the|x-occurrence="1" x-occurrences="3"\\w*\\zaln-e\\* +\\zaln-s |x-strong="G10930" x-lemma="γῆ" x-morph="Gr,N,,,,,NFS," x-occurrence="1" x-occurrences="1" x-content="γῆ"\\*\\w earth|x-occurrence="1" x-occurrences="1"\\w*\\zaln-e\\* {\\w is|x-occurrence="1" x-occurrences="1"\\w*} +\\zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="τοῦ"\\*\\w the|x-occurrence="2" x-occurrences="3"\\w*\\zaln-e\\* +\\zaln-s |x-strong="G29620" x-lemma="κύριος" x-morph="Gr,N,,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="Κυρίου"\\*\\w Lord|x-occurrence="1" x-occurrences="1"\\w*’\\w s|x-occurrence="1" x-occurrences="1"\\w*\\zaln-e\\*, +\\zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="καὶ"\\*\\w and|x-occurrence="1" x-occurrences="1"\\w*\\zaln-e\\* +\\zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,NNS," x-occurrence="1" x-occurrences="1" x-content="τὸ"\\*\\w the|x-occurrence="3" x-occurrences="3"\\w*\\zaln-e\\* +\\zaln-s |x-strong="G41380" x-lemma="πλήρωμα" x-morph="Gr,N,,,,,NNS," x-occurrence="1" x-occurrences="1" x-content="πλήρωμα"\\*\\w fullness|x-occurrence="1" x-occurrences="1"\\w*\\zaln-e\\* +\\zaln-s |x-strong="G08460" x-lemma="αὐτός" x-morph="Gr,RP,,,3GFS," x-occurrence="1" x-occurrences="1" x-content="αὐτῆς"\\*\\w of|x-occurrence="1" x-occurrences="1"\\w* +\\w it|x-occurrence="1" x-occurrences="1"\\w*\\zaln-e\\*.” +`; + const rawReextractedUSFM = await extractTextFromComplexUSFM(usfmSnippet); + // console.log(`Got ${rawReextractedUSFM}`); + expect(rawReextractedUSFM.length).toEqual(150); + expect(rawReextractedUSFM).toMatchSnapshot(); + }, 100); // Allow 0.1 seconds + +}) diff --git a/src/__tests__/usfm-text-check.test.js b/src/__tests__/usfm-text-check.test.js new file mode 100644 index 00000000..4b9ff617 --- /dev/null +++ b/src/__tests__/usfm-text-check.test.js @@ -0,0 +1,120 @@ +/* eslint-env jest */ + +import { checkUSFMText } from '../core/usfm-text-check'; +import Path from "path"; +import fs from 'fs-extra'; + +const optionalCheckingOptions = { + originalLanguageRepoUsername: 'unfoldingWord', + taRepoUsername: 'unfoldingWord', + disableAllLinkFetchingFlag: true, // until we can solve localforage error: No available storage method found + // The following flags have no meaning if the above is set to true + disableLinkedTAArticlesCheckFlag: true, + disableLinkedTWArticlesCheckFlag: true, + disableLexiconLinkFetchingFlag: true, + disableLinkedLexiconEntriesCheckFlag: true, + getFile: params => { + const { username, repository, path } = params; + // console.log(`usfm-text-check.test getFile(${username}, ${repository}, ${path})`) + const filePath = Path.join('./src/__tests__/fixtures', username, repository, path); + if (fs.existsSync(filePath)) { + return fs.readFileSync(filePath).toString(); + } + // eslint-disable-next-line no-throw-literal + throw `usfm-text-check.test getFile(): Could not find ${filePath}`; + } +} + +describe('checkUSFMText() - ', () => { + const username = 'unfoldingWord'; + const languageCode = 'en'; + const repoCode = 'LT'; + + describe('short snippet tests - ', () => { + it('should pass on smallest snippet', async () => { + const usfmText = `\\id 2JN +\\usfm 3.0 +\\ide UTF-8 +\\mt1 2 John +\\c 1 +\\p \\v 1 a b c\\v 2 b c d\\v 3 c d e\\v 4 d e f\\v 5 e f g\\v 6 f g h\\v 7 g h i\\v 8 h i j\\v 9 i j k\\v 10 j k l\\v 11 k l m\\v 12 l m n\\v 13 n o p +`; // There's a minimum number of words/characters expected in each verse + const rawResults = await checkUSFMText(username, languageCode, repoCode, '2JN', 'test.usfm', usfmText, 'from test snippet', optionalCheckingOptions); + // console.log(`checkUSFMText from usfmText='${usfmText}' got rawResults=${JSON.stringify(rawResults)}`); + expect(rawResults.noticeList.length).toEqual(0); + expect(rawResults).toMatchSnapshot(); + }); + + it('should fail on empty string', async () => { + const rawResults = await checkUSFMText(username, languageCode, repoCode, 'RUT', 'test.usfm', "", 'from test snippet', optionalCheckingOptions); + // console.log(`checkUSFMText rawResults=${JSON.stringify(rawResults)}`); + expect(rawResults.noticeList.length).toEqual(6); + expect(rawResults).toMatchSnapshot(); + }); + + it('should fail on non-USFM', async () => { + const usfmText = "2:12\tgnn5\t\tfigs-parallelism\tשְׁלֵמָ֗ה\t1\tThis is a poetic expression that is very similar to the previous sentence. Alternate translation: “May Yahweh fully give to you everything that you deserve” (See: [[rc://*/ta/man/translate/figs-parallelism]], [Doublet](../figs-doublet/01.md))\n"; + const rawResults = await checkUSFMText(username, languageCode, repoCode, 'RUT', 'test.usfm', usfmText, 'from test snippet', optionalCheckingOptions); + // console.log(`checkUSFMText from usfmText='${usfmText}' got rawResults=${JSON.stringify(rawResults)}`); + expect(rawResults.noticeList.length).toEqual(12); + expect(rawResults).toMatchSnapshot(); + }); + + it('should fail on no ID line', async () => { + const rawResults = await checkUSFMText(username, languageCode, repoCode, 'RUT', 'test.usfm', "\\ide UTF-8\n", 'from test snippet', optionalCheckingOptions); + // console.log(`checkUSFMText rawResults=${JSON.stringify(rawResults)}`); + expect(rawResults.noticeList.length).toEqual(6); + expect(rawResults).toMatchSnapshot(); + }); + + it('should fail on wrong book code', async () => { + const rawResults = await checkUSFMText(username, languageCode, repoCode, 'RUT', 'test.usfm', "\\id GEN\n", 'from test snippet', optionalCheckingOptions); + // console.log(`checkUSFMText rawResults=${JSON.stringify(rawResults)}`); + expect(rawResults.noticeList.length).toEqual(6); + expect(rawResults).toMatchSnapshot(); + }); + + it('should fail on gap between "5, 000"', async () => { + const usfmText = `\\id 2JN +\\usfm 3.0 +\\ide UTF-8 +\\mt1 2 John +\\c 1 +\\p \\v 1 a b c\\v 2 b c d\\v 3 c d e\\v 4 d e f\\v 5 e f g\\v 6 f g h\\v 7 g h i\\v 8 h i j\\v 9 i j k\\v 10 j k l\\v 11 k l m\\v 12 l m n +\\v 13 (\\zaln-s |x-strong="G10630" x-lemma="γάρ" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="γὰρ"\\*\\w For|x-occurrence="1" x-occurrences="1"\\w*\\zaln-e\\* +\\zaln-s |x-strong="G15100" x-lemma="εἰμί" x-morph="Gr,V,IIA3,,P," x-occurrence="1" x-occurrences="1" x-content="ἦσαν"\\*\\w there|x-occurrence="1" x-occurrences="1"\\w* +\\w were|x-occurrence="1" x-occurrences="1"\\w*\\zaln-e\\* +\\zaln-s |x-strong="G56160" x-lemma="ὡσεί" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="2" x-content="ὡσεὶ"\\*\\w about|x-occurrence="1" x-occurrences="2"\\w*\\zaln-e\\* +\\zaln-s |x-strong="G40000" x-lemma="πεντακισχίλιοι" x-morph="Gr,EN,,,,NMP," x-occurrence="1" x-occurrences="1" x-content="πεντακισχίλιοι"\\*\\w 5|x-occurrence="1" x-occurrences="1"\\w*, +\\w 000|x-occurrence="1" x-occurrences="1"\\w*\\zaln-e\\* +\\zaln-s |x-strong="G04350" x-lemma="ἀνήρ" x-morph="Gr,N,,,,,NMP," x-occurrence="1" x-occurrences="1" x-content="ἄνδρες"\\*\\w men|x-occurrence="1" x-occurrences="1"\\w*\\zaln-e\\*.) +`; // There's a minimum number of words/characters expected in each verse + const rawResults = await checkUSFMText(username, languageCode, repoCode, '2JN', 'test.usfm', usfmText, 'from test snippet', optionalCheckingOptions); + // console.log(`checkUSFMText from usfmText='${usfmText}' got rawResults=${JSON.stringify(rawResults)}`); + expect(rawResults.noticeList.length).toEqual(2); + expect(rawResults).toMatchSnapshot(); + }); + + it('should not fail on gap between "5, 000"', async () => { + const usfmText = `\\id 2JN +\\usfm 3.0 +\\ide UTF-8 +\\mt1 2 John +\\c 1 +\\p \\v 1 a b c\\v 2 b c d\\v 3 c d e\\v 4 d e f\\v 5 e f g\\v 6 f g h\\v 7 g h i\\v 8 h i j\\v 9 i j k\\v 10 j k l\\v 11 k l m\\v 12 l m n +\\v 13 (\\zaln-s |x-strong="G10630" x-lemma="γάρ" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="γὰρ"\\*\\w For|x-occurrence="1" x-occurrences="1"\\w*\\zaln-e\\* +\\zaln-s |x-strong="G15100" x-lemma="εἰμί" x-morph="Gr,V,IIA3,,P," x-occurrence="1" x-occurrences="1" x-content="ἦσαν"\\*\\w there|x-occurrence="1" x-occurrences="1"\\w* +\\w were|x-occurrence="1" x-occurrences="1"\\w*\\zaln-e\\* +\\zaln-s |x-strong="G56160" x-lemma="ὡσεί" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="2" x-content="ὡσεὶ"\\*\\w about|x-occurrence="1" x-occurrences="2"\\w*\\zaln-e\\* +\\zaln-s |x-strong="G40000" x-lemma="πεντακισχίλιοι" x-morph="Gr,EN,,,,NMP," x-occurrence="1" x-occurrences="1" x-content="πεντακισχίλιοι"\\*\\w 5|x-occurrence="1" x-occurrences="1"\\w*,\\w 000|x-occurrence="1" x-occurrences="1"\\w*\\zaln-e\\* +\\zaln-s |x-strong="G04350" x-lemma="ἀνήρ" x-morph="Gr,N,,,,,NMP," x-occurrence="1" x-occurrences="1" x-content="ἄνδρες"\\*\\w men|x-occurrence="1" x-occurrences="1"\\w*\\zaln-e\\*.) +`; // There's a minimum number of words/characters expected in each verse + const rawResults = await checkUSFMText(username, languageCode, repoCode, '2JN', 'test.usfm', usfmText, 'from test snippet', optionalCheckingOptions); + // console.log(`checkUSFMText from usfmText='${usfmText}' got rawResults=${JSON.stringify(rawResults)}`); + expect(rawResults.noticeList.length).toEqual(1); // TODO: Why do we get "verse number didn't increment correctly"??? + expect(rawResults).toMatchSnapshot(); + }); + + }); + +}); diff --git a/src/core/disabled-notices.js b/src/core/disabled-notices.js index aa71290b..a2a80d72 100644 --- a/src/core/disabled-notices.js +++ b/src/core/disabled-notices.js @@ -15,7 +15,7 @@ import { debugLog, userLog, functionLog } from './utilities'; */ -// const DISABLED_NOTICES_VERSION_STRING = '1.0.1'; +// const DISABLED_NOTICES_VERSION_STRING = '1.0.3'; const disabledNotices = [ @@ -30,6 +30,7 @@ const disabledNotices = [ { repoCode: 'ST', message: "Bad punctuation nesting: } closing character doesn’t match", bookID: 'NEH', }, // 777 - complex { } nesting in direct speech { repoCode: 'ST', message: "Bad punctuation nesting: ” closing character doesn’t match", bookID: 'NEH', }, // 777 - complex { } nesting in direct speech + // Many/All of the next section of lines can be deleted after tC 3.0.2 is released { repoCode: 'LT', priority: 638, fieldName: '\\p', }, // "Only found whitespace" tC3 outputs trailing spaces here { repoCode: 'ST', priority: 638, fieldName: '\\p', }, // "Only found whitespace" tC3 outputs trailing spaces here { repoCode: 'LT', priority: 124, excerpt: '\\p␣␣', }, // "Unexpected double spaces" tC3 outputs trailing spaces here @@ -39,6 +40,7 @@ const disabledNotices = [ { repoCode: 'LT', priority: 95, }, // "Unexpected trailing space(s)" tC3 outputs trailing spaces all over the place { repoCode: 'ST', priority: 95, }, // "Unexpected trailing space(s)" tC3 outputs trailing spaces all over the place + { repoCode: 'TN', bookID: '2PE', priority: 648, details: '10a' }, // "Unusual [ ]( ) link(s)—not a recognized Bible, OBS, or TA, TN, or TW link" { repoCode: 'TN', excerpt: 'brackets [ ] ', message: "Unexpected space after [ character", }, // 192 (x2) { repoCode: 'TA', priority: 104, }, // "Unexpected trailing line break" UTA uses trailing
for (1) (2) (3) style numbered lists @@ -106,27 +108,31 @@ export function isDisabledNotice(givenNotice) { // if (givenNotice.repoCode === undefined) debugLog(`isDisabledNotice() cannot work without repoCode for ${JSON.stringify(givenNotice)}`); for (const disabledNotice of disabledNotices) { let matchedAllSpecifiedFields = true; - for (const propertyName in disabledNotice) + for (const dNPropertyName in disabledNotice) // if ((propertyName !== 'repoCode' || givenNotice.repoCode !== undefined) // Some individual checks don’t set repoCode // && (givenNotice[propertyName] !== disabledNotice[propertyName])) { - if (propertyName in givenNotice) // as well as in disabledNotice - if (propertyName === 'excerpt') { - if (givenNotice[propertyName].indexOf(disabledNotice[propertyName]) === -1) { + if (dNPropertyName in givenNotice) {// as well as in disabledNotice, so we have it in both + if (['details', 'excerpt'].includes(dNPropertyName)) { + // these properties only need their content to be CONTAINED in the actual field + if (givenNotice[dNPropertyName].indexOf(disabledNotice[dNPropertyName]) === -1) { matchedAllSpecifiedFields = false; break; } - } else if (givenNotice[propertyName] !== disabledNotice[propertyName]) { + } else if (givenNotice[dNPropertyName] !== disabledNotice[dNPropertyName]) { matchedAllSpecifiedFields = false; break; } - // else // property name not in givenNotice - // Should we be setting matchedAllSpecifiedFields = false here ???? + } else { // property name not in givenNotice + // debugLog(`pName=${dNPropertyName} from ${JSON.stringify(disabledNotice)} is not in this notice, so it's not disabled: ${JSON.stringify(givenNotice)}`); + matchedAllSpecifiedFields = false; + break; + } if (matchedAllSpecifiedFields) { // debugLog(` isDisabledNotice() returning true for ${JSON.stringify(disabledNotice)}`); - return true; + return true; // i.e., notice is disabled } } - return false; + return false; // i.e., notice is NOT disabled } @@ -138,9 +144,9 @@ export function isDisabledNotice(givenNotice) { export function removeDisabledNotices(givenNoticeList) { // NOTE: The function will fail if repoCode is not set in the notices passed to this function const remainingNoticeList = []; - let givenRepoCodeNotice = false; + // let givenRepoCodeNotice = false; // so we only give the warning once for (const thisNotice of givenNoticeList) { - if (thisNotice.repoCode === undefined && !givenRepoCodeNotice) { debugLog(`removeDisabledNotices() cannot work without repoCode for ${JSON.stringify(thisNotice)} in list of ${givenNoticeList.length} notices.`); givenRepoCodeNotice = true; } + // if (thisNotice.repoCode === undefined && !givenRepoCodeNotice) { debugLog(`removeDisabledNotices() cannot work without repoCode for ${JSON.stringify(thisNotice)} in list of ${givenNoticeList.length} notices.`); givenRepoCodeNotice = true; } if (!isDisabledNotice(thisNotice)) remainingNoticeList.push(thisNotice); // else userLog(` Removing disabled ${JSON.stringify(thisNotice)}`); diff --git a/src/core/field-text-check.js b/src/core/field-text-check.js index c215c24d..d8225b05 100644 --- a/src/core/field-text-check.js +++ b/src/core/field-text-check.js @@ -5,7 +5,7 @@ import { OPEN_CLOSE_PUNCTUATION_PAIRS, BAD_CHARACTER_COMBINATIONS, BAD_CHARACTER import { debugLog, parameterAssert } from './utilities'; -// const FIELD_TEXT_VALIDATOR_VERSION_STRING = '1.0.0'; +// const FIELD_TEXT_VALIDATOR_VERSION_STRING = '1.0.2'; /** @@ -115,7 +115,7 @@ export function checkTextField(username, languageCode, repoCode, fieldType, fiel let characterIndex; if (cutoffPriorityLevel < 895 && (characterIndex = fieldText.indexOf('\u200B')) !== -1) { const charCount = countOccurrencesInString(fieldText, '\u200B'); - const excerpt = (characterIndex > excerptHalfLength ? '…' : '') + fieldText.substring(characterIndex - excerptHalfLength, characterIndex + excerptHalfLengthPlus).replace(/\u200B/g, '‼') + (characterIndex + excerptHalfLengthPlus < fieldText.length ? '…' : ''); + const excerpt = (characterIndex > excerptHalfLength ? '…' : '') + fieldText.substring(characterIndex - excerptHalfLength, characterIndex + excerptHalfLengthPlus).replace(/\u200B/g, '‡') + (characterIndex + excerptHalfLengthPlus < fieldText.length ? '…' : ''); addNoticePartial({ priority: 895, message: "Field contains zero-width space(s)", details: `${charCount} occurrence${charCount === 1 ? '' : 's'} found`, characterIndex, excerpt, location: ourLocation }); suggestion = suggestion.replace(/\u200B/g, ''); // Or should it be space ??? } @@ -151,11 +151,11 @@ export function checkTextField(username, languageCode, repoCode, fieldType, fiel else addNoticePartial({ priority: 109, message: `Unexpected leading space`, characterIndex: 0, excerpt, location: ourLocation }); } else if (fieldText[0] === '\u2060') { - const excerpt = fieldText.slice(0, excerptLength).replace(/\u2060/g, '‼') + (fieldText.length > excerptLength ? '…' : ''); + const excerpt = fieldText.slice(0, excerptLength).replace(/\u2060/g, '‡') + (fieldText.length > excerptLength ? '…' : ''); addNoticePartial({ priority: 770, message: `Unexpected leading word-joiner (u2060) character`, characterIndex: 0, excerpt, location: ourLocation }); if (suggestion[0] === '\u2060') suggestion = suggestion.slice(1); } else if (fieldText[0] === '\u200D') { - const excerpt = fieldText.slice(0, excerptLength).replace(/\u200D/g, '‼') + (fieldText.length > excerptLength ? '…' : ''); + const excerpt = fieldText.slice(0, excerptLength).replace(/\u200D/g, '‡') + (fieldText.length > excerptLength ? '…' : ''); addNoticePartial({ priority: 771, message: `Unexpected leading zero-width joiner (u200D) character`, characterIndex: 0, excerpt, location: ourLocation }); if (suggestion[0] === '\u200D') suggestion = suggestion.slice(1); } @@ -169,11 +169,11 @@ export function checkTextField(username, languageCode, repoCode, fieldType, fiel } if (cutoffPriorityLevel < 772 && fieldText[fieldText.length - 1] === '\u2060') { - const excerpt = fieldText.slice(0, excerptLength).replace(/\u2060/g, '‼') + (fieldText.length > excerptLength ? '…' : ''); + const excerpt = fieldText.slice(0, excerptLength).replace(/\u2060/g, '‡') + (fieldText.length > excerptLength ? '…' : ''); addNoticePartial({ priority: 772, message: `Unexpected trailing word-joiner (u2060) character`, characterIndex: 0, excerpt, location: ourLocation }); if (suggestion[suggestion.length - 1] === '\u2060') suggestion = suggestion.slice(0, suggestion.length - 1); } else if (cutoffPriorityLevel < 773 && fieldText[fieldText.length - 1] === '\u200D') { - const excerpt = fieldText.slice(0, excerptLength).replace(/\u200D/g, '‼') + (fieldText.length > excerptLength ? '…' : ''); + const excerpt = fieldText.slice(0, excerptLength).replace(/\u200D/g, '‡') + (fieldText.length > excerptLength ? '…' : ''); addNoticePartial({ priority: 773, message: `Unexpected trailing zero-width joiner (u200D) character`, characterIndex: 0, excerpt, location: ourLocation }); if (suggestion[suggestion.length - 1] === '\u200D') suggestion = suggestion.slice(0, suggestion.length - 1); } @@ -275,7 +275,7 @@ export function checkTextField(username, languageCode, repoCode, fieldType, fiel suggestion = suggestion.replace(/… /g, '…'); } } - suggestion = suggestion.replace(/ {2}/g, ' '); + suggestion = suggestion.replace(/ {2}/g, ' '); // Eliminate double spaces if (cutoffPriorityLevel < 177) { // Check for doubled punctuation chars (international) @@ -428,9 +428,10 @@ export function checkTextField(username, languageCode, repoCode, fieldType, fiel if (badChar === '.' && (fieldText.indexOf('etc.') !== -1 || fieldText.indexOf('.x.') !== -1)) // Last one is for version numbers continue; - if (badTwoChars === '.m' - && (fieldText.toLowerCase().indexOf('a.m.') !== -1 || fieldText.toLowerCase().indexOf('p.m.') !== -1)) - continue; + // Content team is going to use AM and PM not a.m. and p.m. + // if (badTwoChars === '.m' + // && (fieldText.toLowerCase().indexOf('a.m.') !== -1 || fieldText.toLowerCase().indexOf('p.m.') !== -1)) + // continue; if ((badTwoChars === '.C' && fieldText.indexOf('B.C.') !== -1) || (badTwoChars === '.D' && fieldText.indexOf('A.D.') !== -1)) continue; @@ -457,9 +458,11 @@ export function checkTextField(username, languageCode, repoCode, fieldType, fiel // const nextChar = fieldText.slice(characterIndex + 1, characterIndex + 2); const nextNextChar = fieldText.slice(characterIndex + 2, characterIndex + 3); // debugLog(`92 leading zero for fieldType='${fieldType}' fieldName='${fieldName}' with nextChar=${nextChar} and nextNextChar=${nextNextChar}`); + // debugLog(`92 leading zero for fieldType='${fieldType}' fieldName='${fieldName}' fieldText='${fieldText}' with nextChar=${nextChar} and nextNextChar=${nextNextChar}`); if (nextNextChar !== '”' && nextNextChar !== '-' // e.g., “0” is ok and 0-2 is ok && (fieldType !== 'YAML' || fieldText.indexOf('sort:') === -1) - && (fieldType !== 'USFM line' || fieldName !== '\\id') // Some USFM producers put in a date like "Mar 03 2021" + && (fieldType !== 'USFM line' || (fieldName !== '\\id' // Some USFM producers put in a date like "Mar 03 2021" + && fieldText.indexOf('\\w 0') === -1)) // A leading zero in a \w field might be a false alarm (it's the end of the \w marker) ) { // "sort: 0" is ok in manifests const excerpt = (characterIndex > excerptHalfLength ? '…' : '') + fieldText.substring(characterIndex - excerptHalfLength, characterIndex + excerptHalfLengthPlus) + (characterIndex + excerptHalfLengthPlus < fieldText.length ? '…' : ''); addNoticePartial({ priority: 92, message: `Unexpected leading zero`, characterIndex, excerpt, location: ourLocation }); diff --git a/src/core/getApi.js b/src/core/getApi.js index 7990e7bc..9800451c 100644 --- a/src/core/getApi.js +++ b/src/core/getApi.js @@ -10,7 +10,7 @@ import { functionLog, debugLog, userLog, parameterAssert, logicAssert } from './ import { dataAssert } from '.'; -// const GETAPI_VERSION_STRING = '1.0.0'; +// const GETAPI_VERSION_STRING = '1.1.0'; const MAX_INDIVIDUAL_FILES_TO_DOWNLOAD = 5; // More than this and it downloads the zipfile for the entire repo @@ -22,25 +22,25 @@ const OBS_PICTURE_ZIP_URI = `https://cdn.door43.org/obs/jpg/${OBS_PICTURE_ZIP_FI // caches failed http file fetches so we don’t waste time with repeated attempts -const failedStore = localforage.createInstance({ +const failedFetchStore = localforage.createInstance({ driver: [localforage.INDEXEDDB], name: 'CV-failed-store', }); // caches zip file fetches done by cachedGetRepositoryZipFile() and cachedGetRepositoryTreeFile() -const zipJsonStore = localforage.createInstance({ +const zippedJsonStore = localforage.createInstance({ driver: [localforage.INDEXEDDB], name: 'CV-zip-json-store', }); // caches http file fetches done by cachedFetchFileFromServerWithBranch() -const cacheStore = localforage.createInstance({ +const cachedFetchStore = localforage.createInstance({ driver: [localforage.INDEXEDDB], name: 'CV-web-cache', }); // caches the unzipped files requested so we don’t do repeated unzipping of the same file which is slow in JS -const unzipStore = localforage.createInstance({ +const unzippedFileStore = localforage.createInstance({ driver: [localforage.INDEXEDDB], name: 'CV-unzip-store', }); @@ -51,7 +51,7 @@ const unzipStore = localforage.createInstance({ const Door43Api = setup({ baseURL: DOOR43_BASE_URL, cache: { - store: cacheStore, + store: cachedFetchStore, maxAge: 1 * 60 * 60 * 1000, // 1 hour (unless they manually clear the cache) exclude: { query: false }, key: req => { @@ -86,7 +86,7 @@ export async function clearCheckedArticleCache() { * @param {string} branch */ export async function markAsChecked({ username, repository, path, branch }) { - // debugLog(`markAsChecked(${username}, ${repository}, ${path}, ${branch})…`); + // functionLog(`markAsChecked(${username}, ${repository}, ${path}, ${branch})…`); const dummyPath = Path.join(username, repository, branch, path); await checkedArticleStore.setItem(dummyPath, true); } @@ -110,20 +110,47 @@ export async function alreadyChecked({ username, repository, path, branch }) { } +// Caches verse segments extracted from USFM files, etc. +const cachedSegmentStore = localforage.createInstance({ + driver: [localforage.INDEXEDDB], + name: 'CV-cached-segment-store', +}); + +export async function clearStoredSegmentCache() { + userLog("clearStoredSegmentCache()…"); + await cachedSegmentStore.clear(); +} + +// The locator can be any unique identifying string -- we don't care if it's B/C/V values or whatever +export async function cacheSegment(segmentToCache, uniqueLocator) { + // functionLog(`cacheSegment(${segmentToCache.length}, ${uniqueLocator})…`); + await cachedSegmentStore.setItem(uniqueLocator, segmentToCache); +} + +export async function fetchSegmentIfCached(uniqueLocator) { + // functionLog(`fetchSegmentIfCached(${uniqueLocator})…`); + // const cachedSegment = + return await cachedSegmentStore.getItem(uniqueLocator); + // debugLog(` fetchSegmentIfCached got ${cachedSegment === null ? cachedSegment : cachedSegment.length}`); + // return cachedSegment; +} + + /** * Clear all the localforage.INDEXEDDB stores * @return {Promise} */ export async function clearCaches() { - userLog("Clearing all four CV localforage.INDEXEDDB caches…"); - // const tasks = [zipJsonStore, cacheStore].map(localforage.clear); + userLog("Clearing all five localforage.INDEXEDDB caches…"); + // const tasks = [zippedJsonStore, cachedFetchStore].map(localforage.clear); // const results = await Promise.all(tasks); // results.forEach(x => userLog("Done it", x)); - await failedStore.clear(); - await zipJsonStore.clear(); - await cacheStore.clear(); // This is the one used by the Axion Door43Api (above) - await unzipStore.clear(); + await failedFetchStore.clear(); + await zippedJsonStore.clear(); + await cachedFetchStore.clear(); // This is the one used by the Axion Door43Api (above) + await unzippedFileStore.clear(); await clearCheckedArticleCache(); // Used for checking TA and TW articles referred to by TN links + await clearStoredSegmentCache(); // Used for caching verse segments extracted from USFM, etc. } @@ -175,7 +202,7 @@ function addToListIfMissing(repos, newRepo) { async function getUnZippedFile(path) { // functionLog(`getUnZippedFile(${path})`); // TODO: Why did we need to lowerCase it here ??? - const contents = await unzipStore.getItem(path.toLowerCase()); + const contents = await unzippedFileStore.getItem(path.toLowerCase()); return contents; } @@ -186,16 +213,16 @@ async function getUnZippedFile(path) { */ async function getUnZippedPictureFile(uri) { // functionLog(`getUnZippedPictureFile(${uri})`); - const contents = await unzipStore.getItem(uri); + const contents = await unzippedFileStore.getItem(uri); return contents; } /** * searches for files in this order: - * - cache of uncompressed files (unzipStore) - * - cache of zipped repos (zipJsonStore) - * - and finally calls cachedFetchFileFromServerWithBranch() which first checks in cacheStore to see if already fetched. * @param {string} username + * - cache of uncompressed files (unzippedFileStore) + * - cache of zipped repos (zippedJsonStore) + * - and finally calls cachedFetchFileFromServerWithBranch() which first checks in cachedFetchStore to see if already fetched. * @param {string} username * @param {string} repository * @param {string} path * @param {string} branch @@ -226,7 +253,7 @@ export async function cachedGetFile({ username, repository, path, branch }) { if (contents) { // save unzipped file in cache to speed later retrieval - await unzipStore.setItem(filePath.toLowerCase(), contents); + await unzippedFileStore.setItem(filePath.toLowerCase(), contents); // if (filePath.indexOf('_tq/') < 0) // Don’t log for TQ1 files coz too many // userLog(`cachedGetFile saved ${filePath} to cache for next time`); } @@ -304,7 +331,7 @@ export async function cachedGetBookFilenameFromManifest({ username, repository, * In this case it would not need to use await to wait for results. * TRICKY: note that even if the user is super fast in selecting books and clicking next, it will not hurt anything. * cachedGetFileFromZipOrServer() would just be fetching files directly from repo until the zips are loaded. - * After that the files would be pulled out of zipJsonStore. + * After that the files would be pulled out of zippedJsonStore. * @param {string} givenUsername * @param {string} givenLanguageCode * @param {Array} bookIDList - one or more books that will be checked @@ -342,7 +369,7 @@ export async function preloadReposIfNecessary(givenUsername, givenLanguageCode, // const repoName = formRepoName(languageCode, repoCode); // // debugLog(`preloadReposIfNecessary: checking zip file for ${repoName}…`); // const uri = zipUri({ username, repository: repoName, branchOrRelease }); - // const zipBlob = await zipJsonStore.getItem(uri.toLowerCase()); + // const zipBlob = await zippedJsonStore.getItem(uri.toLowerCase()); // if (!zipBlob) newRepoList.push(repoCode); // } @@ -406,14 +433,14 @@ export async function preloadReposIfNecessary(givenUsername, givenLanguageCode, if (thisRepoCode === 'OBS') { // debugLog(`preloadReposIfNecessary: preloading OBS zipped pictures file from ${OBS_PICTURE_ZIP_URI}…`); - const zipBlob = await zipJsonStore.getItem(OBS_PICTURE_ZIP_FILENAME); + const zipBlob = await zippedJsonStore.getItem(OBS_PICTURE_ZIP_FILENAME); // debugLog(` getZipFromStore(${uri} -- empty: ${!zipBlob}`); if (!zipBlob) { userLog(`downloadingOBSPicturesZipFile(${OBS_PICTURE_ZIP_URI})…`); const response = await fetch(OBS_PICTURE_ZIP_URI); if (response.status === 200 || response.status === 0) { const zipArrayBuffer = await response.arrayBuffer(); // blob storage not supported on mobile - await zipJsonStore.setItem(OBS_PICTURE_ZIP_FILENAME, zipArrayBuffer); + await zippedJsonStore.setItem(OBS_PICTURE_ZIP_FILENAME, zipArrayBuffer); // debugLog(` downloadingOBSPicturesZipFile(${uri}) -- saved zip`); } else { console.error(`downloadingOBSPicturesZipFile(${OBS_PICTURE_ZIP_URI}) -- got response status: ${response.status}`); @@ -427,7 +454,7 @@ export async function preloadReposIfNecessary(givenUsername, givenLanguageCode, /** - * does http file fetch from server uses cacheStore to minimize repeated fetches of same file + * does http file fetch from server uses cachedFetchStore to minimize repeated fetches of same file * @param {string} username * @param {string} repository * @param {string} path @@ -447,7 +474,7 @@ async function cachedFetchFileFromServerWithBranch({ username, repository, path, /** - * does http file fetch from server uses cacheStore to minimize repeated fetches of same file + * does http file fetch from server uses cachedFetchStore to minimize repeated fetches of same file * @param {string} username * @param {string} repository * @param {string} path @@ -467,7 +494,7 @@ export async function cachedFetchFileFromServerWithTag({ username, repository, p /** - * does http file fetch from server uses cacheStore to minimize repeated fetches of same file + * does http file fetch from server uses cachedFetchStore to minimize repeated fetches of same file * @param {string} username * @param {string} repository * @param {string} path @@ -481,7 +508,7 @@ async function cachedFetchFileFromServerWorker(uri, username, repository, path, // if it needs to be checked, should be checked before this point // const repositoryExistsOnDoor43 = await repositoryExistsOnDoor43({ username, repository }); // let uri; - const failMessage = await failedStore.getItem(uri.toLowerCase()); + const failMessage = await failedFetchStore.getItem(uri.toLowerCase()); if (failMessage) { // debugLog(` cachedFetchFileFromServerWorker failed previously for ${uri}: ${failMessage}`); return null; @@ -494,19 +521,19 @@ async function cachedFetchFileFromServerWorker(uri, username, repository, path, } catch (fffsError) { console.error(`cachedFetchFileFromServerWorker could not fetch ${username} ${repository} ${branchOrTag} ${path}: ${fffsError}`) - /* await */ failedStore.setItem(uri.toLowerCase(), fffsError.message); + /* await */ failedFetchStore.setItem(uri.toLowerCase(), fffsError.message); return null; } // } else { // ! repositoryExistsOnDoor43 // console.error(`cachedFetchFileFromServerWorker repo ${username} '${repository}' does not exist!`); - // /* await */ failedStore.setItem(uri.toLowerCase(), `Repo '${repository}' does not exist!`); + // /* await */ failedFetchStore.setItem(uri.toLowerCase(), `Repo '${repository}' does not exist!`); // return null; // } }; /** - * older getFile without that doesn’t use the unzipStore + * older getFile without that doesn’t use the unzippedFileStore * @param {string} username * @param {string} repository * @param {string} path @@ -600,7 +627,7 @@ export async function cachedGetFileUsingFullURL({ uri, params }) { // debugLog(`cachedGetFileUsingFullURL got ${uri} from unzipped cache`); return pictureContents; } - const zipBlob = await zipJsonStore.getItem(OBS_PICTURE_ZIP_FILENAME); + const zipBlob = await zippedJsonStore.getItem(OBS_PICTURE_ZIP_FILENAME); // debugLog(` getZipFromStore(${OBS_PICTURE_ZIP_FILENAME} -- empty: ${!zipBlob}`); try { if (zipBlob) { @@ -625,7 +652,7 @@ export async function cachedGetFileUsingFullURL({ uri, params }) { // userLog(` cachedGetFile got ${filePath} from zipfile`); if (pictureContents) { // save unzipped file in cache to speed later retrieval - await unzipStore.setItem(uri, pictureContents); + await unzippedFileStore.setItem(uri, pictureContents); // userLog(`cachedGetFileUsingFullURL saved ${uri} to cache for next time`); return pictureContents; } @@ -662,7 +689,7 @@ export async function cachedGetRepositoryZipFile({ username, repository, branchO // https://git.door43.org/{username}/{repository}/archive/{branch}.zip // functionLog(`cachedGetRepositoryZipFile(${username}, ${repository}, ${branchOrRelease}, ${forceLoad})…`); - if (!forceLoad) { // see if we already have in zipJsonStore + if (!forceLoad) { // see if we already have in zippedJsonStore const zipBlob = await getZipFromStore(username, repository, branchOrRelease); if (zipBlob) { // debugLog(`cachedGetRepositoryZipFile for ${username}, ${repository}, ${branchOrRelease} -- already loaded`); @@ -677,7 +704,7 @@ export async function cachedGetRepositoryTreeFile({ username, repository, branch // https://git.door43.org/{username}/{repository}/archive/{branch}.zip // functionLog(`cachedGetRepositoryTreeFile(${username}, ${repository}, ${branchOrRelease}, ${forceLoad})…`); - if (!forceLoad) { // see if we already have in zipJsonStore + if (!forceLoad) { // see if we already have in zippedJsonStore const treeJSON = await getTreeFromStore(username, repository, branchOrRelease); if (treeJSON) { // debugLog(`cachedGetRepositoryTreeFile for ${username}, ${repository}, ${branchOrRelease} -- already loaded`); @@ -703,7 +730,7 @@ async function downloadRepositoryZipFile({ username, repository, branchOrRelease const response = await fetch(uri); if (response.status === 200 || response.status === 0) { const zipArrayBuffer = await response.arrayBuffer(); // blob storage not supported on mobile - await zipJsonStore.setItem(uri.toLowerCase(), zipArrayBuffer); + await zippedJsonStore.setItem(uri.toLowerCase(), zipArrayBuffer); // debugLog(` downloadRepositoryZipFile(${username}, ${repository}, ${branchOrRelease}) -- saved zip: ${uri}`); return true; } else { @@ -753,7 +780,7 @@ async function downloadRepositoryTreeFile({ username, repository, branchOrReleas // saves a lot of memory not storing the entire object of {path, mode, type, size, sha, url} // const abbreviatedJSONTree = JSONTree.map(x => x.path); // debugLog(` downloadRepositoryTreeFile saving ${repository} abbreviatedJSONTree[17]=${JSON.stringify(abbreviatedJSONTree[17])}`); - await zipJsonStore.setItem(treeURI.toLowerCase(), JSONTree.map(x => x.path)); + await zippedJsonStore.setItem(treeURI.toLowerCase(), JSONTree.map(x => x.path)); // debugLog(` downloadRepositoryTreeFile(${username}, ${repository}, ${branchOrRelease}) -- saved ${JSONTree.length.toLocaleString()} JSON entries from ${treeURI}`); return true; }; @@ -777,7 +804,7 @@ export async function getFileListFromZip({ username, repository, branchOrRelease const response = await fetch(uri); if (response.status === 200 || response.status === 0) { const zipArrayBuffer = await response.arrayBuffer(); // blob storage not supported on mobile - zipBlob = await zipJsonStore.setItem(uri.toLowerCase(), zipArrayBuffer); + zipBlob = await zippedJsonStore.setItem(uri.toLowerCase(), zipArrayBuffer); } else { console.error(`getFileListFromZip got response status: ${response.status}`); return []; @@ -828,7 +855,7 @@ async function getZipFromStore(username, repository, branchOrRelease) { // functionLog(`getZipFromStore(${username}, ${repository}, ${branchOrRelease})…`); const uri = zipUri({ username, repository, branchOrRelease }); // debugLog(` uri=${uri}`); - const zipBlob = await zipJsonStore.getItem(uri.toLowerCase()); + const zipBlob = await zippedJsonStore.getItem(uri.toLowerCase()); // debugLog(` getZipFromStore(${uri} -- empty: ${!zipBlob}`); return zipBlob; } @@ -837,7 +864,7 @@ async function getTreeFromStore(username, repository, branchOrRelease) { // functionLog(`getZipFromStore(${username}, ${repository}, ${branchOrRelease})…`); const treeURI = treeUri({ username, repository, branchOrRelease }); // debugLog(` treeURI=${treeURI}`); - const treeJSON = await zipJsonStore.getItem(treeURI.toLowerCase()); + const treeJSON = await zippedJsonStore.getItem(treeURI.toLowerCase()); // debugLog(` getZipFromStore(${treeURI} -- empty: ${!treeJSON}`); return treeJSON; } diff --git a/src/core/manifest-text-check.js b/src/core/manifest-text-check.js index 7c8cd5a5..e44c0e8c 100644 --- a/src/core/manifest-text-check.js +++ b/src/core/manifest-text-check.js @@ -9,12 +9,13 @@ import { removeDisabledNotices } from './disabled-notices'; import { debugLog, functionLog, parameterAssert, logicAssert } from './utilities'; -const MANIFEST_VALIDATOR_VERSION_STRING = '0.5.0'; +const MANIFEST_VALIDATOR_VERSION_STRING = '1.0.0'; // Pasted in 2020-10-02 from https://raw.githubusercontent.com/unfoldingWord/dcs/master/options/schema/rc.schema.json // Updated 2021-02-19 // Now March 2021 it’s moved to https://github.com/unfoldingWord/rc-schema/blob/master/rc.schema.json // TODO: Load the latest one dynamically +// RJH added FRT book 17Nov2021 const MANIFEST_SCHEMA = { "$schema": "http://json-schema.org/draft-07/schema", "$id": "https://resource-container.readthedocs.io/schema/rc.schema.json", @@ -411,6 +412,7 @@ const MANIFEST_SCHEMA = { "title": "Items", "type": "string", "enum": [ + "bible-frt", "bible-ot", "bible-nt", "ta" @@ -452,6 +454,7 @@ const MANIFEST_SCHEMA = { "projectIdentifier": { "type": "string", "enum": [ + "frt", "gen", "exo", "lev", @@ -692,7 +695,7 @@ export async function checkManifestText(username, languageCode, repoCode, repoNa if ((repoCode === 'UHB' && languageIdentifier !== 'hbo') || (repoCode === 'UGNT' && languageIdentifier !== 'el-x-koine') || (repoCode !== 'UHB' && repoCode !== 'UGNT' && languageIdentifier !== languageCode)) // for most repos - addNotice({ priority: 933, message: "Manifest' language' 'identifier' doesn’t match", details: `expected '${languageCode}' but manifest has '${languageIdentifier}'`, location: ourLocation }); + addNotice({ priority: 933, message: "Manifest' language' 'identifier' doesn’t match", details: `expected ‘${languageCode}’ but manifest has ‘${languageIdentifier}’`, location: ourLocation }); } catch (e) { debugLog(`checkManifestText got error ${e.message} while loading 'language' 'identifier'`); addNotice({ priority: 934, message: "'language' key or 'idenfier' subkey is missing", location: ourLocation }); diff --git a/src/core/markdown-text-check.js b/src/core/markdown-text-check.js index 5e82557f..e106c3a8 100644 --- a/src/core/markdown-text-check.js +++ b/src/core/markdown-text-check.js @@ -8,7 +8,7 @@ import { removeDisabledNotices } from './disabled-notices'; import { parameterAssert, dataAssert, debugLog, functionLog } from './utilities'; -const MARKDOWN_TEXT_VALIDATOR_VERSION_STRING = '0.8.2'; +const MARKDOWN_TEXT_VALIDATOR_VERSION_STRING = '1.0.0'; /** @@ -317,6 +317,15 @@ export async function checkMarkdownText(username, languageCode, repoCode, textOr let numLeadingSpaces; if (line) { const thisHeaderLevel = line.match(/^#*/)[0].length; + if (thisHeaderLevel > 0) + if (line.length === thisHeaderLevel) + addNoticePartial({ priority: 780, message: "Markdown header has no text", lineNumber: n, characterIndex: 0, excerpt: line, location: ourLocation }); + else // have more characters after the hashes + if (line[thisHeaderLevel] !== ' ') { + const excerpt = line.slice(0, excerptLength) + (line.length > excerptLength ? '…' : ''); + addNoticePartial({ priority: 779, message: "Markdown header is missing the following space", lineNumber: n, characterIndex: 0, excerpt, location: ourLocation }); + } + // if (thisHeaderLevel) debugLog(`checkMarkdownText: Got1 thisHeaderLevel=${thisHeaderLevel} after ${currentHeaderLevel} for line ${n}: ${line}`); if (thisHeaderLevel > currentHeaderLevel + 1 && !textOrFileName.startsWith('TA ')) { // Suppress this notice for translationAcademy subsections diff --git a/src/core/notes-links-check.js b/src/core/notes-links-check.js index 2bda6f3a..3a6437da 100644 --- a/src/core/notes-links-check.js +++ b/src/core/notes-links-check.js @@ -9,11 +9,13 @@ import { userLog, debugLog, functionLog, parameterAssert, logicAssert, dataAsser import jQuery from 'jquery'; // For avoiding CORS checking -// const NOTES_LINKS_VALIDATOR_VERSION_STRING = '1.0.0'; +// const NOTES_LINKS_VALIDATOR_VERSION_STRING = '1.0.3'; // const DEFAULT_LANGUAGE_CODE = 'en'; const DEFAULT_BRANCH = 'master'; +const MISSING_FOLDER_SLASH_LINK_REGEX = new RegExp('\\d]\\(\\.\\.\\d', 'g'); // [2:1](..02/01.md) missing a forward slash after the .. + const GENERAL_MARKDOWN_LINK1_REGEX = new RegExp('\\[[^\\]]+?\\]\\([^\\)]+?\\)', 'g'); // [displayLink](URL) const GENERAL_MARKDOWN_LINK2_REGEX = new RegExp('\\[\\[[^\\]]+?\\]\\]', 'g'); // [[combinedDisplayLink]] @@ -163,7 +165,7 @@ export async function checkNotesLinksToOutside(username, languageCode, repoCode, //parameterAssert(typeof incompleteNoticeObject.location === 'string', `cTNlnk addNoticePartial: 'location' parameter should be a string not a '${typeof incompleteNoticeObject.location}': ${incompleteNoticeObject.location}`); // incompleteNoticeObject.debugChain = incompleteNoticeObject.debugChain ? `checkNotesLinksToOutside ${ incompleteNoticeObject.debugChain } ` : `checkNotesLinksToOutside(${ fieldName })`; if (bookID.length) incompleteNoticeObject.bookID = bookID; // Don't set the field if we don't have a useful bookID - aboutToOverwrite('checkNotesLinksToOutside', ['filename'], incompleteNoticeObject, { fieldName }); + aboutToOverwrite('checkNotesLinksToOutside', ['fieldName'], incompleteNoticeObject, { fieldName }); ctarResult.noticeList.push({ ...incompleteNoticeObject, fieldName }); } @@ -229,6 +231,15 @@ export async function checkNotesLinksToOutside(username, languageCode, repoCode, let regexMatchObject; + // Check for common bad links like [2:1](..02/01.md) which is missing a forward slash after the double dots + while ((regexMatchObject = MISSING_FOLDER_SLASH_LINK_REGEX.exec(fieldText))) { + // debugLog(`Got bad link ${JSON.stringify(regexMatchObject)}`); + // const [totalLink] = regexMatchObject; + const characterIndex = regexMatchObject.index + 4; + const excerpt = (characterIndex > excerptHalfLength ? '…' : '') + fieldText.substring(characterIndex - excerptHalfLength, characterIndex + excerptHalfLengthPlus) + (characterIndex + excerptHalfLengthPlus < fieldText.length ? '…' : '') + addNoticePartial({ priority: 753, message: "Link target is missing a forward slash", excerpt, location: ourLocation }); + } + // Check for image links (including OBS pictures) while ((regexMatchObject = SIMPLE_IMAGE_REGEX.exec(fieldText))) { // debugLog(`Got markdown image in line ${lineNumber}:`, JSON.stringify(regexMatchObject)); @@ -357,12 +368,12 @@ export async function checkNotesLinksToOutside(username, languageCode, repoCode, processedLinkList.push(totalLink); // Save the full link if (foundLanguageCode !== '*') { - const characterIndex = TA_FULL_DISPLAY_LINK_REGEX.lastIndex - totalLink.length + 7; // lastIndex points to the end of the field that was found + const characterIndex = regexMatchObject.index + 7; const excerpt = (characterIndex > excerptHalfLength ? '…' : '') + fieldText.substring(characterIndex - excerptHalfLength, characterIndex + excerptHalfLengthPlus) + (characterIndex + excerptHalfLengthPlus < fieldText.length ? '…' : '') - addNoticePartial({ priority: 450, message: "Resource container link should have '*' language code", details: `not '${foundLanguageCode}'`, characterIndex, excerpt, location: ourLocation }); + addNoticePartial({ priority: 450, message: "Resource container link should have '*' language code", details: `not ‘${foundLanguageCode}’`, characterIndex, excerpt, location: ourLocation }); } else if (repoCode === 'TN') { // but not TN2 // At the moment, tC can’t handle these links with * so we have to ensure that they're not there - const characterIndex = TA_FULL_DISPLAY_LINK_REGEX.lastIndex - totalLink.length + 7; // lastIndex points to the end of the field that was found + const characterIndex = regexMatchObject.index + 7; const excerpt = (characterIndex > excerptHalfLength ? '…' : '') + fieldText.substring(characterIndex - excerptHalfLength, characterIndex + excerptHalfLengthPlus) + (characterIndex + excerptHalfLengthPlus < fieldText.length ? '…' : '') addNoticePartial({ priority: 950, message: "tC cannot yet process '*' language code", characterIndex, excerpt, location: ourLocation }); } @@ -570,12 +581,12 @@ export async function checkNotesLinksToOutside(username, languageCode, repoCode, processedLinkList.push(totalLink); // Save the full link if (foundLanguageCode !== '*') { - const characterIndex = TA_DOUBLE_BRACKETED_LINK_REGEX.lastIndex - totalLink.length + 7; // lastIndex points to the end of the field that was found + const characterIndex = regexMatchObject.index + 7; const excerpt = (characterIndex > excerptHalfLength ? '…' : '') + fieldText.substring(characterIndex - excerptHalfLength, characterIndex + excerptHalfLengthPlus) + (characterIndex + excerptHalfLengthPlus < fieldText.length ? '…' : '') - addNoticePartial({ priority: 450, message: "Resource container link should have '*' language code", details: `not '${foundLanguageCode}'`, characterIndex, excerpt, location: ourLocation }); + addNoticePartial({ priority: 450, message: "Resource container link should have '*' language code", details: `not ‘${foundLanguageCode}’`, characterIndex, excerpt, location: ourLocation }); } else if (repoCode === 'TN') { // but not TN2 // At the moment, tC can’t handle these links with * so we have to ensure that they're not there - const characterIndex = TA_DOUBLE_BRACKETED_LINK_REGEX.lastIndex - totalLink.length + 7; // lastIndex points to the end of the field that was found + const characterIndex = regexMatchObject.index + 7; const excerpt = (characterIndex > excerptHalfLength ? '…' : '') + fieldText.substring(characterIndex - excerptHalfLength, characterIndex + excerptHalfLengthPlus) + (characterIndex + excerptHalfLengthPlus < fieldText.length ? '…' : '') addNoticePartial({ priority: 950, message: "tC cannot yet process '*' language code", characterIndex, excerpt, location: ourLocation }); } @@ -724,7 +735,7 @@ export async function checkNotesLinksToOutside(username, languageCode, repoCode, processedLinkList.push(totalLink); // Save the full link if (Lg !== '*' && Lg !== languageCode) - addNoticePartial({ priority: 669, message: "Unexpected language code in link", details: `resource language code is '${languageCode}'`, excerpt: Lg, location: ourLocation }); + addNoticePartial({ priority: 669, message: "Unexpected language code in link", details: `resource language code is ‘${languageCode}’`, excerpt: Lg, location: ourLocation }); if (optionalN1) { logicAssert(optionalB1, `Should have book name as well as number '${optionalN1}' in '${totalLink}'`); @@ -792,7 +803,7 @@ export async function checkNotesLinksToOutside(username, languageCode, repoCode, processedLinkList.push(totalLink); // Save the full link if (Lg !== '*' && Lg !== languageCode) - addNoticePartial({ priority: 669, message: "Unexpected language code in link", details: `resource language code is '${languageCode}'`, excerpt: Lg, location: ourLocation }); + addNoticePartial({ priority: 669, message: "Unexpected language code in link", details: `resource language code is '${languageCode}’`, excerpt: Lg, location: ourLocation }); if (optionalN1) { logicAssert(optionalB1, `Should have book name as well as number '${optionalN1}' in '${totalLink}'`); @@ -819,7 +830,7 @@ export async function checkNotesLinksToOutside(username, languageCode, repoCode, console.error(`TN Link CheckA couldn’t compare chapter numbers for ${bookID} ${givenC}:${givenV} ${fieldName} with ${C1} from '${fieldText}': ${ccError}`); } if (linkVerseInt !== 1) - addNoticePartial({ priority: 729, message: "Expected verse one for whole chapter link", details: `not verse ${linkVerseInt}`, excerpt: totalLink, location: ourLocation }); + addNoticePartial({ priority: 729, message: "Expected verse one for whole chapter link", details: `not verse ${linkVerseInt}`, excerpt: totalLink, location: ourLocation }); if (linkBookCode === 'obs') { const numStories = 50; diff --git a/src/core/notes-tsv7-row-check.js b/src/core/notes-tsv7-row-check.js index ab9d3be6..d7c83294 100644 --- a/src/core/notes-tsv7-row-check.js +++ b/src/core/notes-tsv7-row-check.js @@ -318,7 +318,7 @@ export async function checkNotesTSV7DataRow(username, languageCode, repoCode, li let numVersesThisChapter, haveGoodChapterNumber; if (C.length) { if (C !== givenC) - addNoticePartial({ priority: 976, message: "Wrong chapter number", details: `expected '${givenC}'`, fieldName: 'Reference', rowID, excerpt: C, location: ourRowLocation }); + addNoticePartial({ priority: 976, message: "Wrong chapter number", details: `expected ‘${givenC}’`, fieldName: 'Reference', rowID, excerpt: C, location: ourRowLocation }); if (C === 'front') { } else if (/^\d+$/.test(C)) { let intC = Number(C); @@ -354,7 +354,7 @@ export async function checkNotesTSV7DataRow(username, languageCode, repoCode, li if (V?.length) { // can be undefined if no colon at split above if (V !== givenV) - addNoticePartial({ priority: 975, message: "Wrong verse number", details: `expected '${givenV}'`, rowID, fieldName: 'Reference', excerpt: V, location: ourRowLocation }); + addNoticePartial({ priority: 975, message: "Wrong verse number", details: `expected ‘${givenV}’`, rowID, fieldName: 'Reference', excerpt: V, location: ourRowLocation }); if (bookID === 'OBS' || V === 'intro') { } else if (/^\d+$/.test(V)) { let intV = Number(V); @@ -449,7 +449,7 @@ export async function checkNotesTSV7DataRow(username, languageCode, repoCode, li } else // TODO: Find more details about when these fields are really compulsory (and when they're not, e.g., for 'intro') ??? if (repoCode === 'TN2' && V !== 'intro' && occurrence !== '0') - addNoticePartial({ priority: 919, message: "Missing Quote field", details: `should Occurrence be zero instead of ${occurrence} with SR='${supportReference}'`, fieldName: 'Quote', rowID, location: ourRowLocation }); + addNoticePartial({ priority: 919, message: "Missing Quote field", details: `should Occurrence be zero instead of ${occurrence} with SR=‘${supportReference}’`, fieldName: 'Quote', rowID, location: ourRowLocation }); if (occurrence.length) { // This should usually be a digit if ((characterIndex = occurrence.indexOf('\\n')) !== -1) { @@ -499,7 +499,7 @@ export async function checkNotesTSV7DataRow(username, languageCode, repoCode, li if (adjustedLink === supportReference) foundSR = true; } if (linksList.length && V !== 'intro') { - let details = supportReference ? `SR='${supportReference}'` : "empty SR field" + let details = supportReference ? `SR=‘${supportReference}’` : "empty SR field" if (linksList.length > 1) details += `—found ${linksList.length} TA links`; const excerpt = linksList.length > 1 ? JSON.stringify(linksList) : linksList[0]; if (foundSR) { diff --git a/src/core/notes-tsv7-table-check.js b/src/core/notes-tsv7-table-check.js index 8079fc79..2c40587f 100644 --- a/src/core/notes-tsv7-table-check.js +++ b/src/core/notes-tsv7-table-check.js @@ -6,7 +6,7 @@ import { checkNotesTSV7DataRow } from './notes-tsv7-row-check'; import { parameterAssert, aboutToOverwrite } from './utilities'; -const NOTES_TABLE_VALIDATOR_VERSION_STRING = '0.4.2'; +const NOTES_TABLE_VALIDATOR_VERSION_STRING = '1.0.0'; const NUM_EXPECTED_NOTES_TSV_FIELDS = 7; // so expects 6 tabs per line const EXPECTED_NOTES_HEADING_LINE = 'Reference\tID\tTags\tSupportReference\tQuote\tOccurrence\tNote'; @@ -128,7 +128,7 @@ export async function checkNotesTSV7Table(username, languageCode, repoCode, book if (lines[0] === EXPECTED_NOTES_HEADING_LINE) addSuccessMessage(`Checked TSV header ${ourLocation}`); else - addNoticePartial({ priority: 988, message: "Bad TSV header", details: `expected '${EXPECTED_NOTES_HEADING_LINE}'`, excerpt: lines[0], lineNumber: 1, location: ourLocation }); + addNoticePartial({ priority: 988, message: "Bad TSV header", details: `expected ‘${EXPECTED_NOTES_HEADING_LINE}’`, excerpt: lines[0], lineNumber: 1, location: ourLocation }); } else // not the header { @@ -198,7 +198,7 @@ export async function checkNotesTSV7Table(username, languageCode, repoCode, book if (/^\d+$/.test(lastC)) { let lastintC = Number(lastC); if (intC < lastintC) - addNoticePartial({ priority: 736, C, V, message: "Receding chapter number", details: `'${C}' after '${lastC}'`, rowID, lineNumber: n + 1, location: ourLocation }); + addNoticePartial({ priority: 736, C, V, message: "Receding chapter number", details: `'${C}' after '${lastC}’`, rowID, lineNumber: n + 1, location: ourLocation }); else if (intC > lastintC + 1) addNoticePartial({ priority: 735, C, V, message: "Advancing chapter number", details: `'${C}' after '${lastC}'`.rowID, lineNumber: n + 1, location: ourLocation }); } @@ -241,7 +241,7 @@ export async function checkNotesTSV7Table(username, languageCode, repoCode, book } } else - addNoticePartial({ priority: 738, C, V, message: "Bad verse number", rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation }); + addNoticePartial({ priority: 794, C, V, message: "Bad verse number", rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation }); } else diff --git a/src/core/orig-quote-check.js b/src/core/orig-quote-check.js index df0e8c72..c38a698e 100644 --- a/src/core/orig-quote-check.js +++ b/src/core/orig-quote-check.js @@ -3,12 +3,12 @@ import * as books from './books/books'; import { DEFAULT_EXCERPT_LENGTH, REPO_CODES_LIST } from './defaults'; // eslint-disable-next-line no-unused-vars import { CLOSING_PUNCTUATION_CHARACTERS, HEBREW_CANTILLATION_REGEX, PAIRED_PUNCTUATION_OPENERS, PAIRED_PUNCTUATION_CLOSERS } from './text-handling-functions'; -import { cachedGetFile } from './getApi'; +import { cachedGetFile, cacheSegment, fetchSegmentIfCached } from './getApi'; // eslint-disable-next-line no-unused-vars import { functionLog, debugLog, parameterAssert, logicAssert, dataAssert, ourParseInt, aboutToOverwrite } from './utilities'; -// const OL_QUOTE_VALIDATOR_VERSION_STRING = '0.10.10'; +// const OL_QUOTE_VALIDATOR_VERSION_STRING = '1.0.0'; /** @@ -111,11 +111,10 @@ export async function checkOriginalLanguageQuoteAndOccurrence(username, language * @param {Object} checkingOptions */ async function getOriginalVerse(bookID, C, V, checkingOptions) { - // TODO: Cache these ??? - // functionLog(`checkOriginalLanguageQuoteAndOccurrence getOriginalVerse(${bookID}, ${C}:${V})…`); //parameterAssert(V.indexOf('-') === -1 && V.indexOf('–') === -1, `checkOriginalLanguageQuoteAndOccurrence getOriginalVerse: Did not expect hyphen or dash in V parameter: '${V}'`); + // NOTE: We don't need to cache inside this function, because the results get cached in getOriginalPassage() below let username; try { username = checkingOptions?.originalLanguageRepoUsername; @@ -213,7 +212,7 @@ export async function checkOriginalLanguageQuoteAndOccurrence(username, language verseText += (bookLine.startsWith('\\f ') ? '' : ' ') + bookLine; } } - verseText = verseText.replace(/\\p/g, '').trim().replace(/ {2}/g, ' ') + verseText = verseText.replace(/\\p/g, '').trim().replace(/ {2}/g, ' ') // Eliminate double spaces // debugLog(`Got verse text1: '${verseText}'`); // Remove \w fields (just leaving the actual Bible text words) @@ -243,7 +242,7 @@ export async function checkOriginalLanguageQuoteAndOccurrence(username, language // debugLog(`Got verse text3: '${verseText}'`); // Final clean-up (shouldn’t be necessary, but just in case) - verseText = verseText.replace(/ {2}/g, ' '); + verseText = verseText.replace(/ {2}/g, ' '); // Eliminate double spaces //parameterAssert(verseText.indexOf('\\w') === -1, `getOriginalVerse: Should be no \\w in ${bookID} ${C}:${V} '${verseText}'`); //parameterAssert(verseText.indexOf('\\k') === -1, `getOriginalVerse: Should be no \\k in ${bookID} ${C}:${V} '${verseText}'`); //parameterAssert(verseText.indexOf('x-') === -1, `getOriginalVerse: Should be no x- in ${bookID} ${C}:${V} '${verseText}'`); @@ -265,27 +264,38 @@ export async function checkOriginalLanguageQuoteAndOccurrence(username, language * @param {Object} checkingOptions */ async function getOriginalPassage(bookID, C, V, checkingOptions) { - // TODO: Cache these ??? - // functionLog(`checkOriginalLanguageQuoteAndOccurrence getOriginalPassage(${bookID}, ${C}:${V})…`); - if (/^[0-9]{1,3}$/.test(V)) // Assume it's a single verse or frame-number - return await getOriginalVerse(bookID, C, V, checkingOptions); + // TODO: Why not calculate and cache all of these at once + const uniqueCacheID = `${username}_${languageCode}_${repoCode}+${bookID}_${C}:${V}`; + const cachedPassage = await fetchSegmentIfCached(uniqueCacheID); + if (cachedPassage !== null) return cachedPassage; + + let versePassage; + if (/^[0-9]{1,3}$/.test(V)) {// Assume it's a single verse or frame-number + versePassage = await getOriginalVerse(bookID, C, V, checkingOptions); + cacheSegment(versePassage, uniqueCacheID); // Don't bother (a)waiting + return versePassage; + } V = V.replace('–', '-'); // Make sure than en-dash becomes a hyphen const vBits = V.split('-'); - if (vBits.length !== 2) - return await getOriginalVerse(bookID, C, V, checkingOptions); + if (vBits.length !== 2) { + versePassage = await getOriginalVerse(bookID, C, V, checkingOptions); + cacheSegment(versePassage, uniqueCacheID); // Don't bother (a)waiting + return versePassage; + } let vStartInt, vEndInt; try { vStartInt = parseInt(vBits[0]); vEndInt = parseInt(vBits[1]); } catch (e) { console.log(`checkOriginalLanguageQuoteAndOccurrence: getOriginalVerse failed on '${V}' with ${e}`); return; } if (vStartInt >= vEndInt) { console.log(`checkOriginalLanguageQuoteAndOccurrence: getOriginalVerse failed on '${V}'`); return; } - let versePassage = ''; + versePassage = ''; for (let vInt = vStartInt; vInt <= vEndInt; vInt++) { versePassage += (versePassage.length ? ' ' : '') + await getOriginalVerse(bookID, C, vInt.toString(), checkingOptions); } + cacheSegment(versePassage, uniqueCacheID); // Don't bother (a)waiting return versePassage; } // end of getOriginalPassage function @@ -584,7 +594,7 @@ export async function checkOriginalLanguageQuoteAndOccurrence(username, language const match = HEBREW_CANTILLATION_REGEX.exec(fieldText); if (match) { // it’s null if no matches debugLog(`checkOriginalLanguageQuoteAndOccurrence: got cantillation match: ${typeof match} ${match.length} '${JSON.stringify(match)}'`); - addNoticePartial({ priority: 904, message: "Unexpected Hebrew cantillation mark in original language field", details: `found ${match.length} '${match}'`, C, V, excerpt: fieldText, location: ourLocation }); + addNoticePartial({ priority: 904, message: "Unexpected Hebrew cantillation mark in original language field", details: `found ${match.length} '${match}’`, C, V, excerpt: fieldText, location: ourLocation }); } */ @@ -611,14 +621,14 @@ export async function checkOriginalLanguageQuoteAndOccurrence(username, language if (fieldText.length > 1 && (opener_index = PAIRED_PUNCTUATION_OPENERS.indexOf(fieldText[0])) !== -1 && fieldText.indexOf(expected_closing_char = PAIRED_PUNCTUATION_CLOSERS[opener_index]) === -1) { const excerpt = fieldText.length <= excerptLength ? fieldText : `${fieldText.slice(0, excerptHalfLength)}…${fieldText.substring(fieldText.length - excerptHalfLength)}`; - addNoticePartial({ priority: 859, message: `Unexpected unclosed paired punctuation at beginning of quote`, details: `Found '${fieldText[0]}' at start, but no matching '${expected_closing_char}'`, characterIndex: 0, excerpt, location: ourLocation }); + addNoticePartial({ priority: 859, message: `Unexpected unclosed paired punctuation at beginning of quote`, details: `Found '${fieldText[0]}' at start, but no matching '${expected_closing_char}’`, characterIndex: 0, excerpt, location: ourLocation }); } let closer_index, expected_opening_char if (fieldText.length > 1 && (closer_index = PAIRED_PUNCTUATION_CLOSERS.indexOf(fieldText.slice(-1))) !== -1 && ((whichTestament !== 'new' && whichTestament !== 'both') || fieldText.slice(-1) !== '’') // Allow final apostrophe for UGNT and OBS && fieldText.indexOf(expected_opening_char = PAIRED_PUNCTUATION_OPENERS[closer_index]) === -1) { const excerpt = fieldText.length <= excerptLength ? fieldText : `${fieldText.slice(0, excerptHalfLength)}…${fieldText.substring(fieldText.length - excerptHalfLength)}`; - addNoticePartial({ priority: 858, message: `Unexpected unopened paired punctuation at end of quote`, details: `Found '${fieldText.slice(-1)}' at end, but no matching '${expected_opening_char}'`, characterIndex: fieldText.length - 1, excerpt, location: ourLocation }); + addNoticePartial({ priority: 858, message: `Unexpected unopened paired punctuation at end of quote`, details: `Found '${fieldText.slice(-1)}' at end, but no matching '${expected_opening_char}’`, characterIndex: fieldText.length - 1, excerpt, location: ourLocation }); } const noDashFieldText = fieldText.replace(/[—־]/g, ' '); // em-dash and then maqaf diff --git a/src/core/plain-text-check.js b/src/core/plain-text-check.js index c7c3ab34..d678dc57 100644 --- a/src/core/plain-text-check.js +++ b/src/core/plain-text-check.js @@ -4,10 +4,13 @@ import { OPEN_CLOSE_PUNCTUATION_PAIRS, PAIRED_PUNCTUATION_OPENERS, PAIRED_PUNCTU import { checkTextField } from './field-text-check'; import { removeDisabledNotices } from './disabled-notices'; // eslint-disable-next-line no-unused-vars -import { parameterAssert, debugLog } from './utilities'; +import { parameterAssert, debugLog, functionLog } from './utilities'; -const PLAIN_TEXT_VALIDATOR_VERSION_STRING = '0.5.1'; +const separatedDigitsRegex = new RegExp('\\d{1,3}, (\\d{1,3})', 'g'); // e.g., "5, 000" +const tooManyDigitsRegex = new RegExp('[^HG]\\d{4,}', 'g'); // e.g., "5000" should have a separator but not H1234 or G12340 + +const PLAIN_TEXT_VALIDATOR_VERSION_STRING = '1.0.2'; /** @@ -30,7 +33,7 @@ export function checkPlainText(username, languageCode, repoCode, textType, textN Returns a result object containing a successList and a noticeList */ - // functionLog(`checkPlainText(${textName}, (${plainText.length} chars), ${givenLocation}, ${JSON.stringify(checkingOptions)})…`); + // functionLog(`checkPlainText(${username}, ${languageCode}, ${repoCode}, ${textType}, ${textName}, (${plainText.length} chars), ${givenLocation}, ${JSON.stringify(checkingOptions)})…`); //parameterAssert(languageCode !== undefined, "checkPlainText: 'languageCode' parameter should be defined"); //parameterAssert(typeof languageCode === 'string', `checkPlainText: 'languageCode' parameter should be a string not a '${typeof languageCode}': ${languageCode}`); //parameterAssert(languageCode !== 'markdown' && languageCode !== 'USFM' && languageCode !== 'YAML' && languageCode !== 'text' && languageCode !== 'raw' && languageCode !== 'unfoldingWord', `checkPlainText: 'languageCode' ${languageCode} parameter should be not be '${languageCode}'`); @@ -63,6 +66,8 @@ export function checkPlainText(username, languageCode, repoCode, textType, textN const excerptHalfLengthPlus = Math.floor((excerptLength + 1) / 2); // rounded up // debugLog(`Using excerptHalfLength=${excerptHalfLength}`, `excerptHalfLengthPlus=${excerptHalfLengthPlus}`); + const noCapitalSentenceRegex = new RegExp(`[.!?] [a-z]{1,${excerptLength}}`, 'g'); // e.g., "end. start" + const cutoffPriorityLevel = checkingOptions?.cutoffPriorityLevel ? checkingOptions?.cutoffPriorityLevel : 0; const cptResult = { successList: [], noticeList: [] }; @@ -195,6 +200,7 @@ export function checkPlainText(username, languageCode, repoCode, textType, textN addNotice({ priority: 201, message: "File contains both Arabic and other commas", location: ourLocation }); } + let regexMatchObject; const lines = plainText.split('\n'); // debugLog(` '${location}' has ${lines.length.toLocaleString()} total lines`); // checking nested markers (so that we can give the line number in the notice) @@ -210,6 +216,21 @@ export function checkPlainText(username, languageCode, repoCode, textType, textN if (textType === 'text' || textType === 'raw') // other file-types do these checks themselves checkPlainLineContents(n, line, ourLocation); + // Search for separated digits, e.g, "5, 000" which can happen in aligned USFM + // NOTE: This could also pick up a list of 1, 2, and 3. + if (cutoffPriorityLevel < 198) + while ((regexMatchObject = separatedDigitsRegex.exec(line))) + if (regexMatchObject[1].startsWith('0')) + addNotice({ priority: 498, message: "Found separated digits", excerpt: regexMatchObject[0], lineNumber: n, location: ourLocation }); + else + addNotice({ priority: 198, message: "Found possible separated digits", excerpt: regexMatchObject[0], lineNumber: n, location: ourLocation }); + + // Search for long numbers like "20000" which should probably be "20,000" in English text + // NOTE: Need to eliminate Strongs numbers, zip codes, ISBN numbers, copyright years, commit SHAs, etc. + if (cutoffPriorityLevel < 91 && !textName.endsWith('manifest') && !line.startsWith('\\id') && line.indexOf('strong="') === -1 && line.indexOf('Strong’s:') === -1 && line.indexOf('©') === -1 && line.indexOf('ISBN') === -1 && line.indexOf('USA.') === -1 && line.indexOf('/commit/') === -1 && line.indexOf('Version') === -1) + while ((regexMatchObject = tooManyDigitsRegex.exec(line))) + addNotice({ priority: 91, message: "Possible missing separator in digit string", excerpt: regexMatchObject[0], lineNumber: n, location: ourLocation }); + // Check for nested brackets and quotes, etc. if (cutoffPriorityLevel < 777) for (let characterIndex = 0; characterIndex < line.length; characterIndex++) { @@ -231,7 +252,7 @@ export function checkPlainText(username, languageCode, repoCode, textType, textN } else // something is still open and this isn’t a match -- might just be consequential error if (char !== '’' // Closing single quote is also used as apostrophe in English && (textType !== 'markdown' || char !== '>' || characterIndex > 4)) { // Markdown uses > or >> or > > or > > > for block indents so ignore these -- might just be consequential error - const excerpt = (characterIndex > excerptHalfLength ? '…' : '') + line.substring(characterIndex - excerptHalfLength, characterIndex + excerptHalfLengthPlus).replace(/ /g, '␣') + (characterIndex + excerptHalfLengthPlus < line.length ? '…' : '') + const excerpt = (characterIndex > excerptHalfLength ? '…' : '') + line.substring(characterIndex - excerptHalfLength, characterIndex + excerptHalfLengthPlus) + (characterIndex + excerptHalfLengthPlus < line.length ? '…' : '') const details = `'${lastEntry.char}' opened on line ${lastEntry.n.toLocaleString()} character ${lastEntry.x + 1}`; addNotice({ priority: 777, message: `Bad punctuation nesting: ${char} closing character doesn’t match`, details, lineNumber: n, characterIndex, excerpt, location: ourLocation }); // debugLog(` ERROR 777: mismatched characters: ${details}`); @@ -239,9 +260,9 @@ export function checkPlainText(username, languageCode, repoCode, textType, textN } else // Closed something unexpectedly without an opener if (char !== '’' // Closing single quote is also used as apostrophe in English && (textType !== 'markdown' || char !== '>')) { // Markdown uses > for block indents so ignore these - const excerpt = (characterIndex > excerptHalfLength ? '…' : '') + line.substring(characterIndex - excerptHalfLength, characterIndex + excerptHalfLengthPlus).replace(/ /g, '␣') + (characterIndex + excerptHalfLengthPlus < line.length ? '…' : '') + const excerpt = (characterIndex > excerptHalfLength ? '…' : '') + line.substring(characterIndex - excerptHalfLength, characterIndex + excerptHalfLengthPlus) + (characterIndex + excerptHalfLengthPlus < line.length ? '…' : '') addNotice({ priority: 774, message: `Unexpected ${char} closing character (no matching opener)`, lineNumber: n, characterIndex, excerpt, location: ourLocation }); - // debugLog(` ERROR 774: closed with nothing open: ${char}`); + // debugLog(` ERROR 774: closed with nothing open: ${char} from ${line}`); } } @@ -256,7 +277,7 @@ export function checkPlainText(username, languageCode, repoCode, textType, textN if (cutoffPriorityLevel < 768 && openMarkers.length) { const [{ char, n, x }] = openMarkers.slice(-1); const line = lines[n - 1]; - const excerpt = (x > excerptHalfLength ? '…' : '') + line.slice(x - excerptHalfLength, x + excerptHalfLengthPlus) + (x + excerptHalfLengthPlus < line.length ? '…' : '') + const excerpt = (x > excerptHalfLength ? '…' : '') + line.substring(x - excerptHalfLength, x + excerptHalfLengthPlus) + (x + excerptHalfLengthPlus < line.length ? '…' : '') const details = openMarkers.length > 1 ? `${openMarkers.length} unclosed set${openMarkers.length === 1 ? '' : 's'}` : null; addNotice({ priority: 768, message: `At end of text with unclosed ${char} opening character`, details, lineNumber: n, characterIndex: x, excerpt, location: ourLocation }); } @@ -277,8 +298,20 @@ export function checkPlainText(username, languageCode, repoCode, textType, textN addNotice({ priority: leftChar === '“' ? 162 : 462, message: `Mismatched ${leftChar}${rightChar} characters`, details: `left=${leftCount.toLocaleString()}, right=${rightCount.toLocaleString()}`, location: ourLocation }); } + if (cutoffPriorityLevel < 97) + while ((regexMatchObject = noCapitalSentenceRegex.exec(plainText))) + if ((textType !== 'YAML' || regexMatchObject[0] !== '. in') // e.g., Ph.D. in "Shape of Greek iota symbol in late 3rd century manuscripts" + && (textType !== 'markdown' || regexMatchObject[0] !== '. t' || plainText.slice(regexMatchObject.index + 3, regexMatchObject.index + 4) !== 'C') // Sentence starting with tC + ) { + const characterIndex = regexMatchObject.index; + const excerpt = (characterIndex > excerptHalfLength ? '…' : '') + plainText.substring(characterIndex - excerptHalfLength, characterIndex + excerptHalfLengthPlus) + (characterIndex + excerptHalfLengthPlus < plainText.length ? '…' : '') + // debugLog(`checkPlainText for ${textType} found no capital with '${regexMatchObject[0]}' at index ${characterIndex} giving excerpt='${excerpt}'`); + const details = `the ‘${plainText.slice(characterIndex + 2, characterIndex + 3)}’ after ${plainText.slice(characterIndex, characterIndex + 1)}`; + addNotice({ priority: ['en'].includes(languageCode) ? 197 : 97, message: "Sentence may not start with capital letter", details, excerpt, location: ourLocation }); + } + if (!checkingOptions?.suppressNoticeDisablingFlag) { - // functionLog(`checkPlainText: calling removeDisabledNotices(${cptResult.noticeList.length}) having ${JSON.stringify(checkingOptions)}`); + // debugLog(`checkPlainText: calling removeDisabledNotices(${cptResult.noticeList.length}) having ${JSON.stringify(checkingOptions)}`); cptResult.noticeList = removeDisabledNotices(cptResult.noticeList); } diff --git a/src/core/questions-tsv7-row-check.js b/src/core/questions-tsv7-row-check.js index 6619db75..db2d96ef 100644 --- a/src/core/questions-tsv7-row-check.js +++ b/src/core/questions-tsv7-row-check.js @@ -295,7 +295,7 @@ export async function checkQuestionsTSV7DataRow(username, languageCode, repoCode let numVersesThisChapter, haveGoodChapterNumber; if (C?.length) { if (C !== givenC) - addNoticePartial({ priority: 976, message: "Wrong chapter number", details: `expected '${givenC}'`, fieldName: 'Reference', rowID, excerpt: C, location: ourRowLocation }); + addNoticePartial({ priority: 976, message: "Wrong chapter number", details: `expected ‘${givenC}’`, fieldName: 'Reference', rowID, excerpt: C, location: ourRowLocation }); if (C === 'front') { } else if (/^\d+$/.test(C)) { let intC = Number(C); @@ -333,7 +333,7 @@ export async function checkQuestionsTSV7DataRow(username, languageCode, repoCode if (V?.length) { // can be undefined if no colon at split above if (V.indexOf('-') === -1) { // Not a verse bridge if (V !== givenV) - addNoticePartial({ priority: 975, message: "Wrong verse number", details: `expected '${givenV}'`, rowID, fieldName: 'Reference', excerpt: V, location: ourRowLocation }); + addNoticePartial({ priority: 975, message: "Wrong verse number", details: `expected ‘${givenV}’`, rowID, fieldName: 'Reference', excerpt: V, location: ourRowLocation }); if (bookID === 'OBS' || V === 'intro') { } else if (/^\d+$/.test(V)) { let intV = Number(V); @@ -356,7 +356,7 @@ export async function checkQuestionsTSV7DataRow(username, languageCode, repoCode if (/^\d+$/.test(V1) && /^\d+$/.test(V2)) { const intV1 = Number(V1), intV2 = Number(V2), intGivenV = Number(givenV); if (intGivenV < intV1 || intGivenV > intV2) - addNoticePartial({ priority: 975, message: "Wrong verse number", details: `expected '${givenV}' to be inside range`, rowID, fieldName: 'Reference', excerpt: V, location: ourRowLocation }); + addNoticePartial({ priority: 975, message: "Wrong verse number", details: `expected ‘${givenV}' to be inside range`, rowID, fieldName: 'Reference', excerpt: V, location: ourRowLocation }); else if (intV1 >= intV2) addNoticePartial({ priority: 808, message: "Bad verse range", details: "Second digits should be greater", rowID, fieldName: 'Reference', excerpt: V, location: ourRowLocation }); else if (intV1 === 0 && bookID !== 'PSA') // Psalms have \d as verse zero @@ -467,7 +467,7 @@ export async function checkQuestionsTSV7DataRow(username, languageCode, repoCode // // debugLog("Got TA Regex in Question", JSON.stringify(regexMatchObject)); // const adjustedLink = regexMatchObject[0].slice(2, regexMatchObject[0].length - 2) // if (supportReference !== adjustedLink && V !== 'intro') { - // const details = supportReference ? `(SR='${supportReference}')` : "(empty SR field)" + // const details = supportReference ? `(SR=‘${supportReference}’)` : "(empty SR field)" // addNoticePartial({ priority: 786, message: "Should have a SupportReference when OccurrenceNote has a TA link", details, rowID, fieldName: 'Question', excerpt: adjustedLink, location: ourRowLocation }); // } // } @@ -497,7 +497,7 @@ export async function checkQuestionsTSV7DataRow(username, languageCode, repoCode // // debugLog("Got TA Regex in Response", JSON.stringify(regexMatchObject)); // const adjustedLink = regexMatchObject[0].slice(2, regexMatchObject[0].length - 2) // if (supportReference !== adjustedLink && V !== 'intro') { - // const details = supportReference ? `(SR='${supportReference}')` : "(empty SR field)" + // const details = supportReference ? `(SR=‘${supportReference}’)` : "(empty SR field)" // addNoticePartial({ priority: 786, message: "Should have a SupportReference when OccurrenceNote has a TA link", details, rowID, fieldName: 'Response', excerpt: adjustedLink, location: ourRowLocation }); // } // } diff --git a/src/core/questions-tsv7-table-check.js b/src/core/questions-tsv7-table-check.js index 50f0f3ad..be60e84d 100644 --- a/src/core/questions-tsv7-table-check.js +++ b/src/core/questions-tsv7-table-check.js @@ -6,7 +6,7 @@ import { checkQuestionsTSV7DataRow } from './questions-tsv7-row-check'; import { parameterAssert, aboutToOverwrite } from './utilities'; -const QUESTIONS_TABLE_VALIDATOR_VERSION_STRING = '0.3.3'; +const QUESTIONS_TABLE_VALIDATOR_VERSION_STRING = '1.0.0'; const NUM_EXPECTED_QUESTIONS_TSV_FIELDS = 7; // so expects 6 tabs per line const EXPECTED_QUESTIONS_HEADING_LINE = 'Reference\tID\tTags\tQuote\tOccurrence\tQuestion\tResponse'; @@ -127,7 +127,7 @@ export async function checkQuestionsTSV7Table(username, languageCode, repoCode, if (lines[0] === EXPECTED_QUESTIONS_HEADING_LINE) addSuccessMessage(`Checked TSV header ${ourLocation}`); else - addNoticePartial({ priority: 988, message: "Bad TSV header", details: `expected '${EXPECTED_QUESTIONS_HEADING_LINE}'`, excerpt: lines[0], lineNumber: 1, location: ourLocation }); + addNoticePartial({ priority: 988, message: "Bad TSV header", details: `expected ‘${EXPECTED_QUESTIONS_HEADING_LINE}’`, excerpt: lines[0], lineNumber: 1, location: ourLocation }); } else // not the header { @@ -197,7 +197,7 @@ export async function checkQuestionsTSV7Table(username, languageCode, repoCode, if (/^\d+$/.test(lastC)) { let lastintC = Number(lastC); if (intC < lastintC) - addNoticePartial({ priority: 736, C, V, message: "Receding chapter number", details: `'${C}' after '${lastC}'`, rowID, lineNumber: n + 1, location: ourLocation }); + addNoticePartial({ priority: 736, C, V, message: "Receding chapter number", details: `'${C}' after '${lastC}’`, rowID, lineNumber: n + 1, location: ourLocation }); else if (intC > lastintC + 1) addNoticePartial({ priority: 735, C, V, message: "Advancing chapter number", details: `'${C}' after '${lastC}'`.rowID, lineNumber: n + 1, location: ourLocation }); } @@ -242,9 +242,9 @@ export async function checkQuestionsTSV7Table(username, languageCode, repoCode, } } else if (/^[,\d]+$/.test(V)) { // all digits and comma, i.e., a verse list - addNoticePartial({ priority: 238, C, V, message: "Can't handle verse list yet", rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation }); + addNoticePartial({ priority: 238, C, V, message: "Checker can’t handle verse list yet", rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation }); } else - addNoticePartial({ priority: 738, C, V, message: "Bad verse number", rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation }); + addNoticePartial({ priority: 794, C, V, message: "Bad verse number", rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation }); } else diff --git a/src/core/tn-tsv9-row-check.js b/src/core/tn-tsv9-row-check.js index 8926f426..bb475e18 100644 --- a/src/core/tn-tsv9-row-check.js +++ b/src/core/tn-tsv9-row-check.js @@ -318,7 +318,7 @@ export async function checkTN_TSV9DataRow(username, languageCode, repoCode, line // Check the fields one-by-one if (B.length) { if (B !== bookID) - addNoticePartial({ priority: 978, message: "Wrong book identifier", details: `expected '${bookID}'`, fieldName: 'Book', rowID, excerpt: B, location: ourRowLocation }); + addNoticePartial({ priority: 978, message: "Wrong book identifier", details: `expected ‘${bookID}’`, fieldName: 'Book', rowID, excerpt: B, location: ourRowLocation }); } else addNoticePartial({ priority: 977, message: "Missing book identifier", characterIndex: 0, rowID, location: ourRowLocation }); @@ -326,7 +326,7 @@ export async function checkTN_TSV9DataRow(username, languageCode, repoCode, line let numVersesThisChapter, haveGoodChapterNumber; if (C.length) { if (C !== givenC) - addNoticePartial({ priority: 976, message: "Wrong chapter number", details: `expected '${givenC}'`, fieldName: 'Chapter', rowID, excerpt: C, location: ourRowLocation }); + addNoticePartial({ priority: 976, message: "Wrong chapter number", details: `expected ‘${givenC}’`, fieldName: 'Chapter', rowID, excerpt: C, location: ourRowLocation }); if (C === 'front') { } else if (/^\d+$/.test(C)) { let intC = Number(C); @@ -358,7 +358,7 @@ export async function checkTN_TSV9DataRow(username, languageCode, repoCode, line if (V.length) { if (V !== givenV) - addNoticePartial({ priority: 975, message: "Wrong verse number", details: `expected '${givenV}'`, rowID, fieldName: 'Verse', excerpt: V, location: ourRowLocation }); + addNoticePartial({ priority: 975, message: "Wrong verse number", details: `expected ‘${givenV}’`, rowID, fieldName: 'Verse', excerpt: V, location: ourRowLocation }); if (bookID === 'OBS' || V === 'intro') { } else if (/^\d+$/.test(V)) { let intV = Number(V); @@ -439,7 +439,7 @@ export async function checkTN_TSV9DataRow(username, languageCode, repoCode, line } } else // TODO: Find more details about when these fields are really compulsory (and when they're not, e.g., for 'intro') ??? if (V !== 'intro' && occurrence !== '0') { - addNoticePartial({ priority: 919, message: "Missing OrigQuote field", details: `should Occurrence be zero instead of ${occurrence} with SR='${supportReference}'`, fieldName: 'OrigQuote', rowID, location: ourRowLocation }); + addNoticePartial({ priority: 919, message: "Missing OrigQuote field", details: `should Occurrence be zero instead of ${occurrence} with SR=‘${supportReference}’`, fieldName: 'OrigQuote', rowID, location: ourRowLocation }); } if (occurrence.length) { // This should usually be a digit @@ -500,7 +500,7 @@ export async function checkTN_TSV9DataRow(username, languageCode, repoCode, line foundSR = true; } if (linksList.length && V !== 'intro') { - let details = supportReference ? `SR='${supportReference}'` : "empty SR field" + let details = supportReference ? `SR=‘${supportReference}’` : "empty SR field" if (linksList.length > 1) details += `—found ${linksList.length} TA links`; const excerpt = linksList.length > 1 ? JSON.stringify(linksList) : linksList[0]; if (foundSR) { diff --git a/src/core/tn-tsv9-table-check.js b/src/core/tn-tsv9-table-check.js index 77233606..2c47c27e 100644 --- a/src/core/tn-tsv9-table-check.js +++ b/src/core/tn-tsv9-table-check.js @@ -6,7 +6,7 @@ import { checkTN_TSV9DataRow } from './tn-tsv9-row-check'; import { debugLog, parameterAssert, aboutToOverwrite } from './utilities'; -const TN_TABLE_TEXT_VALIDATOR_VERSION_STRING = '0.5.0'; +const TN_TABLE_TEXT_VALIDATOR_VERSION_STRING = '1.0.0'; const NUM_EXPECTED_TN_TSV_FIELDS = 9; // so expects 8 tabs per line const EXPECTED_TN_HEADING_LINE = 'Book\tChapter\tVerse\tID\tSupportReference\tOrigQuote\tOccurrence\tGLQuote\tOccurrenceNote'; @@ -135,7 +135,7 @@ export async function internalCheckTN_TSV9Table(username, languageCode, repoCode if (lines[0] === EXPECTED_TN_HEADING_LINE) addSuccessMessage(`Checked TSV header ${ourLocation}`); else - addNoticePartial({ priority: 988, message: "Bad TSV header", details: `expected '${EXPECTED_TN_HEADING_LINE}'`, excerpt: lines[0], lineNumber: 1, location: ourLocation }); + addNoticePartial({ priority: 988, message: "Bad TSV header", details: `expected ‘${EXPECTED_TN_HEADING_LINE}’`, excerpt: lines[0], lineNumber: 1, location: ourLocation }); } else // not the header { @@ -208,7 +208,7 @@ export async function internalCheckTN_TSV9Table(username, languageCode, repoCode if (/^\d+$/.test(lastC)) { let lastintC = Number(lastC); if (intC < lastintC) - addNoticePartial({ priority: 736, C, V, message: "Receding chapter number", details: `'${C}' after '${lastC}'`, rowID, lineNumber: n + 1, location: ourLocation }); + addNoticePartial({ priority: 736, C, V, message: "Receding chapter number", details: `'${C}' after '${lastC}’`, rowID, lineNumber: n + 1, location: ourLocation }); else if (intC > lastintC + 1) addNoticePartial({ priority: 735, C, V, message: "Advancing chapter number", details: `'${C}' after '${lastC}'`.rowID, lineNumber: n + 1, location: ourLocation }); } @@ -236,7 +236,7 @@ export async function internalCheckTN_TSV9Table(username, languageCode, repoCode } } else - addNoticePartial({ priority: 738, C, V, message: "Bad verse number", rowID, lineNumber: n + 1, location: ourLocation }); + addNoticePartial({ priority: 794, C, V, message: "Bad verse number", rowID, lineNumber: n + 1, location: ourLocation }); } else diff --git a/src/core/twl-tsv6-row-check.js b/src/core/twl-tsv6-row-check.js index efc09ddc..cbfdce27 100644 --- a/src/core/twl-tsv6-row-check.js +++ b/src/core/twl-tsv6-row-check.js @@ -280,7 +280,7 @@ export async function checkTWL_TSV6DataRow(username, languageCode, repoCode, lin let numVersesThisChapter, haveGoodChapterNumber; if (C.length) { if (C !== givenC) - addNoticePartial({ priority: 976, message: "Wrong chapter number", details: `expected '${givenC}'`, fieldName: 'Reference', rowID, excerpt: C, location: ourRowLocation }); + addNoticePartial({ priority: 976, message: "Wrong chapter number", details: `expected ‘${givenC}’`, fieldName: 'Reference', rowID, excerpt: C, location: ourRowLocation }); if (C === 'front') { } else if (/^\d+$/.test(C)) { let intC = Number(C); @@ -316,7 +316,7 @@ export async function checkTWL_TSV6DataRow(username, languageCode, repoCode, lin if (V?.length) { // can be undefined if no colon at split above if (V !== givenV) - addNoticePartial({ priority: 975, message: "Wrong verse number", details: `expected '${givenV}'`, rowID, fieldName: 'Reference', excerpt: V, location: ourRowLocation }); + addNoticePartial({ priority: 975, message: "Wrong verse number", details: `expected ‘${givenV}’`, rowID, fieldName: 'Reference', excerpt: V, location: ourRowLocation }); if (bookID === 'OBS' || V === 'intro') { } else if (/^\d+$/.test(V)) { let intV = Number(V); @@ -364,7 +364,7 @@ export async function checkTWL_TSV6DataRow(username, languageCode, repoCode, lin let tagsList = tags.split('; '); for (const thisTag of tagsList) { if (thisTag !== 'keyterm' && thisTag !== 'name') - addNoticePartial({ priority: 740, message: "Unrecognized tag", details: `found '${thisTag}' but expected 'keyterm' or 'name'`, excerpt: tags, fieldName: 'Tags', rowID, location: ourRowLocation }); + addNoticePartial({ priority: 740, message: "Unrecognized tag", details: `found '${thisTag}' but expected 'keyterm' or 'name’`, excerpt: tags, fieldName: 'Tags', rowID, location: ourRowLocation }); } } @@ -422,14 +422,14 @@ export async function checkTWL_TSV6DataRow(username, languageCode, repoCode, lin else { // More than just whitespace if (!TWLink.startsWith('rc://*/tw/dict/bible/')) { const excerpt = (characterIndex > excerptHalfLength ? '…' : '') + TWLink.substring(characterIndex - excerptHalfLength, characterIndex + excerptHalfLengthPlus) + (characterIndex + excerptHalfLengthPlus < TWLink.length ? '…' : '') - addNoticePartial({ priority: 798, message: "Field doesn’t contain expected TW link", details: `should start with 'rc://*/tw/dict/bible/'`, fieldName: 'TWLink', rowID, excerpt, location: ourRowLocation }); + addNoticePartial({ priority: 798, message: "Field doesn’t contain expected TW link", details: `should start with ‘rc://*/tw/dict/bible/’`, fieldName: 'TWLink', rowID, excerpt, location: ourRowLocation }); } else { // it starts correctly const bits = TWLink.slice('rc://*/tw/dict/bible/'.length).split('/'); // Get the last two bits of the link path // debugLog(`checkTWL_TSV6DataRow checking ${bookID} ${rowID} TWLink='${TWLink}' got bits=${JSON.stringify(bits)}`); if (bits[0] !== 'kt' && bits[0] !== 'names' && bits[0] !== 'other') { characterIndex = 'rc://*/tw/dict/bible/'.length; const excerpt = (characterIndex > excerptHalfLength ? '…' : '') + TWLink.substring(characterIndex - excerptHalfLength, characterIndex + excerptHalfLengthPlus) + (characterIndex + excerptHalfLengthPlus < TWLink.length ? '…' : '') - addNoticePartial({ priority: 797, message: "Field doesn’t contain proper TW link", details: `should be 'kt', 'names', or 'other'`, fieldName: 'TWLink', rowID, characterIndex, excerpt, location: ourRowLocation }); + addNoticePartial({ priority: 797, message: "Field doesn’t contain proper TW link", details: `should be ‘kt', ‘names', or ‘other’`, fieldName: 'TWLink', rowID, characterIndex, excerpt, location: ourRowLocation }); } else { // all good so far // debugLog(`checkTWL_TSV6DataRow looking up ${bookID} ${rowID} TWLink='${TWLink}' got bits=${JSON.stringify(bits)}`); await ourCheckNotesLinksToOutside(rowID, 'TWLink', TWLink, ourRowLocation, linkCheckingOptions); diff --git a/src/core/twl-tsv6-table-check.js b/src/core/twl-tsv6-table-check.js index 54538cd4..f6c6d8e3 100644 --- a/src/core/twl-tsv6-table-check.js +++ b/src/core/twl-tsv6-table-check.js @@ -6,7 +6,7 @@ import { checkTWL_TSV6DataRow } from './twl-tsv6-row-check'; import { parameterAssert, aboutToOverwrite } from './utilities'; -const TWL_TABLE_VALIDATOR_VERSION_STRING = '0.2.1'; +const TWL_TABLE_VALIDATOR_VERSION_STRING = '1.0.0'; const NUM_EXPECTED_TWL_TSV_FIELDS = 6; // so expects 5 tabs per line const EXPECTED_TWL_HEADING_LINE = 'Reference\tID\tTags\tOrigWords\tOccurrence\tTWLink'; @@ -127,7 +127,7 @@ export async function internalCheckTWL_TSV6Table(username, languageCode, repoCod if (lines[0] === EXPECTED_TWL_HEADING_LINE) addSuccessMessage(`Checked TSV header ${ourLocation}`); else - addNoticePartial({ priority: 988, message: "Bad TSV header", details: `expected '${EXPECTED_TWL_HEADING_LINE}'`, excerpt: lines[0], lineNumber: 1, location: ourLocation }); + addNoticePartial({ priority: 988, message: "Bad TSV header", details: `expected ‘${EXPECTED_TWL_HEADING_LINE}’`, excerpt: lines[0], lineNumber: 1, location: ourLocation }); } else // not the header { @@ -197,7 +197,7 @@ export async function internalCheckTWL_TSV6Table(username, languageCode, repoCod if (/^\d+$/.test(lastC)) { let lastintC = Number(lastC); if (intC < lastintC) - addNoticePartial({ priority: 736, C, V, message: "Receding chapter number", details: `'${C}' after '${lastC}'`, rowID, lineNumber: n + 1, location: ourLocation }); + addNoticePartial({ priority: 736, C, V, message: "Receding chapter number", details: `'${C}' after '${lastC}’`, rowID, lineNumber: n + 1, location: ourLocation }); else if (intC > lastintC + 1) addNoticePartial({ priority: 735, C, V, message: "Advancing chapter number", details: `'${C}' after '${lastC}'`.rowID, lineNumber: n + 1, location: ourLocation }); } @@ -240,7 +240,7 @@ export async function internalCheckTWL_TSV6Table(username, languageCode, repoCod } } else - addNoticePartial({ priority: 738, C, V, message: "Bad verse number", rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation }); + addNoticePartial({ priority: 794, C, V, message: "Bad verse number", rowID, lineNumber: n + 1, excerpt: reference, location: ourLocation }); } else diff --git a/src/core/usfm-helpers.js b/src/core/usfm-helpers.js new file mode 100644 index 00000000..e59f7d45 --- /dev/null +++ b/src/core/usfm-helpers.js @@ -0,0 +1,80 @@ +// eslint-disable-next-line no-unused-vars +import { CLOSING_PUNCTUATION_CHARACTERS, HEBREW_CANTILLATION_REGEX, PAIRED_PUNCTUATION_OPENERS, PAIRED_PUNCTUATION_CLOSERS } from './text-handling-functions'; +// eslint-disable-next-line no-unused-vars +import { functionLog, debugLog, parameterAssert, logicAssert, dataAssert, ourParseInt, aboutToOverwrite } from './utilities'; + +export function extractTextFromComplexUSFM(usfmText) { + // functionLog(`extractTextFromComplexUSFM(${usfmText.length} chars)…`) + // Do initial global replaces + usfmText = usfmText.replace(/\\zaln-e\\\*/g, ''); // Remove \zaln-e self-closed milestones + usfmText = usfmText.replace(/\\k-e\\\*/g, ''); // Remove \k-e self-closed milestones + // debugLog(` extractTextFromComplexUSFM: got verse text1: (${usfmText.length}) '${usfmText}'`); + usfmText = usfmText.replace(/\\zaln-s.+?\\\*/g, ''); // Remove \zaln-s self-closed milestones + usfmText = usfmText.replace(/\\k-s.+?\\\*/g, ''); // Remove \k-s self-closed milestones + // debugLog(` extractTextFromComplexUSFM: got verse text2: (${usfmText.length}) '${usfmText}'`); + usfmText = usfmText.replace(/\\w (.+?)\|.+?\\w\*/g, '$1'); // Replace word fields with just the word + // debugLog(` extractTextFromComplexUSFM: got verse text3a: (${usfmText.length}) '${usfmText}'`); + usfmText = usfmText.replace(/{|}/g, ''); // Replace (ST) "added" markers + // debugLog(` extractTextFromComplexUSFM: got verse text3b: (${usfmText.length}) '${usfmText}'`); + + // Remove lines we don't want + const hadTrailingNewline = usfmText.slice(-1) === '\n'; + const newLines = []; + for (let line of usfmText.split('\n')) { + if (!line.length) continue; + if (line.startsWith('\\id ')) continue; + if (line.startsWith('\\usfm ')) continue; + if (line.startsWith('\\ide ')) continue; + if (line.startsWith('\\h ')) continue; + if (line.startsWith('\\toc')) continue; + if (line === '\\ts\\*' || line === '\\ts\\* ') continue; // Handle known trailing spaces + if (line.startsWith('\\rem ')) continue; + // debugLog(` extractTextFromComplexUSFM got line text4a: (${line.length}) '${line}'`); + if (line.startsWith('\\c ')) line = `[C${line.slice(3)}]`; + if (line.startsWith('\\v ')) { + const rest = line.slice(3); + const restBits = rest.split(' '); + const vNum = restBits[0]; + let more = rest.slice(vNum.length + 1); + if (more === undefined) more = ''; + if (more.length && more[0] !== ' ') more = ` ${more}`; + line = `‹v${vNum}›${more}`; + } + // debugLog(` extractTextFromComplexUSFM got line text4z: (${line.length}) '${line}'`); + if (line.startsWith('\\p ') && line.trim() === '\\p') line = '\\p'; // Handle known trailing spaces + newLines.push(line); + } + usfmText = newLines.join(' ').replace(/\\p /g, '\n') + // debugLog(` extractTextFromComplexUSFM got verse text5: (${usfmText.length}) '${usfmText}'`); + if (hadTrailingNewline) usfmText += '\n'; + // debugLog(` extractTextFromComplexUSFM got verse text5b: (${usfmText.length}) '${usfmText}'`); + logicAssert(hadTrailingNewline === (usfmText.slice(-1) === '\n'), `extractTextFromComplexUSFM hadTrailingNewline was ${hadTrailingNewline} now different!`); + + usfmText = usfmText.replace(/ ‹v\d{1,3}›/g, ''); // Remove (now-adjusted) verse numbers inside the text so we get the flowing text + + usfmText = usfmText.replace(/ {2,}/g, ' ') // Eliminate multiple spaces + // debugLog(` extractTextFromComplexUSFM got verse text6: (${usfmText.length}) '${usfmText}'`); + + + // Remove footnotes + // NOTE: If there's two footnotes and no closer on the first one, this replace will swallow intervening text + // but this isn't the place to worry about bad USFM in the original languages + // so the quote match will possibly fail as a consequential error + usfmText = usfmText.replace(/\\f (.+?)\\f\*/g, ''); + // Remove alternative versifications + usfmText = usfmText.replace(/\\va (.+?)\\va\*/g, ''); + // debugLog(`Got verse text3: '${usfmText}'`); + + // Final clean-up (shouldn’t be necessary, but just in case) + usfmText = usfmText.replace(/ {2,}/g, ' '); // Eliminate multiple spaces + logicAssert(usfmText.indexOf(' ') === -1, `getOriginalVerse: Should be no double spaces left in '${usfmText}'`); + //logicAssert(usfmText.indexOf('\\w') === -1, `getOriginalVerse: Should be no \\w in ${bookID} ${C}:${V} '${usfmText}'`); + //logicAssert(usfmText.indexOf('\\k') === -1, `getOriginalVerse: Should be no \\k in ${bookID} ${C}:${V} '${usfmText}'`); + //logicAssert(usfmText.indexOf('x-') === -1, `getOriginalVerse: Should be no x- in ${bookID} ${C}:${V} '${usfmText}'`); + //logicAssert(usfmText.indexOf('\\f') === -1, `getOriginalVerse: Should be no \\f in ${bookID} ${C}:${V} '${usfmText}'`); + //logicAssert(usfmText.indexOf('\\x') === -1, `getOriginalVerse: Should be no \\x in ${bookID} ${C}:${V} '${usfmText}'`); + + // debugLog(` extractTextFromComplexUSFM is returning (${usfmText.length}) '${usfmText}'`); + // debugLog(` extractTextFromComplexUSFM is returning (${usfmText.length}) characters`); + return usfmText; +} diff --git a/src/core/usfm-text-check.js b/src/core/usfm-text-check.js index 7f7b9ed7..905d193e 100644 --- a/src/core/usfm-text-check.js +++ b/src/core/usfm-text-check.js @@ -2,22 +2,23 @@ import { DEFAULT_EXCERPT_LENGTH, REPO_CODES_LIST } from './defaults' import { isWhitespace, countOccurrencesInString, ourDeleteAll, HEBREW_CANTILLATION_REGEX } from './text-handling-functions' import * as books from './books/books'; -import { cachedGetFile } from './getApi'; +import { cachedGetFile, cacheSegment, fetchSegmentIfCached } from './getApi'; import { checkTextField } from './field-text-check'; import { checkTextfileContents } from './file-text-check'; import { checkStrongsField } from './strongs-field-check'; // and this may call checkLexiconFileContents() import { runUsfmJsCheck } from './usfm-js-check'; import { runBCSGrammarCheck } from './BCS-usfm-grammar-check'; import { checkNotesLinksToOutside } from './notes-links-check'; +import { extractTextFromComplexUSFM } from './usfm-helpers'; // eslint-disable-next-line no-unused-vars import { userLog, functionLog, debugLog, parameterAssert, logicAssert, dataAssert, ourParseInt, aboutToOverwrite } from './utilities'; import { removeDisabledNotices } from './disabled-notices'; -// const USFM_VALIDATOR_VERSION_STRING = '1.0.0'; +// const USFM_VALIDATOR_VERSION_STRING = '1.2.2'; -const VALID_LINE_START_CHARACTERS = `([“‘—`; // Last one is em-dash — '{' gets added later for STs +const VALID_LINE_START_CHARACTERS = `([“‘—`; // Last one is em-dash — '{' gets added later for LTs and STs // See http://ubsicap.github.io/usfm/master/index.html // const COMPULSORY_MARKERS = ['id', 'ide']; // These are specifically checked for by the code near the start of mainUSFMCheck() @@ -252,7 +253,7 @@ export async function checkUSFMText(username, languageCode, repoCode, bookID, fi const lowercaseBookID = bookID.toLowerCase(); let validLineStartCharacters = VALID_LINE_START_CHARACTERS; - if (repoCode === 'ST') validLineStartCharacters += '{'; + if (repoCode === 'LT' || repoCode === 'ST') validLineStartCharacters += '{'; const usfmResultObject = { successList: [], noticeList: [] }; @@ -292,8 +293,9 @@ export async function checkUSFMText(username, languageCode, repoCode, bookID, fi //parameterAssert(incompleteNoticeObject.message.indexOf("Mismatched {}") === -1 || incompleteNoticeObject.lineNumber === undefined, `checkUSFMText addNoticePartial: got bad notice: ${noticeObjectString}`); //parameterAssert(noticeObjectString.indexOf('NONE') === -1 && noticeObjectString.indexOf('SPECIAL') === -1, `checkUSFMText addNoticePartial: 'NONE' & 'SPECIAL' shouldn’t make it thru to end user: ${noticeObjectString}`) if (incompleteNoticeObject.debugChain) incompleteNoticeObject.debugChain = `checkUSFMText ${incompleteNoticeObject.debugChain}`; - aboutToOverwrite('checkUSFMText', ['bookID', 'filename'], incompleteNoticeObject, { bookID, filename }); - usfmResultObject.noticeList.push({ ...incompleteNoticeObject, bookID, filename }); + aboutToOverwrite('checkUSFMText', ['bookID'], incompleteNoticeObject, { bookID }); + if (incompleteNoticeObject.filename === undefined) incompleteNoticeObject.filename = filename; // Don't want to override "text extracted from..." filenames + usfmResultObject.noticeList.push({ ...incompleteNoticeObject, bookID }); } @@ -375,89 +377,89 @@ export async function checkUSFMText(username, languageCode, repoCode, bookID, fi function hasText(verseObjects) { let gotDeep = false; for (const someObject of verseObjects) { - // debugLog("someObject", JSON.stringify(someObject)); - if (someObject['type'] === 'text' && someObject['text'].length > MINIMUM_TEXT_WORDS) + // debugLog(`CVCheck someObject=${JSON.stringify(someObject)}``); + if (someObject['type'] === 'text' && someObject['text'].length >= MINIMUM_TEXT_WORDS) return true; - if (someObject['type'] === 'word' && someObject['text'].length > MINIMUM_WORD_LENGTH) + if (someObject['type'] === 'word' && someObject['text'].length >= MINIMUM_WORD_LENGTH) return true; if (someObject['type'] === 'milestone') for (const someSubobject of someObject['children']) { // debugLog("someSubobject", JSON.stringify(someSubobject)); - if (someSubobject['type'] === 'text' && someSubobject['text'].length > MINIMUM_TEXT_WORDS) + if (someSubobject['type'] === 'text' && someSubobject['text'].length >= MINIMUM_TEXT_WORDS) return true; - if (someSubobject['type'] === 'word' && someSubobject['text'].length > MINIMUM_WORD_LENGTH) + if (someSubobject['type'] === 'word' && someSubobject['text'].length >= MINIMUM_WORD_LENGTH) return true; if (someSubobject['type'] === 'milestone') for (const someSub2object of someSubobject['children']) { // debugLog("someSub2object", JSON.stringify(someSub2object)); - if (someSub2object['type'] === 'text' && someSub2object['text'].length > MINIMUM_TEXT_WORDS) + if (someSub2object['type'] === 'text' && someSub2object['text'].length >= MINIMUM_TEXT_WORDS) return true; - if (someSub2object['type'] === 'word' && someSub2object['text'].length > MINIMUM_WORD_LENGTH) + if (someSub2object['type'] === 'word' && someSub2object['text'].length >= MINIMUM_WORD_LENGTH) return true; if (someSub2object['type'] === 'milestone') for (const someSub3object of someSub2object['children']) { // debugLog("someSub3object", JSON.stringify(someSub3object)); - if (someSub3object['type'] === 'text' && someSub3object['text'].length > MINIMUM_TEXT_WORDS) + if (someSub3object['type'] === 'text' && someSub3object['text'].length >= MINIMUM_TEXT_WORDS) return true; - if (someSub3object['type'] === 'word' && someSub3object['text'].length > MINIMUM_WORD_LENGTH) + if (someSub3object['type'] === 'word' && someSub3object['text'].length >= MINIMUM_WORD_LENGTH) return true; if (someSub3object['type'] === 'milestone') for (const someSub4object of someSub3object['children']) { // debugLog("someSub4object", JSON.stringify(someSub4object)); - if (someSub4object['type'] === 'text' && someSub4object['text'].length > MINIMUM_TEXT_WORDS) + if (someSub4object['type'] === 'text' && someSub4object['text'].length >= MINIMUM_TEXT_WORDS) return true; - if (someSub4object['type'] === 'word' && someSub4object['text'].length > MINIMUM_WORD_LENGTH) + if (someSub4object['type'] === 'word' && someSub4object['text'].length >= MINIMUM_WORD_LENGTH) return true; if (someSub4object['type'] === 'milestone') for (const someSub5object of someSub4object['children']) { // debugLog("someSub5object", JSON.stringify(someSub5object)); - if (someSub5object['type'] === 'text' && someSub5object['text'].length > MINIMUM_TEXT_WORDS) + if (someSub5object['type'] === 'text' && someSub5object['text'].length >= MINIMUM_TEXT_WORDS) return true; - if (someSub5object['type'] === 'word' && someSub5object['text'].length > MINIMUM_WORD_LENGTH) + if (someSub5object['type'] === 'word' && someSub5object['text'].length >= MINIMUM_WORD_LENGTH) return true; if (someSub5object['type'] === 'milestone') for (const someSub6object of someSub5object['children']) { // debugLog("someSub6object", bookID, CVlocation, JSON.stringify(someSub6object)); - if (someSub6object['type'] === 'text' && someSub6object['text'].length > MINIMUM_TEXT_WORDS) + if (someSub6object['type'] === 'text' && someSub6object['text'].length >= MINIMUM_TEXT_WORDS) return true; - if (someSub6object['type'] === 'word' && someSub6object['text'].length > MINIMUM_WORD_LENGTH) + if (someSub6object['type'] === 'word' && someSub6object['text'].length >= MINIMUM_WORD_LENGTH) return true; if (someSub6object['type'] === 'milestone') for (const someSub7object of someSub6object['children']) { // debugLog("someSub7object", bookID, CVlocation, JSON.stringify(someSub7object)); - if (someSub7object['type'] === 'text' && someSub7object['text'].length > MINIMUM_TEXT_WORDS) + if (someSub7object['type'] === 'text' && someSub7object['text'].length >= MINIMUM_TEXT_WORDS) return true; - if (someSub7object['type'] === 'word' && someSub7object['text'].length > MINIMUM_WORD_LENGTH) + if (someSub7object['type'] === 'word' && someSub7object['text'].length >= MINIMUM_WORD_LENGTH) return true; if (someSub7object['type'] === 'milestone') // UST Luke 15:3 has eight levels of nesting !!! for (const someSub8object of someSub7object['children']) { // debugLog("someSub8object", bookID, CVlocation, JSON.stringify(someSub8object)); - if (someSub8object['type'] === 'text' && someSub8object['text'].length > MINIMUM_TEXT_WORDS) + if (someSub8object['type'] === 'text' && someSub8object['text'].length >= MINIMUM_TEXT_WORDS) return true; - if (someSub8object['type'] === 'word' && someSub8object['text'].length > MINIMUM_WORD_LENGTH) + if (someSub8object['type'] === 'word' && someSub8object['text'].length >= MINIMUM_WORD_LENGTH) return true; if (someSub8object['type'] === 'milestone') for (const someSub9object of someSub8object['children']) { // debugLog("someSub9object", bookID, CVlocation, JSON.stringify(someSub9object)); - if (someSub9object['type'] === 'text' && someSub9object['text'].length > MINIMUM_TEXT_WORDS) + if (someSub9object['type'] === 'text' && someSub9object['text'].length >= MINIMUM_TEXT_WORDS) return true; - if (someSub9object['type'] === 'word' && someSub9object['text'].length > MINIMUM_WORD_LENGTH) + if (someSub9object['type'] === 'word' && someSub9object['text'].length >= MINIMUM_WORD_LENGTH) return true; if (someSub9object['type'] === 'milestone') for (const someSub10object of someSub9object['children']) { // debugLog("someSub10object", bookID, CVlocation, JSON.stringify(someSub10object)); - if (someSub10object['type'] === 'text' && someSub10object['text'].length > MINIMUM_TEXT_WORDS) + if (someSub10object['type'] === 'text' && someSub10object['text'].length >= MINIMUM_TEXT_WORDS) return true; - if (someSub10object['type'] === 'word' && someSub10object['text'].length > MINIMUM_WORD_LENGTH) + if (someSub10object['type'] === 'word' && someSub10object['text'].length >= MINIMUM_WORD_LENGTH) return true; if (someSub10object['type'] === 'milestone') // UST Obadiah 1:8 has eleven levels of nesting !!! for (const someSub11object of someSub10object['children']) { // debugLog("someSub11object", bookID, CVlocation, JSON.stringify(someSub11object)); - if (someSub11object['type'] === 'text' && someSub11object['text'].length > MINIMUM_TEXT_WORDS) + if (someSub11object['type'] === 'text' && someSub11object['text'].length >= MINIMUM_TEXT_WORDS) return true; - if (someSub11object['type'] === 'word' && someSub11object['text'].length > MINIMUM_WORD_LENGTH) + if (someSub11object['type'] === 'word' && someSub11object['text'].length >= MINIMUM_WORD_LENGTH) return true; if (someSub11object['type'] === 'milestone') gotDeep = true; @@ -645,6 +647,11 @@ export async function checkUSFMText(username, languageCode, repoCode, bookID, fi // process results line by line for (const noticeEntry of resultObject.noticeList) { logicAssert(Object.keys(noticeEntry).length >= 5, `USFM ourBasicFileChecks notice length=${Object.keys(noticeEntry).length}`); + if (filename.startsWith('text extracted from')) { + // The line number, etc. will be useless/misleading + delete noticeEntry.lineNumber; + delete noticeEntry.characterIndex; + } addNoticePartial(noticeEntry); } } @@ -680,7 +687,8 @@ export async function checkUSFMText(username, languageCode, repoCode, bookID, fi } - // Now do the general global checks (e.g., for general punctuation) + // Now do the general global checks (e.g., for general punctuation) -- this is the raw USFM code + // debugLog(`checkUSFMFileContents doing basic file checks on ${repoCode} (${fileText.length}) ${fileText}`); ourBasicFileChecks(filename, fileText, fileLocation, checkingOptions); for (const expectedMarker of EXPECTED_MARKERS_LIST) @@ -699,6 +707,16 @@ export async function checkUSFMText(username, languageCode, repoCode, bookID, fi for (const deprecatedMarker of DEPRECATED_MARKERS_LIST) if (markerSet.has(deprecatedMarker)) addNoticePartial({ priority: 218, message: "Using deprecated USFM marker", excerpt: `\\${deprecatedMarker}`, location: fileLocation }); + + // Now check how the text looks overall + // but not worried about double spaces, etc, here -- more on word/punctuation stuff + let cleanishText = extractTextFromComplexUSFM(fileText); + // debugLog(`checkUSFMFileContents got ${repoCode} cleanishText (${cleanishText.length}) ${cleanishText}`); + if (!cleanishText.endsWith('\n')) cleanishText += '\n'; // Don't want duplicated "file ends without newline" warnings + // debugLog(`checkUSFMFileContents doing basic file checks on ${repoCode} (${fileText.length}) ${cleanishText}`); + // NOTE: This could conceivably get some notice double-ups, but it's a quite different text being checked than in the above call + // NOTE: The exact wording below much match RenderFileDetails() in RenderProcessedResults.js + ourBasicFileChecks(`text extracted from ${filename}`, cleanishText, fileLocation, checkingOptions); } // end of checkUSFMFileContents function @@ -730,25 +748,25 @@ export async function checkUSFMText(username, languageCode, repoCode, bookID, fi debugLog(`checkUSFMLineText 865: ${bookID} ${C}:${V} line ${lineNumber} got BAD character before shin/sin dot regexMatchObject: (${regexMatchObject.length}) ${JSON.stringify(regexMatchObject)}`); const characterIndex = regexMatchObject.index; const excerpt = (characterIndex > excerptHalfLength ? '…' : '') + rest.substring(characterIndex - excerptHalfLength, characterIndex + excerptHalfLengthPlus) + (characterIndex + excerptHalfLengthPlus < rest.length ? '…' : '') - addNoticePartial({ priority: 865, message: "Unexpected Hebrew character before shin/sin dot", details: `found ${regexMatchObject.length} '${regexMatchObject}'`, lineNumber, C, V, characterIndex, excerpt, location: lineLocation }); + addNoticePartial({ priority: 865, message: "Unexpected Hebrew character before shin/sin dot", details: `found ${regexMatchObject.length} ‘${regexMatchObject}’`, lineNumber, C, V, characterIndex, excerpt, location: lineLocation }); } else if ((regexMatchObject = BAD_HEBREW_VOWEL_DAGESH_REGEX.exec(rest))) { // it’s null if no matches // debugLog(`checkUSFMLineText 864: ${bookID} ${C}:${V} line ${lineNumber} got BAD dagesh after vowel character order regexMatchObject: (${regexMatchObject.length}) ${JSON.stringify(regexMatchObject)}`); const characterIndex = regexMatchObject.index; const excerpt = (characterIndex > excerptHalfLength ? '…' : '') + rest.substring(characterIndex - excerptHalfLength, characterIndex + excerptHalfLengthPlus) + (characterIndex + excerptHalfLengthPlus < rest.length ? '…' : '') - addNoticePartial({ priority: 864, message: "Unexpected Hebrew dagesh after vowel", details: `found ${regexMatchObject.length} '${regexMatchObject}'`, lineNumber, C, V, characterIndex, excerpt, location: lineLocation }); + addNoticePartial({ priority: 864, message: "Unexpected Hebrew dagesh after vowel", details: `found ${regexMatchObject.length} ‘${regexMatchObject}’`, lineNumber, C, V, characterIndex, excerpt, location: lineLocation }); } else if ((regexMatchObject = BAD_HEBREW_DAGESH_MAPIQ_REGEX.exec(rest))) { // it’s null if no matches debugLog(`checkUSFMLineText 863: ${bookID} ${C}:${V} line ${lineNumber} got BAD character before dagesh regexMatchObject: (${regexMatchObject.length}) ${JSON.stringify(regexMatchObject)}`); const characterIndex = regexMatchObject.index; const excerpt = (characterIndex > excerptHalfLength ? '…' : '') + rest.substring(characterIndex - excerptHalfLength, characterIndex + excerptHalfLengthPlus) + (characterIndex + excerptHalfLengthPlus < rest.length ? '…' : '') - addNoticePartial({ priority: 863, message: "Unexpected Hebrew character before dagesh or mappiq", details: `found ${regexMatchObject.length} '${regexMatchObject}'`, lineNumber, C, V, characterIndex, excerpt, location: lineLocation }); + addNoticePartial({ priority: 863, message: "Unexpected Hebrew character before dagesh or mappiq", details: `found ${regexMatchObject.length} ‘${regexMatchObject}’`, lineNumber, C, V, characterIndex, excerpt, location: lineLocation }); } else if ((regexMatchObject = BAD_HEBREW_CANTILLATION_DAGESH_REGEX.exec(rest))) { // it’s null if no matches debugLog(`checkUSFMLineText 862: ${bookID} ${C}:${V} line ${lineNumber} got BAD cantillation mark character before dagesh regexMatchObject: (${regexMatchObject.length}) ${JSON.stringify(regexMatchObject)}`); const characterIndex = regexMatchObject.index; const excerpt = (characterIndex > excerptHalfLength ? '…' : '') + rest.substring(characterIndex - excerptHalfLength, characterIndex + excerptHalfLengthPlus) + (characterIndex + excerptHalfLengthPlus < rest.length ? '…' : '') - addNoticePartial({ priority: 862, message: "Unexpected Hebrew cantillation mark before dagesh", details: `found ${regexMatchObject.length} '${regexMatchObject}'`, lineNumber, C, V, characterIndex, excerpt, location: lineLocation }); + addNoticePartial({ priority: 862, message: "Unexpected Hebrew cantillation mark before dagesh", details: `found ${regexMatchObject.length} ‘${regexMatchObject}’`, lineNumber, C, V, characterIndex, excerpt, location: lineLocation }); } else if ((regexMatchObject = BAD_HEBREW_CANTILLATION_VOWEL_REGEX.exec(rest)) // it’s null if no matches // These are the actual accents that occur before the hiriq vowel (5B4) -- others could conceivable occur also @@ -761,7 +779,7 @@ export async function checkUSFMText(username, languageCode, repoCode, bookID, fi debugLog(`checkUSFMLineText 861: ${bookID} ${C}:${V} line ${lineNumber} got BAD vowel after cantillation mark character order regexMatchObject: (${regexMatchObject.length}) ${JSON.stringify(regexMatchObject)}`); const characterIndex = regexMatchObject.index; const excerpt = (characterIndex > excerptHalfLength ? '…' : '') + rest.substring(characterIndex - excerptHalfLength, characterIndex + excerptHalfLengthPlus) + (characterIndex + excerptHalfLengthPlus < rest.length ? '…' : '') - addNoticePartial({ priority: 861, message: "Unexpected Hebrew vowel after cantillation mark", details: `found ${regexMatchObject.length} '${regexMatchObject}'`, lineNumber, C, V, characterIndex, excerpt, location: lineLocation }); + addNoticePartial({ priority: 861, message: "Unexpected Hebrew vowel after cantillation mark", details: `found ${regexMatchObject.length} ‘${regexMatchObject}’`, lineNumber, C, V, characterIndex, excerpt, location: lineLocation }); } else if ((regexMatchObject = BAD_HEBREW_FINAL_CONSONANT_REGEX.exec(rest))) { // it’s null if no matches // debugLog(`checkUSFMLineText 860 regexMatchObject: ${typeof regexMatchObject} (${regexMatchObject.length}) '${regexMatchObject}' ${JSON.stringify(regexMatchObject)}`); @@ -771,7 +789,7 @@ export async function checkUSFMText(username, languageCode, repoCode, bookID, fi const characterIndex = regexMatchObject.index; const excerpt = (characterIndex > excerptHalfLength ? '…' : '') + rest.substring(characterIndex - excerptHalfLength, characterIndex + excerptHalfLengthPlus) + (characterIndex + excerptHalfLengthPlus < rest.length ? '…' : '') if (excerpt.indexOf('ןׄ') === -1) // Allow this one exception for ְׄ⁠אַׄהֲׄרֹ֛ׄןׄ in Num 3:39 - addNoticePartial({ priority: 860, message: "Unexpected Hebrew final consonant not at word end", details: `found ${regexMatchObject.length} '${regexMatchObject}'`, lineNumber, C, V, characterIndex, excerpt, location: lineLocation }); + addNoticePartial({ priority: 860, message: "Unexpected Hebrew final consonant not at word end", details: `found ${regexMatchObject.length} ‘${regexMatchObject}’`, lineNumber, C, V, characterIndex, excerpt, location: lineLocation }); } } @@ -944,12 +962,12 @@ export async function checkUSFMText(username, languageCode, repoCode, bookID, fi if (adjustedRest) { let characterIndex; if ((characterIndex = adjustedRest.indexOf('"')) !== -1) { - const excerpt = (characterIndex > excerptHalfLength ? '…' : '') + adjustedRest.substring(characterIndex - excerptHalfLength, characterIndex + excerptHalfLengthPlus).replace(/ /g, '␣') + (characterIndex + excerptHalfLengthPlus < adjustedRest.length ? '…' : '') + const excerpt = (characterIndex > excerptHalfLength ? '…' : '') + adjustedRest.substring(characterIndex - excerptHalfLength, characterIndex + excerptHalfLengthPlus) + (characterIndex + excerptHalfLengthPlus < adjustedRest.length ? '…' : '') addNoticePartial({ priority: 776, message: 'Unexpected " straight quote character', details, lineNumber, C, V, excerpt, location: lineLocation }); // debugLog(`ERROR 776: in ${marker} '${adjustedRest}' from '${rest}'`); } if ((characterIndex = adjustedRest.indexOf("'")) >= 0) { - const excerpt = (characterIndex > excerptHalfLength ? '…' : '') + adjustedRest.substring(characterIndex - excerptHalfLength, characterIndex + excerptHalfLengthPlus).replace(/ /g, '␣') + (characterIndex + excerptHalfLengthPlus < adjustedRest.length ? '…' : '') + const excerpt = (characterIndex > excerptHalfLength ? '…' : '') + adjustedRest.substring(characterIndex - excerptHalfLength, characterIndex + excerptHalfLengthPlus) + (characterIndex + excerptHalfLengthPlus < adjustedRest.length ? '…' : '') addNoticePartial({ priority: 775, message: "Unexpected ' straight quote character", details, lineNumber, C, V, excerpt, location: lineLocation }); // debugLog(`ERROR 775: in ${marker} '${adjustedRest}' from '${rest}'`); } @@ -1082,7 +1100,7 @@ export async function checkUSFMText(username, languageCode, repoCode, bookID, fi const regexMatchObject = HEBREW_CANTILLATION_REGEX.exec(attributeValue); if (regexMatchObject) { // it’s null if no matches // debugLog(`Got cantillation regexMatchObject: (${regexMatchObject.length}) ${JSON.stringify(regexMatchObject)}`); - addNoticePartial({ priority: 905, message: "Unexpected Hebrew cantillation mark in lemma field", details: `found ${regexMatchObject.length} '${regexMatchObject}'`, lineNumber, C, V, excerpt: attributeValue, location: lineLocation }); + addNoticePartial({ priority: 905, message: "Unexpected Hebrew cantillation mark in lemma field", details: `found ${regexMatchObject.length} ‘${regexMatchObject}’`, lineNumber, C, V, excerpt: attributeValue, location: lineLocation }); } } else if (attributeName === 'x-morph' && ((repoCode === 'UHB' && !attributeValue.startsWith('He,') && !attributeValue.startsWith('Ar,')) @@ -1119,14 +1137,14 @@ export async function checkUSFMText(username, languageCode, repoCode, bookID, fi * @param {Object} checkingOptions */ async function getOriginalWordLists(bookID, C, V, checkingOptions) { - // TODO: Cache these ??? // functionLog(`getOriginalWordLists(${bookID}, ${C}:${V}, )…`); - let username; + // TODO: Why not calculate and cache all of these at once + let originalLanguageRepoUsername; try { - username = checkingOptions?.originalLanguageRepoUsername; + originalLanguageRepoUsername = checkingOptions?.originalLanguageRepoUsername; } catch (qcoError) { } - if (!username) username = languageCode === 'en' ? 'unfoldingWord' : 'Door43-Catalog'; // ??? !!! + if (!originalLanguageRepoUsername) originalLanguageRepoUsername = languageCode === 'en' ? 'unfoldingWord' : 'Door43-Catalog'; // ??? !!! let branch; try { branch = checkingOptions?.originalLanguageRepoBranch; @@ -1134,7 +1152,11 @@ export async function checkUSFMText(username, languageCode, repoCode, bookID, fi if (!branch) branch = 'master'; const getFile_ = (checkingOptions && checkingOptions?.getFile) ? checkingOptions?.getFile : cachedGetFile; - const verseWordList = [], verseWordObjectList = []; + const uniqueCacheID = `${originalLanguageRepoUsername}_${languageCode}_${repoCode}_${branch}-${bookID}_${C}:${V}`; + const cachedWordLists = await fetchSegmentIfCached(uniqueCacheID); + if (cachedWordLists !== null) return cachedWordLists; + + const originalLanguageVerseWordList = [], originalLanguageVerseWordObjectList = []; const bookNumberAndName = books.usfmNumberName(bookID); let whichTestament; try { @@ -1153,42 +1175,43 @@ export async function checkUSFMText(username, languageCode, repoCode, bookID, fi // debugLog(`Need to check against ${originalLanguageRepoCode}`); if (originalLanguageRepoCode === 'UHB') { try { - originalUSFM = await getFile_({ username, repository: originalLanguageRepoName, path: filename, branch }); + originalUSFM = await getFile_({ username: originalLanguageRepoUsername, repository: originalLanguageRepoName, path: filename, branch }); // debugLog("Fetched fileContent for", repoName, filename, typeof originalUSFM, originalUSFM.length); } catch (gcUHBerror) { // NOTE: The error can depend on whether the zipped repo is cached or not - console.error(`getOriginalPassage(${bookID}, ${C}:${V}, ${JSON.stringify(checkingOptions)}) failed to load UHB`, username, originalLanguageRepoCode, filename, branch, gcUHBerror.message); - addNoticePartial({ priority: 601, message: "Unable to load file", details: `error=${gcUHBerror}`, username, filename, location: ourLocation, extra: originalLanguageRepoName }); + console.error(`getOriginalPassage(${bookID}, ${C}:${V}, ${JSON.stringify(checkingOptions)}) failed to load UHB`, originalLanguageRepoUsername, originalLanguageRepoCode, filename, branch, gcUHBerror.message); + addNoticePartial({ priority: 601, message: "Unable to load file", details: `error=${gcUHBerror}`, username: originalLanguageRepoUsername, filename, location: ourLocation, extra: originalLanguageRepoName }); } } else if (originalLanguageRepoCode === 'UGNT') { try { - originalUSFM = await getFile_({ username, repository: originalLanguageRepoName, path: filename, branch }); + originalUSFM = await getFile_({ username: originalLanguageRepoUsername, repository: originalLanguageRepoName, path: filename, branch }); // debugLog("Fetched fileContent for", repoName, filename, typeof originalUSFM, originalUSFM.length); } catch (gcUGNTerror) { // NOTE: The error can depend on whether the zipped repo is cached or not - console.error(`getOriginalPassage(${bookID}, ${C}:${V}, ${JSON.stringify(checkingOptions)}) failed to load UGNT`, username, originalLanguageRepoCode, filename, branch, gcUGNTerror.message); - addNoticePartial({ priority: 601, message: "Unable to load file", details: `error=${gcUGNTerror}`, username, filename, location: ourLocation, extra: originalLanguageRepoName }); + console.error(`getOriginalPassage(${bookID}, ${C}:${V}, ${JSON.stringify(checkingOptions)}) failed to load UGNT`, originalLanguageRepoUsername, originalLanguageRepoCode, filename, branch, gcUGNTerror.message); + addNoticePartial({ priority: 601, message: "Unable to load file", details: `error=${gcUGNTerror}`, username: originalLanguageRepoUsername, filename, location: ourLocation, extra: originalLanguageRepoName }); } } if (!originalUSFM) { - debugLog(`Oops: getOriginalWordLists(${bookID}, ${C}:${V}, ) didn’t find a file!!!`); - return null; + debugLog(`Oops: getOriginalWordLists(${bookID}, ${C}:${V}, ) didn’t find a file from ${originalLanguageRepoUsername} ${originalLanguageRepoName} ${filename} ${branch}!!!`); + const wordLists = { originalLanguageRepoCode, originalLanguageVerseWordList, originalLanguageVerseWordObjectList }; + cacheSegment(wordLists, uniqueCacheID); // Don't bother (a)waiting + return wordLists; } - - // Do global fixes - // originalUSFM = originalUSFM.replace(/\\k-e\\\*/g, ''); // Remove \k-e self-closed milestones - // originalUSFM = originalUSFM.replace(/\\k-s.+?\\\*/g, ''); // Remove \k-s self-closed milestones - + // Ok, we now have the USFM for the entire book const V1 = V.split('-')[0]; // Usually identical to V let V2, intV2; if (V1 !== V) { V2 = V.split('-')[1]; intV2 = Number(V2); // debugLog(`getOriginalWordLists got verse range ${V1} and ${V2} (${intV2})`) + // Since we have a verse bridge, save some extra pointers so we can separate the verses later + originalLanguageVerseWordList.push(`v=${V1}`); + originalLanguageVerseWordObjectList.push(`v=${V1}`); } // Now find the desired C:V let foundChapter = false, foundVerse = false; - let wLinesVerseText = ''; + // let wLinesVerseText = ''; for (let bookLine of originalUSFM.split('\n')) { // debugLog("bookLine", bookLine); if (!foundChapter && bookLine === `\\c ${C}`) { @@ -1205,28 +1228,34 @@ export async function checkUSFMText(username, languageCode, repoCode, bookID, fi if (!V2) // no range requested break; // Don’t go into the next verse or chapter else { // there is a range requested - const intV = Number(bookLine.slice(3)); + const thisV = bookLine.slice(3); + const intV = Number(thisV); // debugLog(`getOriginalWordLists got verse number ${intV} for range ${V1} and ${V2} (${intV2})`) if (intV > intV2) break; // we're past the bit we want + // Since we have a verse bridge, save some extra pointers so we can separate the verses later + originalLanguageVerseWordList.push(`v=${thisV}`); + originalLanguageVerseWordObjectList.push(`v=${thisV}`); } - if (bookLine.indexOf('\\w ') !== -1 || bookLine.indexOf('\\+w ') !== -1) - wLinesVerseText += bookLine; + if (bookLine.indexOf('\\w ') !== -1 || bookLine.indexOf('\\+w ') !== -1) { + // Get each \w field out + let regexMatchObject1; + while ((regexMatchObject1 = W_FIELDS_REGEX.exec(bookLine))) { + // debugLog(`Got ${repoCode} wFields Regex in ${bookID} ${C}:${V}: (${regexMatchObject1.length}) ${JSON.stringify(regexMatchObject1)}`); + // eslint-disable-next-line no-unused-vars + const [_totalLink, word, lemma, strongs, morph] = regexMatchObject1; + originalLanguageVerseWordList.push(word); + originalLanguageVerseWordObjectList.push({ lemma, strongs, morph }); + } + // wLinesVerseText += bookLine; + } } } // debugLog(`getOriginalWordLists: Got verse words: '${wLinesVerseText}'`); - // Get each \w field out - let regexMatchObject1; - while ((regexMatchObject1 = W_FIELDS_REGEX.exec(wLinesVerseText))) { - // debugLog(`Got ${repoCode} wFields Regex in ${bookID} ${C}:${V}: (${regexMatchObject1.length}) ${JSON.stringify(regexMatchObject1)}`); - // eslint-disable-next-line no-unused-vars - const [_totalLink, word, lemma, strongs, morph] = regexMatchObject1; - verseWordList.push(word); - verseWordObjectList.push({ lemma, strongs, morph }); - } - // debugLog(` getOriginalWordLists(${bookID} ${C}:${V}) is returning (${verseWordList.length}) ${verseWordList} (${verseWordObjectList.length}) ${JSON.stringify(verseWordObjectList)}`); - return { originalLanguageRepoCode, verseWordList, verseWordObjectList }; + const wordLists = { originalLanguageRepoCode, originalLanguageVerseWordList, originalLanguageVerseWordObjectList }; + cacheSegment(wordLists, uniqueCacheID); // Don't bother (a)waiting + return wordLists; } // end of getOriginalWordLists function @@ -1238,15 +1267,17 @@ export async function checkUSFMText(username, languageCode, repoCode, bookID, fi */ async function checkZALNAttributes(zalnContents) { // functionLog(`checkWAttributes(${zalnContents})…`); + // zaln fields are custom USFM fields with word/phrase alignment information + // i.e., they occur in aligned translations (not in the UHB or UGNT) // The parameter normally starts with a | dataAssert(repoCode !== 'UHB' && repoCode !== 'UGNT', `checkZALNAttributes did not expect an original language repo: '${repoCode}'`); let zalnSuggestion, regexMatchObject, attributeCounter = 0; - const attributes = {}; + const zalnAttributes = {}; while ((regexMatchObject = ATTRIBUTE_REGEX.exec(zalnContents))) { attributeCounter += 1; // debugLog(` Got attribute Regex in \\zaln-s: ${attributeCounter} '${JSON.stringify(regexMatchObject2)}`); const attributeName = regexMatchObject[1], attributeValue = regexMatchObject[2]; - attributes[attributeName] = attributeValue; + zalnAttributes[attributeName] = attributeValue; if (attributeCounter === 1) { if (attributeName !== 'x-strong') addNoticePartial({ priority: 830, message: "Unexpected first \\zaln-s attribute", details, lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation }); @@ -1265,27 +1296,38 @@ export async function checkUSFMText(username, languageCode, repoCode, bookID, fi } else if (attributeCounter === 6) { if (attributeName !== 'x-content') addNoticePartial({ priority: 825, message: "Unexpected sixth \\zaln-s attribute", details, lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation }); - } else // #7 or more + } else if (attributeCounter === 7) { + if (attributeName !== 'x-ref') // For aligning of bridged verses + addNoticePartial({ priority: 819, message: "Unexpected seventh \\zaln-s attribute", details, lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation }); + } else // #8 or more addNoticePartial({ priority: 833, message: "Unexpected extra \\zaln-s attribute", details, lineNumber, C, V, excerpt: regexMatchObject[0], location: lineLocation }); } if (attributeCounter < 6) - addNoticePartial({ priority: 834, message: "Seems too few translation \\zaln-s attributes", details: `expected six attributes but only found ${attributeCounter}`, lineNumber, C, V, excerpt: regexMatchObject1[0], location: lineLocation }); + addNoticePartial({ priority: 834, message: "Seems too few translation \\zaln-s attributes", details: `expected 6-7 attributes but only found ${attributeCounter}`, lineNumber, C, V, excerpt: regexMatchObject1[0], location: lineLocation }); // debugLog(`checkZALNAttributes has ${bookID} ${C}:${V} attributes: ${JSON.stringify(attributes)}`); // The Strongs, lemma and morph fields are copied from the original UHB/UGNT files - // during alignment by tC + // into the translation USFM during alignment by tC // so we need to check them as it’s possible for them to get out of sync if (checkingOptions?.disableAllLinkFetchingFlag !== true) { - const wordListResult = await getOriginalWordLists(bookID, C, V, checkingOptions); - const { originalLanguageRepoCode, verseWordList, verseWordObjectList } = wordListResult; - // debugLog(`checkZALNAttributes has '${originalLanguageRepoCode}' ${bookID} ${C}:${V} ${verseWordList} ${JSON.stringify(verseWordObjectList)}`); + const { originalLanguageRepoCode, originalLanguageVerseWordList, originalLanguageVerseWordObjectList } = await getOriginalWordLists(bookID, C, V, checkingOptions); + // if (V.indexOf('-') !== -1) + // debugLog(`checkZALNAttributes has '${originalLanguageRepoCode}' ${bookID} ${C}:${V} ${originalLanguageVerseWordList} ${JSON.stringify(originalLanguageVerseWordObjectList)}`); - let oWord, oOccurrence, oOccurrences, oStrong, oLemma, oMorph; + let oWord, oOccurrence, oOccurrences, oStrong, oLemma, oMorph, oRef, oC, oV; try { // Could fail here if any of those attributes were missing (already notified, so don’t worry here) - oWord = attributes['x-content']; - oOccurrence = attributes['x-occurrence']; oOccurrences = attributes['x-occurrences']; - oStrong = attributes['x-strong']; oLemma = attributes['x-lemma']; oMorph = attributes['x-morph']; - // debugLog(`checkZALNAttributes has ${bookID} ${C}:${V} '${oWord}' ${oOccurrence}/${oOccurrences} ${oStrong} '${oLemma}' ${oMorph}`); + oWord = zalnAttributes['x-content']; + oOccurrence = zalnAttributes['x-occurrence']; oOccurrences = zalnAttributes['x-occurrences']; + oStrong = zalnAttributes['x-strong']; oLemma = zalnAttributes['x-lemma']; oMorph = zalnAttributes['x-morph']; + oRef = zalnAttributes['x-ref']; // usually undefined + if (oRef) { + if (oRef.indexOf(':') === -1) + addNoticePartial({ priority: 807, message: "Aligned x-ref should contain C:V", lineNumber, C, V, excerpt: zalnContents, location: lineLocation }); + [oC, oV] = oRef.split(':'); + if (oC !== C) // This theoretically is not a problem -- just that we haven't written the code for it here yet! + addNoticePartial({ priority: 795, message: "Aligned x-ref expected to be in the same chapter", details: `found x-ref="${oRef}" but C=${C}`, lineNumber, C, V, excerpt: zalnContents, location: lineLocation }); + } + // debugLog(`checkZALNAttributes has ${bookID} ${C}:${V} '${oWord}' ${oOccurrence}/${oOccurrences} ${oStrong} '${oLemma}' ${oMorph} ${oRef}`); const oOccurrenceInt = parseInt(oOccurrence), oOccurrencesInt = parseInt(oOccurrences); // debugLog(`checkZALNAttributes has ${bookID} ${C}:${V} ${oOccurrenceInt}/${oOccurrencesInt}`); if (oOccurrenceInt > oOccurrencesInt) @@ -1295,36 +1337,51 @@ export async function checkUSFMText(username, languageCode, repoCode, bookID, fi if (oWordCount < oOccurrenceInt) addNoticePartial({ priority: 802, message: "AAA Aligned x-occurrence for original word is too high", details: `only found ${oWordCount} occurrences of '${oWord}' instead of ${oOccurrence}`, lineNumber, C, V, excerpt: zalnContents, location: lineLocation }); */ + // Find the index of the correct occurrence of the word (index into the original language verse words list) - let ix, gotCount = 0; - for (ix = 0; ix < verseWordList.length; ix++) { - if (verseWordList[ix] === oWord) - if (++gotCount === oOccurrenceInt) break; + let originalLanguageWordIndex, gotCount = 0, wordTotalCount = 0; + let listV; + for (let ix = 0; ix < originalLanguageVerseWordList.length; ix++) { + const thisWord = originalLanguageVerseWordList[ix]; + if (thisWord.startsWith('v=')) + listV = thisWord.slice(2); + else if ((oV === undefined || listV === oV) + && thisWord === oWord) { + ++wordTotalCount; + if (originalLanguageWordIndex === undefined && ++gotCount === oOccurrenceInt) + originalLanguageWordIndex = ix; + } } + // if (oV) + // debugLog(`checkZALNAttributes has ${bookID} oRef='${oRef}' oC=${oC} oV=${oV} oWord='${oWord}' oOccurrence=${oOccurrence} gotCount=${gotCount} originalLanguageWordIndex=${originalLanguageWordIndex} oOccurrences=${oOccurrences} wordTotalCount=${wordTotalCount}`); + // First, check that the given number of occurrences really are there + if (wordTotalCount !== oOccurrencesInt) + addNoticePartial({ priority: 602, message: "Aligned word occurrences in original text is wrong", details: V.indexOf('-') === -1 || oRef ? `found ${wordTotalCount} occurrences of '${oWord}' instead of ${oOccurrences} from ${originalLanguageVerseWordList.join(', ')}` : "THIS TEXT NEEDS RE-ALIGNING", lineNumber, C, V, excerpt: zalnContents, location: lineLocation }); + // Now, check that the given occurrence is correct if (gotCount !== oOccurrenceInt) // Can’t do checks below coz ix is invalid if (gotCount === 0) - addNoticePartial({ priority: 803, message: "Word can’t be found in original text", details: `found NO occurrences of '${oWord}' instead of ${oOccurrence} from ${verseWordList.join(', ')}`, lineNumber, C, V, excerpt: zalnContents, location: lineLocation }); + addNoticePartial({ priority: 803, message: "Aligned word can’t be found in original text", details: `found NO occurrences of '${oWord}' instead of ${oOccurrence} from ${originalLanguageVerseWordList.join(', ')}`, lineNumber, C, V, excerpt: zalnContents, location: lineLocation }); else - addNoticePartial({ priority: 802, message: "Aligned x-occurrence for original word is too high", details: `only found ${gotCount} occurrence${gotCount === 1 ? '' : 's'} of '${oWord}' instead of ${oOccurrence} from ${verseWordList.join(', ')}`, lineNumber, C, V, excerpt: zalnContents, location: lineLocation }); + addNoticePartial({ priority: 802, message: "Aligned x-occurrence for original word is too high", details: `only found ${gotCount} occurrence${gotCount === 1 ? '' : 's'} of '${oWord}' instead of ${oOccurrence} from ${originalLanguageVerseWordList.join(', ')}`, lineNumber, C, V, excerpt: zalnContents, location: lineLocation }); else { - const vwolStrongs = verseWordObjectList[ix]?.strongs; + const vwolStrongs = originalLanguageVerseWordObjectList[originalLanguageWordIndex]?.strongs; if (vwolStrongs !== oStrong) { - addNoticePartial({ priority: 805, message: "Aligned x-strong number doesn’t match original", details: `${originalLanguageRepoCode} had '${vwolStrongs}'`, lineNumber, C, V, excerpt: zalnContents, location: lineLocation }); + addNoticePartial({ priority: 805, message: "Aligned x-strong number doesn’t match original", details: `${originalLanguageRepoCode} had ‘${vwolStrongs}’`, lineNumber, C, V, excerpt: zalnContents, location: lineLocation }); zalnSuggestion = zalnContents.replace(`"${oStrong}"`, `"${vwolStrongs}"`); } - const vwolLemma = verseWordObjectList[ix]?.lemma; + const vwolLemma = originalLanguageVerseWordObjectList[originalLanguageWordIndex]?.lemma; if (vwolLemma !== oLemma) { - addNoticePartial({ priority: 806, message: "Aligned x-lemma doesn’t match original", details: `${originalLanguageRepoCode} had '${vwolLemma}'`, lineNumber, C, V, excerpt: zalnContents, location: lineLocation }); + addNoticePartial({ priority: 806, message: "Aligned x-lemma doesn’t match original", details: `${originalLanguageRepoCode} had ‘${vwolLemma}’`, lineNumber, C, V, excerpt: zalnContents, location: lineLocation }); zalnSuggestion = zalnContents.replace(`"${oLemma}"`, `"${vwolLemma}"`); } - const vwolMorph = verseWordObjectList[ix]?.morph; + const vwolMorph = originalLanguageVerseWordObjectList[originalLanguageWordIndex]?.morph; if (vwolMorph !== oMorph) { - addNoticePartial({ priority: 804, message: "Aligned x-morph doesn’t match original", details: `${originalLanguageRepoCode} had '${vwolMorph}'`, lineNumber, C, V, excerpt: zalnContents, location: lineLocation }); + addNoticePartial({ priority: 804, message: "Aligned x-morph doesn’t match original", details: `${originalLanguageRepoCode} had ‘${vwolMorph}’`, lineNumber, C, V, excerpt: zalnContents, location: lineLocation }); zalnSuggestion = zalnContents.replace(`"${oMorph}"`, `"${vwolMorph}"`); } } } catch (e) { - debugLog(`checkZALNAttributes1: why couldn’t we get word attributes out of ${JSON.stringify(attributes)}: ${e.message}`); + debugLog(`checkZALNAttributes1: why couldn’t we get word attributes out of ${JSON.stringify(zalnAttributes)}: ${e.message}`); } } return zalnSuggestion; @@ -1497,7 +1554,7 @@ export async function checkUSFMText(username, languageCode, repoCode, bookID, fi // eslint-disable-next-line no-unused-vars let numChaptersThisBook = 0; try { - logicAssert(lowercaseBookID !== 'obs', "Shouldn’t happen in usfm-text-check2"); + logicAssert(lowercaseBookID !== 'obs', "OBS shouldn't get as far as mainUSFMCheck"); numChaptersThisBook = books.chaptersInBook(bookID); } catch { @@ -1526,13 +1583,13 @@ export async function checkUSFMText(username, languageCode, repoCode, bookID, fi } let lines = givenText.split('\n'); - // debugLog(` '${ourLocation}' has ${lines.length.toLocaleString()} total lines`); + // debugLog(` '${ourLocation}' has ${lines.length.toLocaleString()} total USFM lines`); if (lines.length === 0 || !lines[0].startsWith('\\id ') || lines[0].length < 7 || !books.isValidBookID(lines[0].slice(4, 7))) addNoticePartial({ priority: 994, message: "USFM file must start with a valid \\id line", lineNumber: 1, location: ourLocation }); const haveUSFM3Line = lines.length > 1 && lines[1] === '\\usfm 3.0'; const ideIndex = haveUSFM3Line ? 2 : 1; - if (lines.length < ideIndex || !lines[ideIndex].startsWith('\\ide ') || lines[ideIndex].length < 7) + if (lines.length <= ideIndex || !lines[ideIndex].startsWith('\\ide ') || lines[ideIndex].length < 7) addNoticePartial({ priority: 719, message: "USFM file is recommended to have \\ide line", lineNumber: ideIndex + 1, location: ourLocation }); else if (!lines[ideIndex].endsWith(' UTF-8')) addNoticePartial({ priority: 619, message: "USFM \\ide field is recommended to be set to 'UTF-8'", lineNumber: ideIndex + 1, characterIndex: 5, excerpt: lines[ideIndex], location: ourLocation }); @@ -1648,25 +1705,25 @@ export async function checkUSFMText(username, languageCode, repoCode, bookID, fi if (marker === 'id' && !rest.startsWith(bookID)) { const thisLength = Math.max(4, excerptLength); const excerpt = `${rest.slice(0, thisLength)}${rest.length > thisLength ? '…' : ''}`; - addNoticePartial({ priority: 987, C, V, message: "Expected \\id line to start with book identifier", lineNumber: n, characterIndex: 4, excerpt, location: ourLocation }); + addNoticePartial({ priority: 987, C, V, message: "Expected USFM \\id line to start with book identifier", details: `expected bookID='${bookID}'`, lineNumber: n, characterIndex: 4, excerpt, location: ourLocation }); } // Check the order of markers // In headers if (marker === 'toc2' && lastMarker !== 'toc1') - addNoticePartial({ priority: 87, C, V, message: "Expected \\toc2 line to follow \\toc1", lineNumber: n, characterIndex: 1, details: `not '\\${lastMarker}'`, location: ourLocation }); + addNoticePartial({ priority: 87, C, V, message: "Expected USFM \\toc2 line to follow \\toc1", lineNumber: n, characterIndex: 1, details: `not '\\${lastMarker}’`, location: ourLocation }); else if (marker === 'toc3' && lastMarker !== 'toc2') - addNoticePartial({ priority: 87, C, V, message: "Expected \\toc3 line to follow \\toc2", lineNumber: n, characterIndex: 1, details: `not '\\${lastMarker}'`, location: ourLocation }); + addNoticePartial({ priority: 87, C, V, message: "Expected USFM \\toc3 line to follow \\toc2", lineNumber: n, characterIndex: 1, details: `not '\\${lastMarker}’`, location: ourLocation }); // In chapters else if ((PARAGRAPH_MARKERS_LIST.includes(marker) || marker === 's5' || marker === 'ts\\*') && PARAGRAPH_MARKERS_LIST.includes(lastMarker) && !lastRest) - addNoticePartial({ priority: 399, C, V, message: "Useless paragraph marker", lineNumber: n, characterIndex: 1, details: `'\\${lastMarker}' before '\\${marker}'`, location: ourLocation }); + addNoticePartial({ priority: 399, C, V, message: "Useless USFM paragraph marker", lineNumber: n, characterIndex: 1, details: `'\\${lastMarker}' before '\\${marker}’`, location: ourLocation }); else if (['c', 'ca', 'cl'].includes(lastMarker) && marker === 'v' && (rest === '1' || rest.startsWith('1 '))) - addNoticePartial({ priority: C === '1' ? 657 : 457, C, V, message: "Paragraph marker expected before first verse", lineNumber: n, characterIndex: 1, details: `'\\${marker}' after '\\${lastMarker}'`, location: ourLocation }); + addNoticePartial({ priority: C === '1' ? 657 : 457, C, V, message: "Paragraph marker expected before first verse", lineNumber: n, characterIndex: 1, details: `'\\${marker}' after '\\${lastMarker}’`, location: ourLocation }); else if (TEXT_MARKERS_WITHOUT_CONTENT_LIST.includes(lastMarker) && ['w', 'v', 'zaln-s', 'k-s'].includes(marker)) - addNoticePartial({ priority: 899, C, V, message: "Have USFM text not in a paragraph", lineNumber: n, characterIndex: 1, details: `'\\${lastMarker}' before '\\${marker}'`, location: ourLocation }); + addNoticePartial({ priority: 899, C, V, message: "Have USFM text not in a paragraph", lineNumber: n, characterIndex: 1, details: `'\\${lastMarker}' before '\\${marker}’`, location: ourLocation }); // Do general checks await checkUSFMLineContents(n, C, V, marker, rest, ourLocation, checkingOptions); diff --git a/src/demos/RenderProcessedResults.js b/src/demos/RenderProcessedResults.js index c57642fa..16ea2671 100644 --- a/src/demos/RenderProcessedResults.js +++ b/src/demos/RenderProcessedResults.js @@ -42,7 +42,7 @@ const tableIcons = { }; -// const RENDER_PROCESSED_RESULTS_VERSION = '1.0.0'; +// const RENDER_PROCESSED_RESULTS_VERSION = '1.0.2'; /** @@ -346,9 +346,12 @@ function RenderBCV({ bookID, C, V }) { * @return {String} - rendered HTML for the given reference */ function RenderFileDetails({ givenEntry }) { - // These are all optional parameters - they may be undefined or blank if irrelevant + // The fields are all optional parameters - they may be undefined or blank if irrelevant + // + // TODO: I'm sure this function can be rewritten and greatly simplified (but barely worth it???) -- maybe write some test cases first + // // functionLog(`RenderFileDetails(${JSON.stringify(givenEntry)})`); - // debugLog(`RenderFileDetails(${username}, ${repoName}, ${branch}, ${filename}, ${lineNumber}, ${rowID}, ${fieldName})`); + // debugLog(`RenderFileDetails(${JSON.stringify(givenEntry)})`); if (!givenEntry.repoName && !givenEntry.filename && !givenEntry.lineNumber && !givenEntry.rowID && !givenEntry.fieldName) return null; // They're all undefined or blank! @@ -370,23 +373,29 @@ function RenderFileDetails({ givenEntry }) { let resultStart = '', lineResult = '', resultEnd = '', fileLineLink = '', fileLink = ''; if (adjustedRepoName?.length) resultStart += ` in ${adjustedRepoName} repository`; if (givenEntry.username && adjustedRepoName && givenEntry.filename) { + const useFilename = givenEntry.filename.startsWith('text extracted from ') ? givenEntry.filename.slice('text extracted from '.length) : givenEntry.filename; try { // use blame so we can see the actual line! - if (givenEntry.filename.endsWith('.tsv') || givenEntry.filename.endsWith('.md')) { + if (useFilename.endsWith('.tsv') || useFilename.endsWith('.md')) { let folder = ''; - if (givenEntry.filename !== 'README.md' && givenEntry.filename !== 'LICENSE.md') { + if (useFilename !== 'README.md' && useFilename !== 'LICENSE.md') { if (adjustedRepoName.endsWith('_obs')) folder = 'content/'; - else if (adjustedRepoName.endsWith('_tw') && !givenEntry.filename.startsWith('bible/')) { + else if (adjustedRepoName.endsWith('_tw') && !useFilename.startsWith('bible/')) { folder = 'bible/'; - dataAssert(givenEntry.filename.split('/').length === 2, `RenderFileDetails expected TW filename '${givenEntry.filename}' to contain subfolder`); // filename actually contains the subfolder + dataAssert(useFilename.split('/').length === 2, `RenderFileDetails expected TW filename '${useFilename}' to contain subfolder`); // filename actually contains the subfolder } } - fileLink = `https://git.door43.org/${givenEntry.username}/${adjustedRepoName}/blame/branch/${givenEntry.branch}/${folder}${givenEntry.filename}`; + fileLink = `https://git.door43.org/${givenEntry.username}/${adjustedRepoName}/blame/branch/${givenEntry.branch}/${folder}${useFilename}`; } else // not TSV or MD - fileLink = `https://git.door43.org/${givenEntry.username}/${adjustedRepoName}/src/branch/${givenEntry.branch}/${givenEntry.filename}`; + fileLink = `https://git.door43.org/${givenEntry.username}/${adjustedRepoName}/src/branch/${givenEntry.branch}/${useFilename}`; } catch (someErr) { debugLog(`What was someErr here: ${someErr}`); } - if (givenEntry?.filename.length) resultStart += ` in file ${givenEntry.filename}`; + // // NOTE: WHY WAS " && !fileLink" in the next line? + // if (givenEntry?.filename.length) { + // let adjustedFilename = givenEntry.filename; + // if (adjustedFilename.startsWith('bible/')) adjustedFilename = adjustedFilename.slice(6); // drop that first foldername + // resultStart += ` in FILE ${adjustedFilename}`; + // } if (givenEntry.lineNumber) { - resultStart += ' on '; + // resultStart += ' on '; if (fileLink && givenEntry.lineNumber) fileLineLink = `${fileLink}#L${givenEntry.lineNumber}`; lineResult = `line ${givenEntry.lineNumber.toLocaleString()}`; @@ -401,19 +410,25 @@ function RenderFileDetails({ givenEntry }) { if (givenEntry.fieldName && givenEntry.fieldName.length) resultEnd = <>{resultEnd} in {givenEntry.fieldName} field; + let adjustedFilename = givenEntry.filename;// could be undefined + if (adjustedFilename.startsWith('bible/')) adjustedFilename = adjustedFilename.slice(6); // drop that first foldername + let inFileBit = adjustedFilename ? ` in file ${adjustedFilename}` : ''; + // debugLog(`RenderFileDetails got resultStart='${resultStart}'`); + // debugLog(`RenderFileDetails got adjustedFilename='${adjustedFilename}'`); + // debugLog(`RenderFileDetails got inFileBit='${inFileBit}'`); // debugLog(`RenderFileDetails got lineResult='${lineResult}'`); // debugLog(`RenderFileDetails got fileLineLink='${fileLineLink}'`); // debugLog(`RenderFileDetails got fileLink='${fileLink}'`); // debugLog(`RenderFileDetails got resultEnd='${resultEnd}'`); - if (fileLineLink.length) - return <>{resultStart}{lineResult}{resultEnd}; - else if (fileLink.length) + if (fileLineLink.length) // we know the filename and the line number + return <>{resultStart}{inFileBit} on {lineResult}{resultEnd}; + else if (fileLink.length) // we know the filename but not the line number return <>{resultStart} in file {givenEntry.filename}{resultEnd}; - else if (lineResult.length) - return <>{resultStart}{lineResult}{resultEnd}; - else - return <>{resultStart} with file {givenEntry.filename}{resultEnd}; + else if (lineResult.length) // we know the line number -- how can this happen + return <> [DEBUG-CC] {resultStart}{inFileBit}{lineResult}{resultEnd}; + else // we know the filename -- isn't that already covered above ??? + return <> [DEBUG-DD] {resultStart} with file {givenEntry.filename}{resultEnd}; } // end of RenderFileDetails @@ -465,7 +480,7 @@ function RenderOneEntry({ color, entry }) { - {entry.characterIndex > 0 ? " (at character " + (entry.characterIndex + 1) + ")" : ""} + {entry.characterIndex > 0 ? " (at character " + (entry.characterIndex + 1).toLocaleString() + ")" : ""} {entry.location} ; diff --git a/src/demos/book-package-check/README.md b/src/demos/book-package-check/README.md index 0a87b290..46ee8dc4 100644 --- a/src/demos/book-package-check/README.md +++ b/src/demos/book-package-check/README.md @@ -32,7 +32,7 @@ import BookPackageCheck from './BookPackageCheck'; languageCode='en' // bookID can be a USFM bookID, e.g., 'GEN', 'MAT', '3JN' // and can also be 'OBS' (for Open Bible Stories) - bookID='2PE' + bookID='PHM' // We can choose the forthcoming new TSV formats or the existing formats // dataSet='BOTH' // 'OLD' (Markdown TQ1, TSV9 TN, etc.), 'NEW' (TSV7 TQ, TSV7 TN2, etc.), 'DEFAULT', or 'BOTH' diff --git a/src/demos/book-package-check/checkBookPackage.js b/src/demos/book-package-check/checkBookPackage.js index ff725759..915ffe12 100644 --- a/src/demos/book-package-check/checkBookPackage.js +++ b/src/demos/book-package-check/checkBookPackage.js @@ -9,7 +9,7 @@ import { checkRepo } from '../repo-check/checkRepo'; import { userLog, functionLog, debugLog, parameterAssert, logicAssert, aboutToOverwrite } from '../../core/utilities'; -// const BP_VALIDATOR_VERSION_STRING = '0.9.7'; +// const BP_VALIDATOR_VERSION_STRING = '1.0.0'; const STANDARD_MANIFEST_FILENAME = 'manifest.yaml'; @@ -136,7 +136,7 @@ export async function checkBookPackage(username, languageCode, bookID, setResult let adjustedLanguageCode = languageCode; // if (repoCode === 'UHB') adjustedLanguageCode = 'hbo'; // NO -- we need the languageCode of the BP being checked (so we can resolve TW links with * for language) !!! // else if (repoCode === 'UGNT') adjustedLanguageCode = 'el-x-koine'; - const cfcResultObject = await checkFileContents(username, adjustedLanguageCode, repoCode, repoBranch, cfFilename, fileContent, fileLocation, checkingOptions); + const cfcResultObject = await checkFileContents(username, adjustedLanguageCode, repoCode, repoName, repoBranch, cfFilename, fileContent, fileLocation, checkingOptions); // debugLog("checkFileContents() returned", cfResultObject.successList.length, "success message(s) and", cfResultObject.noticeList.length, "notice(s)"); // for (const successEntry of cfResultObject.successList) debugLog(" ourCheckBPFileContents:", successEntry); // debugLog("cfcResultObject", JSON.stringify(cfcResultObject)); @@ -145,8 +145,11 @@ export async function checkBookPackage(username, languageCode, bookID, setResult for (const cfcNoticeEntry of cfcResultObject.noticeList) // noticeEntry is an object if (cfcNoticeEntry.extra) // it must be an indirect check on a TA/TW article from a TN2 check or UHAL/UGL lexicon check checkBookPackageResult.noticeList.push(cfcNoticeEntry); // Just copy the complete notice as is - else // For our direct checks, we add the repoCode as an extra value (unless it’s already there from a TA or TW check) - addNoticePartial({ ...cfcNoticeEntry, repoCode, repoName, branch: repoBranch, filename: cfFilename, extra: cfcNoticeEntry.extra ? cfcNoticeEntry.extra : repoCode }); + else {// For our direct checks, we add the repoCode as an extra value (unless it’s already there from a TA or TW check) + if (cfcNoticeEntry.filename === undefined) cfcNoticeEntry.filename = cfFilename; + aboutToOverwrite('ourCheckBPFileContents', ['repoCode', 'repoName', 'branch', 'extra'], cfcNoticeEntry, { repoCode, repoName, branch: repoBranch, extra: cfcNoticeEntry.extra ? cfcNoticeEntry.extra : repoCode }); + addNoticePartial({ ...cfcNoticeEntry, repoCode, repoName, branch: repoBranch, extra: cfcNoticeEntry.extra ? cfcNoticeEntry.extra : repoCode }); + } // The following is needed coz we might be checking the linked TA/TW articles from TN2 TSV files or UHAL/UGL entries if (cfcResultObject.checkedFileCount && cfcResultObject.checkedFileCount > 0) { @@ -291,7 +294,7 @@ export async function checkBookPackage(username, languageCode, bookID, setResult // debugLog(`Year ${fullYearString} is ${typeof fullYearString}`); if (markdownFileContent.indexOf(fullYearString) === -1 && markdownFileContent.indexOf(`${thisYear - 1}`) === -1) // Can’t find this year or previous year in file // NOTE: We don’t use addNoticePartial, because it adds a misleading BookID - checkBookPackageResult.noticeList.push({ priority: 256, message: "Possibly missing current copyright year", details: `possibly expecting '${fullYearString}'`, username, repoName, filename, location: markdownLocation, extra: repoCode }); + checkBookPackageResult.noticeList.push({ priority: 256, message: "Possibly missing current copyright year", details: `possibly expecting ‘${fullYearString}’`, username, repoName, filename, location: markdownLocation, extra: repoCode }); } return markdownFileContent.length; @@ -617,7 +620,7 @@ async function checkMarkdownBook(username, languageCode, repoCode, repoName, bra //parameterAssert(typeof incompleteNoticeObject.location === 'string', `cTQ addNoticePartial: 'location' parameter should be a string not a '${typeof incompleteNoticeObject.location}'`); //parameterAssert(incompleteNoticeObject.extra !== undefined, "cTQ addNoticePartial: 'extra' parameter should be defined"); //parameterAssert(typeof incompleteNoticeObject.extra === 'string', `cTQ addNoticePartial: 'extra' parameter should be a string not a '${typeof incompleteNoticeObject.extra}'`); - aboutToOverwrite('checkMarkdownBook', ['username', 'repoCode', 'repoName', 'bookID'], incompleteNoticeObject, { username, repoCode, repoName, bookID }); + aboutToOverwrite('checkBookPackage checkMarkdownBook', ['username', 'repoCode', 'repoName', 'bookID'], incompleteNoticeObject, { username, repoCode, repoName, bookID }); ctqResult.noticeList.push({ ...incompleteNoticeObject, username, repoCode, repoName, bookID }); } @@ -648,7 +651,7 @@ async function checkMarkdownBook(username, languageCode, repoCode, repoName, bra //parameterAssert(typeof fileLocation === 'string', `cTQ ourCheckFileContents: 'fileLocation' parameter should be a string not a '${typeof fileLocation}'`); //parameterAssert(checkingOptions !== undefined, "cTQ ourCheckFileContents: 'checkingOptions' parameter should be defined"); - const cfResultObject = await checkFileContents(username, languageCode, repoCode, branch, cfFilename, fileContent, fileLocation, checkingOptions); + const cfResultObject = await checkFileContents(username, languageCode, repoCode, repoName, branch, cfFilename, fileContent, fileLocation, checkingOptions); // debugLog("checkFileContents() returned", cfResultObject.successList.length, "success message(s) and", cfResultObject.noticeList.length, "notice(s)"); // for (const successEntry of cfResultObject.successList) debugLog(" ourCheckFileContents:", successEntry); @@ -657,6 +660,7 @@ async function checkMarkdownBook(username, languageCode, repoCode, repoName, bra // noticeEntry is an array of eight fields: 1=priority, 2=bookID, 3=C, 4=V, 5=msg, 6=characterIndex, 7=excerpt, 8=location // parameterAssert(Object.keys(noticeEntry).length === 5, `cTQ ourCheckFileContents notice length=${Object.keys(noticeEntry).length}`); // We add the repoCode as an extra value + aboutToOverwrite('checkBookPackage checkMarkdownBook ourCheckFileContents', ['bookID', 'C', 'V', 'extra'], noticeEntry, { bookID, C, V, extra: repoCode }); addNoticePartial({ ...noticeEntry, bookID, C, V, extra: repoCode }); } } diff --git a/src/demos/book-packages-check/README.md b/src/demos/book-packages-check/README.md index 80e66ffc..46fa4edc 100644 --- a/src/demos/book-packages-check/README.md +++ b/src/demos/book-packages-check/README.md @@ -32,10 +32,10 @@ import BookPackagesCheck from './BookPackagesCheck'; languageCode='en' // Enter a string containing UPPERCASE USFM book identifiers separated only by commas // and can also include OBS (for Open Bible Stories) - bookIDs='RUT,EZR,NEH,EST,OBA,JON, LUK,EPH,1TI,2TI,TIT,JAS,2PE,1JN,2JN,3JN, OBS' + // bookIDs='RUT,EZR,NEH,EST,OBA,JON, LUK,EPH,1TI,2TI,TIT,PHM,JAS,2PE,1JN,2JN,3JN,JUD, OBS' // Uncomment if you're interested in OT and NT // The above English book packages should all be finished or well along the way // bookIDs='RUT,EZR,NEH,EST,OBA,JON' // Uncomment if you're interested in OT only - // bookIDs='LUK,EPH,1TI,2TI,TIT,JAS,2PE,1JN,2JN,3JN, OBS' // Uncomment if you're interested in NT and OBS only + bookIDs='LUK,GAL,EPH,PHP,COL,1TI,2TI,TIT,PHM,JAS,2PE,1JN,2JN,3JN,JUD, OBS' // If you're interested in NT and OBS only // We can choose the forthcoming new TSV formats or the existing formats // dataSet='OLD' // 'OLD' (Markdown TQ1, TSV TN, etc.), 'NEW' (TSV TQ, TN2, etc.), 'DEFAULT', or 'BOTH' diff --git a/src/demos/file-check/FileCheck.js b/src/demos/file-check/FileCheck.js index e1dea860..7ff0e265 100644 --- a/src/demos/file-check/FileCheck.js +++ b/src/demos/file-check/FileCheck.js @@ -5,10 +5,10 @@ import { processNoticesToErrorsWarnings, processNoticesToSevereMediumLow, proces import { RenderSuccessesErrorsWarnings, RenderSuccessesSevereMediumLow, RenderSuccessesNoticesGradient, RenderElapsedTime } from '../RenderProcessedResults'; import { checkFileContents } from './checkFileContents'; // eslint-disable-next-line no-unused-vars -import { debugLog, userLog } from '../../core/utilities'; +import { debugLog, userLog, aboutToOverwrite } from '../../core/utilities'; -// const FILE_CHECK_VERSION_STRING = '0.4.3'; +// const FILE_CHECK_VERSION_STRING = '1.0.0'; function FileCheck(props) { @@ -107,12 +107,13 @@ function FileCheck(props) { // else debugLog(`RepoCheck preloaded repos ${repoCode} and ${repoPreloadList}`) } - rawCFResults = await checkFileContents(username, languageCode, repoCodeGuess, branchOrRelease, filename, fileContent, givenLocation, checkingOptions); + rawCFResults = await checkFileContents(username, languageCode, repoCodeGuess, repoName, branchOrRelease, filename, fileContent, givenLocation, checkingOptions); // debugLog(`rawCFResults=${JSON.stringify(rawCFResults)}`); // Because we know here that we're only checking one file, we don’t need the filename field in the notices // WRONG: We want the filename so that the lineNumber can be made into a live link function addFields(notice) { + aboutToOverwrite('FileCheck', ['username', 'repoName', 'repoCode'], notice, { username, repoName, repoCode: repoCodeGuess }); notice.username = username; notice.repoName = repoName; notice.repoCode = repoCodeGuess; if (!notice.extra) notice.extra = repoCodeGuess; return notice; diff --git a/src/demos/file-check/README.md b/src/demos/file-check/README.md index 806eb873..4baac91b 100644 --- a/src/demos/file-check/README.md +++ b/src/demos/file-check/README.md @@ -19,8 +19,8 @@ and then validates the content of one file selected from the repo. // If you're checking and then editing & saving files, ensure that it's set to Y before you recheck reloadAllFilesFirst='Y' // 'Y' (for Yes -- same as ClearCache in menu) or 'N' (for No) - // username='Door43-Catalog' username='unfoldingWord' + // username='Door43-Catalog' // Lines starting with // are ignored -- you can add or remove // as desired // repoName='hbo_uhb' // OT books only diff --git a/src/demos/file-check/checkFileContents.js b/src/demos/file-check/checkFileContents.js index b6b7153d..9c751fd2 100644 --- a/src/demos/file-check/checkFileContents.js +++ b/src/demos/file-check/checkFileContents.js @@ -3,15 +3,14 @@ import * as books from '../../core/books/books'; import { // eslint-disable-next-line no-unused-vars REPO_CODES_LIST, - formRepoName, checkUSFMText, checkMarkdownFileContents, checkLexiconFileContents, checkPlainText, checkYAMLText, checkManifestText, internalCheckTN_TSV9Table, checkNotesTSV7Table, checkQuestionsTSV7Table, internalCheckTWL_TSV6Table, } from '../../core'; // eslint-disable-next-line no-unused-vars -import { userLog, debugLog, functionLog, parameterAssert, logicAssert } from '../../core'; +import { userLog, debugLog, functionLog, parameterAssert, logicAssert, aboutToOverwrite } from '../../core'; -// const CHECK_FILE_CONTENTS_VERSION_STRING = '0.6.0'; +// const CHECK_FILE_CONTENTS_VERSION_STRING = '1.0.3'; /** @@ -19,13 +18,14 @@ import { userLog, debugLog, functionLog, parameterAssert, logicAssert } from '.. * @param {string} username for Door43.org * @param {string} languageCode, e.g., 'en' * @param {string} repoCode, e.g., 'LT', 'TN', 'TN2', 'TQ', 'TWL', etc. + * @param {string} repoName, e.g., 'en_ult', 'ru_gst', etc. * @param {string} branch, e.g., 'master' * @param {string} filepath -- often just a filename * @param {string} fileContent * @param {string} givenLocation * @param {Object} givenCheckingOptions */ -export async function checkFileContents(username, languageCode, repoCode, branch, filepath, fileContent, givenLocation, givenCheckingOptions) { +export async function checkFileContents(username, languageCode, repoCode, repoName, branch, filepath, fileContent, givenLocation, givenCheckingOptions) { // Determine the file type from the filename extension // and return the results of checking that kind of file text // functionLog(`checkFileContents(un='${username}', lC='${languageCode}', rC='${repoCode}', rBr='${branch}', fn='${filepath}', ${fileContent.length} chars, ${givenLocation}, ${JSON.stringify(givenCheckingOptions)})…`); @@ -55,10 +55,9 @@ export async function checkFileContents(username, languageCode, repoCode, branch const filename = filebits[filebits.length - 1]; // debugLog(`checkFileContents from filepath='${filepath}' got (${filebits.length}) ${filebits} and then '${filename}'`); const filenameLower = filename.toLowerCase(); - const repoName = formRepoName(languageCode, repoCode); const newCheckingOptions = givenCheckingOptions ? { ...givenCheckingOptions } : {}; // clone before modify - if (!newCheckingOptions.originalLanguageRepoUsername) newCheckingOptions.originalLanguageRepoUsername = username; + // if (!newCheckingOptions.originalLanguageRepoUsername) newCheckingOptions.originalLanguageRepoUsername = username; if (!newCheckingOptions.taRepoUsername) newCheckingOptions.taRepoUsername = username; if (!newCheckingOptions.twRepoUsername) newCheckingOptions.twRepoUsername = username; @@ -91,7 +90,7 @@ export async function checkFileContents(username, languageCode, repoCode, branch else if (filenameLower.endsWith('.usfm')) { const filenameMain = filepath.slice(0, filepath.length - 5); // drop .usfm // debugLog(`Have USFM filenameMain=${filenameMain}`); - const bookID = filenameMain.slice(filenameMain.length - 3); + const bookID = filenameMain.endsWith('_book') ? filenameMain.slice(filenameMain.length - 8, filenameMain.length - 5).toUpperCase() : filenameMain.slice(filenameMain.length - 3); // debugLog(`Have USFM bookcode=${bookID}`); //parameterAssert(books.isValidBookID(bookID), `checkFileContents: '${bookID}' is not a valid USFM book identifier`); checkFileResultObject = await checkUSFMText(username, languageCode, repoCode, bookID, filepath, fileContent, ourCFLocation, newCheckingOptions); @@ -125,13 +124,19 @@ export async function checkFileContents(username, languageCode, repoCode, branch // debugLog(`checkFileContents got initial results with ${checkFileResult.successList.length} success message(s) and ${checkFileResult.noticeList.length} notice(s)`); // Make sure that we have the filename in all of our notices (in case other files are being checked as well) + /* function addFilenameField(noticeObjectParameter) { if (noticeObjectParameter.debugChain) noticeObjectParameter.debugChain = `checkFileContents ${noticeObjectParameter.debugChain}`; if (noticeObjectParameter.fieldName === filepath) delete noticeObjectParameter.fieldName; + // aboutToOverwrite('checkFileContents', ['filename'], noticeObjectParameter, { filename: filepath }); // TODO: Might we need to add username, repoName, or branch here ??? return noticeObjectParameter.extra ? noticeObjectParameter : { ...noticeObjectParameter, filename: filepath }; // NOTE: might be an indirect check on a TA/TW article or UHAL/UGL entry } checkFileResultObject.noticeList = checkFileResultObject.noticeList.map(addFilenameField); + */ + for (const noticeObject of checkFileResultObject.noticeList) { + if (noticeObject.filename === undefined) noticeObject.filename = filepath; + } // Add some extra fields to our checkFileResult object // in case we need this information again later diff --git a/src/demos/repo-check/README.md b/src/demos/repo-check/README.md index c46f3da5..ae9ef517 100644 --- a/src/demos/repo-check/README.md +++ b/src/demos/repo-check/README.md @@ -22,8 +22,8 @@ import RepoCheck from './RepoCheck'; // If you're checking and then editing & saving files, ensure that it's set to Y before you recheck reloadAllFilesFirst='Y' // 'Y' (for Yes -- same as ClearCache in menu) or 'N' (for No) - // username = 'Door43-Catalog' username = 'unfoldingWord' + // username = 'Door43-Catalog' // Lines starting with // are ignored -- you can add or remove // as desired // NOTE: Some of these whole repository checks can take a looong time! diff --git a/src/demos/repo-check/checkRepo.js b/src/demos/repo-check/checkRepo.js index c8786b71..db354fb7 100644 --- a/src/demos/repo-check/checkRepo.js +++ b/src/demos/repo-check/checkRepo.js @@ -8,7 +8,7 @@ import { repositoryExistsOnDoor43, getFileListFromZip, cachedGetFile, cachedGetR import { userLog, functionLog, debugLog, logicAssert, parameterAssert, aboutToOverwrite } from '../../core/utilities'; -// const REPO_VALIDATOR_VERSION_STRING = '0.6.6'; +// const REPO_VALIDATOR_VERSION_STRING = '1.0.0'; /** @@ -147,7 +147,7 @@ export async function checkRepo(username, repoName, repoBranch, givenLocation, s if (/*filename === 'manifest.yaml' || */cfFilename === 'LICENSE.md' || ((languageCode === 'el-x-koine' || languageCode === 'hbo') && cfFilename === 'README.md')) adjustedLanguageCode = 'en'; // Correct the language for these auxilliary files - const cfcResultObject = await checkFileContents(username, adjustedLanguageCode, repoCode, repoBranch, cfFilename, cfFileContent, cfFileLocation, cfCheckingOptions); + const cfcResultObject = await checkFileContents(username, adjustedLanguageCode, repoCode, repoName, repoBranch, cfFilename, cfFileContent, cfFileLocation, cfCheckingOptions); // debugLog("checkFileContents() returned", resultObject.successList.length, "success message(s) and", resultObject.noticeList.length, "notice(s)"); // for (const successEntry of resultObject.successList) // userLog(" ", successEntry); @@ -158,6 +158,7 @@ export async function checkRepo(username, repoName, repoBranch, givenLocation, s if (cfcNoticeEntry.extra) checkRepoResult.noticeList.push(cfcNoticeEntry); // Add this notice directly else { // no extra field yet + aboutToOverwrite('ourCheckRepoFileContents', ['bookID'], cfcResultObject, { bookID: cfBookID }); // addNoticePartial({ ...cfcNoticeEntry, bookID: cfBookID, extra: bookOrFileCode.toUpperCase() }); // const newNoticeObject = { ...cfcNoticeEntry, bookID: cfBookID }; if (cfBookID.length) cfcNoticeEntry.bookID = cfBookID; @@ -212,6 +213,10 @@ export async function checkRepo(username, repoName, repoBranch, givenLocation, s // Update our "waiting" message setResultValue(

Fetching zipped files from {username}/{repoName} repository…

); + const repoNamePart2 = repoName.split('_')[1] + if ((username !== 'unfoldingWord' || languageCode !== 'en') && repoNamePart2.startsWith('u')) + addNoticePartial({ priority: 980, message: "Unexpected repo name", details: `expected ‘g${repoNamePart2.slice(1)}’`, excerpt: repoNamePart2, location: ourLocation }); + // Let’s fetch the zipped repo since it should be much more efficient than individual fetches // functionLog(`checkRepo: fetch zip file for ${repoName}…`); const fetchRepositoryZipFile_ = givenCheckingOptions?.fetchRepositoryZipFile ? givenCheckingOptions.fetchRepositoryZipFile : cachedGetRepositoryZipFile; diff --git a/yarn.lock b/yarn.lock index 49707dc2..61efe3d9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -39,10 +39,10 @@ dependencies: "@babel/highlight" "^7.16.0" -"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.0", "@babel/compat-data@^7.9.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.0.tgz#ea269d7f78deb3a7826c39a4048eecda541ebdaa" - integrity sha512-DGjt2QZse5SGd9nfOSqO4WLJ8NN/oHkijbXbPrxuoJO3oIPJL3TciZs9FX+cOHNiY9E9l0opL8g7BmLe3T+9ew== +"@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.0", "@babel/compat-data@^7.16.4", "@babel/compat-data@^7.9.0": + version "7.16.4" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.4.tgz#081d6bbc336ec5c2435c6346b2ae1fb98b5ac68e" + integrity sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q== "@babel/core@7.9.0": version "7.9.0" @@ -111,14 +111,14 @@ "@babel/helper-explode-assignable-expression" "^7.16.0" "@babel/types" "^7.16.0" -"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.0", "@babel/helper-compilation-targets@^7.8.7": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.0.tgz#01d615762e796c17952c29e3ede9d6de07d235a8" - integrity sha512-S7iaOT1SYlqK0sQaCi21RX4+13hmdmnxIEAnQUB/eh7GeAnRjOUgTYpLkUOiRXzD+yog1JxP0qyAQZ7ZxVxLVg== +"@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.0", "@babel/helper-compilation-targets@^7.16.3", "@babel/helper-compilation-targets@^7.8.7": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz#5b480cd13f68363df6ec4dc8ac8e2da11363cbf0" + integrity sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA== dependencies: "@babel/compat-data" "^7.16.0" "@babel/helper-validator-option" "^7.14.5" - browserslist "^4.16.6" + browserslist "^4.17.5" semver "^6.3.0" "@babel/helper-create-class-features-plugin@^7.16.0", "@babel/helper-create-class-features-plugin@^7.8.3": @@ -141,10 +141,10 @@ "@babel/helper-annotate-as-pure" "^7.16.0" regexpu-core "^4.7.1" -"@babel/helper-define-polyfill-provider@^0.2.4": - version "0.2.4" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.4.tgz#8867aed79d3ea6cade40f801efb7ac5c66916b10" - integrity sha512-OrpPZ97s+aPi6h2n1OXzdhVis1SGSsMU2aMHgLcOKfsp4/v1NWpx3CWT3lBj5eeBq9cDkPkh+YCfdF7O12uNDQ== +"@babel/helper-define-polyfill-provider@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz#c5b10cf4b324ff840140bb07e05b8564af2ae971" + integrity sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg== dependencies: "@babel/helper-compilation-targets" "^7.13.0" "@babel/helper-module-imports" "^7.12.13" @@ -225,10 +225,10 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== -"@babel/helper-remap-async-to-generator@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.0.tgz#d5aa3b086e13a5fe05238ff40c3a5a0c2dab3ead" - integrity sha512-MLM1IOMe9aQBqMWxcRw8dcb9jlM86NIw7KA0Wri91Xkfied+dE0QuBFSBjMNvqzmS0OSIDsMNC24dBEkPUi7ew== +"@babel/helper-remap-async-to-generator@^7.16.0", "@babel/helper-remap-async-to-generator@^7.16.4": + version "7.16.4" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.4.tgz#5d7902f61349ff6b963e07f06a389ce139fbfe6e" + integrity sha512-vGERmmhR+s7eH5Y/cp8PCVzj4XEjerq8jooMfxFdA5xVtAk9Sh4AQsrWgiErUEBjtGrBtOFKDUcWQFW4/dFwMA== dependencies: "@babel/helper-annotate-as-pure" "^7.16.0" "@babel/helper-wrap-function" "^7.16.0" @@ -286,12 +286,12 @@ "@babel/types" "^7.16.0" "@babel/helpers@^7.16.0", "@babel/helpers@^7.9.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.0.tgz#875519c979c232f41adfbd43a3b0398c2e388183" - integrity sha512-dVRM0StFMdKlkt7cVcGgwD8UMaBfWJHl3A83Yfs8GQ3MO0LHIIIMvK7Fa0RGOGUQ10qikLaX6D7o5htcQWgTMQ== + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.3.tgz#27fc64f40b996e7074dc73128c3e5c3e7f55c43c" + integrity sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w== dependencies: "@babel/template" "^7.16.0" - "@babel/traverse" "^7.16.0" + "@babel/traverse" "^7.16.3" "@babel/types" "^7.16.0" "@babel/highlight@^7.0.0", "@babel/highlight@^7.16.0", "@babel/highlight@^7.8.3": @@ -303,15 +303,15 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.0", "@babel/parser@^7.4.3", "@babel/parser@^7.7.0", "@babel/parser@^7.9.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.0.tgz#cf147d7ada0a3655e79bf4b08ee846f00a00a295" - integrity sha512-TEHWXf0xxpi9wKVyBCmRcSSDjbJ/cl6LUdlbYUHEaNQUJGhreJbZrXT6sR4+fZLxVUJqNRB4KyOvjuy/D9009A== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.0", "@babel/parser@^7.16.3", "@babel/parser@^7.4.3", "@babel/parser@^7.7.0", "@babel/parser@^7.9.0": + version "7.16.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.4.tgz#d5f92f57cf2c74ffe9b37981c0e72fee7311372e" + integrity sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng== -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.0.tgz#efb7f147042aca34ce8156a055906a7abaadeaf0" - integrity sha512-djyecbGMEh4rOb/Tc1M5bUW2Ih1IZRa9PoubnPOCzM+DRE89uGUHR1Y+3aDdTMW4drjGRZ2ol8dt1JUFg6hJLQ== +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.2": + version "7.16.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz#2977fca9b212db153c195674e57cfab807733183" + integrity sha512-h37CvpLSf8gb2lIJ2CgC3t+EjFbi0t8qS7LCS1xcJIlEXE4czlofwaW7W1HA8zpgOCzI9C1nmoqNR1zWkk0pQg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" @@ -324,13 +324,13 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-proposal-optional-chaining" "^7.16.0" -"@babel/plugin-proposal-async-generator-functions@^7.16.0", "@babel/plugin-proposal-async-generator-functions@^7.8.3": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.0.tgz#11425d47a60364352f668ad5fbc1d6596b2c5caf" - integrity sha512-nyYmIo7ZqKsY6P4lnVmBlxp9B3a96CscbLotlsNuktMHahkDwoPYEjXrZHU0Tj844Z9f1IthVxQln57mhkcExw== +"@babel/plugin-proposal-async-generator-functions@^7.16.4", "@babel/plugin-proposal-async-generator-functions@^7.8.3": + version "7.16.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.4.tgz#e606eb6015fec6fa5978c940f315eae4e300b081" + integrity sha512-/CUekqaAaZCQHleSK/9HajvcD/zdnJiKRiuUFq8ITE+0HsPzquf53cpFiqAwl/UfmJbR6n5uGPQSPdrmKOvHHg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-remap-async-to-generator" "^7.16.0" + "@babel/helper-remap-async-to-generator" "^7.16.4" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-proposal-class-properties@7.8.3": @@ -810,10 +810,10 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-replace-supers" "^7.16.0" -"@babel/plugin-transform-parameters@^7.16.0", "@babel/plugin-transform-parameters@^7.8.7": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.0.tgz#1b50765fc421c229819dc4c7cdb8911660b3c2d7" - integrity sha512-XgnQEm1CevKROPx+udOi/8f8TiGhrUWiHiaUCIp47tE0tpFDjzXNTZc9E5CmCwxNjXTWEVqvRfWZYOTFvMa/ZQ== +"@babel/plugin-transform-parameters@^7.16.0", "@babel/plugin-transform-parameters@^7.16.3", "@babel/plugin-transform-parameters@^7.8.7": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.3.tgz#fa9e4c874ee5223f891ee6fa8d737f4766d31d15" + integrity sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w== dependencies: "@babel/helper-plugin-utils" "^7.14.5" @@ -910,15 +910,15 @@ semver "^5.5.1" "@babel/plugin-transform-runtime@^7.12.1": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.0.tgz#3fe0da36c2f0834bef7c4d3e7f2b2db0ee0c8909" - integrity sha512-zlPf1/XFn5+vWdve3AAhf+Sxl+MVa5VlwTwWgnLx23u4GlatSRQJ3Eoo9vllf0a9il3woQsT4SK+5Z7c06h8ag== + version "7.16.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.4.tgz#f9ba3c7034d429c581e1bd41b4952f3db3c2c7e8" + integrity sha512-pru6+yHANMTukMtEZGC4fs7XPwg35v8sj5CIEmE+gEkFljFiVJxEWxx/7ZDkTK+iZRYo1bFXBtfIN95+K3cJ5A== dependencies: "@babel/helper-module-imports" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" - babel-plugin-polyfill-corejs2 "^0.2.3" - babel-plugin-polyfill-corejs3 "^0.3.0" - babel-plugin-polyfill-regenerator "^0.2.3" + babel-plugin-polyfill-corejs2 "^0.3.0" + babel-plugin-polyfill-corejs3 "^0.4.0" + babel-plugin-polyfill-regenerator "^0.3.0" semver "^6.3.0" "@babel/plugin-transform-shorthand-properties@^7.16.0", "@babel/plugin-transform-shorthand-properties@^7.8.3": @@ -1048,17 +1048,17 @@ semver "^5.5.0" "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.4.5": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.0.tgz#97228393d217560d6a1c6c56f0adb9d12bca67f5" - integrity sha512-cdTu/W0IrviamtnZiTfixPfIncr2M1VqRrkjzZWlr1B4TVYimCFK5jkyOdP4qw2MrlKHi+b3ORj6x8GoCew8Dg== + version "7.16.4" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.4.tgz#4f6ec33b2a3fe72d6bfdcdf3859500232563a2e3" + integrity sha512-v0QtNd81v/xKj4gNKeuAerQ/azeNn/G1B1qMLeXOcV8+4TWlD2j3NV1u8q29SDFBXx/NBq5kyEAO+0mpRgacjA== dependencies: - "@babel/compat-data" "^7.16.0" - "@babel/helper-compilation-targets" "^7.16.0" + "@babel/compat-data" "^7.16.4" + "@babel/helper-compilation-targets" "^7.16.3" "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-validator-option" "^7.14.5" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.0" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.2" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.0" - "@babel/plugin-proposal-async-generator-functions" "^7.16.0" + "@babel/plugin-proposal-async-generator-functions" "^7.16.4" "@babel/plugin-proposal-class-properties" "^7.16.0" "@babel/plugin-proposal-class-static-block" "^7.16.0" "@babel/plugin-proposal-dynamic-import" "^7.16.0" @@ -1108,7 +1108,7 @@ "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.0" "@babel/plugin-transform-new-target" "^7.16.0" "@babel/plugin-transform-object-super" "^7.16.0" - "@babel/plugin-transform-parameters" "^7.16.0" + "@babel/plugin-transform-parameters" "^7.16.3" "@babel/plugin-transform-property-literals" "^7.16.0" "@babel/plugin-transform-regenerator" "^7.16.0" "@babel/plugin-transform-reserved-words" "^7.16.0" @@ -1121,10 +1121,10 @@ "@babel/plugin-transform-unicode-regex" "^7.16.0" "@babel/preset-modules" "^0.1.5" "@babel/types" "^7.16.0" - babel-plugin-polyfill-corejs2 "^0.2.3" - babel-plugin-polyfill-corejs3 "^0.3.0" - babel-plugin-polyfill-regenerator "^0.2.3" - core-js-compat "^3.19.0" + babel-plugin-polyfill-corejs2 "^0.3.0" + babel-plugin-polyfill-corejs3 "^0.4.0" + babel-plugin-polyfill-regenerator "^0.3.0" + core-js-compat "^3.19.1" semver "^6.3.0" "@babel/preset-modules@^0.1.3", "@babel/preset-modules@^0.1.5": @@ -1171,9 +1171,9 @@ "@babel/plugin-transform-typescript" "^7.9.0" "@babel/runtime-corejs3@^7.10.2", "@babel/runtime-corejs3@^7.12.1": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.16.0.tgz#58a7fb00e6948508f12f53a303993e8b6e2f6c70" - integrity sha512-Oi2qwQ21X7/d9gn3WiwkDTJmq3TQtYNz89lRnoFy8VeZpWlsyXvzSwiRrRZ8cXluvSwqKxqHJ6dBd9Rv+p0ZGQ== + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.16.3.tgz#1e25de4fa994c57c18e5fdda6cc810dac70f5590" + integrity sha512-IAdDC7T0+wEB4y2gbIL0uOXEYpiZEeuFUTVbdGq+UwCcF35T/tS8KrmMomEwEc5wBbyfH3PJVpTSUqrhPDXFcQ== dependencies: core-js-pure "^3.19.0" regenerator-runtime "^0.13.4" @@ -1185,10 +1185,10 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.2.0", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.0.tgz#e27b977f2e2088ba24748bf99b5e1dece64e4f0b" - integrity sha512-Nht8L0O8YCktmsDV6FqFue7vQLRx3Hb0B37lS5y0jDRqRxlBG4wIJHnf9/bgSE2UyipKFA01YtS+npRdTWBUyw== +"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.16.3", "@babel/runtime@^7.2.0", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.4", "@babel/runtime@^7.4.5", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7", "@babel/runtime@^7.9.2": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.3.tgz#b86f0db02a04187a3c17caa77de69840165d42d5" + integrity sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ== dependencies: regenerator-runtime "^0.13.4" @@ -1201,17 +1201,17 @@ "@babel/parser" "^7.16.0" "@babel/types" "^7.16.0" -"@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.7.0", "@babel/traverse@^7.9.0": - version "7.16.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.0.tgz#965df6c6bfc0a958c1e739284d3c9fa4a6e3c45b" - integrity sha512-qQ84jIs1aRQxaGaxSysII9TuDaguZ5yVrEuC0BN2vcPlalwfLovVmCjbFDPECPXcYM/wLvNFfp8uDOliLxIoUQ== +"@babel/traverse@^7.1.0", "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3", "@babel/traverse@^7.4.3", "@babel/traverse@^7.7.0", "@babel/traverse@^7.9.0": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.3.tgz#f63e8a938cc1b780f66d9ed3c54f532ca2d14787" + integrity sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag== dependencies: "@babel/code-frame" "^7.16.0" "@babel/generator" "^7.16.0" "@babel/helper-function-name" "^7.16.0" "@babel/helper-hoist-variables" "^7.16.0" "@babel/helper-split-export-declaration" "^7.16.0" - "@babel/parser" "^7.16.0" + "@babel/parser" "^7.16.3" "@babel/types" "^7.16.0" debug "^4.1.0" globals "^11.1.0" @@ -1306,7 +1306,7 @@ dependencies: "@hapi/hoek" "^8.3.0" -"@isaacs/string-locale-compare@*", "@isaacs/string-locale-compare@^1.0.1": +"@isaacs/string-locale-compare@*", "@isaacs/string-locale-compare@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz#291c227e93fd407a96ecd59879a35809120e432b" integrity sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ== @@ -1748,17 +1748,17 @@ integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== "@npmcli/arborist@*", "@npmcli/arborist@^4.0.0": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-4.0.3.tgz#5e1632192f970c3a4e43c4699ad875089418bed0" - integrity sha512-gFz/dNJtpv2bYXlupcUpEaWlFDRUNmvVnQNbE6dY4ild6beZ2SkG4R5/CM4GZZwj9HD2TyfGjO350Ja+xlLzuA== + version "4.1.1" + resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-4.1.1.tgz#a36202f85b0b8d47f5fc0e056e9836282bc5a38c" + integrity sha512-sASzHngGWt8l6ic1VP0Qf3+ral/RL8L+MculTp2w8NYjjkDiurByOT39KiYmLwpeJ2GQoDR/rdhEwnII8wZQ9g== dependencies: - "@isaacs/string-locale-compare" "^1.0.1" + "@isaacs/string-locale-compare" "^1.1.0" "@npmcli/installed-package-contents" "^1.0.7" "@npmcli/map-workspaces" "^2.0.0" "@npmcli/metavuln-calculator" "^2.0.0" "@npmcli/move-file" "^1.1.0" "@npmcli/name-from-folder" "^1.0.1" - "@npmcli/node-gyp" "^1.0.1" + "@npmcli/node-gyp" "^1.0.3" "@npmcli/package-json" "^1.0.1" "@npmcli/run-script" "^2.0.0" bin-links "^2.3.0" @@ -1772,8 +1772,8 @@ npm-package-arg "^8.1.5" npm-pick-manifest "^6.1.0" npm-registry-fetch "^11.0.0" - pacote "^12.0.0" - parse-conflict-json "^1.1.1" + pacote "^12.0.2" + parse-conflict-json "^2.0.1" proc-log "^1.0.0" promise-all-reject-late "^1.0.0" promise-call-limit "^1.0.1" @@ -1791,9 +1791,9 @@ integrity sha512-3BGrt6FLjqM6br5AhWRKTr3u5GIVkjRYeAFrMp3HjnfICrg4xOrVRwFavKT6tsp++bq5dluL5t8ME/Nha/6c1Q== "@npmcli/config@*": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@npmcli/config/-/config-2.3.0.tgz#364fbe942037e562a832a113206e14ccb651f7bc" - integrity sha512-yjiC1xv7KTmUTqfRwN2ZL7BHV160ctGF0fLXmKkkMXj40UOvBe45Apwvt5JsFRtXSoHkUYy1ouzscziuWNzklg== + version "2.3.2" + resolved "https://registry.yarnpkg.com/@npmcli/config/-/config-2.3.2.tgz#6027efc132fcc809abef749c2f2e13dc4dcd6e0b" + integrity sha512-2/9dj143BFgQR8qxJbYptd8k+4+Po2uHYq3H6498ynZcRu4LrsDlngov5HGrvo2+f0pe0fBJwDEP2rRtaW8bkw== dependencies: ini "^2.0.0" mkdirp-infer-owner "^2.0.0" @@ -1809,9 +1809,9 @@ ansi-styles "^4.3.0" "@npmcli/fs@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.0.0.tgz#589612cfad3a6ea0feafcb901d29c63fd52db09f" - integrity sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ== + version "1.1.0" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.1.0.tgz#bec1d1b89c170d40e1b73ad6c943b0b75e7d2951" + integrity sha512-VhP1qZLXcrXRIaPoqb4YA55JQxLNF3jNR4T55IdOJa3+IFJKNYHtPvtXx8slmeMavj37vCzCfrqQM1vWLsYKLA== dependencies: "@gar/promisify" "^1.0.1" semver "^7.3.5" @@ -1871,7 +1871,7 @@ resolved "https://registry.yarnpkg.com/@npmcli/name-from-folder/-/name-from-folder-1.0.1.tgz#77ecd0a4fcb772ba6fe927e2e2e155fbec2e6b1a" integrity sha512-qq3oEfcLFwNfEYOQ8HLimRGKlD8WSeGEdtUa7hmzpR8Sa7haL1KVQrvgO6wqMjhWFFVjgtrh1gIxDz+P8sjUaA== -"@npmcli/node-gyp@^1.0.1", "@npmcli/node-gyp@^1.0.2": +"@npmcli/node-gyp@^1.0.2", "@npmcli/node-gyp@^1.0.3": version "1.0.3" resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-1.0.3.tgz#a912e637418ffc5f2db375e93b85837691a43a33" integrity sha512-fnkhw+fmX65kiLqk6E3BFLXNC26rUhK90zVwe2yncPliVT/Qos3xjhTLE59Df8KnPlcwIERXKVlU1bXoUQ+liA== @@ -2033,9 +2033,9 @@ integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.0", "@types/babel__core@^7.1.7": - version "7.1.16" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.16.tgz#bc12c74b7d65e82d29876b5d0baf5c625ac58702" - integrity sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ== + version "7.1.17" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.17.tgz#f50ac9d20d64153b510578d84f9643f9a3afbe64" + integrity sha512-6zzkezS9QEIL8yCBvXWxPTJPNuMeECJVxSOhxNY/jfq9LxOTHivaYTqr37n9LknWWRTIkzqH2UilS5QFvfa90A== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -2143,9 +2143,9 @@ integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== "@types/node@*": - version "16.11.6" - resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.6.tgz#6bef7a2a0ad684cf6e90fcfe31cecabd9ce0a3ae" - integrity sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w== + version "16.11.12" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.12.tgz#ac7fb693ac587ee182c3780c26eb65546a1a3c10" + integrity sha512-+2Iggwg7PxoO5Kyhvsq9VarmPbIelXP070HMImEpbtGCoyWNINQj4wzjbQCXzdHTRXnqufutJb5KAURZANNBAw== "@types/normalize-package-data@^2.4.0": version "2.4.1" @@ -2158,9 +2158,9 @@ integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== "@types/prettier@^2.0.0": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.1.tgz#e1303048d5389563e130f5bdd89d37a99acb75eb" - integrity sha512-Fo79ojj3vdEZOHg3wR9ksAMRz4P3S5fDB5e/YWZiFnyFQI1WY2Vftu9XoXVVtJfxB7Bpce/QTqWSSntkz2Znrw== + version "2.4.2" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.2.tgz#4c62fae93eb479660c3bd93f9d24d561597a8281" + integrity sha512-ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA== "@types/prop-types@*": version "15.7.4" @@ -2195,9 +2195,9 @@ "@types/react" "*" "@types/react@*": - version "17.0.33" - resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.33.tgz#e01ae3de7613dac1094569880bb3792732203ad5" - integrity sha512-pLWntxXpDPaU+RTAuSGWGSEL2FRTNyRQOjSWDke/rxRg14ncsZvx8AKWMWZqvc1UOaJIAoObdZhAWvRaHFi5rw== + version "17.0.37" + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.37.tgz#6884d0aa402605935c397ae689deed115caad959" + integrity sha512-2FS1oTqBGcH/s0E+CjrCCR9+JMpsu9b69RTFO+40ua43ZqP5MmQ4iUde/dMjWR909KxZwmOQIFq6AV6NjEG5xg== dependencies: "@types/prop-types" "*" "@types/scheduler" "*" @@ -2703,9 +2703,9 @@ acorn@^7.1.1: integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== acorn@^8.2.4: - version "8.5.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.5.0.tgz#4512ccb99b3698c752591e9bb4472e38ad43cee2" - integrity sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q== + version "8.6.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.6.0.tgz#e3692ba0eb1a0c83eaa4f37f5fa7368dd7142895" + integrity sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw== address@1.1.2, address@^1.0.1: version "1.1.2" @@ -2786,6 +2786,11 @@ ansi-escapes@^4.2.1: dependencies: type-fest "^0.21.3" +ansi-html-community@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41" + integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw== + ansi-html@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" @@ -2982,7 +2987,7 @@ array.prototype.flat@^1.2.1, array.prototype.flat@^1.2.5: define-properties "^1.1.3" es-abstract "^1.19.0" -array.prototype.flatmap@^1.2.4: +array.prototype.flatmap@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz#908dc82d8a406930fdf38598d51e7411d18d4446" integrity sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA== @@ -3012,9 +3017,9 @@ asn1.js@^5.2.0: safer-buffer "^2.1.0" asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== + version "0.2.6" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" + integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== dependencies: safer-buffer "~2.1.0" @@ -3111,7 +3116,7 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== -axe-core@^4.0.2: +axe-core@^4.3.5: version "4.3.5" resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.3.5.tgz#78d6911ba317a8262bfee292aeafcc1e04b49cc5" integrity sha512-WKTW1+xAzhMS5dJsxWkliixlO/PqC4VhmO9T4juNYcaTg9jzWiJsou6m5pxWYGfigWbwzJWeFY6z47a+4neRXA== @@ -3261,29 +3266,29 @@ babel-plugin-named-asset-import@^0.3.6: resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.7.tgz#156cd55d3f1228a5765774340937afc8398067dd" integrity sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw== -babel-plugin-polyfill-corejs2@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.3.tgz#6ed8e30981b062f8fe6aca8873a37ebcc8cc1c0f" - integrity sha512-NDZ0auNRzmAfE1oDDPW2JhzIMXUk+FFe2ICejmt5T4ocKgiQx3e0VCRx9NCAidcMtL2RUZaWtXnmjTCkx0tcbA== +babel-plugin-polyfill-corejs2@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz#407082d0d355ba565af24126fb6cb8e9115251fd" + integrity sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA== dependencies: "@babel/compat-data" "^7.13.11" - "@babel/helper-define-polyfill-provider" "^0.2.4" + "@babel/helper-define-polyfill-provider" "^0.3.0" semver "^6.1.1" -babel-plugin-polyfill-corejs3@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.3.0.tgz#fa7ca3d1ee9ddc6193600ffb632c9785d54918af" - integrity sha512-JLwi9vloVdXLjzACL80j24bG6/T1gYxwowG44dg6HN/7aTPdyPbJJidf6ajoA3RPHHtW0j9KMrSOLpIZpAnPpg== +babel-plugin-polyfill-corejs3@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz#0b571f4cf3d67f911512f5c04842a7b8e8263087" + integrity sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw== dependencies: - "@babel/helper-define-polyfill-provider" "^0.2.4" + "@babel/helper-define-polyfill-provider" "^0.3.0" core-js-compat "^3.18.0" -babel-plugin-polyfill-regenerator@^0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.3.tgz#2e9808f5027c4336c994992b48a4262580cb8d6d" - integrity sha512-JVE78oRZPKFIeUqFGrSORNzQnrDwZR16oiWeGM8ZyjBn2XAT5OjP+wXx5ESuo33nUsFUEJYjtklnsKbxW5L+7g== +babel-plugin-polyfill-regenerator@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz#9ebbcd7186e1a33e21c5e20cae4e7983949533be" + integrity sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg== dependencies: - "@babel/helper-define-polyfill-provider" "^0.2.4" + "@babel/helper-define-polyfill-provider" "^0.3.0" babel-plugin-syntax-object-rest-spread@^6.8.0: version "6.13.0" @@ -3631,13 +3636,13 @@ browserslist@4.7.0: electron-to-chromium "^1.3.247" node-releases "^1.1.29" -browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.16.6, browserslist@^4.17.5, browserslist@^4.6.2, browserslist@^4.6.4, browserslist@^4.9.1: - version "4.17.5" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.17.5.tgz#c827bbe172a4c22b123f5e337533ceebadfdd559" - integrity sha512-I3ekeB92mmpctWBoLXe0d5wPS2cBuRvvW0JyyJHMrk9/HmP2ZjrTboNAZ8iuGqaEIlKguljbQY32OkOJIRrgoA== +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.17.5, browserslist@^4.18.1, browserslist@^4.6.2, browserslist@^4.6.4, browserslist@^4.9.1: + version "4.18.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.18.1.tgz#60d3920f25b6860eb917c6c7b185576f4d8b017f" + integrity sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ== dependencies: - caniuse-lite "^1.0.30001271" - electron-to-chromium "^1.3.878" + caniuse-lite "^1.0.30001280" + electron-to-chromium "^1.3.896" escalade "^3.1.1" node-releases "^2.0.1" picocolors "^1.0.0" @@ -3871,9 +3876,9 @@ camelcase@5.3.1, camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== camelcase@^6.0.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" - integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + version "6.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.1.tgz#250fd350cfd555d0d2160b1d51510eaf8326e86e" + integrity sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA== caniuse-api@^3.0.0: version "3.0.0" @@ -3885,10 +3890,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30000989, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001271: - version "1.0.30001274" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001274.tgz#26ca36204d15b17601ba6fc35dbdad950a647cc7" - integrity sha512-+Nkvv0fHyhISkiMIjnyjmf5YJcQ1IQHZN6U9TLUMroWR38FNwpsC51Gb68yueafX1V6ifOisInSgP9WJFS13ew== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30000989, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001280: + version "1.0.30001286" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001286.tgz#3e9debad420419618cfdf52dc9b6572b28a8fff6" + integrity sha512-zaEMRH6xg8ESMi2eQ3R4eZ5qw/hJiVsO/HlLwniIwErij0JDr9P+8V4dtx1l+kLq6j3yy8l8W4fst1lBnat5wQ== canvg@^3.0.6: version "3.0.9" @@ -3926,13 +3931,10 @@ ccount@^1.0.0: resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== -chalk@*, chalk@^4.0.0, chalk@^4.1.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" +chalk@*: + version "5.0.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.0.0.tgz#bd96c6bb8e02b96e08c0c3ee2a9d90e050c7b832" + integrity sha512-/duVOqst+luxCQRKEo4bNxinsOQtMP80ZYm7mMqzuh5PociNL0PvmHFvREJ9ueYL2TxlHjBcmLCdmocx9Vg+IQ== chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" @@ -3954,6 +3956,14 @@ chalk@^1.1.3: strip-ansi "^3.0.0" supports-color "^2.0.0" +chalk@^4.0.0, chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + char-regex@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" @@ -4275,9 +4285,9 @@ color-name@^1.0.0, color-name@~1.1.4: integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== color-string@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.6.0.tgz#c3915f61fe267672cb7e1e064c9d692219f6c312" - integrity sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA== + version "1.9.0" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.0.tgz#63b6ebd1bec11999d1df3a79a7569451ac2be8aa" + integrity sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ== dependencies: color-name "^1.0.0" simple-swizzle "^0.2.2" @@ -4353,9 +4363,9 @@ common-sequence@^1.0.2: integrity sha1-MOB/P49vf5s97oVPILLTnu4Ibeg= common-tags@^1.7.2, common-tags@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" - integrity sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw== + version "1.8.2" + resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" + integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== commondir@^1.0.1: version "1.0.1" @@ -4511,18 +4521,18 @@ copy-webpack-plugin@^4.6.0: p-limit "^1.0.0" serialize-javascript "^1.4.0" -core-js-compat@^3.18.0, core-js-compat@^3.19.0, core-js-compat@^3.6.2: - version "3.19.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.19.0.tgz#b3b93f93c8721b3ed52b91f12f964cc410967f8b" - integrity sha512-R09rKZ56ccGBebjTLZHvzDxhz93YPT37gBm6qUhnwj3Kt7aCjjZWD1injyNbyeFHxNKfeZBSyds6O9n3MKq1sw== +core-js-compat@^3.18.0, core-js-compat@^3.19.1, core-js-compat@^3.6.2: + version "3.19.3" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.19.3.tgz#de75e5821c5ce924a0a1e7b7d5c2cb973ff388aa" + integrity sha512-59tYzuWgEEVU9r+SRgceIGXSSUn47JknoiXW6Oq7RW8QHjXWz3/vp8pa7dbtuVu40sewz3OP3JmQEcDdztrLhA== dependencies: - browserslist "^4.17.5" + browserslist "^4.18.1" semver "7.0.0" core-js-pure@^3.19.0: - version "3.19.0" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.19.0.tgz#db6fdadfdd4dc280ec93b64c3c2e8460e6f10094" - integrity sha512-UEQk8AxyCYvNAs6baNoPqDADv7BX0AmBLGxVsrAifPPx/C8EAzV4Q+2ZUJqVzfI2TQQEZITnwUkWcHpgc/IubQ== + version "3.19.3" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.19.3.tgz#c69b2b36b58927317824994b532ec3f0f7e49607" + integrity sha512-N3JruInmCyt7EJj5mAq3csCgGYgiSqu7p7TQp2KOztr180/OAIxyIvL1FCjzgmQk/t3Yniua50Fsak7FShI9lA== core-js@^2.4.0: version "2.6.12" @@ -4530,9 +4540,9 @@ core-js@^2.4.0: integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== core-js@^3.0.0, core-js@^3.5.0, core-js@^3.6.0, core-js@^3.8.3: - version "3.19.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.19.0.tgz#9e40098a9bc326c7e81b486abbd5e12b9d275176" - integrity sha512-L1TpFRWXZ76vH1yLM+z6KssLZrP8Z6GxxW4auoCj+XiViOzNPJCAuTIkn03BGdFe6Z5clX5t64wRIRypsZQrUg== + version "3.19.3" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.19.3.tgz#6df8142a996337503019ff3235a7022d7cdf4559" + integrity sha512-LeLBMgEGSsG7giquSzvgBrTS7V5UL6ks3eQlUSbN8dJStlLFiRzUm5iqsRyzUB8carhfKjkJ2vzKqE6z1Vga9g== core-util-is@1.0.2: version "1.0.2" @@ -4915,14 +4925,14 @@ cssstyle@^2.3.0: cssom "~0.3.6" csstype@^2.5.2: - version "2.6.18" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.18.tgz#980a8b53085f34af313410af064f2bd241784218" - integrity sha512-RSU6Hyeg14am3Ah4VZEmeX8H7kLwEEirXe6aU2IPfKNvhXwTflK5HQRDNI0ypQXoqmm+QPyG2IaPuQE5zMwSIQ== + version "2.6.19" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.19.tgz#feeb5aae89020bb389e1f63669a5ed490e391caa" + integrity sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ== csstype@^3.0.2: - version "3.0.9" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.9.tgz#6410af31b26bd0520933d02cbc64fce9ce3fbf0b" - integrity sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw== + version "3.0.10" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.10.tgz#2ad3a7bed70f35b965707c092e5f30b327c290e5" + integrity sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA== cyclist@^1.0.1: version "1.0.1" @@ -4937,7 +4947,7 @@ d@1, d@^1.0.1: es5-ext "^0.10.50" type "^1.0.1" -damerau-levenshtein@^1.0.4, damerau-levenshtein@^1.0.6: +damerau-levenshtein@^1.0.4, damerau-levenshtein@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz#64368003512a1a6992593741a09a9d31a836f55d" integrity sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw== @@ -4985,9 +4995,9 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: ms "2.0.0" debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: - version "4.3.2" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" - integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + version "4.3.3" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" + integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== dependencies: ms "2.1.2" @@ -5299,16 +5309,16 @@ domexception@^2.0.1: webidl-conversions "^5.0.0" domhandler@^4.0, domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.2.tgz#e825d721d19a86b8c201a35264e226c678ee755f" - integrity sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w== + version "4.3.0" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.0.tgz#16c658c626cf966967e306f966b431f77d4a5626" + integrity sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g== dependencies: domelementtype "^2.2.0" dompurify@^2.0.12: - version "2.3.3" - resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.3.3.tgz#c1af3eb88be47324432964d8abc75cf4b98d634c" - integrity sha512-dqnqRkPMAjOZE0FogZ+ceJNM2dZ3V/yNOuFB7+39qpO93hHhfRpHw3heYQC7DPK9FqbQTfBKUJhiSfz4MvXYwg== + version "2.3.4" + resolved "https://registry.yarnpkg.com/dompurify/-/dompurify-2.3.4.tgz#1cf5cf0105ccb4debdf6db162525bd41e6ddacc6" + integrity sha512-6BVcgOAVFXjI0JTjEvZy901Rghm+7fDQOrNIcxB4+gdhj6Kwp6T9VBhBY/AbagKHJocRkDYGd6wvI+p4/10xtQ== domutils@^1.7.0: version "1.7.0" @@ -5380,10 +5390,10 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= -electron-to-chromium@^1.3.247, electron-to-chromium@^1.3.378, electron-to-chromium@^1.3.878: - version "1.3.885" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.885.tgz#c8cec32fbc61364127849ae00f2395a1bae7c454" - integrity sha512-JXKFJcVWrdHa09n4CNZYfYaK6EW5aAew7/wr3L1OnsD1L+JHL+RCtd7QgIsxUbFPeTwPlvnpqNNTOLkoefmtXg== +electron-to-chromium@^1.3.247, electron-to-chromium@^1.3.378, electron-to-chromium@^1.3.896: + version "1.4.15" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.15.tgz#4bd144d9d13f8b375c65e1a593e7f4a90bd01b90" + integrity sha512-WDw2IUL3k4QpbzInV3JZK+Zd1NjWJPDZ28oUSchWb/kf6AVj7/niaAlgcJlvojFa1d7pJSyQ/KSZsEtq5W7aGQ== elliptic@^6.5.3: version "6.5.4" @@ -5418,7 +5428,7 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -emoji-regex@^9.0.0: +emoji-regex@^9.2.2: version "9.2.2" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== @@ -5641,7 +5651,7 @@ eslint-loader@3.0.3: object-hash "^2.0.1" schema-utils "^2.6.1" -eslint-module-utils@^2.4.1, eslint-module-utils@^2.7.0: +eslint-module-utils@^2.4.1, eslint-module-utils@^2.7.1: version "2.7.1" resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.1.tgz#b435001c9f8dd4ab7f6d0efcae4b9696d4c24b7c" integrity sha512-fjoetBXQZq2tSTWZ9yWVl2KuFrTZZH3V+9iD1V1RfpDgxzJR+mPd/KZmMiA8gbPqdBzpNiEHOuT7IYEWxrH0zQ== @@ -5684,18 +5694,18 @@ eslint-plugin-import@2.20.1: resolve "^1.12.0" eslint-plugin-import@^2.22.0: - version "2.25.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.2.tgz#b3b9160efddb702fc1636659e71ba1d10adbe9e9" - integrity sha512-qCwQr9TYfoBHOFcVGKY9C9unq05uOxxdklmBXLVvcwo68y5Hta6/GzCZEMx2zQiu0woKNEER0LE7ZgaOfBU14g== + version "2.25.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.3.tgz#a554b5f66e08fb4f6dc99221866e57cfff824766" + integrity sha512-RzAVbby+72IB3iOEL8clzPLzL3wpDrlwjsTBAQXgyp5SeTqqY+0bFubwuo+y/HLhNZcXV4XqTBO4LGsfyHIDXg== dependencies: array-includes "^3.1.4" array.prototype.flat "^1.2.5" debug "^2.6.9" doctrine "^2.1.0" eslint-import-resolver-node "^0.3.6" - eslint-module-utils "^2.7.0" + eslint-module-utils "^2.7.1" has "^1.0.3" - is-core-module "^2.7.0" + is-core-module "^2.8.0" is-glob "^4.0.3" minimatch "^3.0.4" object.values "^1.1.5" @@ -5725,21 +5735,22 @@ eslint-plugin-jsx-a11y@6.2.3: jsx-ast-utils "^2.2.1" eslint-plugin-jsx-a11y@^6.3.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz#a2d84caa49756942f42f1ffab9002436391718fd" - integrity sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg== + version "6.5.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz#cdbf2df901040ca140b6ec14715c988889c2a6d8" + integrity sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g== dependencies: - "@babel/runtime" "^7.11.2" + "@babel/runtime" "^7.16.3" aria-query "^4.2.2" - array-includes "^3.1.1" + array-includes "^3.1.4" ast-types-flow "^0.0.7" - axe-core "^4.0.2" + axe-core "^4.3.5" axobject-query "^2.2.0" - damerau-levenshtein "^1.0.6" - emoji-regex "^9.0.0" + damerau-levenshtein "^1.0.7" + emoji-regex "^9.2.2" has "^1.0.3" - jsx-ast-utils "^3.1.0" + jsx-ast-utils "^3.2.1" language-tags "^1.0.5" + minimatch "^3.0.4" eslint-plugin-react-hooks@^1.6.1: version "1.7.0" @@ -5747,9 +5758,9 @@ eslint-plugin-react-hooks@^1.6.1: integrity sha512-iXTCFcOmlWvw4+TOE8CLWj6yX1GwzT0Y6cUfHHZqWnSk144VmVIRcVGtUAzrLES7C798lmvnt02C7rxaOX1HNA== eslint-plugin-react-hooks@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz#8c229c268d468956334c943bb45fc860280f5556" - integrity sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ== + version "4.3.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz#318dbf312e06fab1c835a4abef00121751ac1172" + integrity sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA== eslint-plugin-react@7.19.0: version "7.19.0" @@ -5770,24 +5781,24 @@ eslint-plugin-react@7.19.0: xregexp "^4.3.0" eslint-plugin-react@^7.20.6: - version "7.26.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.26.1.tgz#41bcfe3e39e6a5ac040971c1af94437c80daa40e" - integrity sha512-Lug0+NOFXeOE+ORZ5pbsh6mSKjBKXDXItUD2sQoT+5Yl0eoT82DqnXeTMfUare4QVCn9QwXbfzO/dBLjLXwVjQ== + version "7.27.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.27.1.tgz#469202442506616f77a854d91babaae1ec174b45" + integrity sha512-meyunDjMMYeWr/4EBLTV1op3iSG3mjT/pz5gti38UzfM4OPpNc2m0t2xvKCOMU5D6FSdd34BIMFOvQbW+i8GAA== dependencies: - array-includes "^3.1.3" - array.prototype.flatmap "^1.2.4" + array-includes "^3.1.4" + array.prototype.flatmap "^1.2.5" doctrine "^2.1.0" - estraverse "^5.2.0" + estraverse "^5.3.0" jsx-ast-utils "^2.4.1 || ^3.0.0" minimatch "^3.0.4" - object.entries "^1.1.4" - object.fromentries "^2.0.4" - object.hasown "^1.0.0" - object.values "^1.1.4" + object.entries "^1.1.5" + object.fromentries "^2.0.5" + object.hasown "^1.1.0" + object.values "^1.1.5" prop-types "^15.7.2" resolve "^2.0.0-next.3" semver "^6.3.0" - string.prototype.matchall "^4.0.5" + string.prototype.matchall "^4.0.6" eslint-scope@^4.0.0, eslint-scope@^4.0.3: version "4.0.3" @@ -5905,7 +5916,7 @@ estraverse@^4.1.1, estraverse@^4.2.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== -estraverse@^5.1.0, estraverse@^5.2.0: +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== @@ -6117,9 +6128,9 @@ extsprintf@1.3.0: integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= + version "1.4.1" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" + integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== fast-deep-equal@2.0.1: version "2.0.1" @@ -6379,9 +6390,9 @@ flush-write-stream@^1.0.0: readable-stream "^2.3.6" follow-redirects@^1.0.0, follow-redirects@^1.14.0: - version "1.14.5" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.5.tgz#f09a5848981d3c772b5392309778523f8d85c381" - integrity sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA== + version "1.14.6" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.6.tgz#8cfb281bbc035b3c067d6cd975b0f6ade6e855cd" + integrity sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A== for-each@^0.3.3: version "0.3.3" @@ -6570,19 +6581,19 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= -gauge@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-3.0.1.tgz#4bea07bcde3782f06dced8950e51307aa0f4a346" - integrity sha512-6STz6KdQgxO4S/ko+AbjlFGGdGcknluoqU+79GOFCDqqyYj5OanQf9AjxwN0jCidtT+ziPMmPSt9E4hfQ0CwIQ== +gauge@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.0.tgz#afba07aa0374a93c6219603b1fb83eaa2264d8f8" + integrity sha512-F8sU45yQpjQjxKkm1UOAhf0U/O0aFt//Fl7hsrNVto+patMHjs7dPI9mFOGUKbhrgKm0S3EjW3scMFuQmWSROw== dependencies: + ansi-regex "^5.0.1" aproba "^1.0.3 || ^2.0.0" color-support "^1.1.2" console-control-strings "^1.0.0" has-unicode "^2.0.1" - object-assign "^4.1.1" signal-exit "^3.0.0" - string-width "^1.0.1 || ^2.0.0" - strip-ansi "^3.0.1 || ^4.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" wide-align "^1.1.2" gauge@~2.7.3: @@ -7036,9 +7047,9 @@ html-webpack-plugin@4.0.0-beta.11: util.promisify "1.0.0" html2canvas@^1.0.0-rc.5: - version "1.3.2" - resolved "https://registry.yarnpkg.com/html2canvas/-/html2canvas-1.3.2.tgz#951cc8388a3ce939fdac02131007ee28124afc27" - integrity sha512-4+zqv87/a1LsaCrINV69wVLGG8GBZcYBboz1JPWEgiXcWoD9kroLzccsBRU/L9UlfV2MAZ+3J92U9IQPVMDeSQ== + version "1.3.3" + resolved "https://registry.yarnpkg.com/html2canvas/-/html2canvas-1.3.3.tgz#f01531f9bf7c73a771c5ee73b4a5cab6576bf876" + integrity sha512-nQi0ayEY1cMiUMbq/F5hRwMAqsRMo7NIP6VaCqaXnXO6b/FfZO49oSfIJjdyRha28EuY8D6FBCzQOXPQV0TCrA== dependencies: css-line-break "2.0.1" text-segmentation "^1.0.2" @@ -7054,9 +7065,9 @@ htmlparser2@^6.1.0: entities "^2.0.0" htmlparser2@^7.0: - version "7.1.2" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-7.1.2.tgz#587923d38f03bc89e03076e00cba2c7473f37f7c" - integrity sha512-d6cqsbJba2nRdg8WW2okyD4ceonFHn9jLFxhwlNcLhQWcFPdxXeJulgOLjLKtAK9T6ahd+GQNZwG9fjmGW7lyg== + version "7.2.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-7.2.0.tgz#8817cdea38bbc324392a90b1990908e81a65f5a5" + integrity sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog== dependencies: domelementtype "^2.0.1" domhandler "^4.2.2" @@ -7106,9 +7117,9 @@ http-errors@~1.7.2: toidentifier "1.0.0" http-parser-js@>=0.5.1: - version "0.5.3" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.3.tgz#01d2709c79d41698bb01d4decc5e9da4e4a033d9" - integrity sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg== + version "0.5.5" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.5.tgz#d7c30d5d3c90d865b4a2e870181f9d6f22ac7ac5" + integrity sha512-x+JVEkO2PoM8qqpbPbOL3cqHPwerep7OwzK7Ay+sMQjKzaKCqWvjoXm5tqMP9tXWWTnTzAjIhXg+J99XYuPhPA== http-proxy-agent@^4.0.1: version "4.0.1" @@ -7592,7 +7603,7 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" -is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.7.0: +is-core-module@^2.2.0, is-core-module@^2.5.0, is-core-module@^2.8.0: version "2.8.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== @@ -7999,9 +8010,9 @@ istanbul-reports@^2.2.6: html-escaper "^2.0.0" istanbul-reports@^3.0.2: - version "3.0.5" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.5.tgz#a2580107e71279ea6d661ddede929ffc6d693384" - integrity sha512-5+19PlhnGabNWB7kOFnuxT8H3T/iIyQzIbQMxXsURmmvKg86P2sbkrGOT77VnHw0Qr0gc2XzRaRfMZYYbSQCJQ== + version "3.1.1" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.1.tgz#7085857f17d2441053c6ce5c3b8fdf6882289397" + integrity sha512-q1kvhAXWSsXfMjCdNHNPKZZv94OlspKnoGv+R9RGbnqOOQ0VbNfLFgQDVgi7hHenKsndGq3/o0OBdzDXthWcNw== dependencies: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" @@ -8924,10 +8935,10 @@ json-schema-traverse@^0.4.1: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= +json-schema@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" + integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" @@ -9011,13 +9022,13 @@ jspdf@2.1.0: html2canvas "^1.0.0-rc.5" jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= + version "1.4.2" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" + integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== dependencies: assert-plus "1.0.0" extsprintf "1.3.0" - json-schema "0.2.3" + json-schema "0.4.0" verror "1.10.0" jss-camel-case@^6.1.0: @@ -9059,69 +9070,69 @@ jss-nested@^6.0.1: warning "^3.0.0" jss-plugin-camel-case@^10.5.1: - version "10.8.2" - resolved "https://registry.yarnpkg.com/jss-plugin-camel-case/-/jss-plugin-camel-case-10.8.2.tgz#8d7f915c8115afaff8cbde08faf610ec9892fba6" - integrity sha512-2INyxR+1UdNuKf4v9It3tNfPvf7IPrtkiwzofeKuMd5D58/dxDJVUQYRVg/n460rTlHUfsEQx43hDrcxi9dSPA== + version "10.9.0" + resolved "https://registry.yarnpkg.com/jss-plugin-camel-case/-/jss-plugin-camel-case-10.9.0.tgz#4921b568b38d893f39736ee8c4c5f1c64670aaf7" + integrity sha512-UH6uPpnDk413/r/2Olmw4+y54yEF2lRIV8XIZyuYpgPYTITLlPOsq6XB9qeqv+75SQSg3KLocq5jUBXW8qWWww== dependencies: "@babel/runtime" "^7.3.1" hyphenate-style-name "^1.0.3" - jss "10.8.2" + jss "10.9.0" jss-plugin-default-unit@^10.5.1: - version "10.8.2" - resolved "https://registry.yarnpkg.com/jss-plugin-default-unit/-/jss-plugin-default-unit-10.8.2.tgz#c66f12e02e0815d911b85c02c2a979ee7b4ce69a" - integrity sha512-UZ7cwT9NFYSG+SEy7noRU50s4zifulFdjkUNKE+u6mW7vFP960+RglWjTgMfh79G6OENZmaYnjHV/gcKV4nSxg== + version "10.9.0" + resolved "https://registry.yarnpkg.com/jss-plugin-default-unit/-/jss-plugin-default-unit-10.9.0.tgz#bb23a48f075bc0ce852b4b4d3f7582bc002df991" + integrity sha512-7Ju4Q9wJ/MZPsxfu4T84mzdn7pLHWeqoGd/D8O3eDNNJ93Xc8PxnLmV8s8ZPNRYkLdxZqKtm1nPQ0BM4JRlq2w== dependencies: "@babel/runtime" "^7.3.1" - jss "10.8.2" + jss "10.9.0" jss-plugin-global@^10.5.1: - version "10.8.2" - resolved "https://registry.yarnpkg.com/jss-plugin-global/-/jss-plugin-global-10.8.2.tgz#1a35632a693cf50113bcc5ffe6b51969df79c4ec" - integrity sha512-UaYMSPsYZ7s/ECGoj4KoHC2jwQd5iQ7K+FFGnCAILdQrv7hPmvM2Ydg45ThT/sH46DqktCRV2SqjRuxeBH8nRA== + version "10.9.0" + resolved "https://registry.yarnpkg.com/jss-plugin-global/-/jss-plugin-global-10.9.0.tgz#fc07a0086ac97aca174e37edb480b69277f3931f" + integrity sha512-4G8PHNJ0x6nwAFsEzcuVDiBlyMsj2y3VjmFAx/uHk/R/gzJV+yRHICjT4MKGGu1cJq2hfowFWCyrr/Gg37FbgQ== dependencies: "@babel/runtime" "^7.3.1" - jss "10.8.2" + jss "10.9.0" jss-plugin-nested@^10.5.1: - version "10.8.2" - resolved "https://registry.yarnpkg.com/jss-plugin-nested/-/jss-plugin-nested-10.8.2.tgz#79f3c7f75ea6a36ae72fe52e777035bb24d230c7" - integrity sha512-acRvuPJOb930fuYmhkJaa994EADpt8TxI63Iyg96C8FJ9T2xRyU5T6R1IYKRwUiqZo+2Sr7fdGzRTDD4uBZaMA== + version "10.9.0" + resolved "https://registry.yarnpkg.com/jss-plugin-nested/-/jss-plugin-nested-10.9.0.tgz#cc1c7d63ad542c3ccc6e2c66c8328c6b6b00f4b3" + integrity sha512-2UJnDrfCZpMYcpPYR16oZB7VAC6b/1QLsRiAutOt7wJaaqwCBvNsosLEu/fUyKNQNGdvg2PPJFDO5AX7dwxtoA== dependencies: "@babel/runtime" "^7.3.1" - jss "10.8.2" + jss "10.9.0" tiny-warning "^1.0.2" jss-plugin-props-sort@^10.5.1: - version "10.8.2" - resolved "https://registry.yarnpkg.com/jss-plugin-props-sort/-/jss-plugin-props-sort-10.8.2.tgz#e25a7471868652c394562b6dc5433dcaea7dff6f" - integrity sha512-wqdcjayKRWBZnNpLUrXvsWqh+5J5YToAQ+8HNBNw0kZxVvCDwzhK2Nx6AKs7p+5/MbAh2PLgNW5Ym/ysbVAuqQ== + version "10.9.0" + resolved "https://registry.yarnpkg.com/jss-plugin-props-sort/-/jss-plugin-props-sort-10.9.0.tgz#30e9567ef9479043feb6e5e59db09b4de687c47d" + integrity sha512-7A76HI8bzwqrsMOJTWKx/uD5v+U8piLnp5bvru7g/3ZEQOu1+PjHvv7bFdNO3DwNPC9oM0a//KwIJsIcDCjDzw== dependencies: "@babel/runtime" "^7.3.1" - jss "10.8.2" + jss "10.9.0" jss-plugin-rule-value-function@^10.5.1: - version "10.8.2" - resolved "https://registry.yarnpkg.com/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.8.2.tgz#55354b55f1b2968a15976729968f767f02d64049" - integrity sha512-bW0EKAs+0HXpb6BKJhrn94IDdiWb0CnSluTkh0rGEgyzY/nmD1uV/Wf6KGlesGOZ9gmJzQy+9FFdxIUID1c9Ug== + version "10.9.0" + resolved "https://registry.yarnpkg.com/jss-plugin-rule-value-function/-/jss-plugin-rule-value-function-10.9.0.tgz#379fd2732c0746fe45168011fe25544c1a295d67" + integrity sha512-IHJv6YrEf8pRzkY207cPmdbBstBaE+z8pazhPShfz0tZSDtRdQua5jjg6NMz3IbTasVx9FdnmptxPqSWL5tyJg== dependencies: "@babel/runtime" "^7.3.1" - jss "10.8.2" + jss "10.9.0" tiny-warning "^1.0.2" jss-plugin-vendor-prefixer@^10.5.1: - version "10.8.2" - resolved "https://registry.yarnpkg.com/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.8.2.tgz#ebb4a482642f34091e454901e21176441dd5f475" - integrity sha512-DeGv18QsSiYLSVIEB2+l0af6OToUe0JB+trpzUxyqD2QRC/5AzzDrCrYffO5AHZ81QbffYvSN/pkfZaTWpRXlg== + version "10.9.0" + resolved "https://registry.yarnpkg.com/jss-plugin-vendor-prefixer/-/jss-plugin-vendor-prefixer-10.9.0.tgz#aa9df98abfb3f75f7ed59a3ec50a5452461a206a" + integrity sha512-MbvsaXP7iiVdYVSEoi+blrW+AYnTDvHTW6I6zqi7JcwXdc6I9Kbm234nEblayhF38EftoenbM+5218pidmC5gA== dependencies: "@babel/runtime" "^7.3.1" css-vendor "^2.0.8" - jss "10.8.2" + jss "10.9.0" -jss@10.8.2, jss@^10.5.1: - version "10.8.2" - resolved "https://registry.yarnpkg.com/jss/-/jss-10.8.2.tgz#4b2a30b094b924629a64928236017a52c7c97505" - integrity sha512-FkoUNxI329CKQ9OQC8L72MBF9KPf5q8mIupAJ5twU7G7XREW7ahb+7jFfrjZ4iy1qvhx1HwIWUIvkZBDnKkEdQ== +jss@10.9.0, jss@^10.5.1: + version "10.9.0" + resolved "https://registry.yarnpkg.com/jss/-/jss-10.9.0.tgz#7583ee2cdc904a83c872ba695d1baab4b59c141b" + integrity sha512-YpzpreB6kUunQBbrlArlsMpXYyndt9JATbt95tajx0t4MTJJcCJdd4hdNpHmOIDiUJrF/oX5wtVFrS3uofWfGw== dependencies: "@babel/runtime" "^7.3.1" csstype "^3.0.2" @@ -9145,7 +9156,7 @@ jsx-ast-utils@^2.2.1, jsx-ast-utils@^2.2.3: array-includes "^3.1.1" object.assign "^4.1.0" -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.1.0: +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz#720b97bfe7d901b927d87c3773637ae8ea48781b" integrity sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA== @@ -9163,15 +9174,15 @@ jszip@^3.5.0: readable-stream "~2.3.6" set-immediate-shim "~1.0.1" -just-diff-apply@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-3.1.0.tgz#400a3a1c8e169e9087d39f227945e04dc132587c" - integrity sha512-fkpeq7isgxggMy86MfjM25LRqtAnkhEfS22qfkkjZ+PIjGHScv/0CpLMJ30G+ARanX5E77JyL4+1IXK1qXHkEg== +just-diff-apply@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-4.0.1.tgz#da89c5a4ccb14aa8873c70e2c3b6695cef45dab5" + integrity sha512-AKOkzB5P6FkfP21UlZVX/OPXx/sC2GagpLX9cBxqHqDuRjwmZ/AJRKSNrB9jHPpRW1W1ONs6gly1gW46t055nQ== -just-diff@^3.0.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-3.1.1.tgz#d50c597c6fd4776495308c63bdee1b6839082647" - integrity sha512-sdMWKjRq8qWZEjDcVA6llnUT8RDEBIfOiGpYFPYa9u+2c39JCsejktSP7mj5eRid5EIvTzIpQ2kDOCw1Nq9BjQ== +just-diff@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-5.0.1.tgz#db8fe1cfeea1156f2374bfb289826dca28e7e390" + integrity sha512-X00TokkRIDotUIf3EV4xUm6ELc/IkqhS/vPSHdWnsM5y0HoNMfEqrazizI7g78lpHvnRSRt/PFfKtRqJCOGIuQ== killable@^1.0.1: version "1.0.1" @@ -9404,9 +9415,9 @@ lie@~3.3.0: immediate "~3.0.5" lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== listify@^1.0.0: version "1.0.3" @@ -9465,9 +9476,9 @@ loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: json5 "^1.0.1" loader-utils@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.1.tgz#3b8d4386f42378d6434d32d7bc08e7a52d39575e" - integrity sha512-g4miPa9uUrZz4iElkaVJgDFwKJGh8aQGM7pUL4ejXl6cu7kSb30seQOVGNMP6sW8j7DW77X68hJZ+GM7UGhXeQ== + version "2.0.2" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.2.tgz#d6e3b4fb81870721ae4e0868ab11dd638368c129" + integrity sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A== dependencies: big.js "^5.2.2" emojis-list "^3.0.0" @@ -9576,9 +9587,9 @@ log-symbols@^2.2.0: chalk "^2.0.1" loglevel@^1.6.8: - version "1.7.1" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.1.tgz#005fde2f5e6e47068f935ff28573e125ef72f197" - integrity sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw== + version "1.8.0" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.0.tgz#e7ec73a57e1e7b419cb6c6ac06bf050b67356114" + integrity sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA== longest-streak@^2.0.1: version "2.0.4" @@ -9874,17 +9885,17 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -mime-db@1.50.0, "mime-db@>= 1.43.0 < 2": - version "1.50.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.50.0.tgz#abd4ac94e98d3c0e185016c67ab45d5fde40c11f" - integrity sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A== +mime-db@1.51.0, "mime-db@>= 1.43.0 < 2": + version "1.51.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" + integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: - version "2.1.33" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.33.tgz#1fa12a904472fafd068e48d9e8401f74d3f70edb" - integrity sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g== + version "2.1.34" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" + integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== dependencies: - mime-db "1.50.0" + mime-db "1.51.0" mime@1.6.0: version "1.6.0" @@ -9892,9 +9903,9 @@ mime@1.6.0: integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== mime@^2.4.4: - version "2.5.2" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.5.2.tgz#6e3dc6cc2b9510643830e5f19d5cb753da5eeabe" - integrity sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== + version "2.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" + integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== mimic-fn@^1.0.0: version "1.2.0" @@ -9993,9 +10004,9 @@ minipass-sized@^1.0.3: minipass "^3.0.0" minipass@*, minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3: - version "3.1.5" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.5.tgz#71f6251b0a33a49c01b3cf97ff77eda030dff732" - integrity sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw== + version "3.1.6" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.6.tgz#3b8150aa688a711a1521af5e8779c1d3bb4f45ee" + integrity sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ== dependencies: yallist "^4.0.0" @@ -10204,16 +10215,16 @@ node-forge@^0.10.0: integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== node-gyp@*, node-gyp@^8.2.0: - version "8.3.0" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-8.3.0.tgz#ebc36a146d45095e1c6af6ccb0e47d1c8fc3fe69" - integrity sha512-e+vmKyTiybKgrmvs4M2REFKCnOd+NcrAAnn99Yko6NQA+zZdMlRvbIUHojfsHrSQ1CddLgZnHicnEVgDHziJzA== + version "8.4.1" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-8.4.1.tgz#3d49308fc31f768180957d6b5746845fbd429937" + integrity sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w== dependencies: env-paths "^2.2.0" glob "^7.1.4" graceful-fs "^4.2.6" make-fetch-happen "^9.1.0" nopt "^5.0.0" - npmlog "^4.1.2" + npmlog "^6.0.0" rimraf "^3.0.2" semver "^7.3.5" tar "^6.1.2" @@ -10269,11 +10280,6 @@ node-libs-browser@^2.2.1: util "^0.11.0" vm-browserify "^1.0.1" -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - node-notifier@^5.4.2: version "5.4.5" resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.5.tgz#0cbc1a2b0f658493b4025775a13ad938e96091ef" @@ -10438,7 +10444,19 @@ npm-profile@*: dependencies: npm-registry-fetch "^11.0.0" -npm-registry-fetch@*, npm-registry-fetch@^11.0.0: +npm-registry-fetch@*: + version "12.0.0" + resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-12.0.0.tgz#53d8c94f7c37293707b23728864710b76d3a3ca5" + integrity sha512-nd1I90UHoETjgWpo3GbcoM1l2S4JCUpzDcahU4x/GVCiDQ6yRiw2KyDoPVD8+MqODbPtWwHHGiyc4O5sgdEqPQ== + dependencies: + make-fetch-happen "^9.0.1" + minipass "^3.1.3" + minipass-fetch "^1.3.0" + minipass-json-stream "^1.0.1" + minizlib "^2.0.0" + npm-package-arg "^8.0.0" + +npm-registry-fetch@^11.0.0: version "11.0.0" resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-11.0.0.tgz#68c1bb810c46542760d62a6a965f85a702d43a76" integrity sha512-jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA== @@ -10545,14 +10563,14 @@ npm@^7.20.1: which "^2.0.2" write-file-atomic "^3.0.3" -npmlog@*: - version "5.0.1" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0" - integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw== +npmlog@*, npmlog@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.0.tgz#ba9ef39413c3d936ea91553db7be49c34ad0520c" + integrity sha512-03ppFRGlsyUaQFbGC2C8QWJN/C/K7PsfyD9aQdhVKAQIH4sQBc8WASqFBP7O+Ut4d2oo5LoeoboB3cGdBZSp6Q== dependencies: are-we-there-yet "^2.0.0" console-control-strings "^1.1.0" - gauge "^3.0.0" + gauge "^4.0.0" set-blocking "^2.0.0" npmlog@^4.1.2: @@ -10619,9 +10637,9 @@ object-hash@^2.0.1: integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== object-inspect@^1.11.0, object-inspect@^1.9.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" - integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== + version "1.11.1" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.1.tgz#d4bd7d7de54b9a75599f59a00bd698c1f1c6549b" + integrity sha512-If7BjFlpkzzBeV1cqgT3OSWT3azyoxDGajR+iGnFBfVV2EWyDyWaZZW2ERDjUaY2QM8i5jI3Sj7mhsM4DDAqWA== object-is@^1.0.1: version "1.1.5" @@ -10653,7 +10671,7 @@ object.assign@^4.1.0, object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" -object.entries@^1.1.0, object.entries@^1.1.1, object.entries@^1.1.4: +object.entries@^1.1.0, object.entries@^1.1.1, object.entries@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== @@ -10662,7 +10680,7 @@ object.entries@^1.1.0, object.entries@^1.1.1, object.entries@^1.1.4: define-properties "^1.1.3" es-abstract "^1.19.1" -object.fromentries@^2.0.2, object.fromentries@^2.0.4: +object.fromentries@^2.0.2, object.fromentries@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== @@ -10680,7 +10698,7 @@ object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0 define-properties "^1.1.3" es-abstract "^1.19.1" -object.hasown@^1.0.0: +object.hasown@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.0.tgz#7232ed266f34d197d15cac5880232f7a4790afe5" integrity sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg== @@ -10695,7 +10713,7 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" -object.values@^1.1.0, object.values@^1.1.1, object.values@^1.1.4, object.values@^1.1.5: +object.values@^1.1.0, object.values@^1.1.1, object.values@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== @@ -10924,7 +10942,7 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pacote@*, pacote@^12.0.0: +pacote@*, pacote@^12.0.0, pacote@^12.0.2: version "12.0.2" resolved "https://registry.yarnpkg.com/pacote/-/pacote-12.0.2.tgz#14ae30a81fe62ec4fc18c071150e6763e932527c" integrity sha512-Ar3mhjcxhMzk+OVZ8pbnXdb0l8+pimvlsqBGRNkble2NVgyqOGE3yrCGi/lAYq7E7NRDMz89R1Wx5HIMCGgeYg== @@ -11014,14 +11032,14 @@ parse-asn1@^5.0.0, parse-asn1@^5.1.5: pbkdf2 "^3.0.3" safe-buffer "^5.1.1" -parse-conflict-json@*, parse-conflict-json@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/parse-conflict-json/-/parse-conflict-json-1.1.1.tgz#54ec175bde0f2d70abf6be79e0e042290b86701b" - integrity sha512-4gySviBiW5TRl7XHvp1agcS7SOe0KZOjC//71dzZVWJrY9hCrgtvl5v3SyIxCZ4fZF47TxD9nfzmxcx76xmbUw== +parse-conflict-json@*, parse-conflict-json@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/parse-conflict-json/-/parse-conflict-json-2.0.1.tgz#76647dd072e6068bcaff20be6ccea68a18e1fb58" + integrity sha512-Y7nYw+QaSGBto1LB9lgwOR05Rtz5SbuTf+Oe7HJ6SYQ/DHsvRjQ8O03oWdJbvkt6GzDWospgyZbGmjDYL0sDgA== dependencies: - json-parse-even-better-errors "^2.3.0" - just-diff "^3.0.1" - just-diff-apply "^3.0.0" + json-parse-even-better-errors "^2.3.1" + just-diff "^5.0.1" + just-diff-apply "^4.0.1" parse-entities@^1.0.2, parse-entities@^1.1.0: version "1.2.2" @@ -11228,11 +11246,9 @@ pinkie@^2.0.0: integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.0" + version "4.0.4" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.4.tgz#07df81e61028e402735cdd49db701e4885b4e6e6" + integrity sha512-ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw== pkg-dir@^1.0.0: version "1.0.0" @@ -11903,9 +11919,9 @@ postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: uniq "^1.0.1" postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: - version "6.0.6" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" - integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== + version "6.0.7" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.7.tgz#48404830a635113a71fd79397de8209ed05a66fc" + integrity sha512-U+b/Deoi4I/UmE6KOVPpnhS7I7AYdKbhGcat+qTQ27gycvaACvNEw11ba6RrkwVmDVRW7sigWgLj4/KbbJjeDA== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" @@ -11934,9 +11950,9 @@ postcss-value-parser@^3.0.0: integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz#443f6a20ced6481a2bda4fa8532a6e55d789a2cb" - integrity sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: version "2.0.1" @@ -13534,9 +13550,9 @@ side-channel@^1.0.4: object-inspect "^1.9.0" signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.5" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.5.tgz#9e3e8cc0c75a99472b44321033a7702e7738252f" - integrity sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ== + version "3.0.6" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af" + integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ== simple-swizzle@^0.2.2: version "0.2.2" @@ -13643,18 +13659,18 @@ sockjs@0.3.20: websocket-driver "0.6.5" sockjs@^0.3.21: - version "0.3.21" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.21.tgz#b34ffb98e796930b60a0cfa11904d6a339a7d417" - integrity sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw== + version "0.3.24" + resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce" + integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ== dependencies: faye-websocket "^0.11.3" - uuid "^3.4.0" + uuid "^8.3.2" websocket-driver "^0.7.4" socks-proxy-agent@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.1.0.tgz#869cf2d7bd10fea96c7ad3111e81726855e285c3" - integrity sha512-57e7lwCN4Tzt3mXz25VxOErJKXlPfXmkMLnk310v/jwW20jWRVcgsOit+xNkN3eIEdB47GwnfAEBLacZ/wVIKg== + version "6.1.1" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz#e664e8f1aaf4e1fb3df945f09e3d94f911137f87" + integrity sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew== dependencies: agent-base "^6.0.2" debug "^4.3.1" @@ -13692,9 +13708,9 @@ source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: urix "^0.1.0" source-map-support@^0.5.6, source-map-support@~0.5.12: - version "0.5.20" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" - integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw== + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" @@ -13751,9 +13767,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.10" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz#0d9becccde7003d6c658d487dd48a32f0bf3014b" - integrity sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA== + version "3.0.11" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" + integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== spdy-transport@^3.0.0: version "3.0.0" @@ -13956,14 +13972,6 @@ string-width@^1.0.1: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" -"string-width@^1.0.1 || ^2.0.0", string-width@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" @@ -13973,6 +13981,14 @@ string-width@^1.0.1: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" +string-width@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + string-width@^3.0.0, string-width@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" @@ -13982,7 +13998,7 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" -string.prototype.matchall@^4.0.2, string.prototype.matchall@^4.0.5: +string.prototype.matchall@^4.0.2, string.prototype.matchall@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa" integrity sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg== @@ -14071,7 +14087,7 @@ strip-ansi@^3.0.0, strip-ansi@^3.0.1: dependencies: ansi-regex "^2.0.0" -"strip-ansi@^3.0.1 || ^4.0.0", strip-ansi@^4.0.0: +strip-ansi@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= @@ -14366,9 +14382,9 @@ timsort@^0.3.0: integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= tiny-invariant@^1.0.6: - version "1.1.0" - resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875" - integrity sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw== + version "1.2.0" + resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.2.0.tgz#a1141f86b672a9148c72e978a19a73b9b94a15a9" + integrity sha512-1Uhn/aqw5C6RI4KejVeTg6mIS7IqxnLJ8Mv2tV5rTc0qWobay7pDUz6Wi392Cnc8ak1H0F2cjoRzb2/AW4+Fvg== tiny-relative-date@*: version "1.3.0" @@ -14516,9 +14532,9 @@ ts-pnp@^1.1.6: integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== tsconfig-paths@^3.11.0: - version "3.11.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz#954c1fe973da6339c78e06b03ce2e48810b65f36" - integrity sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA== + version "3.12.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz#19769aca6ee8f6a1a341e38c8fa45dd9fb18899b" + integrity sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg== dependencies: "@types/json5" "^0.0.29" json5 "^1.0.1" @@ -14927,7 +14943,7 @@ uuid@^3.3.2, uuid@^3.4.0: resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== -uuid@^8.3.0: +uuid@^8.3.0, uuid@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== @@ -15165,11 +15181,11 @@ webpack-dev-server@3.11.0: yargs "^13.3.2" webpack-dev-server@^3.2.1: - version "3.11.2" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz#695ebced76a4929f0d5de7fd73fafe185fe33708" - integrity sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ== + version "3.11.3" + resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz#8c86b9d2812bf135d3c9bce6f07b718e30f7c3d3" + integrity sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA== dependencies: - ansi-html "0.0.7" + ansi-html-community "0.0.8" bonjour "^3.5.0" chokidar "^2.1.8" compression "^1.7.4" @@ -15623,9 +15639,9 @@ ws@^6.1.2, ws@^6.2.1: async-limiter "~1.0.0" ws@^7.4.6: - version "7.5.5" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.5.tgz#8b4bc4af518cfabd0473ae4f99144287b33eb881" - integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w== + version "7.5.6" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.6.tgz#e59fc509fb15ddfb65487ee9765c5a51dec5fe7b" + integrity sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA== x-is-string@^0.1.0: version "0.1.0" @@ -15700,10 +15716,10 @@ yargs-parser@^18.1.2: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^20.2.2: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== +yargs-parser@^21.0.0: + version "21.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.0.tgz#a485d3966be4317426dd56bdb6a30131b281dc55" + integrity sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA== yargs@^13.3.0, yargs@^13.3.2: version "13.3.2" @@ -15739,14 +15755,14 @@ yargs@^15.4.1: yargs-parser "^18.1.2" yargs@^17.0.1: - version "17.2.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.2.1.tgz#e2c95b9796a0e1f7f3bf4427863b42e0418191ea" - integrity sha512-XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q== + version "17.3.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.3.0.tgz#295c4ffd0eef148ef3e48f7a2e0f58d0e4f26b1c" + integrity sha512-GQl1pWyDoGptFPJx9b9L6kmR33TGusZvXIZUT+BOz9f7X2L94oeAskFYLEg/FkhV06zZPBYLvLZRWeYId29lew== dependencies: cliui "^7.0.2" escalade "^3.1.1" get-caller-file "^2.0.5" require-directory "^2.1.1" - string-width "^4.2.0" + string-width "^4.2.3" y18n "^5.0.5" - yargs-parser "^20.2.2" + yargs-parser "^21.0.0"